Имя: Пароль:
1C
1С v8
Изменение реквизита Бизнес-процесса
,
0 Прапор Лящук
 
31.05.12
12:19
Есть некий бизнес-процесс, у которого в конце карты маршрута находится точка условия. Если некие условия выполняются, тогда БП завершается, иначе делается переход в его начало. В случае повтора хотелось бы инкрементировать реквизит "ЦиклБП" этого БП. Как это сделать гарантированно и грамотно? В модуле объекта БП в точке условия написал вот что:

Попытка
   НачатьТранзакцию();
   Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("БизнесПроцесс.ВыполнениеЗадания");
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   Блокировка.Заблокировать();
   Если Ссылка.ПроблемаУстранена Тогда
       Результат = Истина
   Иначе
       Результат = Ложь;
       БПОбъект = Ссылка.ПолучитьОбъект();
       БПОбъект.ПроблемаУстранена = Ложь;
       БПОбъект.ПроблемаУстраненаРО = Ложь;
       БПОбъект.ЦиклБП = БПОбъект.ЦиклБП + 1;
       БПОбъект.Записать()
   КонецЕсли;
   ЗафиксироватьТранзакцию()
Исключение
   Сообщить(ОписаниеОшибки());
   ОтменитьТранзакцию()
КонецПопытки

Но что-то терзают смутные сомнения, что как бы тут с транзакциями не наколбасить. Какое ваше мнение?