Skip to content

Начало работы

Для этого нужно получить рутовый (основной) аккаунт Компании в системе Heado. Это можно сделать двумя путями: получив его при регистрации через форму heado.ru, либо у доверенного лица, проделавшего эту процедуру. Если в данный момент интеграция основных транспортов данных из Торговой информационной системы данной Компании в Heado не завершена, советуем дождаться её завершения, тогда работа с Пользовательскими Сценариями будет наиболее осмысленной. Если у вас есть вопросы по поводу того как определить тот или иной этап интеграции, советуем обратиться в раздел Часто задаваемые вопросы

Общая информация для разработчика

Для разработки сценариев используется язык Lua (Версии 5.1) с ограничениями доступа к файловой системе и сетевому стеку. В соответствии с последними моментами не будет работать подключение внешних библиотек Lua. Это может повлечь некоторые неудобства для разработчика в плане необходимости использования определённых библиотек, поэтому платформа Heado открыта к запросам разработчика на добавление ресурсов в языковое окружение, которые могли бы существенно увеличить удобство и скорость разработки.

Системные ограничения:

Ограничение Значение
Максимальное время выполнения сценария для обработки отчёта по Задаче или проверки Задачи 1 секунда
Максимальное время выполнения потокового сценария 3 секунды
Максимальное время выполнения сценария генерации задач 5 секунд
Максимальный объём оперативной памяти на один экземпляр запуска сценария 32МБ
Утилизация CPU на экземпляр запуска сценария 5%
Генерация событий с одинаковым контекстом не более 1 в 5 секунд
Вызов (триггер) правила ЭД с идентичным контекстом не более 1 в 1 минуту
Совершение повторяющихся операций над одним и тем же объектом не более 1 в 1 секунду

Правила и нюансы работы сценариев

  • При запуске сценария его начальное окружение определяется соответствующим контекстом запуска, это означает, что доступы uAPI будут автоматически предоставлять информацию о соответствующих объектах (Задаче, Торговой точке, SKU e.t.c).
  • Длинные числовые идентификаторы/хэндлеры нужно передавать в виде строк
  • Работу со временем лучше производить через STD.getDate(format [, modifier]), STD.getDateFrom(format,dateISO8601[, modifier])
  • Сценарии системных Дисциплин не могут быть модифицированы, если есть необходимость их модификации - создавайте новые Дисциплины с наследованным кодом соответствующих сценариев.