Как вернуть объединенную базу 1С:УТ 10.3 + CRM на типовую конфигурацию Управление торговлей при падении Конфигуратора?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет IT и автоматизация бизнеса
← На главную

При объединении типовой конфигурации 1С:Управление торговлей с отраслевыми решениями (например, линейкой 1С:CRM от компании Рарус) в структуре метаданных происходят существенные изменения. Со временем необходимость в отраслевом функционале может отпасть, а сложность сопровождения и требования к подписке ИТС-Отраслевой возрастают. При попытке напрямую заместить файл объединенной конфигурации на чистый типовой файл поставки cf Конфигуратор нередко аварийно завершает работу без вывода диагностических сообщений.

Разберем подробно причины такого поведения платформы 1С:Предприятие и рассмотрим надежные способы возврата на чистую типовую конфигурацию без потери истории учетных документов.

Анализ причин аварийного завершения Конфигуратора

Выясним, почему стандартная процедура загрузки конфигурации из файла завершается сбоем:

  1. Превышение лимита памяти 32-разрядного процесса: Конфигуратор 1С в 32-битном исполнении имеет жесткое ограничение адресного пространства в 2 ГБ. При одновременном удалении сотен связанных объектов отраслевой подсистемы CRM и реструктуризации таблиц базы данных процесс полностью исчерпывает оперативную память и «падает».
  2. Глубокая интеграция в типовые модули: Решение CRM вносит изменения в состав реквизитов типовых справочников и документов УТ, а также добавляет вызовы своих процедур в общие модули и модуль приложения. При резком удалении метаданных нарушается целостность конфигурации.
  3. Повреждение таблицы конфигурации поставщика: Если в окне настройки поддержки отсутствуют данные о версии и поставщике, внутренние таблицы метаданных повреждены, что блокирует корректное сопоставление объектов механизмом сравнения и объединения.

Способ 1. Поэтапное удаление объектов CRM и восстановление поддержки

Чтобы избежать переполнения памяти при реструктуризации, разберем пошаговый процесс ручной очистки метаданных:

  1. Создание резервной копии: Обязательно выгрузим информационную базу в файл dt или снимем полную копию файла 1Cv8.1CD (для файлового варианта) / резервную копию средствами СУБД (для клиент-серверного варианта).
  2. Снятие конфигурации с поддержки: Перейдем в меню Конфигурация — Поддержка — Настройка поддержки и снимем конфигурацию с поддержки, чтобы получить полный доступ к редактированию всех объектов.
  3. Очистка типового кода: Проанализируем общие модули, модуль управляемого/обычного приложения и подписки на события. Удалим программный код, обращающийся к функциям CRM-системы.
  4. Поэтапное удаление отраслевых метаданных: Удаляем добавленные объекты (справочники, документы, регистры CRM) небольшими группами. После удаления каждой группы обязательно нажимаем клавишу F7 (или кнопку «Обновить конфигурацию базы данных»). Это позволяет платформе реструктурировать таблицы небольшими порциями без исчерпания лимита памяти.
  5. Очистка реквизитов типовых объектов: В типовых справочниках (например, Справочник.Контрагенты, Справочник.Номенклатура) и документах удалим добавленные реквизиты CRM. Снова выполним сохранение через F7.
  6. Постановка на типовую поддержку: После того как база очищена от всех лишних объектов, перейдем в меню Конфигурация — Сравнить, объединить с конфигурацией из файла. Выберем файл cf чистой конфигурации Управление торговлей соответствующего релиза, снимем признак объединения свойств и установим флаг постановки на поддержку поставщика.

Способ 2. Оптимизация окружения и использование 64-битного клиента

Если база данных аварийно завершает работу на этапе сравнения конфигураций, применим системные методы расширения доступной памяти:

  1. Запуск 64-разрядного Конфигуратора: Если используется платформа 1С:Предприятие 8.3, запустим Конфигуратор через 64-битный исполняемый файл 1cv8.exe. У 64-разрядного процесса отсутствует ограничение в 2 ГБ, что позволяет завершить объемную реструктуризацию.
  2. Увеличение виртуальной памяти для 32-битных процессов: В операционной системе Windows можно расширить адресное пространство, выполнив в командной строке от имени администратора команду bcdedit /set increaseuserva 3072 с последующей перезагрузкой сервера.
  3. Очистка временных файлов и тестирование: Удалим каталоги кэша в папках %AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8. Выполним тестирование информационной базы через утилиту chdbfl.exe и штатный режим Администрирование — Тестирование и исправление с проверкой ссылочной и логической целостности.

Способ 3. Перенос документов в чистую базу УТ без ввода остатков

Если структура метаданных исходной базы сильно повреждена и Конфигуратор не позволяет завершить откат «на месте», наиболее надежным решением является перенос только типовых данных в новую базу:

  1. Развертывание чистой базы: Создадим новую пустую информационную базу из шаблона конфигурации Управление торговлей в том же релизе, который использовался в объединенной системе.
  2. Использование универсального переноса данных: Воспользуемся стандартной обработкой Выгрузка и загрузка данных XML. Так как структуры типовых объектов в обеих базах идентичны, обработка выгружает данные напрямую.
  3. Настройка состава выгрузки: В окне обработки отметим только типовые подсистемы, справочники, документы и регистры сведений. Снимем все флаги с объектов, относящихся к CRM.
  4. Загрузка в целевую базу: Выполним загрузку сформированного XML-файла в новую чистую базу. При таком подходе полностью сохраняются уникальные идентификаторы объектов (GUID), связи между документами и состояние их проведения, что исключает необходимость перепроведения и ручного ввода начальных остатков.
← На главную