Живая документация

Документация по метамодели CosmoApps

Это технический справочник по метамодели самой платформы CosmoApps: типам, свойствам, действиям, событиям, представлениям и другим конструкциям, из которых собираются прикладные модели. Он организован по смыслу, а не по алфавиту, и обновляется при изменении метамодели платформы.

Источник: локальный эмуляторОбновлено: 23.10.2026 15:37Серверный кэш: до 2 часов
18Типов
112Свойств
12Коллекций
42Документов метамодели
Как читать документацию

От задачи к устройству платформы

Начните с нужного раздела, а затем переходите к конкретным типам метамодели. Поиск работает сразу по названиям типов, свойствам и описаниям.

Раздел

Модель данных

Базовые строительные блоки приложения: типы, свойства и перечисления.

4 типов
Тип метамодели

Type

20 свойств5 коллекций

Определяет тип сущности.

id: 46cdcb50-3a24-c8d6-5ece-a44b95398064

Свойства

Name
обязательное

Название

BaseType

Тип свойства, не обязательный к заполнению, по умолчанию записывается object или если надо указать Мета Сущность то она выбирается из класса EntityRef

По умолчанию: object
Caption

Подпись на нейтральном языке в единственном числе, если не заполнено, используется текст из поля Name

CaptionPlural

Подпись на нейтральном языке во множественном числе, если не заполнено, используется текст из поля Name

HideTB
обязательное
Browsable
обязательное

Видимое в браузере

По умолчанию: true
Cacheable
обязательное

Можно кэшировать любому браузеру. Применяется для справочных типов которые очень редко редактируются. При этом тип нельзя создать или отредактировать если он открывается из родительского объекта.

По умолчанию: false
Abstract

Определяет структуру и поведение данных, но не задаёт конкретного способа хранения. Может быть только предком выбираемым в BaseType

Clone

Можно клонировать при создании нового экземпляра объекта. При создании клона открывается новая запись в Name которой дописывается слово " Clone"

Paging

Пейджинг - признак разрешающий показывать на гридвью страницы с данными на Aggregated и Deferred форме

Folder

Папка к которой относится документ. Применяется для систематизации и поиска документов конструкутора

ListEditor

какого типа может быть грид вью с данными

Допустимых значений: 4
InlineEdit

Разрешение редактирования в строке

Допустимых значений: 4
NoHideCols

не скрывать колонки на гридвью

CreateType

какого типа создаётся новый экземпляр документа отличающийся данного типа документа

LookupExpression
обязательное

формула которая будет вычислять альтернативное Name для Lookup. пишется на JS

Remote

Remote - определяет как загружать страницу с записями с сервера: Any - везде; Root - в корневом; Nested - во вложенном. Считает на сервере цифры итогов если итоги заданы для текущей выборки - с учётом установленных фильтров.

Допустимых значений: 3
DataSource

код запроса SQL или JS который собирает данные. Используются разные редакторы для редактирования SQL и JS кода

Filter

код написанный на SQL или JS который отбирает данные. Используются разные редакторы для редактирования SQL и JS кода

Note

Заметка по типу документа

Коллекции

Properties
Rules
Events
Views
View
Actions
Тип метамодели

Property

29 свойств2 коллекций

Свойство (поле) типа данных. Может быть скалярным, перечислимым (enum) или ссылкой на сущность

id: 316b9cb6-50da-36aa-b3ea-5e965cb33d6a

Свойства

Name
обязательное

название

Type
обязательное

тип свойства: строка, число и т.п. или тип

Many

признак что может быть много значений

По умолчанию: false
Aggregation
обязательное

тип связи

По умолчанию: 'Value'Допустимых значений: 4
Caption

Подпись поля на нейтральном языке, если не заполнено, используется текст из поля Name

MasterDetail

на гриде можно раскрыть плюсиком детальную форму с записью

По умолчанию: false
NoClone

не клонируется при клонировании EntityRef

По умолчанию: false
NoHide

не скрывать на гриде в режиме адаптивности, игнорируя значение если оно есть в HidingPriority

По умолчанию: false
HidingPriority

Порядок скрытия в режиме адаптивности

Required
обязательное
По умолчанию: true
Readonly

Не редактируется, только для чтения - видеть на экране. Поставить курсор нельзя (не наводится фокус), контур поля пунктирная линия.

По умолчанию: false
Disabled

Заблокировано не редактируется, только для чтения - видеть на экране. Поставить курсор нельзя (не наводится фокус), светло-серый фон. Можно программно менять значение на форме.

ShowInList
обязательное

показывать на гридвью

По умолчанию: true
ShowInDetail
обязательное

Показывать на форме

По умолчанию: true
ShowInLookup
обязательное

Показывать в лукапе. Если значение true тогда хранить значение поля в значении свойств LookupProps/LookupProperties

По умолчанию: false
Browsable
обязательное

Видимое на гридвью и детальной форме

По умолчанию: true
Format

Особый формат в котором будет показываться число в гридвью или на форме. Применимо для чисел и дат указанных в допустимых типах - AllowedTypes

Icon

иконка поля. За расположение иконки отвечает свойство IconPlace, если оно не задано то иконка показывается слева от текста.

IconPlace

расположение иконки относительно поля на форме

По умолчанию: leftДопустимых значений: 3
InLineEdit

Допускается редактирование в строке гридвью

По умолчанию: false
DropDownWidth

функция dropDownOptions вычисляет ширину выпадающего списка в зависимости от числа полей. Если задать DropDownWidth тогда функция будет вычислять ширину в %%, например 0,5) от ширины экрана (например, window.innerWidth * 0.5 (50% ширины экрана))

Index

номер определяющий очередность поля "по умолчанию" на гридвью или автоматическом адаптивном дизайне формы. Число присваивается по умолчанию +1 к максимальному и может быть изменено в ручную в том числе дробными числами.

DefaultValue
CodeExpression

Значение по умолчанию

Formula
обязательноеCodeExpression

Формула позволяет рассчитать значение поля путем вычисления значения выражения javascript, выражение вычисляется в контексте текущего объекта в блоке with, что позволяет опускать переменную текущего объекта data когда это допустимо

ToolTip

Всплывающее сообщение

DataSource

Условие отбора. Может быть написано на SQL или JS, для каждого языка открывается свой редактор. Чтобы написать код на SQL в поле кнопка с текстом SQL для редактора JS кнопка с символом JS. В поле без фокуса показывается текст SQL или JS в зависимости от того какой код записан. Используется для фильтрации агрегированных данных.

DataSourceFilter

Применяется когда необходимо отобрать значения для типов агрегации Hybrid и Deferred пишется на SQL

DenyRoles
массив

Запрещено для ролей

CreateType

Тип который будет создаваться при создании нового документа из лукапа.

Коллекции

Rules
Actions
Тип метамодели

Enum

1 свойств1 коллекций

Системный справочник который формируется в конструкторе приложения. Определяет ограниченный набор значений, котые не доступны для редактирования пользователем. Предполагается, что Enum справочник никогда или в исключительных случаях может редактироваться (дополнятся новыми значениями может администратором приложения). Enum загружается в момент загрузки веб-приложения и хранится в кеше браузера.

id: 78795e97-a982-c819-5b26-0bb827392d93

Свойства

Name
обязательное

Коллекции

Values
Тип метамодели

EnumValue

1 свойств0 коллекций

Значение Enum. Может быть числовым или текстовым.

id: 143abd4c-ae6e-66d4-de53-81def698fbc3

Свойства

Value
обязательное

integer value of enum

Раздел

Логика и поведение

Правила, действия, события и кодовые выражения, которые определяют поведение приложения.

6 типов
Тип метамодели

Rule

6 свойств0 коллекций

Правило выполняет проверку определённых условий в момент сохранения данных в БД или контейнер. Результатом будет true или false. Если результат false останавливается выполнение события, например, сохранения формы.

id: 2576533e-c64d-86c0-2aaa-c54a39f07a43

Свойства

Name
обязательное

Название правила

Condition
обязательноеCodeExpression

Код правила пишется на языке JavaScript. Правило выполняется если PreCondition == true

ErrorMessage
обязательное

Сообщение в случае если правило не выполнилось и вызвало ошибку. Сообщение пишется текстом, допускаются символы смайликов и html текст. Сообщение показывается в модальном окне по центру экрана, размер окна сообщения пропорционален экрану, ширина и высота должна быть адаптивной по контексту и размерам экрана.

PreCondition
обязательное

Условие выполнения правила написанное на языке JavaScript. Правило (Condition) исполняется, если PreCondition (условие) == true

Context
обязательное

При каком событии формы должно выполняться правило.

Допустимых значений: 3
Description
обязательное

Смысловое описание правила, что это правило проверяет, когда оно должно срабатывать. Написать максимально подробно и понятно по смыслу, чтобы AI смог самостоятельно разобраться, если такая задача будет поставлена и написать код самого правила - Condition и заполнить все поля правила.

Тип метамодели

Action

12 свойств0 коллекций

Действие - это сущность, связанная с типом данных или свойство типа (полем). Отображается как кнопка или элемент меню на Detain View или List View. Действие запускает определенный в нем же императивный скрипт или внешнюю процедуру, действие может при необходимости запросить дополнительные данные через форму указанного в действии типа. Действие управляет обновлением объекта с которым оно работало в интерфейсе через e.refresh. Действие получает на входе данные в структуре e, содержащие e.data - текущий объект, e.parent - объект контейнер (если он есть) и e.view - текущee представление, из которого инициировано действие.

id: 0969a0fe-6cf5-db6d-b75f-2a482d7b6599

Свойства

Name
обязательное

Название действия. Поле используется для переопределения действия в классах-наследниках, если это необходимо, активным является обработчик на самом крайнем уровне иерархии наследования

Caption
обязательное

Подпись на кнопке на нейтральном языке, если не заполнено, используется текст из поля Name

ActionType
обязательное

Тип действия - может быть простым или параметризованным (перед запуском скрипта загружается форма указанного типа, чтобы пользователь ввел недостающие данные).

По умолчанию: SimpleДопустимых значений: 2
ParametersType
обязательное

Тип данных модели для формы с параметрами действия. Поле условно-обязательное, только если тип действия Parametrized.

TargetViewType
обязательное

Тип view, в котором будет отображаться кнопка с данным действием. Действие модет б

По умолчанию: AnyДопустимых значений: 3
ViewNesting
обязательное

Управляет отображением кнопки действия в зависимости от вложенности view

По умолчанию: AnyДопустимых значений: 3
TargetCriteria
обязательное

Условие, при исполнении которого действие доступно. Если не указано, действие доступно при любых условиях.

SelectionIndependent
обязательное

Признак независимости скрипта от выделения. По умолчанию скрипт действия выполняется для каждой выделенной записи, или для записи, которую отражает Detail View. Установка признака изменяет поведение - обработчик вызывается один раз, если в нем нужно получить доступ к выделенным записям, его нужно получать из элементов интерфейса в коде обработчика.

По умолчанию: false
Script
обязательноеCode

Скрипт, обрабатывающий событие. Это может быть имя функции, размещенной во внешнем файле включенном в проект, или анонимная функция javascript принимающая на вход переменную e, содержащую свойств data - текущий объект, parent - объект контейнер текущего объекта, view - текущее view, parentView - вью контейнера. Если Action применяется на уровне Property, передается так же значение текущего поля value

DisableRoles
массив

Задает список ролей, для которых данное действие недоступно (невидимо). Если не задано, видимо для всех.

EnableRoles
массив

Роли, для которых действие разрешено, все не перечисленные в данной коллекции роли считаются запрещенными.

Description

Подробное пояснение назначения данного действия

Тип метамодели

Event

3 свойств0 коллекций

Событие на форме по которому запускается определенный скрипт

id: 9e7874a9-dda4-4ede-5bc7-175c2ea31b55

Свойства

Name
обязательное

Название обрабатываемого события из справочника событий

Допустимых значений: 6
Script

Название внешней функции или анонимная функция js обрабатывающая событие, получает на вход переменную события e с данными, специфическими для события в зависимости от его типа

Active
обязательное

Указывает на то, что событие должно обрабатываться в runtime

По умолчанию: false
Тип метамодели

Code

3 свойств0 коллекций

код написанный на языке программирования: SQL, TS, JS. Для каждого языка открывается свой редактор.

id: d349b38b-38b7-6f5a-94a8-0c23a591a54a

Свойства

Code
обязательноеCode

текст кода функции, скрипта или запроса

Language
обязательное

Язык на котором написан код

По умолчанию: 'JS'Допустимых значений: 3
Description
обязательное

Описание кода, что он делает и зачем. Может использоваться как промпт для создания самого кода ИИ

Тип метамодели

CodeExpression

3 свойств0 коллекций

Выражение на языке JS.

id: 6677b5d1-7ea4-2bb2-326d-148e4b0f4c2b

Свойства

WithContext
обязательное

Контекст выполнения формулы, Применимо только к JS коду.

По умолчанию: NoneДопустимых значений: 2
Code
обязательное

Код выражения JS если указан признак в контексте, должен исполняться в блоке with как возвращаемое значение

Description
обязательное

Описание формулы, что и зачем она делает, может быть промптом для ИИ

Тип метамодели

Script

2 свойств0 коллекций

Исполняемый код написанный на JS или TS

id: 23302e45-7d35-671e-cc58-2e4dc6f2358d

Свойства

Name
обязательное

Название скрипта

Async

Может загружаться асинхронно

Раздел

Интерфейс и навигация

Представления, элементы экранов, меню и тема оформления Runtime.

4 типов
Тип метамодели

View

5 свойств1 коллекций

Элемент представления данных - в зависимости от типа может быть детальным представлением (формой), списком (грид или деверево) или элементом управления для выбора конкретного объекта (llookup)

id: 1029ac14-8610-8ecc-8bc5-832b91014b88

Свойства

Name
обязательное
CodeLayout
Code

Код отображения вью

ViewType
обязательное

Тип вью

По умолчанию: 'Form'Допустимых значений: 4
Columns
обязательное

Число колонок сетки для DetailView

По умолчанию: 4
Width
обязательное

Коллекции

Items
ViewItem

Коллекция элементов представления

Тип метамодели

ViewItem

6 свойств1 коллекций

Элемент представления (элемент формы, колонка грида, группа элементов формы)

id: a41ed1b1-edf5-6f3b-04ac-3babbe894f50

Свойства

ItemType
обязательное
По умолчанию: 'simple'Допустимых значений: 4
Property

Свойство, с которым связан элемент. Для simple обязательное

Caption

Локализуемая подпись поля на нейтральном языке

DoNotShowCaption
обязательное

не показывать подпись

Columns
обязательное

Число колонок внутри группы, применяется только для групп

По умолчанию: 1
Span
обязательное

чисто колонок контейнера, занимаемых элементом

По умолчанию: 1

Коллекции

Items
ViewItem
Тип метамодели

Menu

7 свойств1 коллекций

Элемент меню

id: fe37bfc3-19e2-e7ad-536a-0a6c64595b7b

Свойства

Name
обязательное

Надпись, заголовок

Type

Тип документа на который ссылается

ToolTip

Всплывающее сообщение

BeginGroup

Начало группы. Отделяется от предыдущей визуально чертой.

По умолчанию: false
Role

Роли пользователей для которых определено d Permissions разрешение или запрет видеть этот пункт меню

Permissions

Разрешения для указанных ролей в Role на доступ к меню

По умолчанию: DefaultДопустимых значений: 3
Template

Шаблон поведения/вызова при клике на элемент меню. Код в котором можно задать открытие документ определённого типа, запуск скрипта, создание динамической формы/страницы и т.п.

Коллекции

Items

Элементы меню

Тип метамодели

Theme

3 свойств0 коллекций

Тема оформления. Тему можно выбрать из справочника доступных тем в конструкторе или добавить свою тему указав путь к файлу с темой

id: e63eb082-20da-1caa-36a1-e1dd185345b9

Свойства

Name
обязательное
ThemeCSS

Указание на CSS файл с темой

DefaultTheme

Тема по умолчанию. Выбирается из коллекции Themes. Если тема по умолчанию не выбрана автоматически применяется первая тема из Themes, если в списке Themes нет тем, применяется системная-тёмная тема. Тема "По умолчанию" может быть одна, это проверяется при сохранении темы либо игнорируется и применяется тема отмеченная "по умолчанию", которая первая в списке.

Раздел

Доступ и локализация

Управление доступом, языками и словарями пользовательского интерфейса.

3 типов
Тип метамодели

ManageAccess

3 свойств0 коллекций

Доступ к проекту. Пользователь имеет доступ "по умолчанию" с разрешением "видеть без редактирования". Доступ на редактирование даётся дополнительно.

id: 391d6627-a418-d02f-c997-daae050d6dfa

Свойства

EMail
обязательное

Электронный адрес пользователя

EditingTypes

Доступ пользователя на редактирование типов

Admin

Доступ на редактирование проекта: типы, свойства, добавление пользователей и т.п.

Тип метамодели

Language

2 свойств1 коллекций

Язык для которого есть словарь на который будут переводиться все слова/фразы из приложения написанные на нейтральном языке - определяемом разработчиком

id: c44952d5-0542-5552-2692-879ce36c2ee3

Свойства

Value
обязательное

Международная аббревиатура языка (или языковой код): en, es, de ...

Name
обязательное

Название языка на нейтральном языке

Коллекции

Dictionary
Dictionary
Тип метамодели

Dictionary

3 свойств0 коллекций

Словарь перевода слов/фраз с "нейтрального языка" записанных в поле Key на язык словаря поле Value. При этом когда применять перевод определяется в поле Source.

id: 4aed5ecd-d59c-2c28-cdcd-caa697e1c777

Свойства

Source
обязательное

В каком типе данных транслитерировать. Если для одного слова/фразы есть несколько вариантов перевода в зависимости от указанного значения Source тогда для указанных Source применяется частный перевод, а в остальных перевод указанный как Other если он есть, если Other не указан тогда слово/фраза не переводится.

По умолчанию: OtherДопустимых значений: 6
Key
обязательное

Слово на нейтральном языке которое надо перевести.

Value
обязательное

Перевод

Раздел

Модули и связи

Служебные элементы, связывающие части модели и внешние модули.

1 типов
Тип метамодели

ModuleReferences

3 свойств0 коллекций

Подключаемый модуль

id: d22f252f-0133-b81d-d75a-ae79df3fd57c

Свойства

Name
обязательное

Название модуля

Project
обязательное

Название проекта

Type
обязательное

Способ/тип подключения

Допустимых значений: 2