Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Бэк-офисы платформы 1С

1С:Конвертация Данных. Настройка правил. : Бэк-офисы платформы 1С

20.04.2024 8:52


14.12.2012 14:53
Keannad
 
Приветствую, all!

Имеется Штрих-М:Торговое предприятие и Бухгалтерия предприятия 2.0. Обмен между конфигурациями происходит через Универсальный Обмен Данными XML. Правила все написаны, всё обменивается.

В бухгалтерию добавили один справочник. Аналог этого справочника в Торговом предприятии вроде есть. Перегрузку справочника я вроде настроил.

В бухгалтерии, ссылку на этот справочник добавили в качестве обязательного реквизита в ряд документов, но в Торговом предприятии данного реквизита нет.

Подскажите, как заполнить реквизит при загрузке, выгруженным значением справочника, что-то я совсем не пойму.
14.12.2012 14:57
Little
 
Если не ошибаюсь тебе надо взять конфигурацию "Конвертация" и в нее закачать описание конфигураций БД и те правила которыми сейчас пользуешься, потом допилить их на обмен новый справочником, сохранить и внедрить обратно в БД.
14.12.2012 15:00
Keannad
 
Как раз спрашиваю как написать такое правило конвертации. Просто немного запутался в "Конвертации данных".

Может я не точно выразился. Справочник перегружается, это нормально. Как в базе приёмника найти именно этот перегруженный объект(с учетом того что там есть другие объекты того же типа) и подставить ссылку на этот объект в реквизит документа?
14.12.2012 16:51
Little
 
Я же писал в первом сообщении сначала делаем два снимка БД, передающей базы и принимающей!
Далее загружаем имеющиеся правила обмена.
А потом выбираем справочник в одной базе и соответствующие ему во второй и настраиваем под него правила обмена. Если не уверен с своих силах попробуй воспользоваться помощником по конвертации, правда он косяков делает кучу.
Более подробно сейчас не расскажу. пол года назад последний раз занимался этим, на память не вспомню.
А вот ссылку надо писать код, просто галочками не получится создать полноценное правило
14.12.2012 23:52
Keannad
 
Я как раз и писал в первом и втором сообщении, что я уже взял конфигурацию "Конвертация данных". Загрузил в нее имеющиеся правила обмена данными. В них, кстати, уже имеется описание структур конфигураций источника и приемника. Настроил выгрузку одного похожего справочника из источника в нужный мне справочник приемника.
Т.к. в источнике может быть только один элемент в этом справочнике, я спрашивал, как ссылку на этот элемент вставить с нужный мне реквизит. Я немножко запутался во всех этих параметрах.

Но это все лирика. Разобрался сам.
Надо сделать так:
1. Настроить правило конвертации объектов интересующего нас справочника. Получим ПКО скажем "Отделения".
2. Настроить в правиле конвертации объекта документа, правило конвертации свойств реквизита с пустым источником и приёмников в этом реквизите.
3. В обработке ПКС перед выгрузкой, запросом или другим способом найти этот необходимый элемент и присвоить его переменной "Значение".
4. Указать что данный элемент нужно конвертировать по ПКО "Отделения".

Вообщем получился вот такой код в процедуре "Перед выгрузкой":
Код:
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
                      |	ТорговыеОбъекты.Ссылка
                      |ИЗ
                      |	Справочник.ТорговыеОбъекты КАК ТорговыеОбъекты");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Количество() > 0 Тогда
	Выборка.Следующий();
	Значение = Выборка.Ссылка;
Иначе
	Значение = Справочники.ТорговыеОбъекты.ПустаяСсылка();
КонецЕсли;
ИмяПКО = "Отделения";
С этим вроде всё.

Но появился другой вопрос.
У меня есть справочник Контрагенты и подчиненный справочник ДоговорыКонтрагентов. Часть элементов уже есть в базе приемнике, часть новые. Можно ли сравнить один реквизит в источнике и приемнике, и переписать его по условию. Есть ли при загрузке доступ и к загружаемому объекту и к найденному объекту?
Часовой пояс GMT +3, время: 08:52.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.