Как посмотреть форму 1С по выгрузке: form_view в MCP-1C
Схемы обычных и управляемых форм 1С в HTML и SVG: примеры form_view, выбор страниц, скрытые элементы и границы проверки без запуска платформы.
Чтобы увидеть расположение элементов формы без запуска 1С, передайте её выгрузку в code_read.form_view. Инструмент строит схему формы и помогает найти нужное поле, группу или страницу перед правкой. Он появился в MCP-1C v2.42.0 и доступен в Расширенной и Профессиональной редакциях с соответствующей подпиской.
Обычная форма из Form.bin рисуется по рамкам элементов. Управляемая из Form.xml получает приблизительное представление в стиле «Такси». Это полезный материал для разбора исходников и обсуждения правки; точное поведение формы по-прежнему проверяют в 1С. Параметры опубликованы в справочнике form_view, появление функции — в истории изменений v2.42.0.
В статье:
- Подготовка выгрузки
- Первый рисунок формы
- Страницы и скрытые элементы
- Как читать результат
- Что проверить в самой 1С
Подготовка выгрузки
Серверу нужна выгрузка конфигурации, подключённая через --dump. Здесь источником служат файлы, поэтому заранее уточните, какой версии базы они соответствуют. Изменение формы в Конфигураторе не делает ранее сохранённую выгрузку актуальной.
Пути и файлы читает машина, на которой запущен MCP-1C. Если сервер работает на другой машине, каталог на ноутбуке разработчика для него недоступен. При нескольких зарегистрированных базах задайте параметр base, чтобы получить форму из нужного набора исходников. Настройка описана в конфигурации сервера и статье о нескольких базах.
Для формы объекта нужны вид объекта, его имя и имя формы. Имена берите из метаданных, а не из пользовательского заголовка: на экране может быть написано «Продажа», хотя техническое имя документа другое. Структуру конфигурации помогает уточнить чтение метаданных.
Первый рисунок формы
Пример аргументов инструмента code_read для условной формы документа:
{
"action": "form_view",
"object_type": "Document",
"object_name": "ЗаказКлиента",
"form_name": "ФормаДокумента",
"format": "html"
}
Замените имена на существующие в своей выгрузке. Это пример входных параметров, а не обещание, что такой документ есть в каждой конфигурации.
html — формат по умолчанию. Можно запросить svg, если схема нужна отдельным векторным файлом, или outline, если достаточно перечня элементов без рисунка. HTML и SVG сохраняются в каталоге артефактов сервера, отдельно от выгрузки. outline файл не создаёт.
Для общей формы задайте object_type: "CommonForm", а в object_name — её имя. По умолчанию оно же используется как имя формы. Поддерживаются также формы хранилищ настроек и критериев отбора; правила выбора описаны в справочнике инструмента.
Страницы и скрытые элементы
У формы с несколькими страницами один рисунок легко принять за весь интерфейс. Поэтому при разборе сначала посмотрите, какие страницы выбраны, и прочитайте заметки ответа.
| Параметр | Для чего нужен |
|---|---|
page |
Выбрать страницу по имени, номеру с нуля или записи #номер |
page: "*" |
Запросить страницы вместе; за один ответ рисуется не более 100 |
show_hidden: true |
Включить скрытые элементы управляемой формы |
width |
Ограничить естественную ширину управляемой формы; по умолчанию 1280 пикселей, 0 снимает предел |
format: "outline" |
Получить перечень элементов без создания изображения |
Без page обычная форма показывает первую страницу. Для управляемой показывается форма при открытии; в группе страниц без закладок по умолчанию выбирается первая видимая. Скрытые страницы входят в выбор только при show_hidden: true. Если страницы не поместились в общий рисунок, ответ называет это в заметке.
Например, чтобы разобрать состав страниц управляемой формы и включить скрытые элементы, передайте в code_read:
{
"action": "form_view",
"object_type": "Document",
"object_name": "ЗаказКлиента",
"form_name": "ФормаДокумента",
"format": "svg",
"page": "*",
"show_hidden": true,
"width": 1280
}
Появление элемента в таком рисунке означает, что он включён в представление исходников. Это не подтверждает его доступность конкретному пользователю при работе в базе.
Как читать результат
Рисунок помогает обсудить конкретную правку: на какой странице добавить поле, к какой группе оно относится, какие элементы находятся рядом. Перечень outline удобен для уточнения технических имён перед изменением XML. Вместе эти представления дают больше контекста, чем один скриншот, на котором имена элементов обычно не видны.
Для обычных форм геометрия берётся из рамок, сохранённых в бинарном описании. Для управляемых расположение восстанавливается приблизительно. Не используйте такую схему как эталон отступов, размеров и переноса текста в реальном клиенте. О чтении структуры обычных форм подробнее рассказано в отдельной статье.
Читайте предупреждения рядом с рисунком. Если часть элементов скрыта, страница не выбрана или описание разобрано с ограничениями, отсутствие элемента на схеме нельзя превращать в вывод «этого поля в форме нет». При неожиданном результате проверьте имена, выбранную базу и содержимое выгрузки, затем запросите структуру формы.
Что проверить в самой 1С
После правки формы откройте её в тестовой базе той версии, для которой готовится изменение. Минимальный сценарий зависит от задачи, но для нового поля обычно включает открытие документа, ввод значения, сохранение и повторное открытие. Если доступность меняется по роли или состоянию документа, пройдите соответствующие варианты.
Отдельно проверьте переходы между страницами и обработчики, которые меняют видимость или состав интерфейса. Схема по выгрузке не исполняет прикладной BSL, не воспроизводит пользовательские настройки и не заменяет проверку прав.
Сохраните схему рядом с задачей: по ней удобно обсуждать расположение полей и проверять структуру после правки.
Смежные темы: Skills и MCP в разработке на 1С и проверка расширения перед обновлением поставщика.