Skip to content

Общие положения

uAPI является набором Доступов для выполнения операций над объектами, получения данных по ним и их модификации. Бизнес-логика сценария никак не ограничивается с точки зрения возможностей применения языковых конструкций, но основным инструментом будут оставаться Доступы.

Что такое Доступы?

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

Всё последующее наполнение раздела uAPI будет состоять из описаний Доступов: по разделу на каждый Доступ.

Как пользоваться uAPI

При разработке нового пользовательского сценария обращение к Доступу производится непосредственно так, как он пишется в документации. К примеру, доступ STD имеет метод log(level, logstring)

1
STD.log(LOG_LEVEL_NOTICE,"Кто здесь?!")
Приведёт к выполнению метода log() доступа STD

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

Как было сказано в Первых шагах некоторые Доступы, в частности представляющие системные объекты Heado (такие как Задачи, SKU, Торговые Точки, Сети e.t.c) будут ссылаться на объекты, соответствующие контексту тех или иных условий (события) в которых был запущен сценарий.

Запросы и доступ к данным

Доступы, определяющие доступ к объектам данных имеют расширения методов, позволяющих работать с ними как с множествами. Это осуществляется по принципу связных списков, и соответствующих методов работы с ними, этими основными методами являются:

  • findById():boolean - попытка получить доступ к объекту по его хэндлеру/идентификатору
  • find():boolean - запрос к множеству данных с помощью диалекта HQL
  • next():byte - получение доступа к следующему объекту в полученном множестве
  • prev():byte - получение доступа к предыдущему объекту в полученном множестве
  • reset() - сброс указателя доступа на начало списка
  • exists():boolean - проверка существования объекта по текущему указателю

События

События разделяются на две категории: Системные и Программно-генерируемые

Системные события

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

Программно-генерируемые события

Являются надстройкой, позволяющей создавать структуру пользовательских событий, на основе сигналов бизнес-логики, описанной в сценарии. Тем самым, программно-генерирумые события дают возможность выстраивать произвольную оркестрацию и отражать даже самые сложные бизнес-процессы произвольной Компании.