Авторегистрация в обработке комплексного процесса в 1С Документооборот
Добрый день всем,
Хочу реализовать авторегистрацию документа в комплексном процессе (после подписания). Использую блок "Обработка" и пишу там код:
Этот код у меня успешно работает в доп. обработчике, привязанном к завершению процесса (плюс там проверка на тип процесса).
Но в комплексном процессе регистрация не происходит, при попытке выполнения процесса ошибка:
Помогите, пожалуйста, разобраться, в чем проблема?
Хочу реализовать авторегистрацию документа в комплексном процессе (после подписания). Использую блок "Обработка" и пишу там код:
Для Каждого Предмет ИЗ Процесс.Предметы Цикл
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "РегистрационныйНомер") <> "" Тогда
Продолжить;
КонецЕсли;
СообщениеОбОшибке = "";
Если Делопроизводство.ЗарегистрироватьПредмет(Предмет, СообщениеОбОшибке) Тогда
Делопроизводство.ЗаписатьСостояниеДокумента(
Предмет,
ТекущаяДатаСеанса(),
Перечисления.СостоянияДокументов.Зарегистрирован,
ПользователиКлиентСервер.ТекущийПользователь());
//Запуск процесса ознакомления с результатом регистрации.
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление с результатом регистрации");
Если ШаблонПроцесса <> Неопределено Тогда
Процесс = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
Процесс.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
Процесс.Автор = Предмет.Подготовил;
РегНомер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "РегистрационныйНомер");
ДатаРег = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "ДатаРегистрации");
Процесс.Описание = "Документ был автоматически зарегистрирован под № " + РегНомер + " от " + ДатаРег;
Процесс.Записать();
Процесс.Старт();
КонецЕсли;
КонецЕсли;
КонецЦикла;
ПоказатьЭтот код у меня успешно работает в доп. обработчике, привязанном к завершению процесса (плюс там проверка на тип процесса).
Но в комплексном процессе регистрация не происходит, при попытке выполнения процесса ошибка:
Во время старта этого процесса произошла ошибка:
{ОбщийМодуль.СтартПроцессовСервер.Модуль(179)}: Ошибка при вызове метода контекста (Старт)
БизнесПроцесс.Старт();
по причине:
Ошибка при выполнении обработчика - 'ВыполнитьПроцессБезДействийОбработка'
по причине:
{ОбщийМодуль.ОбщегоНазначения.Модуль(86)}: Метод объекта не обнаружен (Метаданные)
Запрос.Текст =
Попробуйте стартовать процесс еще раз.
{ОбщийМодуль.СтартПроцессовСервер.Модуль(179)}: Ошибка при вызове метода контекста (Старт)
БизнесПроцесс.Старт();
по причине:
Ошибка при выполнении обработчика - 'ВыполнитьПроцессБезДействийОбработка'
по причине:
{ОбщийМодуль.ОбщегоНазначения.Модуль(86)}: Метод объекта не обнаружен (Метаданные)
Запрос.Текст =
Попробуйте стартовать процесс еще раз.
Помогите, пожалуйста, разобраться, в чем проблема?
Найденные решения
Предмет = Процесс.Предметы[0].Предмет;
Если Предмет.РегистрационныйНомер = "" Тогда
СообщениеОбОшибке = "";
Если Делопроизводство.ЗарегистрироватьПредмет(Предмет, СообщениеОбОшибке) Тогда
Делопроизводство.ЗаписатьСостояниеДокумента(
Предмет,
ТекущаяДата(),
Перечисления.СостоянияДокументов.Зарегистрирован,
ПользователиКлиентСервер.ТекущийПользователь());
Если Предмет.РегистрационныйНомер <> "" Тогда
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление с результатом регистрации");
Если ШаблонПроцесса <> Неопределено Тогда
НовыйПроцесс = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
НовыйПроцесс.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
НовыйПроцесс.Автор = Предмет.Подготовил;
РегНомер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "РегистрационныйНомер");
ДатаРег = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "ДатаРегистрации");
НовыйПроцесс.Описание = "Документ был автоматически зарегистрирован под № " + РегНомер + " от " + ДатаРег;
НовыйПроцесс.Записать();
НовыйПроцесс.Старт();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Предмет = Процесс.Предметы[0].Предмет;
Если Предмет.РегистрационныйНомер = "" Тогда
СообщениеОбОшибке = "";
Если Делопроизводство.ЗарегистрироватьПредмет(Предмет, СообщениеОбОшибке) Тогда
Делопроизводство.ЗаписатьСостояниеДокумента(
Предмет,
ТекущаяДата(),
Перечисления.СостоянияДокументов.Зарегистрирован,
ПользователиКлиентСервер.ТекущийПользователь());
Если Предмет.РегистрационныйНомер <> "" Тогда
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление с результатом регистрации");
Если ШаблонПроцесса <> Неопределено Тогда
НовыйПроцесс = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
НовыйПроцесс.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
НовыйПроцесс.Автор = Предмет.Подготовил;
РегНомер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "РегистрационныйНомер");
ДатаРег = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Предмет, "ДатаРегистрации");
НовыйПроцесс.Описание = "Документ был автоматически зарегистрирован под № " + РегНомер + " от " + ДатаРег;
НовыйПроцесс.Записать();
НовыйПроцесс.Старт();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот