Начиная с версии «Склада 15» 1.2.5.х была доработана форма настроек выгрузки документов и добавлена возможность использовать произвольные коды при написании собственных обработчиков (до этого можно было применять только стандартный обработчик выгрузки).
Первый способ. Настройка выгрузки по произвольному коду
Для первого способа требуется проставить флаг «Выполнить только произвольный код при выгрузке» в главном окне настройки бизнес-процесса.
Изменение настроек обработчиков документа возможно только для пользовательского бизнес-процесса и невозможно для типового бизнес-процесса.
Далее нужно выбрать пункт «Произвольный код выгрузки» в настройке бизнес-процесса, добавить в поле нужный код (пример показан ниже) и нажать кнопку «Сохранить и закрыть».
Данные документа должны быть представлены в виде возвращаемой структуры с ключами, где «ТабличныеЧасти» также являются возвращаемой структурой, содержащей массивы строк в ключах для каждой выгружаемой таблицы. Кроме «ТабличныеЧасти» используется также «ШапкаДокумента».
Пример кода:
ДанныеШапки.Вставить("ИдСклада", "1"); ДанныеШапки.Вставить("ИдСклада1С", XMLСтрока(СсылкаДокумент1С.Склад)); ДанныеШапки.Вставить("ИмяСклада", СсылкаДокумент1С.Склад.Наименование); ДанныеШапки.Вставить("ИдКонтрагента", XMLСтрока(СсылкаДокумент1С.Контрагент)); ДанныеШапки.Вставить("ИмяКонтрагента", СсылкаДокумент1С.Контрагент.Наименование); ДанныеТабличныхЧастей = Новый Структура; МассивДанныхСтрок = Новый Массив; Для Каждого СтрокаТЧ Из СсылкаДокумент1С.Товары Цикл ДанныеДляВыгрузки_Строка = Новый Структура; ДанныеДляВыгрузки_Строка.Вставить("ИдТовара", XMLСтрока(СтрокаТЧ.Номенклатура)); ДанныеДляВыгрузки_Строка.Вставить("ИдУпаковки", XMLСтрока(СтрокаТЧ.Номенклатура.ЕдиницаИзмерения)); ДанныеДляВыгрузки_Строка.Вставить("ИдЕдиницыИзмерения", XMLСтрока(СтрокаТЧ.Номенклатура.ЕдиницаИзмерения)); ДанныеДляВыгрузки_Строка.Вставить("КоличествоПлан", СтрокаТЧ.КоличествоУпаковок); МассивДанныхСтрок.Добавить(ДанныеДляВыгрузки_Строка); КонецЦикла; ДанныеТабличныхЧастей.Вставить("СтрокиПлан", МассивДанныхСтрок); ДанныеДокумента.Вставить("ШапкаДокумента", ДанныеШапки); ДанныеДокумента.Вставить("ТабличныеЧасти",ДанныеТабличныхЧастей); Результат = ДанныеДокумента;
Так будет выглядеть текст произвольного поля в окне настройки бизнес-процесса.
Результат выполнения произвольного кода заносится в переменную с названием «Результат».
Если работа завершена некорректно, то появится системное сообщение о неверном статусе операции (ошибка). Проверьте пошагово, убедитесь, что код написан правильно.
Как настроить обработчик «Произвольный код» читайте в статье «Настройка обработчиков заполнения документа с возможностью выбора своего обработчика или использования произвольного кода в настройках бизнес-процесса основной обработки».
Второй способ. Настройка через обработчик выгрузки
Также для пользовательских бизнес-процессов можно использовать обработчик выгрузки кода при выгрузке документов из 1С.
Запустите главное окно настройки бизнес-процессов, затем в главном окне настройки поставьте флаг «Выполнить только произвольный код при выгрузке» и выберите пункт «Обработчик выгрузки».
Далее откроется поле со значением для редактирования, куда можно написать свой обработчик, который будет вызван из модуля интеграционной обработки.
Для данного способа настройки выгрузки документа подразумевает, что операция происходит через конфигуратор 1С с помощью модуля интеграционной обработки.
Для пользовательских бизнес-процессов (как их создавать и редактировать, описано в статье) можно использовать произвольный код при выгрузке документов из 1С. Для этого требуется проставить флаг «Выполнить только произвольный код при выгрузке» в главном окне настройки бизнес-процесса.