Изменение обработчика создания документа на основании заявки

В настройках типов заявок доступно включение создания документов на их основании. Для некоторых типов заявок, которые поставляются в базовой версии EmplDocs, уже преднастроено создание документа. Например, отпуска и командировки. Стандартные обработчики создания предусматривают перенос данных из согласованной заявки в документ 1С. Таким образом, например, в документ Отпуск, переносятся данные о сотруднике, для которого оформляется отпуск, а также даты отпуска и тип отпуска (в зависимости от типов заявок).

В данной заметке рассмотрим, что нужно сделать, если требуется изменение стандартных обработчиков. На примере переноса комментария заявки в комментарий документа при создании Отпуска.

  1. Открыть тип заявки и перейти на вкладку "Документы"

  2. В строке документа "Отпуск" установить флаг "Использовать измененный алгоритм создания"

  3. Развернуть окно кода измененного алгоритма нажатием соответствующей кнопки

  4. Вставить код обработчика

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

  6. Далее нужно записать тип заявки

  7. Чтобы проверить результат, откроем любую заявку этого типа, по которой еще не был создан документ, но которая находится в статусе "Оформление документов", и напишем комментарий в поле "Комментарий", если его там нет. После этот запишем заявку кнопкой "Записать", иначе комментарий не сохранится.

  8. Далее следует нажать кнопку "Ввести документы"

  9. Комментарий будет перенесен в документ.

Данный обработчик можно применять ко всем документам, которые содержат поле "Комментарий" и которые доступны для создания из заявок. Для этого нужно изменить соответствующие строки в коде обработчика. СсылкаНаДокумент = лксРаботаСДокументами.СоздатьДокументОтпуск

На январь 2024 ED поддерживает создание следующих документов:

СоздатьДокументРаботаВВыходныеИПраздничныеДни(Заявка, ТекущиеПараметрыЗаявки)

СоздатьДокументРаботаСверхурочно(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументОтпуск(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументОтпускБезСохраненияОплаты(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументОтпускПоУходуЗаРебенком(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументПереносОтпуска(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументБольничныйЛист(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументКомандировка(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументПрогулНеявка(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументОтгул(Заявка, ТекущиеПараметрыЗаявки){}

СоздатьДокументГрафикОтпусков(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументЗаявлениеНаПредоставлениеСтандартныхВычетовПоНДФЛ(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументУведомлениеОПравеНаИмущественныйВычетДляНДФЛ(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументПрикреплениеКПрограммамСтрахования(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументИзменениеУсловийСтрахования(Заявка, ТекущиеПараметрыЗаявки);

СоздатьМассивДокументовОплатаПоСреднемуЗаработку(Заявка, ТекущиеПараметрыЗаявки);

СоздатьМассивДокументовСправкаНДФЛ(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументКадровыйПеревод(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументУвольнение(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументВозвратИзОтпускаПоУходуЗаРебенком(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументИзменениеУсловийОплатыОтпускаПоУходуЗаРебенком(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументЗамещениеИсполнителейРолей(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументОплатаДнейУходаЗаДетьмиИнвалидами(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументМатериальнаяПомощь(Заявка, ТекущиеПараметрыЗаявки);

СоздатьДокументВыплатаБывшимСотрудникам(Заявка, ТекущиеПараметрыЗаявки);

Соответственно, для документа "Командировка", обработчик будет выглядеть следующим образом:

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

Пользуясь этим принципом, можно настраивать перенос комментария из заявки в документ.

Для того, чтобы изменить прочие правила создания документов, можно привлечь 1С-разработчика для написания кода, а также обратиться к поставщику ED для индивидуальной настройки.

Last updated