Общие положения
uAPI является набором Доступов для выполнения операций над объектами, получения данных по ним и их модификации. Бизнес-логика сценария никак не ограничивается с точки зрения возможностей применения языковых конструкций, но основным инструментом будут оставаться Доступы.
Что такое Доступы?
Доступом называется объект языкового окружения сценария с набором методов, обеспечивающих действия над конкретной сущностью, заявленной в платформе Heado, либо дающей возможость выполнения определённого набора сервисных функций. Основным нюансом здесь является то, что Доступ не является объектом или классом в полном смысле этого слова - его нельзя скопировать или получить новый инстанс, поэтому это больше соответствует определению статичного класса с возможностью доступа к динамической части данных.
Всё последующее наполнение раздела uAPI будет состоять из описаний Доступов: по разделу на каждый Доступ.
Как пользоваться uAPI
При разработке нового пользовательского сценария обращение к Доступу производится непосредственно так, как он пишется в документации. К примеру, доступ STD имеет метод log(level, logstring)
1 |
|
Важно! весь код чувствителен к регистру, при этом все доступы без исключения пишутся заглавными буквами
Как было сказано в Первых шагах некоторые Доступы, в частности представляющие системные объекты Heado (такие как Задачи, SKU, Торговые Точки, Сети e.t.c) будут ссылаться на объекты, соответствующие контексту тех или иных условий (события) в которых был запущен сценарий.
Запросы и доступ к данным
Доступы, определяющие доступ к объектам данных имеют расширения методов, позволяющих работать с ними как с множествами. Это осуществляется по принципу связных списков, и соответствующих методов работы с ними, этими основными методами являются:
- findById():boolean - попытка получить доступ к объекту по его хэндлеру/идентификатору
- find():boolean - запрос к множеству данных с помощью диалекта HQL
- next():byte - получение доступа к следующему объекту в полученном множестве
- prev():byte - получение доступа к предыдущему объекту в полученном множестве
- reset() - сброс указателя доступа на начало списка
- exists():boolean - проверка существования объекта по текущему указателю
События
События разделяются на две категории: Системные и Программно-генерируемые
Системные события
Системные события всегда привязаны к объектам платформы Heado, отражая структуру и правила их модификации. С ними в первую очередь работают Сценарии обработки данных, реализуя схему подписки на конкретное событие и его обработки.
Программно-генерируемые события
Являются надстройкой, позволяющей создавать структуру пользовательских событий, на основе сигналов бизнес-логики, описанной в сценарии. Тем самым, программно-генерирумые события дают возможность выстраивать произвольную оркестрацию и отражать даже самые сложные бизнес-процессы произвольной Компании.