В процессе коллективной разработки в среде 1С нередко возникает необходимость зафиксировать перечень объектов, которые находятся в захвате у конкретного разработчика или команды в целом. Это требуется для проведения код-ревью, составления отчетов о проделанной работе или переноса изменений. Однако разработчики сталкиваются с тем, что в окне хранилища конфигурации и в основном дереве метаданных отсутствует привычная стандартная команда Вывести список. Разберем причины такого поведения платформы и детально рассмотрим рабочие способы выгрузки захваченных объектов в табличный документ mxl.
Проанализируем архитектуру конфигуратора 1С:Предприятие. Окно «Хранилище конфигурации» и дерево метаданных представляют собой специализированные элементы управления конфигуратора, а не стандартные динамические списки прикладного решения. По этой причине платформенная команда Вывести список для них программно не предусмотрена.
Кроме того, во встроенном языке 1С отсутствует прямое API для взаимодействия со статусами хранилища конфигурации из кода информационной базы. Также и пакетный запуск конфигуратора с параметром /ConfigurationRepositoryReport предназначен исключительно для формирования отчета по уже помещенным версиям и истории коммитов (с параметрами -NBegin, -NEnd, -GroupByObject), но не предоставляет данных по текущим активным захватам. Тем не менее задачу можно решить штатными механизмами конфигуратора.
Рассмотрим самый быстрый и распространенный вариант переноса списка объектов в табличный документ. Для получения максимально информативного результата переключим режим отображения хранилища в плоский список с отбором.
Ctrl + A и скопируем их в буфер обмена нажатием Ctrl + C.Ctrl + V.mxl через меню Файл → Сохранить.Этот метод удобен своей скоростью, однако он выгружает только имена объектов без указания полного пути по иерархии метаданных (например, реквизиты, табличные части и формы отображаются обособленно).
Если требуется получить детальный отчет с точным указанием полных путей к объектам метаданных, их типам и подчиненным элементам, разберем по шагам механизм сравнения и объединения.
.mxl.Когда требуется оперативно сверить иерархию захваченных элементов без построения отчетов, применим встроенный фильтр основного дерева конфигурации:
Рассмотрим ситуацию, когда необходимо автоматизировать регулярное получение списка захватов без интерактивного входа в конфигуратор 1С. Файловое хранилище конфигурации представляет собой специализированную базу данных в формате 1Cv8ddb.1CD.
Структура таблиц хранилища содержит служебную информацию о текущем состоянии базы:
REVISED (признак захвата), REVISORID (идентификатор пользователя, выполнившего захват) и REVISEDATE (временная метка захвата).С помощью внешних скриптов чтения формата 1CD можно автоматизировать регулярный сбор данных о захваченных объектах и формировать итоговые отчеты по расписанию.