Передача реквизита из ОбъектаИсточника в параметр
Всем привет.
Не уверен что Параметр, это то что мне надо, вот в чем суть вопроса.
Связка УТ 11 -> БП2
Выгружаю документ.ОтчетОРозничныхПродажах. В зависимости от реквизита "Подразделения", который есть в УТ11 и которого нет в БП2,
мне нужно принудительно подставлять в реквизит.Склад (в БП2), тот или иной склад.
В ПравилаКонвертацииСвойств добавил:
В ПКО Документ.ОтчетОРозничныхПродажах, в ПослеЗагрузки вот такой код:
Но при выгрузке, вижу ошибку:
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Поле объекта не обнаружено (выбПодразделение)
Как правильно передать параметр?
Не уверен что Параметр, это то что мне надо, вот в чем суть вопроса.
Связка УТ 11 -> БП2
Выгружаю документ.ОтчетОРозничныхПродажах. В зависимости от реквизита "Подразделения", который есть в УТ11 и которого нет в БП2,
мне нужно принудительно подставлять в реквизит.Склад (в БП2), тот или иной склад.
В ПравилаКонвертацииСвойств добавил:
В ПКО Документ.ОтчетОРозничныхПродажах, в ПослеЗагрузки вот такой код:
Если Параметры.выбПодразделение.Код = "УТ-000002" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад1");
ИначеЕсли Параметры.выбПодразделение.Код = "УТ-000026" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад2");
КонецЕсли;
Но при выгрузке, вижу ошибку:
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Поле объекта не обнаружено (выбПодразделение)
Как правильно передать параметр?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) надо юзать свойство ПараметрыОбъекта, а не Параметры файла обмена
и Желательно в ПКС параметра установить правило
и Желательно в ПКС параметра установить правило
Если ПараметрыОбъекта["выбПодразделение"].Код = "УТ-000002" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад1");
ИначеЕсли ПараметрыОбъекта["выбПодразделение"].Код = "УТ-000026" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад2");
КонецЕсли;
(1) Но я бы все сделал на стороне источника
Создал бы ПКО СкладыСтрокой источник Строка , приемник СправочникСсылка.Склады. Галка поиск по уникальному идентификатору долой.
С одним ПКС источник Пусто Приемник Наименование и поиском по нему и В обработчике Перед выгрузкой
Или в ПКС Наименование
И использовал бы все это правило в ПКС Склады
Если Источник.Подразделение.Код = "УТ-000002" Тогда
Значение = "Склад1";
ИначеЕсли Источник.Подразделение.Код = "УТ-000026" Тогда
Значение = "Склад2";
КонецЕсли;
Создал бы ПКО СкладыСтрокой источник Строка , приемник СправочникСсылка.Склады. Галка поиск по уникальному идентификатору долой.
С одним ПКС источник Пусто Приемник Наименование и поиском по нему и В обработчике Перед выгрузкой
Источник = Новый Структура("Наименование",Источник);
Или в ПКС Наименование
Значение = Источник;
И использовал бы все это правило в ПКС Склады
Если Источник.Подразделение.Код = "УТ-000002" Тогда
Значение = "Склад1";
ИначеЕсли Источник.Подразделение.Код = "УТ-000026" Тогда
Значение = "Склад2";
КонецЕсли;
Тоже самое (
Вот полный лог ошибки:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3405)}: ВНЕШНЕЕ СОЕДИНЕНИЕ: Ошибка при загрузке данных: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3748)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = ОРП_ОтчетОРозничныхПродажах
ТипОбъекта = Отчет о розничных продажах
Объект = Отчет о розничных продажах 000965 от 14.11.2016 0:00:00
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Поле объекта не обнаружено (выбПодразделение)
ПозицияМодуля = (11)
КСообщенияОбОшибках = 21
ВызватьИсключение СтрокаСообщения;
Вот мой код в "После загрузки"
Если ПараметрыОБЪЕКТА.выбПодразделение.Код = "000002" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад1");
ИначеЕсли ПараметрыОБЪЕКТА.выбПодразделение.Код = "000026" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад2");
КонецЕсли;
Может что-то в ПравилаКонвертацииСвойств не правильно заполнил? сам параметр, на скриншоте в первом моем посте.
Вот полный лог ошибки:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3405)}: ВНЕШНЕЕ СОЕДИНЕНИЕ: Ошибка при загрузке данных: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(3748)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = ОРП_ОтчетОРозничныхПродажах
ТипОбъекта = Отчет о розничных продажах
Объект = Отчет о розничных продажах 000965 от 14.11.2016 0:00:00
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Поле объекта не обнаружено (выбПодразделение)
ПозицияМодуля = (11)
КСообщенияОбОшибках = 21
ВызватьИсключение СтрокаСообщения;
Вот мой код в "После загрузки"
Если ПараметрыОБЪЕКТА.выбПодразделение.Код = "000002" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад1");
ИначеЕсли ПараметрыОБЪЕКТА.выбПодразделение.Код = "000026" Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Склад2");
КонецЕсли;
Может что-то в ПравилаКонвертацииСвойств не правильно заполнил? сам параметр, на скриншоте в первом моем посте.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот