Авторегистрация в схеме маршрута
Авторегистрацию документа можно настроить разными способами. Например, через дополнительные обработчики бизнес событий, в конфигураторе на момент отправки конкретного вида документа, а можно в схеме на любом этапе.
В этой статье представлено, как сделать в схеме
Для начала, для вида документа должна быть настроена нумерация
Вид документа – вкладка «Нумерация» — Добавить
Нумеровать – Автоматически. В открывшемся окне создать новый нумератор. Например, такой
Сохраняем и переходим к схеме. Добавляем в неё новый элемент обработки. Это розовый прямоугольник. Назовём его «Авторегистрация»
Запишем в него такой код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Предмет = Процесс.Предметы[0].Предмет; Если Предмет.РегистрационныйНомер = "" Тогда // сформировать автоматически // Регистрация Объект = Предмет.ПолучитьОбъект(); Нумератор = Нумерация.ПолучитьНумераторДокумента(Объект); Если ЗначениеЗаполнено(Нумератор) Тогда ДатаРегистрации = ТекущаяДата(); ТекущийПользователь = Пользователи.ТекущийПользователь(); Объект.ДатаРегистрации = ДатаРегистрации; // сформируем текущий номер СтруктураПараметров = НумерацияКлиентСервер.ПолучитьПараметрыНумерации(Объект); Нумерация.СформироватьЧисловойНомерДокумента(СтруктураПараметров, Объект.ЧисловойНомер); ОписанияОшибок = Новый СписокЗначений; СтруктураПараметров = НумерацияКлиентСервер.ПолучитьПараметрыНумерации(Объект); Нумерация.СформироватьСтроковыйНомерДокумента(СтруктураПараметров, Объект.РегистрационныйНомер, ОписанияОшибок); Объект.Зарегистрировал = ТекущийПользователь; Объект.Записать(); Делопроизводство.ЗаписатьСостояниеДокумента( Объект.Ссылка, ДатаРегистрации, Перечисления.СостоянияДокументов.Зарегистрирован, ТекущийПользователь); КонецЕсли; КонецЕсли; |
Проверяем результат
В данном случае пользователем регистратором будет выступать «Система_1С»
Комментарии закрыты