Как читать документацию
От задачи к устройству платформы
Начните с нужного раздела, а затем переходите к конкретным типам метамодели. Поиск работает сразу по названиям типов, свойствам и описаниям.
Раздел
Модель данных
Базовые строительные блоки приложения: типы, свойства и перечисления.
4 типовОпределяет тип сущности.
id: 46cdcb50-3a24-c8d6-5ece-a44b95398064
Свойства
Тип свойства, не обязательный к заполнению, по умолчанию записывается object или если надо указать Мета Сущность то она выбирается из класса EntityRef
По умолчанию: objectПодпись на нейтральном языке в единственном числе, если не заполнено, используется текст из поля Name
Подпись на нейтральном языке во множественном числе, если не заполнено, используется текст из поля Name
Видимое в браузере
По умолчанию: trueМожно кэшировать любому браузеру. Применяется для справочных типов которые очень редко редактируются. При этом тип нельзя создать или отредактировать если он открывается из родительского объекта.
По умолчанию: falseОпределяет структуру и поведение данных, но не задаёт конкретного способа хранения. Может быть только предком выбираемым в BaseType
Можно клонировать при создании нового экземпляра объекта. При создании клона открывается новая запись в Name которой дописывается слово " Clone"
Пейджинг - признак разрешающий показывать на гридвью страницы с данными на Aggregated и Deferred форме
Папка к которой относится документ. Применяется для систематизации и поиска документов конструкутора
какого типа может быть грид вью с данными
Допустимых значений: 4Разрешение редактирования в строке
Допустимых значений: 4не скрывать колонки на гридвью
какого типа создаётся новый экземпляр документа отличающийся данного типа документа
LookupExpressionобязательное
формула которая будет вычислять альтернативное Name для Lookup. пишется на JS
Remote - определяет как загружать страницу с записями с сервера: Any - везде; Root - в корневом; Nested - во вложенном. Считает на сервере цифры итогов если итоги заданы для текущей выборки - с учётом установленных фильтров.
Допустимых значений: 3код запроса SQL или JS который собирает данные. Используются разные редакторы для редактирования SQL и JS кода
код написанный на SQL или JS который отбирает данные. Используются разные редакторы для редактирования SQL и JS кода
Заметка по типу документа
Коллекции
Свойство (поле) типа данных. Может быть скалярным, перечислимым (enum) или ссылкой на сущность
id: 316b9cb6-50da-36aa-b3ea-5e965cb33d6a
Свойства
тип свойства: строка, число и т.п. или тип
признак что может быть много значений
По умолчанию: falseтип связи
По умолчанию: 'Value'Допустимых значений: 4Подпись поля на нейтральном языке, если не заполнено, используется текст из поля Name
на гриде можно раскрыть плюсиком детальную форму с записью
По умолчанию: falseне клонируется при клонировании EntityRef
По умолчанию: falseне скрывать на гриде в режиме адаптивности, игнорируя значение если оно есть в HidingPriority
По умолчанию: falseПорядок скрытия в режиме адаптивности
Не редактируется, только для чтения - видеть на экране. Поставить курсор нельзя (не наводится фокус), контур поля пунктирная линия.
По умолчанию: falseЗаблокировано не редактируется, только для чтения - видеть на экране. Поставить курсор нельзя (не наводится фокус), светло-серый фон. Можно программно менять значение на форме.
показывать на гридвью
По умолчанию: trueПоказывать на форме
По умолчанию: trueПоказывать в лукапе. Если значение true тогда хранить значение поля в значении свойств LookupProps/LookupProperties
По умолчанию: falseВидимое на гридвью и детальной форме
По умолчанию: trueОсобый формат в котором будет показываться число в гридвью или на форме. Применимо для чисел и дат указанных в допустимых типах - AllowedTypes
иконка поля. За расположение иконки отвечает свойство IconPlace, если оно не задано то иконка показывается слева от текста.
расположение иконки относительно поля на форме
По умолчанию: leftДопустимых значений: 3Допускается редактирование в строке гридвью
По умолчанию: falseфункция dropDownOptions вычисляет ширину выпадающего списка в зависимости от числа полей. Если задать DropDownWidth тогда функция будет вычислять ширину в %%, например 0,5) от ширины экрана (например, window.innerWidth * 0.5 (50% ширины экрана))
номер определяющий очередность поля "по умолчанию" на гридвью или автоматическом адаптивном дизайне формы. Число присваивается по умолчанию +1 к максимальному и может быть изменено в ручную в том числе дробными числами.
DefaultValueCodeExpression
Значение по умолчанию
FormulaобязательноеCodeExpression
Формула позволяет рассчитать значение поля путем вычисления значения выражения javascript, выражение вычисляется в контексте текущего объекта в блоке with, что позволяет опускать переменную текущего объекта data когда это допустимо
Условие отбора. Может быть написано на SQL или JS, для каждого языка открывается свой редактор. Чтобы написать код на SQL в поле кнопка с текстом SQL для редактора JS кнопка с символом JS. В поле без фокуса показывается текст SQL или JS в зависимости от того какой код записан. Используется для фильтрации агрегированных данных.
Применяется когда необходимо отобрать значения для типов агрегации Hybrid и Deferred пишется на SQL
Тип который будет создаваться при создании нового документа из лукапа.
Коллекции
Системный справочник который формируется в конструкторе приложения. Определяет ограниченный набор значений, котые не доступны для редактирования пользователем. Предполагается, что Enum справочник никогда или в исключительных случаях может редактироваться (дополнятся новыми значениями может администратором приложения). Enum загружается в момент загрузки веб-приложения и хранится в кеше браузера.
id: 78795e97-a982-c819-5b26-0bb827392d93
Свойства
Коллекции
Значение Enum. Может быть числовым или текстовым.
id: 143abd4c-ae6e-66d4-de53-81def698fbc3
Свойства
Раздел
Логика и поведение
Правила, действия, события и кодовые выражения, которые определяют поведение приложения.
6 типовПравило выполняет проверку определённых условий в момент сохранения данных в БД или контейнер. Результатом будет true или false. Если результат false останавливается выполнение события, например, сохранения формы.
id: 2576533e-c64d-86c0-2aaa-c54a39f07a43
Свойства
ConditionобязательноеCodeExpression
Код правила пишется на языке JavaScript. Правило выполняется если PreCondition == true
Сообщение в случае если правило не выполнилось и вызвало ошибку. Сообщение пишется текстом, допускаются символы смайликов и html текст. Сообщение показывается в модальном окне по центру экрана, размер окна сообщения пропорционален экрану, ширина и высота должна быть адаптивной по контексту и размерам экрана.
Условие выполнения правила написанное на языке JavaScript. Правило (Condition) исполняется, если PreCondition (условие) == true
При каком событии формы должно выполняться правило.
Допустимых значений: 3Смысловое описание правила, что это правило проверяет, когда оно должно срабатывать. Написать максимально подробно и понятно по смыслу, чтобы AI смог самостоятельно разобраться, если такая задача будет поставлена и написать код самого правила - Condition и заполнить все поля правила.
Действие - это сущность, связанная с типом данных или свойство типа (полем). Отображается как кнопка или элемент меню на Detain View или List View. Действие запускает определенный в нем же императивный скрипт или внешнюю процедуру, действие может при необходимости запросить дополнительные данные через форму указанного в действии типа. Действие управляет обновлением объекта с которым оно работало в интерфейсе через e.refresh.
Действие получает на входе данные в структуре e, содержащие e.data - текущий объект, e.parent - объект контейнер (если он есть) и e.view - текущee представление, из которого инициировано действие.
id: 0969a0fe-6cf5-db6d-b75f-2a482d7b6599
Свойства
Название действия. Поле используется для переопределения действия в классах-наследниках, если это необходимо, активным является обработчик на самом крайнем уровне иерархии наследования
Подпись на кнопке на нейтральном языке, если не заполнено, используется текст из поля Name
Тип действия - может быть простым или параметризованным (перед запуском скрипта загружается форма указанного типа, чтобы пользователь ввел недостающие данные).
По умолчанию: SimpleДопустимых значений: 2ParametersTypeобязательное
Тип данных модели для формы с параметрами действия. Поле условно-обязательное, только если тип действия Parametrized.
TargetViewTypeобязательное
Тип view, в котором будет отображаться кнопка с данным действием. Действие модет б
По умолчанию: AnyДопустимых значений: 3Управляет отображением кнопки действия в зависимости от вложенности view
По умолчанию: AnyДопустимых значений: 3TargetCriteriaобязательное
Условие, при исполнении которого действие доступно. Если не указано, действие доступно при любых условиях.
SelectionIndependentобязательное
Признак независимости скрипта от выделения. По умолчанию скрипт действия выполняется для каждой выделенной записи, или для записи, которую отражает Detail View. Установка признака изменяет поведение - обработчик вызывается один раз, если в нем нужно получить доступ к выделенным записям, его нужно получать из элементов интерфейса в коде обработчика.
По умолчанию: falseСкрипт, обрабатывающий событие. Это может быть имя функции, размещенной во внешнем файле включенном в проект, или анонимная функция javascript принимающая на вход переменную e, содержащую свойств data - текущий объект, parent - объект контейнер текущего объекта, view - текущее view, parentView - вью контейнера. Если Action применяется на уровне Property, передается так же значение текущего поля value
Задает список ролей, для которых данное действие недоступно (невидимо). Если не задано, видимо для всех.
Роли, для которых действие разрешено, все не перечисленные в данной коллекции роли считаются запрещенными.
Подробное пояснение назначения данного действия
Событие на форме по которому запускается определенный скрипт
id: 9e7874a9-dda4-4ede-5bc7-175c2ea31b55
Свойства
Название обрабатываемого события из справочника событий
Допустимых значений: 6Название внешней функции или анонимная функция js обрабатывающая событие, получает на вход переменную события e с данными, специфическими для события в зависимости от его типа
Указывает на то, что событие должно обрабатываться в runtime
По умолчанию: falseкод написанный на языке программирования: SQL, TS, JS. Для каждого языка открывается свой редактор.
id: d349b38b-38b7-6f5a-94a8-0c23a591a54a
Свойства
текст кода функции, скрипта или запроса
Язык на котором написан код
По умолчанию: 'JS'Допустимых значений: 3Описание кода, что он делает и зачем. Может использоваться как промпт для создания самого кода ИИ
Тип метамодели
CodeExpression
3 свойств0 коллекций
Выражение на языке JS.
id: 6677b5d1-7ea4-2bb2-326d-148e4b0f4c2b
Свойства
Контекст выполнения формулы, Применимо только к JS коду.
По умолчанию: NoneДопустимых значений: 2Код выражения JS если указан признак в контексте, должен исполняться в блоке with как возвращаемое значение
Описание формулы, что и зачем она делает, может быть промптом для ИИ
Исполняемый код написанный на JS или TS
id: 23302e45-7d35-671e-cc58-2e4dc6f2358d
Свойства
Может загружаться асинхронно
Раздел
Интерфейс и навигация
Представления, элементы экранов, меню и тема оформления Runtime.
4 типовЭлемент представления данных - в зависимости от типа может быть детальным представлением (формой), списком (грид или деверево) или элементом управления для выбора конкретного объекта (llookup)
id: 1029ac14-8610-8ecc-8bc5-832b91014b88
Свойства
Тип вью
По умолчанию: 'Form'Допустимых значений: 4Число колонок сетки для DetailView
По умолчанию: 4Коллекции
Коллекция элементов представления
Элемент представления (элемент формы, колонка грида, группа элементов формы)
id: a41ed1b1-edf5-6f3b-04ac-3babbe894f50
Свойства
По умолчанию: 'simple'Допустимых значений: 4 Свойство, с которым связан элемент. Для simple обязательное
Локализуемая подпись поля на нейтральном языке
DoNotShowCaptionобязательное
не показывать подпись
Число колонок внутри группы, применяется только для групп
По умолчанию: 1чисто колонок контейнера, занимаемых элементом
По умолчанию: 1Коллекции
Элемент меню
id: fe37bfc3-19e2-e7ad-536a-0a6c64595b7b
Свойства
Тип документа на который ссылается
Начало группы. Отделяется от предыдущей визуально чертой.
По умолчанию: falseРоли пользователей для которых определено d Permissions разрешение или запрет видеть этот пункт меню
Разрешения для указанных ролей в Role на доступ к меню
По умолчанию: DefaultДопустимых значений: 3Шаблон поведения/вызова при клике на элемент меню. Код в котором можно задать открытие документ определённого типа, запуск скрипта, создание динамической формы/страницы и т.п.
Коллекции
Тема оформления. Тему можно выбрать из справочника доступных тем в конструкторе или добавить свою тему указав путь к файлу с темой
id: e63eb082-20da-1caa-36a1-e1dd185345b9
Свойства
Указание на CSS файл с темой
Тема по умолчанию. Выбирается из коллекции Themes. Если тема по умолчанию не выбрана автоматически применяется первая тема из Themes, если в списке Themes нет тем, применяется системная-тёмная тема.
Тема "По умолчанию" может быть одна, это проверяется при сохранении темы либо игнорируется и применяется тема отмеченная "по умолчанию", которая первая в списке.
Раздел
Доступ и локализация
Управление доступом, языками и словарями пользовательского интерфейса.
3 типовТип метамодели
ManageAccess
3 свойств0 коллекций
Доступ к проекту. Пользователь имеет доступ "по умолчанию" с разрешением "видеть без редактирования". Доступ на редактирование даётся дополнительно.
id: 391d6627-a418-d02f-c997-daae050d6dfa
Свойства
Электронный адрес пользователя
Доступ пользователя на редактирование типов
Доступ на редактирование проекта: типы, свойства, добавление пользователей и т.п.
Язык для которого есть словарь на который будут переводиться все слова/фразы из приложения написанные на нейтральном языке - определяемом разработчиком
id: c44952d5-0542-5552-2692-879ce36c2ee3
Свойства
Международная аббревиатура языка (или языковой код): en, es, de ...
Название языка на нейтральном языке
Коллекции
Словарь перевода слов/фраз с "нейтрального языка" записанных в поле Key на язык словаря поле Value. При этом когда применять перевод определяется в поле Source.
id: 4aed5ecd-d59c-2c28-cdcd-caa697e1c777
Свойства
В каком типе данных транслитерировать. Если для одного слова/фразы есть несколько вариантов перевода в зависимости от указанного значения Source тогда для указанных Source применяется частный перевод, а в остальных перевод указанный как Other если он есть, если Other не указан тогда слово/фраза не переводится.
По умолчанию: OtherДопустимых значений: 6Слово на нейтральном языке которое надо перевести.
Раздел
Модули и связи
Служебные элементы, связывающие части модели и внешние модули.
1 типовТип метамодели
ModuleReferences
3 свойств0 коллекций
Подключаемый модуль
id: d22f252f-0133-b81d-d75a-ae79df3fd57c
Свойства
Способ/тип подключения
Допустимых значений: 2