Install
$ agentstack add skill-nikolay-shirokov-cc-1c-skills-form-patterns ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/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 с вкладками
Главная АКП формы (autoCmdBar)
├─ Выполнить / Применить (defaultButton: true)
└─ Закрыть (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: результат
Главная АКП формы (autoCmdBar)
├─ Назад, Далее (defaultButton: true), Выполнить
└─ Закрыть (stdCommand: Close)
Свойства: windowOpeningMode=LockOwnerWindow
Конвенции именования
Группы
| Назначение | Имя | Тип | |-----------|-----|-----| | Шапка | ГруппаШапка | horizontal | | Левая колонка | ГруппаШапкаЛевая | vertical | | Правая колонка | ГруппаШапкаПравая | vertical | | Номер+Дата | ГруппаНомерДата | horizontal | | Подвал | ГруппаПодвал | vertical | | Итоги | ГруппаИтоги | horizontal | | Главная АКП формы | ФормаКоманднаяПанель | autoCmdBar | | Страницы | ГруппаСтраницы / Страницы | pages | | Предупреждение | ГруппаПредупреждение | horizontal, visible:false | | Доп. секция | ГруппаДополнительно / ГруппаПрочее | vertical, collapse |
Элементы
| Назначение | Имя | |-----------|-----| | Поле в таблице | [Таблица][Поле] | | Итог | Итоги[Поле] | | Надпись-ссылка | [Поле]Надпись | | Фильтр | Отбор[Поле] | | Флажок фильтра | Отбор[Поле]Использование | | Кнопка команды | [Команда]Кнопка | | Баннер-картинка | [Баннер]Картинка | | Баннер-надпись | [Баннер]Надпись | | Подменю | Подменю[Действие] |
Обработчики событий
Имя = имя элемента + суффикс на русском:
| Событие | Суффикс | Пример | |---------|---------|--------| | OnChange | ПриИзменении | ОрганизацияПриИзменении | | StartChoice | НачалоВыбора | КонтрагентНачалоВыбора | | Click | Нажатие | ЦеныИВалютаНажатие | | OnEditEnd | ПриОкончанииРедактирования | ТоварыПриОкончанииРедактирования | | OnStartEdit | ПриНачалеРедактирования | ТоварыПриНачалеРедактирования |
Обработчики формы: ПриСозданииНаСервере, ПриОткрытии, ПередЗакрытием, ОбработкаОповещения.
Принципы компоновки
- Порядок чтения. Сверху вниз, слева направо. Самое важное — вверху.
- Двухколоночная шапка. Основные реквизиты слева (контрагент, склад), организационные справа (организация, подразделение).
- Кнопки действий — на главной АКП формы (
autoCmdBar), не в отдельной группе на форме. Главная кнопка —defaultButton: true. Закрыть — всегда последняя. - Таблицы — основная область. Табличные части занимают большую часть формы, обычно на Pages.
- Итоги рядом с таблицей. В подвале, горизонтальная группа, все поля readOnly.
- Фильтры — отдельная зона. Над списком, alwaysHorizontal, пара «флажок + поле» на каждый фильтр.
- Скрытые элементы для состояний. Баннеры, предупреждения —
visible: false, показываются программно. - Надписи-ссылки для диалогов.
labelFieldсhyperlink: trueи событием Click.
Продвинутые паттерны (ERP)
Сворачиваемые группы
Для необязательных секций (подписи, дополнительно, прочее):
{ "group": "collapsible", "name": "ГруппаПодписи", "title": "Подписи",
"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 }
]},
{ "autoCmdBar": "ФормаКоманднаяПанель", "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 & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Nikolay-Shirokov
- Source: Nikolay-Shirokov/cc-1c-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.