Первая статья

Материал из Oktell
Версия от 08:32, 8 декабря 2011; Oktell Support (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Сервер отправлен на перезагрузку, которая запускается по окончанию всех коммутаций. Но при поствызовной обработке данная настройка не срабатывает. В результате теряются введенные оператором данные. Сервер, отправленный на перезагрузку, ожидает не только окончания всех коммутаций, но и окончания служебных задач. Воспользуемся этим. Сценарий диалога будет выглядеть так:

E372a736093e51124e0df3fa5e1176ed.jpg

1) В компоненте "инициализируем флаг" создадим глобальную переменную, в которой выставим флаг того, что запущен сценарий диалога. А как мы знаем, глобальная переменная хранит свое значение в рамках сессии. Присвоим ей значение "1"

Example.jpg

2) В компоненте "Запуск сценария проверки флага" запускаем асинхронный служебный сценарий, в котором проверяем значение этого флага.

3) После диалоговой карточки ставим компонент "Меняем значение флага", в котором переменной "Флаг" присваиваем "0"


4) Сценарий проверки флага. выглядит так:


Если значение "1", то диалоговая форма открыта и перезагружать рано, значит переходим на паузу 300 мс, затем опять проверяем. Если значение стало "0" - переходим на компонент "Стоп". Для этого в компоненте "Анализ флага" в качестве первого аргумента укажем глобальную переменную "Флаг", которую тут нужно создать заново.  В качестве второго - "0"

5) В разделе Администрирование\Общие настройки\Менеджер задач\Поведение сценария диалога после разъединения - Довести сценарий до конца.

6) В разделе Администрирование\Общие настройки\Управление сервером\Ставим галочку "Ожидать момента завершения всех коммутаций и служебных сценариев перед перезапуском"