Значение переменной окружения и ф-я EnvironmentSetStr

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Значение переменной окружения и ф-я EnvironmentSetStr

Сообщение Один Из Вас » Пн сен 26, 2016 15:04

-Доброе время суток, форумчане.
Надо в 52-м алгоритме определить значение переменной окружения EnvironmentSetStr('MyError', X), которое по действую аналогично Esc, т.к. используем настройку "Настройки Галактики \ Логистика \ Документы \ Управление снабжением \ Приходная накладная \ Запуск алгоритмов \ Перед оприходованием выполнить алгоритм".
Сейчас система выдает сообщение:
Код: Выделить всё
В процессе выполнения алгоритма произошли ошибки!
Формировать ордера?

а формирование ордеров надо запретить, т.е. хотим чтобы было как по ESC если от выполнения алгоритма отказаться:
Код: Выделить всё
По результатам выполнения алгоритма
формирование ордеров запрещено

Из документации:
2.7. ПРИМЕНЕНИЕ АЛГОРИТМОВ JAVASCRIPT В ШАБЛОНАХ РЕГЛАМЕНТОВ
...
Например, JavaScript может использоваться для контроля превышения какой-либо суммой из документа лимитированного значения, содержащегося в некотором поле. В окне настройки алгоритма JavaScript на вкладке Библиотеки под-ключается библиотека Планирование ⇒ Запуск алгоритмов ⇒ Работа с переменными окружения. Эта библиотека содержит функцию EnvironmentSetStr(nameVariable, ValueVariable), позволяющую установить значение переменной окружения nameVariable в ValueVariable. При настройке системного алгоритма №52 по кнопке [Поля алгоритма] открывается окно =Настройка дополнительных параметров= — в этом окне следует установить флаг Error. Введенное справа от данного флага имя строковой Переменной окружения должно использоваться в качестве nameVariable в указанной выше функции для передачи кода ошибки. "Ошибкой" при этом считается любое значение переменной, отличное от '0' ('0' — значение по умолчанию).Таким образом, если в =Настройке дополнительных параметров= введено:
Error — MyErrorCode,то для возврата кода ошибки в скрипте следует использовать фрагмент вида:
if (<Сумма> > <Лимит>) EnvironmentSetStr('MyErrorCode', '1');

Т.е. судя по тексту система различает только "НОЛЬ" и "НЕ НОЛЬ" ?
А МИР так разнообразен. :)
Для справки: в 99-м (Пакетном) алгоритме прерывание осуществляется именно так.
Один Из Вас
Посетитель
 
Сообщения: 43
Зарегистрирован: Ср мар 18, 2015 14:35
Reputation point: 0

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1