form-patterns
Skill0 starsChanged 4 months agoMITView on GitHub
Этот скилл MUST быть вызван как справочник паттернов компоновки управляемых форм 1С: архетипы, конвенции, продвинутые приёмы. SHOULD также вызывать перед проектированием форм через form-compile когда расположение элементов не уточнено. Do NOT использовать для создания формы — используй form-compile; для модификации — используй form-edit.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- gpustack/gpustack-uitheir own version, first seen Oct 8, 2026
- Arman-Kudaibergenov/1c-ai-development-kitword for word, first seen Mar 4, 2026
Other versions2 projects use a version of this.
Word for word · 1
- Arman-Kudaibergenov/1c-ai-development-kit★ 163100% same
Edited · 0
None found.
Wrote their own version · 1
- gpustack/gpustack-ui★ 100same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository55 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- 1c-help-mcpSkill
- 1c-project-initSkill
- 1c-query-optSkill
- 1c-test-runnerSkill
- 1c-web-sessionSkill
- brainstormSkill
- bsp-patternsSkill
- cfe-borrowSkill
- cfe-diffSkill
- cf-editSkill
- cfe-initSkill
- cfe-patch-methodSkill
- cf-initSkill
- db-createSkill
- db-dump-cfSkill
- db-dump-xmlSkill
- db-listSkill
- db-load-cfSkill
- db-load-gitSkill
- db-load-xmlSkill
- db-runSkill
- db-updateSkill
- epf-expertSkill
- erf-expertSkill
- form-addSkill
- form-compileSkill
- form-editSkill
- form-removeSkill
- help-addSkill
- img-gridSkill
- inspectSkill
- meta-compileSkill
- meta-editSkill
- meta-removeSkill
- mxl-expertSkill
- openspec-applySkill
- openspec-archiveSkill
- openspec-proposalSkill
- playwright-testSkill
- role-expertSkill
- session-restoreSkill
- session-retroSkill
- session-saveSkill
- skd-compileSkill
- skd-editSkill
- subagent-devSkill
- subsystem-expertSkill
- validateSkill
- web-infoSkill
- web-publishSkill
- web-stopSkill
- web-testSkill
- web-unpublishSkill
- write-planSkill
The file
Files
/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": "ОчиститьОбработка" }
]
}Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

