В настройках типов заявок доступно включение создания документов на их основании. Для некоторых типов заявок, которые поставляются в базовой версии EmplDocs, уже преднастроено создание документа. Например, отпуска и командировки. Стандартные обработчики создания предусматривают перенос данных из согласованной заявки в документ 1С. Таким образом, например, в документ Отпуск, переносятся данные о сотруднике, для которого оформляется отпуск, а также даты отпуска и тип отпуска (в зависимости от типов заявок).
В данной заметке рассмотрим, что нужно сделать, если требуется изменение стандартных обработчиков. На примере переноса комментария заявки в комментарий документа при создании Отпуска.
Открыть тип заявки и перейти на вкладку "Документы"
В строке документа "Отпуск" установить флаг "Использовать измененный алгоритм создания"
СсылкаНаДокумент = лксРаботаСДокументами.СоздатьДокументОтпуск(Заявка, ТекущиеПараметрыЗаявки); Если ЗначениеЗаполнено(СсылкаНаДокумент) Тогда ДанныеЗаявки = Справочники.лксЗаявки.РеквизитыЗаявки(Заявка); Комментарий = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеЗаявки, "Комментарий", ""); Если ЗначениеЗаполнено(Комментарий) Тогда ОбъектДокумента = СсылкаНаДокумент.ПолучитьОбъект(); ОбъектДокумента.Комментарий = Комментарий; ОбъектДокумента.Записать(); КонецЕсли;КонецЕсли;
И нажать "Сохранить"
Далее нужно записать тип заявки
Чтобы проверить результат, откроем любую заявку этого типа, по которой еще не был создан документ, но которая находится в статусе "Оформление документов", и напишем комментарий в поле "Комментарий", если его там нет. После этот запишем заявку кнопкой "Записать", иначе комментарий не сохранится.
Далее следует нажать кнопку "Ввести документы"
Комментарий будет перенесен в документ.
Данный обработчик можно применять ко всем документам, которые содержат поле "Комментарий" и которые доступны для создания из заявок. Для этого нужно изменить соответствующие строки в коде обработчика.
СсылкаНаДокумент = лксРаботаСДокументами.СоздатьДокументОтпуск
На январь 2024 ED поддерживает создание следующих документов:
Соответственно, для документа "Командировка", обработчик будет выглядеть следующим образом:
СсылкаНаДокумент = лксРаботаСДокументами.СоздатьДокументКомандировка(Заявка, ТекущиеПараметрыЗаявки); Если ЗначениеЗаполнено(СсылкаНаДокумент) Тогда ДанныеЗаявки = Справочники.лксЗаявки.РеквизитыЗаявки(Заявка); Комментарий = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеЗаявки, "Комментарий", ""); Если ЗначениеЗаполнено(Комментарий) Тогда ОбъектДокумента = СсылкаНаДокумент.ПолучитьОбъект(); ОбъектДокумента.Комментарий = Комментарий; ОбъектДокумента.Записать(); КонецЕсли;КонецЕсли;
Пользуясь этим принципом, можно настраивать перенос комментария из заявки в документ.
Для того, чтобы изменить прочие правила создания документов, можно привлечь 1С-разработчика для написания кода, а также обратиться к поставщику ED для индивидуальной настройки.