Skip to content

v1.6.5

Choose a tag to compare

@github-actions github-actions released this 15 May 21:27
· 29 commits to main since this release

v1.6.5: формпарсер xcf/logform

Патч поверх v1.6.4. Инструмент get_form_structure начал возвращать реальную структуру формы (элементы, команды, обработчики событий). Раньше на любых реальных конфигурациях он отдавал только имя и заголовок формы.

Исправления

  • get_form_structure возвращал только имя и заголовок. Парсер dump/formparser.go искал ноды, которых нет в реальном формате xcf/logform (выгрузка через DumpConfigToFiles). Теперь парсер правильно читает <ChildItems>, <Events>, <Commands> из реального XML, элементы любой глубины вложенности разворачиваются в плоский список.

Новые возможности

  • События у элементов формы. OnChange у InputField, OnActivateRow у Table и аналогичные element-level обработчики теперь видны в выводе инструмента. В markdown-выводе появилась отдельная секция «События элементов».
  • Честное описание инструмента. Описание get_form_structure теперь явно говорит, что без --dump возвращаются только имя и заголовок. HTTP-endpoint 1С в серверном контексте не имеет доступа к составу управляемой формы (Форма.Элементы доступна только у клиентского объекта ФормаКлиентскогоПриложения, недоступного из HTTPService). Это особенность платформы, не баг расширения.
  • Логирование ошибок dump. Если выгрузка не парсится при успешном HTTP-запросе, причина теперь попадает в лог через slog.Warn вместо молчаливого fallback на пустой результат.

Технические детали

  • Go-модель: добавлены поля dump.FormElementInfo.Events []FormHandlerInfo и onec.FormElement.Events []FormHandler (additive, json-совместимо, omitempty).
  • Тесты переписаны на четырёх реальных Form.xml из типовых конфигураций: пустая форма, форма смены пароля, форма записи регистра сведений, форма списка справочника с вложенной структурой.
  • BSL-код HTTP-сервиса не менялся. Обновлять расширение в базе не требуется.

Обновление

Достаточно скачать бинарник для вашей платформы из assets ниже и заменить текущий. Расширение 1С обновлять не нужно. Чтобы получать структуру элементов и обработчики, запустите сервер с флагом --dump <путь_к_выгрузке>.

Full Changelog: v1.6.4...v1.6.5