Files
cc-1c-skills/.cursor/skills/mxl-compile/reference/input-cells.md
T

3.2 KiB

Ячейки-поля ввода

Ячейка может не показывать текст, а принимать значение от пользователя — так делают макеты для ввода данных. Достаточно задать тип значения:

{ "col": 1, "valueType": "Number(15,3,nonneg)" }
{ "col": 2, "valueType": "String(10)" }
{ "col": 3, "valueType": "Boolean", "controlType": "checkbox" }
{ "col": 4, "valueType": "CatalogRef.Валюты" }
{ "col": 5, "valueType": "Boolean + String + Date + CatalogRef.Валюты" }
{ "col": 6, "valueType": "AnyRef" }

Грамматика типа:

Запись Значение
Boolean булево
String, String(10), String(10,fixed) строка; без длины — неограниченная, fixed — фиксированной длины
Number, Number(15,3), Number(15,3,nonneg) число; без параметров — без ограничения разрядности, nonneg — неотрицательное
Date, DateTime, Time дата, дата со временем, время
CatalogRef.Валюты, DocumentRef.Реализация, EnumRef.Статусы, DefinedType.Сумма ссылочный тип
CatalogRef, DocumentRef, AnyRef категория целиком: любая ссылка этого вида
A + B составной тип; повтор одного примитива недопустим

Русские имена принимаются наравне с английскими: Число(15,3), Строка(10), СправочникСсылка.Валюты.

text и template в такой ячейке недопустимы — платформа не показывает текст там, где вводится значение. param и detail допустимы: они описывают заполнение и расшифровку, а не содержимое.

Пустой тип "valueType": "" — «ячейка содержит значение», но тип не ограничен.

Значение поля ввода задаётся ключом value. Его тип — тип литерала JSON: строка, число, true/false; к объявленному типу ячейки значение не приводится. Пустая строка означает пустое значение объявленного типа. Дата пишется строкой ГГГГ-ММ-ДДTчч:мм:сс и читается как дата у ячейки, объявленной датой; у ссылочного и составного типа значение — строка.

{ "col": 1, "valueType": "Number(15,3)", "value": 12.5 }
{ "col": 2, "valueType": "String(10)", "value": "5" }
{ "col": 3, "valueType": "Boolean", "value": true }
{ "col": 4, "valueType": "DateTime", "value": "" }

controlType нужен редко: умолчание платформы — поле ввода, и оно подходит всем типам, включая Boolean. Флажок задаётся явно.