Имя: Пароль:
1C
1С v8
Конвертация данных
0 Vasauki
 
21.03.13
09:34
Здравствуйте!

1С:Предприятие 8.2 (8.2.17.169)
Конвертация данных, редакция 2.1 (2.1.7.1)
Управление торговлей, редакция 11.0 (11.0.9.15)
Бухгалтерия предприятия, редакция 2.0 (2.0.45.5)

Хочу сделать перенос всех документов из Бухгалтерии в УТ. Как мне создать правила конвертации так, что бы при загрузки документа (в нем нет реквизита "Подразделение" в базе источника, а только в приемнике) автоматически проверялся на присутствие элемента "Основное подразделение" в справочнике "Подразделения", и если его нет, создавал его и подставлял в документ?
1 Гефест
 
21.03.13
09:36
Пиши в ПКО в обработчике ПриЗаписи
2 zippygrill
 
21.03.13
09:37
(0) можно в событие "ПослеЗАгрузки" у ПКО это сделать.
3 nddru
 
21.03.13
09:41
В ПКО в событии после загрузки. Там "Объект", твой загруженный документ, там проверяй, создавай и заполняй, ну и потом записывай документ. А еще лучше напиши это в алгоритмах, а после загрузке вызывай свой алгоритм.
4 Vasauki
 
21.03.13
10:18
Пишу вот такой код в ПКО "После загрузки":

Если Справочники.СтруктураПредприятия.НайтиПоНаименованию("Основное подразделение") = Неопределено Тогда
   ЭлементПодразделения = Справочники.СтруктураПредприятия.СоздатьЭлемент();
   ЭлементПодразделения.Наименование = "Основное подразделение";
   ЭлементПодразделения.Записать();
   ЭлементПодразделения = ЭлементПодразделения.Ссылка;
Иначе
   ЭлементПодразделения = Справочники.СтруктураПредприятия.НайтиПоНаименованию("Основное подразделение");
КонецЕсли;
Объект.Подразделение = ЭлементПодразделения;

Когда в базе есть элемент с наименованием "Основное подразделение", тогда в документе устанавливается "Подразделение", если нет, то не устанавливается и не создается.

В чем может быть проблема?
5 salvator
 
21.03.13
10:23
(4) Прочитай в СП про метод НайтиПоНаименованию. В частности, про возвращаемое значение.
6 Vasauki
 
21.03.13
10:24
Да, да, вот прочитал, ПустаяССылка.

Всем спасибо все заработало!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.