Авторегистрация документа в обработке

1. sergeyh 22.02.23 17:15 Сейчас в теме
Добрый день!

Переходим на ДО:3.0, ранее были настроены комплекстные процессы с авторегистрацией, в самом процессе был блок обработка со следующим кодом

Документ = Процесс.Предметы[0].Предмет;
Объект = Документ.ПолучитьОбъект(); 

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


После миграции в 3.0 получилось следующее
Документ = Параметры.ПроцессОбъект.Предметы[0].Предмет;
Объект = Документ.ПолучитьОбъект(); 

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


Ошибка что нет поля ПроцессОбъект

Кто-то уже реализовывал похожее?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DENSKR 16 22.02.23 17:45 Сейчас в теме
Логика меня натолкнула на ответ: ":" - вот это здесь, специально вместо - "," - этого, перед словом - "что" - может не использовать это поле или реквизит в вашем случае?
3. sergeyh 09.03.23 11:18 Сейчас в теме
4. sergeyh 15.03.23 12:31 Сейчас в теме
Отвечаю на свой вопрос, достаточно создать скрипт обработки со следующим содержимым
ОписаниеОшибки = "";
Если Не Делопроизводство.ЗарегистрироватьПредмет(
    Параметры.ОбработкаОбъект.Владелец, ОписаниеОшибки) Тогда
        ВызватьИсключение ОписаниеОшибки;
КонецЕсли;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот