Инструменты · Отчёты СКД
composition_settings_write
Создаёт, изменяет на месте и удаляет элементы настроек компоновки — выбранные поля, отборы и группы отборов, сортировку, группировки, условное оформление, параметры данных и вывода. Адрес — якорь настроек плюс путь секции, элементы адресуются индексом [i], который не сдвигается при правке.
Когда использовать
- Настроить вариант отчёта: поля, группировка, заголовок, период.
- Включить или выключить отбор, поменять направление сортировки —
updateпо индексу изcomposition_settings_read. - Условное оформление: элемент, затем его условие, оформление и оформляемые поля.
- Схему — наборы, поля, ресурсы — правит
dcs_write.
Соседние инструменты домена «Отчёты СКД»
#help — контракт dcs_write для узла и рецепт рабочего отчёта.dcs_writeWсхема компоновки: наборы, поля, параметры, ресурсыcomposition_settings_readRнастройки с индексами элементов; #help — контракт секцииОперации
| operation | Что делает | Нужно передать |
|---|---|---|
create | Новый элемент секции: ….Selection — поле, ….Filter — отбор или группа отбора (group_type), ….Order — сортировка, ….Structure — группировка (пустое field — детальные записи), ….ConditionalAppearance — элемент оформления, ….DataParameter.<Имя>, ….OutputParameter.<Имя> — параметры. | project, fqn, definition |
update | Меняет элемент на месте по индексу: применяются только переданные ключи, индексы не сдвигаются. Например, ….Filter[0] с {use: true} включает отбор, ….Order[1] с {direction: "Desc"} меняет направление. | project, fqn с индексом, definition |
delete | Удаляет элемент по индексу; параметр — по имени. | project, fqn |
Параметры
| Параметр и тип | Обязательный | Описание | По умолчанию |
|---|---|---|---|
projectстрока | да | Идентификатор проекта рабочей области EDT — имя из ответа project_read (например, УТ2020). Для расширения — проект расширения. | — |
operationстрока | да | Операция инструмента — значения и их смысл в таблице «Операции».значения: create · update · delete | — |
fqnстрока | да | Якорь настроек и путь секции: …Settings.Filter (create), …Settings.Filter[0] (update, delete), …Settings.ConditionalAppearance[0].Appearance, …Settings.DataParameter.Период, …Settings.Structure[0].OutputParameter.<Имя>. Вложенность — [i] и [i,j]. | — |
definitionобъект | нет | Свойства элемента: field, left, comparison (Равно, Больше, …), правое значение — одно из right_value, right_ref (Перечисление.X.Y), right_date, right_field; group_type (И, ИЛИ, НЕ); direction (Asc, Desc); title; use — включён; у параметров value, ref, date; у оформления parameter и color (#RRGGBB) или булево. Неизвестный ключ — отказ; контракт — composition_settings_read с гранью #help на адресе секции. | — |
dry_runбулево | нет | true — выполнить в транзакции и гарантированно откатить. | — |
titleстрока | нет | Необязательная подпись вызова до 40 символов: клиент показывает её в шапке карточки вызова. На результат не влияет. | — |
Таблица собрана из схемы инструмента, которую получает агент при подключении.
Адреса
| Адрес | Что адресует |
|---|---|
…SettingsVariant.Основной.Settings.Selection | выбранные поля |
…SettingsVariant.Основной.Settings.Structure | группировки |
…DefaultSettings.Filter[0] | первый отбор |
…DefaultSettings.Structure[0,1].Order | сортировка во вложенной группировке |
…DefaultSettings.OutputParameter.Заголовок | заголовок отчёта |
Пример вызова и ответа
{
"project": "УТ2020",
"operation": "update",
"fqn": "Report.<Отчет>.Template.<Схема>.DefaultSettings.Order[1]",
"definition": { "direction": "Desc" }
}Пример ответа в подготовке Устройство ответа — на странице Формат ответов.
Отказы и ошибки
rolled_back · лишний ключ definition
Секция не принимает ключ — ответ перечисляет принимаемые и указывает на контракт.
Значение-ссылка на конкретную запись базы
Ссылку на элемент данных (конкретный справочник, документ) задать нельзя — только перечисления, пустые ссылки, числа, строки, даты и поля. Такое значение дозаполните в EDT.
failed · Unknown operation
Неизвестное значение operation. В ответе — fix_hint: supported: … со списком допустимых операций и секция Did you mean. Допустимо: create, update, delete.
failed · лицензия
Без действующего ключа инструмент отвечает карточкой failed с сообщением лицензия: … и подсказкой, где ввести ключ; в секции Context — список инструментов, доступных без ключа. Подробнее — Лицензия и бесплатный доступ.
Ограничения
- Индексы не сдвигаются при
update; послеcreateиdeleteперечитайте настройки.