При переходе с платформы 1С:Предприятие 8 на версию 7.7 разработчики часто сталкиваются с вопросом: где хранится файл исходной конфигурации поставщика и как сопоставить измененную конфигурацию с оригинальной. В восьмой версии механизм поддержки встроен глубоко в метаданные, позволяя выгрузить конфигурацию поставщика напрямую через настройку поддержки. В платформе 1С 7.7 принципы хранения метаданных устроены совершенно иначе, однако задача выяснения внесенных доработок решается достаточно прозрачно. Разберем по шагам, как определить исходный релиз, как выполнить сравнение штатными средствами Конфигуратора и какие сторонние инструменты помогут детально увидеть каждую измененную строчку кода.
В отличие от более поздних версий платформы, конфигурация 1С 7.7 физически хранится в отдельном бинарном файле с именем 1Cv7.md, расположенном непосредственно в каталоге информационной базы. Никаких дополнительных действий по выгрузке файла конфигурации из информационной базы выполнять не требуется. Для анализа достаточно взять сам файл 1Cv7.md нужной типовой конфигурации соответствующего релиза.
Главная сложность заключается в том, чтобы точно определить, какой именно типовой релиз послужил основой для доработанной базы. Проанализируем способы, с помощью которых можно точно выяснить номер исходного релиза.
Прежде чем выполнять сравнение, выясним точный номер версии конфигурации, которая использовалась до внесения изменений. Рассмотрим основные места, где фиксируется эта информация:
Конфигурация — Свойства. В открывшемся окне обратим внимание на поля «Название» и «Описание». Разработчики типовых решений (например, «Торговля и склад») вносят туда номер редакции и релиза. Если программисты при доработке не затерли эти сведения, мы сразу получим номер исходного релиза.НомерРелиза или глобальная функция, возвращающая версию для проверки структуры базы при запуске).update.txt или readme.txt), содержащие точный номер установленной версии.Когда исходный типовой файл 1Cv7.md найден (получен из дистрибутива, каталога шаблонов или резервной копии чистой типовой базы), используем встроенный механизм Конфигуратора 1С 7.7. Важно: любые манипуляции следует проводить на архивной копии базы или в отдельном каталоге, чтобы избежать случайной перезаписи метаданных.
Разберем по шагам процедуру штатного сравнения:
Конфигурация — Объединение конфигураций....1Cv7.md эталонной типовой конфигурации.Отчет. Настроив параметры формирования подробного отчета, мы получим текстовый документ со списком всех различающихся, добавленных и удаленных реквизитов, форм и модулей.Проанализируем ограничения штатного режима: окно объединения конфигураций констатирует сам факт изменения модуля или диалога формы, но не предоставляет удобного построчного визуального сопоставления кода (side-by-side). Если объем доработок значителен, штатный отчет будет громоздким и неудобным для чтения.
Если требуется увидеть построчные различия в алгоритмах, модулях документов, справочников и глобальном модуле, штатного отчета недостаточно. В этом случае применяем связку декомпилятора метаданных и внешнего инструмента сравнения текстов.
Рассмотрим порядок действий при таком подходе:
1Cv7.md представляет собой составной бинарный контейнер. Для извлечения его содержимого используем специализированные утилиты декомпиляции (например, консольную утилиту gcomp).C:\Source\WorkMD\). В результате все модули, экранные формы и описания реквизитов превратятся в набор структурированных текстовых файлов.C:\Source\TypMD\).KDiff3, WinMerge или Beyond Compare.Такой подход исключает риск случайного повреждения структуры рабочей базы и позволяет быстро оценить масштаб доработок перед проведением обновления или рефакторинга конфигурации 1С 7.7.