Авторегистрация в обработке комплексного процесса в 1С Документооборот

1. blandinko 06.12.18 14:53 Сейчас в теме
Добрый день всем,

Хочу реализовать авторегистрацию документа в комплексном процессе (после подписания). Использую блок "Обработка" и пишу там код:

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

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

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

            Процесс.Записать();
            Процесс.Старт();	
        КонецЕсли; 

    КонецЕсли; 
КонецЦикла;
Показать

Этот код у меня успешно работает в доп. обработчике, привязанном к завершению процесса (плюс там проверка на тип процесса).
Но в комплексном процессе регистрация не происходит, при попытке выполнения процесса ошибка:

Во время старта этого процесса произошла ошибка:
{ОбщийМодуль.СтартПроцессовСервер.Модуль(179)}: Ошибка при вызове метода контекста (Старт)
БизнесПроцесс.Старт();
по причине:
Ошибка при выполнении обработчика - 'ВыполнитьПроцессБезДействийОбработка'
по причине:
{ОбщийМодуль.ОбщегоНазначения.Модуль(86)}: Метод объекта не обнаружен (Метаданные)
Запрос.Текст =
Попробуйте стартовать процесс еще раз.


Помогите, пожалуйста, разобраться, в чем проблема?
Найденные решения
2. blandinko 07.12.18 14:24 Сейчас в теме
Предмет = Процесс.Предметы[0].Предмет;
Если Предмет.РегистрационныйНомер = "" Тогда 

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

	    		НовыйПроцесс.Записать();
	    		НовыйПроцесс.Старт();    
			КонецЕсли;
		КонецЕсли;

	КонецЕсли; 

КонецЕсли;
Показать
rintik; rusmm93; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. blandinko 07.12.18 14:24 Сейчас в теме
Предмет = Процесс.Предметы[0].Предмет;
Если Предмет.РегистрационныйНомер = "" Тогда 

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

	    		НовыйПроцесс.Записать();
	    		НовыйПроцесс.Старт();    
			КонецЕсли;
		КонецЕсли;

	КонецЕсли; 

КонецЕсли;
Показать
rintik; rusmm93; +2 Ответить
Оставьте свое сообщение

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