FormHelper и 1C Skills: программное изменение управляемых форм
Два подхода к формам 1С: библиотека FormHelper для динамических изменений и 1C Skills для редактирования XML-исходников.
- Category: gitsell-news
- Published: 2026-10-19T04:08:31.244168
- Canonical: https://gitsell.ru/blog/formhelper-i-1c-skills-programmnoe-izmenenie-upravlyaemyh-fo
Article
Форму 1С можно изменить на двух уровнях. FormHelper строит элементы программно во время работы. 1C Skills редактирует XML-исходники формы до сборки. Выбор зависит от того, должна структура быть динамической или фиксированной.
Когда подходит FormHelper
Библиотека предоставляет fluent-построитель: из BSL добавляются реквизиты, поля, кнопки и команды, после чего изменения применяются к форме.
РаботаСФормамиСервер.НовыйПостроительФорм(ЭтаФорма)
.РеквизитСтрока("Комментарий", 150)
.ПолеВвода("Комментарий")
.Заголовок("Комментарий")
.ПутьКДанным("Комментарий")
.Применить();
Плюс — динамика. Минус — итоговую форму труднее увидеть в статическом diff, а ошибка проявляется при выполнении кода.
Когда менять XML через Skills
Если поле или команда — постоянная часть поставки, используйте form-info, form-edit и form-validate. Агент изучает элементы и события, добавляет изменение и проверяет ссылки. Git показывает точный diff.
Совместное использование
Можно хранить базовый каркас в XML, а динамические блоки создавать FormHelper. Важно договориться, какие элементы принадлежат каждому слою, чтобы агент не добавил статически то, что уже строится в рантайме.
Проанализируй форму документа, перечисли элементы из XML и вызовы FormHelper. Новое поле должно быть постоянным — добавь его в XML, не дублируй в построителе.
Статическая валидация ловит структуру и ссылки. Затем откройте форму в тонком и веб-клиенте, проверьте порядок элементов, команды и повторное открытие. Динамический построитель должен быть идемпотентным: повторный вызов не создаёт вторую кнопку.
Статьи по теме
- 1C Skills: веб-публикация базы и smoke-тест через Playwright: Как опубликовать тестовую базу 1С через Apache и проверить веб-клиент с помощью web-publish, web-test и Playwright.
- 1C Skills и YAxUnit: как встроить тесты в работу ИИ-агента: Связка 1C Skills и YAxUnit: агент меняет XML, запускает подходящие тесты, читает результат и исправляет код до review.
- 1C Skills: роли, права и безопасные изменения конфигурации: Как анализировать и создавать роли 1С с помощью role-info, role-compile и role-validate, не выдавая лишние права.