本文へ移動
cccskills
無料GitHub で公開

form-edit

Правка существующей управляемой формы 1С — элементы, реквизиты, команды и свойства самой формы. Используй, когда нужно точечно изменить готовую форму

インストール方法を見る

含まれるファイル(22)

  • SKILL.md16.1 KB
  • references/appearance.md8.9 KB
  • references/attributes-advanced.md3.5 KB
  • references/buttons-commands.md7.1 KB
  • references/charts.md10.6 KB
  • references/choice-params.md4.1 KB
  • references/command-interface.md4.6 KB
  • references/dynamic-list.md8.3 KB
  • references/form-properties.md3.7 KB
  • references/groups-pages.md4.9 KB
  • references/input-fields.md7.8 KB
  • references/layout-advanced.md2.5 KB
  • references/pictures.md2.9 KB
  • references/report-form.md3.8 KB
  • references/roles-access.md3.0 KB
  • references/special-fields.md2.2 KB
  • references/spreadsheet.md1.9 KB
  • references/table-advanced.md8.3 KB
  • references/tooltips-text.md2.9 KB
  • references/type-system-advanced.md5.4 KB
  • scripts/form-edit.ps1414.5 KB
  • scripts/form-edit.py438.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/form-edit — Правка формы

Точечно меняет существующий Form.xml по описанию правок в JSON; остальное в файле не трогает. Перенесённый или изменённый элемент сохраняет свой id — обработчики и обращения из модуля продолжают работать.

Команда

ПараметрОбязательныйОписание
FormPathдаПуть к существующему Form.xml
JsonPathдаПуть к JSON с описанием правок
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/form-edit.ps1" -FormPath "<путь>" -JsonPath "<путь>"

Что можно править

КлючПравка
elementsЭлементы: добавить, перенести, изменить, удалить — список операций, по порядку
attributesРеквизиты: добавить; { "remove": "Имя" } — удалить
commandsКоманды: добавить; { "remove": "Имя" } — удалить
parametersПараметры формы: добавить; { "remove": "Имя" } — удалить
titleЗаголовок формы (строка или {ru, en}); null — убрать
propertiesСвойства формы: { "windowOpeningMode": "LockOwnerWindow" }; null у свойства — убрать (references/form-properties.md)
eventsОбработчики событий формы: { "OnOpen": "ПриОткрытии" }
excludedCommandsИсключить стандартные команды: ["Copy"]; вернуть: { "remove": ["Copy"] }
conditionalAppearanceДобавить правила условного оформления (references/appearance.md)
commandInterfaceДобавить команды в панели формы (references/command-interface.md)

Все ключи необязательны, в одной правке можно сочетать любые. Имена элементов, реквизитов и команд — из /form-info. Процедуры обработчиков в модуле формы не создаются — их добавляют в Module.bsl отдельно.

Элементы

Операцию задаёт ключ:

КлючОперация
тип элемента: input, group, table, …Добавить новый элемент
moveПеренести: имя или список имён (встают подряд в этом порядке) вместе с содержимым
setИзменить свойства: имя или список имён
removeУдалить: имя или список имён; группа, страница, таблица — вместе с содержимым

Куда встаёт добавляемый или переносимый элемент:

КлючиКуда
after: "X" / before: "X"Рядом с X, в его группе
into: "G"В конец G — группы, страницы, таблицы, командной панели
into: "G", first: trueВ начало G

Новый элемент без позиции встаёт в конец формы; следующий без позиции — за ним. У move позиция обязательна.

{
  "attributes": [ { "name": "Срочно", "type": "boolean" } ],
  "elements": [
    { "group": "alwaysHorizontal", "name": "ГруппаОтгрузка", "after": "Контрагент" },
    { "move": ["Склад", "Организация"], "into": "ГруппаОтгрузка" },
    { "check": "Срочно", "path": "Срочно", "into": "ГруппаОтгрузка" },
    { "move": "ТоварыСумма", "before": "ТоварыЦена" },
    { "set": "Ответственный", "visible": false },
    { "set": "Контрагент", "title": "Покупатель", "events": { "OnChange": null } },
    { "remove": "Комментарий" }
  ]
}

Изменение (set)

  • Ключи — свойства элемента, те же, что при добавлении: заголовок, видимость, доступность, размеры, цвета и шрифт, кнопки поля, параметры выбора и т. д. (таблица ниже и справочники).
  • null возвращает свойству значение по умолчанию.
  • Строка в title меняет русский текст, переводы на другие языки остаются.
  • У группы ориентацию меняет group: { "set": "ГруппаШапка", "group": "vertical" }.
  • events добавляет обработчики — как у нового элемента.
  • Имя, тип элемента, путь к данным и команду кнопки set не меняет: такой элемент удаляют и добавляют заново.

Удаление вместе с реквизитом

Поле и реквизит, к которому оно привязано, удаляются в одной правке:

{
  "elements":   [ { "remove": "Срочно" } ],
  "attributes": [ { "remove": "Срочно" } ]
}

Новый элемент

Ключ — тип элемента, значение — имя; у group значение — ориентация, а имя задаётся в name.

КлючЭлементПодробно
inputПоле вводаinput-fields.md
check / radioФлажок / переключательinput-fields.md
labelFieldПоле-надпись (значение без редактирования)input-fields.md
labelНадпись, текст — в titletooltips-text.md
groupГруппа: vertical / horizontalIfPossible / alwaysHorizontalgroups-pages.md
pages / pageСтраницы / страницаgroups-pages.md
table / columnGroupТаблица / группа колонокtable-advanced.md
button / popup / buttonGroup / cmdBarКнопка / подменю / группа кнопок / командная панельbuttons-commands.md
picture / picFieldКартинка / поле-картинкаpictures.md

Табличный документ, HTML, календарь, диаграммы и другие особые поля — по индексу ниже.

КлючОписание
nameИмя, если отличается от значения ключа типа. Имена в форме уникальны
pathПуть к данным: "Объект.Склад", "ИмяРеквизита"; колонка таблицы — "Объект.Товары.Сумма"
title / tooltipЗаголовок / подсказка (строка или {ru, en})
visible: false / enabled: false / readOnly: trueСкрыть / сделать недоступным / только чтение
eventsОбработчики: { "OnChange": "ИмяПроцедуры" }; null вместо имени — имя по шаблону <Элемент><Событие>
children / columnsВложенные элементы группы или страницы / колонки таблицы

Поле на новом реквизите формы — реквизит и элемент в одной правке:

{
  "attributes": [ { "name": "СуммаИтого", "type": "decimal(15,2)" } ],
  "elements": [ { "input": "СуммаИтого", "path": "СуммаИтого", "readOnly": true, "after": "Контрагент" } ]
}

Колонка в существующую таблицу — элемент рядом с другой колонкой или into таблицы:

{ "input": "ТоварыСкидка", "path": "Объект.Товары.Скидка", "after": "ТоварыЦена" }

Кнопка — в командную панель формы (ФормаКоманднаяПанель) или таблицы (ТоварыКоманднаяПанель); command — команда формы, stdCommand — стандартная ("Close", у таблицы — "Товары.Add"):

{
  "commands": [ { "name": "Пересчитать", "action": "ПересчитатьОбработка" } ],
  "elements": [ { "button": "Пересчитать", "command": "Пересчитать", "into": "ФормаКоманднаяПанель" } ]
}

Свойства командной панели формы — операция autoCmdBar: { "autoCmdBar": "ФормаКоманднаяПанель", "autofill": false } (без стандартных команд), horizontalAlign.

События

Имена регистрозависимы.

Форма: OnCreateAtServer, OnOpen, BeforeClose, OnClose, NotificationProcessing, ChoiceProcessing, OnReadAtServer, BeforeWriteAtServer, OnWriteAtServer, AfterWriteAtServer, BeforeWrite, AfterWrite, FillCheckProcessingAtServer, BeforeLoadDataFromSettingsAtServer, OnLoadDataFromSettingsAtServer, ExternalEvent, Opening

input: OnChange, StartChoice, ChoiceProcessing, AutoComplete, TextEditEnd, Clearing, Creating, EditTextChange check / radio: OnChange table: OnStartEdit, OnEditEnd, OnChange, Selection, ValueChoice, BeforeAddRow, BeforeDeleteRow, AfterDeleteRow, BeforeRowChange, BeforeEditEnd, OnActivateRow, OnActivateCell label / labelField: Click, URLProcessing; у labelField также OnChange, StartChoice, ChoiceProcessing, Clearing picture / button: Click pages: OnCurrentPageChange

Реквизиты, команды, параметры

"attributes": [ { "name": "Итого", "type": "decimal(15,2)", "title": "Итого" },
                { "name": "Данные", "type": "ValueTable", "columns": [ { "name": "Сумма", "type": "decimal(15,2)" } ] } ],
"commands":   [ { "name": "Загрузить", "action": "ЗагрузитьОбработка", "shortcut": "Ctrl+Enter" } ],
"parameters": [ { "name": "Основание", "type": "DocumentRef.Заказ", "key": true } ]

Типы: string, string(100), decimal(15,2), boolean, date, dateTime, CatalogRef.X, DocumentRef.X, EnumRef.X, ValueTable, ValueList, DynamicList, Тип1 | Тип2 — все типы в references/type-system-advanced.md. Остальные ключи реквизитов — attributes-advanced.md, команд — buttons-commands.md.

Форма расширения

Форма расширения (с <BaseForm>) распознаётся сама. Свои элементы, реквизиты и команды расширения называют с префиксом расширения (Расш1_Метка) и задают им title — иначе заголовок возьмётся из имени вместе с префиксом. Обработчику указывают вид вызова — callType: Before, After или Override; без него — Before:

{
  "events": { "OnCreateAtServer": { "handler": "Расш1_ПриСозданииПосле", "callType": "After" } },
  "elements": [
    { "set": "Банк", "events": { "OnChange": { "handler": "Расш1_БанкПриИзменении", "callType": "Before" } } }
  ],
  "commands": [
    { "name": "Подбор", "action": "Расш1_ПодборПосле", "callType": "After" },
    { "name": "Запрос", "actions": [
      { "handler": "Расш1_ЗапросПеред", "callType": "Before" },
      { "handler": "Расш1_ЗапросПосле", "callType": "After" } ] }
  ]
}

Задача → справочник

Под задачу подгрузите файл из references/:

ЗадачаСправочник
Поле ввода, флажок, переключатель: кнопки, список выбора, быстрый выбор, своя форма выбора, маска, формат, пароль, выключатель/тумблер, поле составного типаinput-fields.md
Ограничить выбор отбором, связать поле с другим полем, связь по типуchoice-params.md
Группа и страницы: ориентация, рамка, свёрнутая группа, интервалы, заголовок из данных, значок закладки, мастер по шагамgroups-pages.md
Таблица: колонки и группы колонок, итоги в подвале, дерево, выделение строк, закрепление колонок, поиск, перетаскиваниеtable-advanced.md
Форма списка: источник данных, запрос, отбор, сортировка, группировка, иерархияdynamic-list.md
Кнопки, подменю, команды: картинка кнопки, переключатель в панели, команды таблицы в группе кнопок, своё контекстное меню у поля, команда для текущей строкиbuttons-commands.md
Подсветить цветом, шрифт, рамка, условное оформление (в форме списка — dynamic-list.md)appearance.md
Расширенная подсказка под полем, надпись с выделением или ссылкойtooltips-text.md
Картинка, значок в колонке, иконка по значениюpictures.md
Табличный документ (печатная форма, отчёт на форме)spreadsheet.md
HTML, текстовый документ, индикатор, ползунок, календарь, периодspecial-fields.md
Диаграмма, диаграмма Ганта, планировщикcharts.md
Свойства формы: модальность, размер, прокрутка, Enter, время и проведение документаform-properties.md
Форма отчёта (СКД)report-form.md
Реквизиты: сохранение в настройках, проверка заполнения, функциональные опцииattributes-advanced.md
Типы реквизитов, составные типы и наборыtype-system-advanced.md
Видимость и доступ по ролямroles-access.md
Командный интерфейс формы (переходы, важные команды)command-interface.md
Размеры, выравнивание, фокус по умолчанию, узкие экраныlayout-advanced.md

Workflow

  1. /form-info — структура формы: имена элементов, реквизиты, команды.
  2. Описать правки в JSON.
  3. /form-edit — применить; в выводе — что добавлено, перенесено, изменено и удалено.
  4. /form-validate — проверить форму.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

cf-edit

無料

Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию, поменять раскладку панелей, настроить начальную страницу

日本語の概要は準備中です。原文の説明を表示しています。

Nikolay-Shirokov/cc-1c-skills6832026年10月12日 更新

cf-info

無料

Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки

日本語の概要は準備中です。原文の説明を表示しています。

Nikolay-Shirokov/cc-1c-skills6832026年10月12日 更新

cf-init

無料

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля

日本語の概要は準備中です。原文の説明を表示しています。

Nikolay-Shirokov/cc-1c-skills6832026年10月12日 更新

Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности

日本語の概要は準備中です。原文の説明を表示しています。

Nikolay-Shirokov/cc-1c-skills6832026年10月12日 更新

Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации

日本語の概要は準備中です。原文の説明を表示しています。

Nikolay-Shirokov/cc-1c-skills6832026年10月12日 更新

cfe-diff

無料

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, проверка переноса. Используй когда нужно понять что содержит расширение или проверить перенесены ли вставки в конфигурацию

日本語の概要は準備中です。原文の説明を表示しています。

Nikolay-Shirokov/cc-1c-skills6832026年10月12日 更新

Nikolay-Shirokov のスキルをすべて見る

このスキルの問題を報告する