Изменение стандартной логики перетирания статусов

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
Строка 7: Строка 7:
Возможность включается установкой в конфиге сервера флага use.event.set.status.logic=1.
Возможность включается установкой в конфиге сервера флага use.event.set.status.logic=1.
-
Также можно использовать описание [[Алгоритм установки статуса в системе|алгоритма установки статуса]] для более полного понимания того, что происходит при инициации смены статуса в стистеме.
+
Также можно использовать описание [[Алгоритм установки статуса в системе|алгоритма установки статуса]] для более полного понимания того, что происходит при инициации смены статуса в системе.
 +
 
 +
Внутри скрипта можно распознать кто именно изменяет статус - оператор, сервер или пользователь из Web. Распознать эти случаи можно по userId события: User.USER_SERVER и User.USER_CONTRACT или же он равен id менеджера.
--[[Участник:DimOn|dimOn]] 06:28, 13 октября 2010 (UTC)
--[[Участник:DimOn|dimOn]] 06:28, 13 октября 2010 (UTC)

Версия 11:59, 26 ноября 2010

Имеется возможность задать свою любую логику перетирания статусов при установке. Стандартная логика заключается в полном перекрытии лежащих уже в договоре отрезков статуса. Иногда требуется при разных условиях выполнять разные дйствия. Для этого предназначено событие "Задание логики перетирания статусов". В скрипте (обработчике этого события) можно отслеживать откуда выполняется попытка установить статус (сервер,клиент,web) и полность изменить алгоритм.

Следует учесть, что скрипт довольно низкоуровневый, и при этом весьма ответственный, посему относиться к его написанию и отладке следует с особым трепетом и вниманием. Для удобства прилагается полный рабочий скрипт, представляющий собой в точности реализованную стандартную логику. Его также можно использовать для изучения алгоритма.

Возможность включается установкой в конфиге сервера флага use.event.set.status.logic=1.

Также можно использовать описание алгоритма установки статуса для более полного понимания того, что происходит при инициации смены статуса в системе.

Внутри скрипта можно распознать кто именно изменяет статус - оператор, сервер или пользователь из Web. Распознать эти случаи можно по userId события: User.USER_SERVER и User.USER_CONTRACT или же он равен id менеджера.

--dimOn 06:28, 13 октября 2010 (UTC)

Личные инструменты