При активной разработке и доработке типовых решений разработчики часто используют механизм сохранения и загрузки настроек сравнения и объединения конфигураций. Однако при использовании платформы 1С:Предприятие версий 8.3.8 и 8.3.9 специалисты сталкиваются с критическим сбоем: при попытке загрузить ранее сохраненные настройки сравнения-объединения из файла Конфигуратор внезапно прекращает работу с неперехватываемым исключением.
Рассмотрим подробно причины возникновения этой проблемы, проанализируем механизмы работы платформы и разберем варианты решения и способы обхода данной ошибки.
Проанализируем ситуацию внутри самой платформы. Когда мы загружаем файл сопоставления объектов (настроек сравнения-объединения), платформа пытается сопоставить элементы XML-файла с объектами метаданных текущей информационной базы, а также с базовой конфигурацией поставщика.
В релизах платформы линейки 8.3.8 и 8.3.9 содержался дефект: алгоритм сопоставления некорректно обрабатывал метаданные объектов, которые отсутствовали в старой конфигурации поставщика. В момент попытки обращения к узлам памяти для несопоставленных новых объектов возникал сбой адресации, вызывающий падение процесса 1cv8.exe (или 1cv8c.exe).
При этом интерактивное сравнение конфигураций в окне сравнения без применения внешнего файла настроек проходит штатно и к падению программы не приводит.
Разберем по шагам, как кардинально решить эту проблему. Фирма «1С» устранила данную платформенную ошибку в более поздних релизах.
8.3.11.2867. Установка актуальных версий платформы гарантирует стабильную работу механизма объединения.Если в компании используется клиент-серверный вариант работы, достаточно обновить серверную и клиентские части платформы 1С до стабильных релизов 8.3.10 или 8.3.11, отказавшись от использования проблемных 8.3.8 и 8.3.9.
Если быстро обновить платформу на сервере не представляется возможным, разберем альтернативные варианты обхода критического сбоя.
При выгрузке файла настроек сравнения-объединения не сохраняйте в него правила для новых объектов метаданных, которых не было в старой конфигурации поставщика. Для доработанных и существующих объектов настройки сохраняются и загружаются корректно.
Файл настроек представляет собой структурированный XML-документ. Его можно открыть в любом текстовом редакторе и вручную удалить блоки, ссылающиеся на добавленные объекты, отсутствующие у поставщика. После удаления таких узлов файл загружается без аварийного завершения.
Посмотрим на пример работы без использования файла настроек. Сравнение конфигураций запускается стандартным образом, а флаги и режимы объединения («Взять из конфигурации поставщика», «Объединять с оговорками» и т. д.) проставляются вручную непосредственно в дереве сравнения.
Выполняйте обновление через пункт меню Поддержка — Обновить конфигурацию. При таком сценарии алгоритмы платформы выполняют сопоставление по внутренним правилам без вызова проблемной функции импорта внешнего файла настроек.
Рассмотрим перенос пользовательских доработок и новых объектов метаданных в расширения конфигурации. Это позволяет оставить основную конфигурацию на строгой поддержке поставщика и полностью исключить необходимость в частых сложных сравнениях и объединениях основной конфигурации.