form-patterns

/form-patterns — паттерны компоновки форм

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "form-patterns" with this command: npx skills add arman-kudaibergenov/1c-ai-development-kit/arman-kudaibergenov-1c-ai-development-kit-form-patterns

/form-patterns — паттерны компоновки форм

Справочник типовых паттернов дизайна управляемых форм 1С. Вызывай перед проектированием формы через /form-compile , когда требования пользователя не детализируют расположение элементов.

Как использовать: выбери подходящий архетип, применяй конвенции именования, при необходимости используй продвинутые паттерны.

Архетипы форм

Форма документа

Шапка (horizontal, 2 колонки) ├─ Левая (vertical): НомерДата (H: Номер + Дата "от"), Контрагент, Договор ├─ Правая (vertical): Организация, Подразделение, ЦеныИВалюта (надпись-ссылка) Страницы (pages) ├─ Товары: таблица Объект.Товары ├─ Услуги: таблица Объект.Услуги (опционально) └─ Дополнительно: прочие реквизиты Подвал (vertical) ├─ Итоги (horizontal): Всего, НДС, Скидка └─ КомментарийОтветственный (horizontal): Комментарий + Ответственный

События: OnCreateAtServer, OnReadAtServer, OnOpen, BeforeWriteAtServer, AfterWriteAtServer, AfterWrite, NotificationProcessing Свойства: autoTitle=false

Форма обработки (DataProcessor)

Параметры (vertical) ├─ Группа полей ввода (Организация, Период, режимы работы) ├─ Информационные надписи (label, hyperlink) Рабочая область ├─ Таблица данных или Pages с вкладками Кнопки действий ├─ Выполнить / Применить (defaultButton) ├─ Закрыть (stdCommand: Close)

События: OnCreateAtServer, OnOpen, NotificationProcessing Свойства: windowOpeningMode=LockOwnerWindow (если диалог), autoTitle=false

Форма списка

Отборы (group: alwaysHorizontal) ├─ ГруппаОтбор[Поле] (H): Флажок + Поле ввода (для каждого фильтра) Список (table, DynamicList) ├─ Колонки: labelField (не input — данные только для чтения)

События: OnCreateAtServer, OnOpen, NotificationProcessing, OnLoadDataFromSettingsAtServer Свойства: autoSaveDataInSettings=Use Фильтры: пара реквизитов на каждый — Отбор[Поле] (значение) + Отбор[Поле]Использование (boolean)

Форма элемента справочника

Простая:

ГруппаРеквизитов (horizontal) ├─ Наименование -> Объект.Description └─ Код -> Объект.Code (если нужен)

Сложная:

Главное (vertical) ├─ Наименование -> Объект.Description ├─ Параметры (horizontal, 2 колонки) │ ├─ Левая: основные реквизиты │ └─ Правая: дополнительные реквизиты └─ КонтактныеДанные / Дополнительно (vertical)

События: OnCreateAtServer, OnReadAtServer, BeforeWriteAtServer, NotificationProcessing

Мастер (Wizard)

Страницы (pages, OnCurrentPageChange) ├─ Шаг1: описание + параметры ├─ Шаг2: основная работа └─ Шаг3: результат Кнопки (horizontal) ├─ Назад (command), Далее (command, defaultButton), Выполнить (command) └─ Закрыть (stdCommand: Close)

Свойства: windowOpeningMode=LockOwnerWindow, commandBarLocation=None

Конвенции именования

Группы

Назначение Имя Тип

Шапка ГруппаШапка

horizontal

Левая колонка ГруппаШапкаЛевая

vertical

Правая колонка ГруппаШапкаПравая

vertical

Номер+Дата ГруппаНомерДата

horizontal

Подвал ГруппаПодвал

vertical

Итоги ГруппаИтоги

horizontal

Кнопки ГруппаКнопок

horizontal

Страницы ГруппаСтраницы / Страницы

pages

Предупреждение ГруппаПредупреждение

horizontal, visible:false

Доп. секция ГруппаДополнительно / ГруппаПрочее

vertical, collapse

Элементы

Назначение Имя

Поле в таблице [Таблица][Поле]

Итог Итоги[Поле]

Надпись-ссылка [Поле]Надпись

Фильтр Отбор[Поле]

Флажок фильтра Отбор[Поле]Использование

Кнопка команды [Команда]Кнопка

Баннер-картинка [Баннер]Картинка

Баннер-надпись [Баннер]Надпись

Подменю Подменю[Действие]

Обработчики событий

Имя = имя элемента + суффикс на русском:

Событие Суффикс Пример

OnChange ПриИзменении ОрганизацияПриИзменении

StartChoice НачалоВыбора КонтрагентНачалоВыбора

Click Нажатие ЦеныИВалютаНажатие

OnEditEnd ПриОкончанииРедактирования ТоварыПриОкончанииРедактирования

OnStartEdit ПриНачалеРедактирования ТоварыПриНачалеРедактирования

Обработчики формы: ПриСозданииНаСервере , ПриОткрытии , ПередЗакрытием , ОбработкаОповещения .

Принципы компоновки

  • Порядок чтения. Сверху вниз, слева направо. Самое важное — вверху.

  • Двухколоночная шапка. Основные реквизиты слева (контрагент, склад), организационные справа (организация, подразделение).

  • Кнопки действий внизу. Главная кнопка — defaultButton: true . Закрыть — всегда последняя.

  • Таблицы — основная область. Табличные части занимают большую часть формы, обычно на Pages.

  • Итоги рядом с таблицей. В подвале, горизонтальная группа, все поля readOnly.

  • Фильтры — отдельная зона. Над списком, alwaysHorizontal, пара «флажок + поле» на каждый фильтр.

  • Скрытые элементы для состояний. Баннеры, предупреждения — visible: false , показываются программно.

  • Надписи-ссылки для диалогов. labelField с hyperlink: true и событием Click.

Продвинутые паттерны (ERP)

Сворачиваемые группы

Для необязательных секций (подписи, дополнительно, прочее):

{ "group": "vertical", "name": "ГруппаПодписи", "title": "Подписи", "behavior": "Collapsible", "collapsed": true, "children": [...] }

Баннер-предупреждение

Группа «картинка + надпись», скрыта по умолчанию, показывается программно:

{ "group": "horizontal", "name": "ГруппаПредупреждение", "showTitle": false, "visible": false, "children": [ { "picture": "ПредупреждениеКартинка" }, { "label": "ПредупреждениеНадпись", "title": "Текст", "maxWidth": 76, "autoMaxWidth": false } ]}

Popup-меню в командной панели

Группировка связанных команд (печать, отправка) в одну кнопку с иконкой:

{ "cmdBar": "КоманднаяПанель", "children": [ { "popup": "ПодменюПечать", "title": "Печать", "picture": "StdPicture.Print", "representation": "Picture", "children": [ { "button": "ПечатьНакладная", "command": "Печать" }, { "button": "ПечатьСчёт", "command": "ПечатьСчёт" } ]} ]}

Форма без стандартной командной панели

Для модальных диалогов и мастеров:

{ "properties": { "commandBarLocation": "None", "windowOpeningMode": "LockWholeInterface" } }

Надпись-гиперссылка

Вместо кнопки для открытия подформ (ЦеныИВалюта, УчётнаяПолитика):

{ "labelField": "ЦеныИВалютаНадпись", "path": "ЦеныИВалюта", "hyperlink": true, "on": ["Click"] }

Пример: форма обработки (полный DSL)

{ "title": "Загрузка данных из CSV", "properties": { "autoTitle": false, "windowOpeningMode": "LockOwnerWindow" }, "events": { "OnCreateAtServer": "ПриСозданииНаСервере" }, "elements": [ { "group": "vertical", "name": "ГруппаПараметры", "children": [ { "input": "ФайлЗагрузки", "path": "ФайлЗагрузки", "title": "Файл", "clearButton": true, "horizontalStretch": true, "on": ["StartChoice"] }, { "input": "Кодировка", "path": "Кодировка" }, { "input": "Разделитель", "path": "Разделитель", "title": "Разделитель колонок" } ]}, { "table": "Данные", "path": "Объект.Данные", "on": ["OnStartEdit"], "columns": [ { "input": "ДанныеНомерСтроки", "path": "Объект.Данные.LineNumber", "readOnly": true, "title": "№" }, { "input": "ДанныеНаименование", "path": "Объект.Данные.Наименование" }, { "input": "ДанныеКоличество", "path": "Объект.Данные.Количество", "on": ["OnChange"] }, { "input": "ДанныеСумма", "path": "Объект.Данные.Сумма", "readOnly": true } ]}, { "group": "horizontal", "name": "ГруппаКнопок", "children": [ { "button": "Загрузить", "command": "Загрузить", "title": "Загрузить из файла", "defaultButton": true }, { "button": "Очистить", "command": "Очистить", "title": "Очистить таблицу" }, { "button": "Закрыть", "stdCommand": "Close" } ]} ], "attributes": [ { "name": "Объект", "type": "ExternalDataProcessorObject.ЗагрузкаИзCSV", "main": true }, { "name": "ФайлЗагрузки", "type": "string" }, { "name": "Кодировка", "type": "string(20)" }, { "name": "Разделитель", "type": "string(5)" } ], "commands": [ { "name": "Загрузить", "action": "ЗагрузитьОбработка" }, { "name": "Очистить", "action": "ОчиститьОбработка" } ] }

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

1c-query-opt

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

1c-project-init

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

1c-help-mcp

No summary provided by upstream source.

Repository SourceNeeds Review