Обработчики событий точек маршрута

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Обработчики событий точек маршрута, Управление ходом бизнес-процесса с помощью обработчиков событий точек маршрута
 
Добрый день,

У меня CRM корп 2.0.7.1.

подскажите, где найти примеры использования обработчиков событий точек маршрута в режиме пользователя?

Не могу добиться движения бизнес-процесса в нужном направлении в точке условия и в точке выбора варианта. Процесс всегда идет в «Нет» в точке условия. Пробовал написать в обработчике "Проверка условия"   Результат = Истина;  не помогло. На форуме просмотрел первые 10 страниц не увидел примеров, поиском тоже не смог найти. Подскажите.

Спасибо.
 
Добрый день.

Можно посмотреть в общем модуле "CRM_БизнесПроцессыПереопределяемый"  процедуры и функции, отвечающие за обработчики событий, в частности, какие параметры в них используются.

Конкретно в  Вашем случае, код который указан для точки условия в обработчике события "Проверка условия" отрабатывается функцией "ОбработчикТочкиУсловияПроверкаУсловия"

Код
// Функция вызывается из Функции "CRM_БизнесПроцессыСервер.ПолучитьСледующиеТочкиМаршрута"
// Предназначена для выполнения обработчика "Проверка условия" переданной точки Условия
// и возврата индекса варианта, по которому пойдет дальше бизнес-процесс
//
// Параметры:
//   ТочкаМаршрута      - СправочникСсылка   - Точка маршрута, точка Условия
//   ВариантВыполнения   - Число            - Индекс варианта, переданный результат выполнения предыдущей точки
//                                 если нет обработчика, то пойдет, по переданному результату.
//                                 Обработчик должен возвращать индекс варианта точки условия.
//
// Возвращаемое значение:
//   Число   - Индекс варианта
//
Функция ОбработчикТочкиУсловияПроверкаУсловия(БизнесПроцесс, ВходящаяТочка, ТочкаМаршрута, ЗНАЧ ВариантВыполнения) Экспорт
   
   Если ТипЗнч(БизнесПроцесс) = Тип("СправочникСсылка.CRM_КартыМаршрутов") Тогда
      Возврат ВариантВыполнения;
   КонецЕсли;
   // Получим обработчик текущей точки
   Обработчик = ПолучитьОбработчикТочкиМаршрута(ТочкаМаршрута, Справочники.CRM_ОбработчикиСобытийТочекМаршрута.УсловиеПроверкаУсловия);
   Если ЗначениеЗаполнено(Обработчик) Тогда
      Попытка
         Выполнить(Обработчик);
         
         Возврат ВариантВыполнения;
      Исключение
         ТекстСообщения = НСтр("ru = 'Ошибка выполнения обработчика ""Проверка условия"" в точке'") + " " + ТочкаМаршрута.Наименование + Символы.ПС + ОписаниеОшибки();
         ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
         Возврат ВариантВыполнения;
      КонецПопытки;
   Иначе
      Возврат ВариантВыполнения;
   КонецЕсли;
КонецФункции // ОбработчикТочкиУсловияПроверкаУсловия()


Как видно, вариант выполнения не булево, а число, принимающее значения "0" или "1", т.о.
в обработчике события пишем "ВариантВыполнения = 0;" (или 1).
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С