Прошу подсказать особенности взаимодействия клиента и сервера при использовании обработчиков в комплексных процессах.
Использую вариацию широко известной обработки автоматически регистрирующей документ:
Обработка |
---|
ЗаблокироватьДанныеДляРедактирования(Процесс.Предметы[0].Предмет);
ОбъектОбработки = Процесс.Предметы[0].Предмет.ПолучитьОбъект();
Нумератор = Нумерация.ПолучитьНумераторДокумента(ОбъектОбработки);
Если ЗначениеЗаполнено(Нумератор) Тогда // автоматическая нумерация
ДатаРегистрации = ТекущаяДата();
ТекущийПользователь = Пользователи.ТекущийПользователь();
ОбъектОбработки.ДатаРегистрации = ДатаРегистрации;
// сформируем текущий номер
СтруктураПараметров = НумерацияКлиентСервер.ПолучитьПараметрыНумерации(ОбъектОбработки);
Нумерация.СформироватьЧисловойНомерДокумента(СтруктураПараметров, ОбъектОбработки.ЧисловойНомер);
ОписанияОшибок = Новый СписокЗначений;
СтруктураПараметров = НумерацияКлиентСервер.ПолучитьПараметрыНумерации(ОбъектОбработки);
Нумерация.СформироватьСтроковыйНомерДокумента(СтруктураПараметров, ОбъектОбработки.РегистрационныйНомер, ОписанияОшибок);
ОбъектОбработки.Зарегистрировал = ТекущийПользователь;
ОбъектОбработки.Записать();
Делопроизводство.ЗаписатьСостояниеДокумента(
ОбъектОбработки.Ссылка,
ДатаРегистрации,
Перечисления.СостоянияДокументов.Зарегистрирован,
ТекущийПользователь);
КонецЕсли; |
Обработка всегда работает на сохранённой в файл базе, но только при определённых условиях на сервере.
Проблема в том, что если до обработки, в комплексном процессе выполняется какой то процесс то обработка срабатывает.
В противном случае возникает ошибка
Эта задача не может быть выполнена.
Не удалось стартовать следующее действие "Авторегистрация документа " комплексного процесса.
Понимаю, что отличается контекст, не понимаю чем. Из-за недостатка в опыта в отладчике вижу фигу.