Обновление сильно доработанных (нетиповых) конфигураций 1С — это всегда ответственный процесс, требующий внимательности. Одним из наиболее эффективных инструментов для ускорения этого процесса является использование файла настроек сравнения и объединения в формате XML. Однако часто программисты сталкиваются с ситуацией, когда при загрузке ранее сохраненного файла настроек система выдает пугающее уведомление: «Методы, не найденные в модулях обеих конфигураций», за которым следует огромный список процедур и функций.
В рамках этой статьи мы подробно разберем, почему возникает эта ситуация, стоит ли ее опасаться и как правильно завершить обновление, чтобы не потерять внесенные ранее изменения.
Прежде чем приступать к решению, давайте проанализируем, что именно представляет собой файл настроек .xml, который мы сохраняем в окне сравнения-объединения. Это не просто список «галочек» напротив объектов метаданных. Этот файл содержит детальную «карту» сопоставления фрагментов кода внутри модулей.
Когда мы выполняем сравнение на копии базы, платформа анализирует каждый модуль, каждую #Область, процедуру и функцию. Если мы вручную указываем правила объединения (например, «Взять из конфигурации поставщика, но сохранить фрагмент нашего кода»), платформа записывает эти координаты в XML. Ошибка «Методы не найдены» означает, что при попытке применить эти правила в новой базе платформа не смогла найти метод по тем координатам или с тем хешем (уникальным идентификатором текста), который был записан ранее.
Рассмотрим подробнее ситуации, которые приводят к «потере» методов платформой:
8.3.22, а обновление выполняется на 8.3.27.1559. В новых версиях платформы разработчики часто меняют механизмы парсинга текста. Изменения в обработке директив компиляции или логике работы с тегами #Область могут привести к тому, что старая карта методов становится невалидной.МенеджерОбменаЧерезУниверсальныйФормат. Это огромный модуль, содержащий десятки тысяч строк. При малейшем сдвиге строк или изменении структуры в новом релизе поставщика «интеллектуальное» сравнение 1С может давать сбои при наложении внешнего файла настроек.Проанализируем ситуацию: если вы получили список из сотен методов, как в случае с МенеджерОбменаЧерезУниверсальныйФормат, не стоит паниковать, но и нажимать «Выполнить» бездумно нельзя.
Шаг 1. Анализ списка методов.
Посмотрите внимательно на список «ненайденных» методов. Являются ли они вашими доработками или это типовые методы 1С? Если в списке фигурируют только стандартные процедуры, которые вы не меняли (например, Документ_ЗаказКлиента_Отправка), то, скорее всего, платформа просто не увидела смысла применять к ним правила из XML, так как они не изменились или изменились несущественно.
Шаг 2. Выборочная ручная проверка.
Найдите в окне сравнения-объединения один-два объекта из списка «проблемных». Откройте сравнение модулей текстом. Если вы видите, что флажки расставлены верно и ваши изменения (если они были) учтены, значит, загрузка настроек в целом прошла успешно, несмотря на уведомление.
Шаг 3. Использование режима «Порядок выбора объектов».
Вместо полной загрузки XML попробуйте зайти в меню «Действия» — «Установить на основе файла настроек» и выбрать только те объекты, которые вы точно знаете, что доработали. Это минимизирует количество ложных предупреждений по типовым модулям.
После того как вы нажали кнопку «Выполнить» и объединение завершилось, необходимо выполнить ряд проверок, чтобы убедиться в целостности системы:
Конфигурация — Проверка конфигурации. Установите галочки «Проверка логической целостности», «Поиск некорректных ссылок» и «Синтаксический контроль». Это позволит сразу увидеть, если какой-то из методов «отвалился» из-за неправильного объединения.%AppData%\1C\1cv8.Для таких модулей, как МенеджерОбменаЧерезУниверсальныйФормат или ОбменСКонтрагентамиВнутренний, мы рекомендуем следующий подход:
Если уведомление содержит слишком много позиций именно по этим модулям, лучше снять с них галочки при автоматической загрузке XML и объединить их вручную. В окне сравнения текстов используйте режим «Показать только различия», чтобы быстро перенести свои уникальные доработки в новый код поставщика. Это надежнее, чем доверяться автоматике, которая в новых версиях платформы (8.3.25–8.3.27) ведет себя более строго.
Помните: файл настроек XML — это отличный помощник, но он не заменяет финальный контроль глазами программиста, особенно в критически важных узлах системы.