При настройке обмена данными между 1С:Управление торговлей 11.4 и 1С:Бухгалтерия предприятия 3.0 пользователи часто сталкиваются с ситуацией, когда при первой попытке выгрузить данные за длительный период (например, за квартал) система «замирает» или завершается аварийно. Особенно остро эта проблема проявляется в файловом режиме работы базы данных. Разберем подробно, почему это происходит и как поэтапно решить проблему, чтобы данные успешно перенеслись в «чистую» базу.
Прежде чем переходить к активным действиям, выясним причину сбоя. Когда мы пытаемся выгрузить файл объемом 500 МБ, механизм обмена 1С (основанный на чтении XML-файла) начинает разворачивать его содержимое в оперативной памяти. В файловом режиме, даже на 64-битной платформе, существуют внутренние ограничения на размер обрабатываемых данных и потребление ресурсов одним процессом. Если процесс 1cv8.exe упирается в лимит памяти или диск не успевает обрабатывать временные файлы, программа перестает отвечать, а журнал регистрации остается пустым, так как запись в него просто не успевает дойти.
Рассмотрим основные способы решения этой задачи, начиная от настройки регистрации данных и заканчивая технической оптимизацией системы.
Главная ошибка при первичной синхронизации — попытка выгрузить всё и сразу. Если объем документов превышает 100-200 штук в день, за три месяца накопится внушительный массив. Посмотрим, как разделить этот процесс на управляемые части.
РеализацияТоваровУслуг) и воспользуемся функцией «Зарегистрировать объекты по периоду».Если даже при небольшом периоде база зависает, попробуем следующий метод — разделение по типам данных.
Часто «зависание» в БП 3.0 происходит не на этапе чтения файла, а на этапе сопоставления данных. Программа пытается соотнести тысячи контрагентов, номенклатурных позиций и складов. Разберем, как облегчить ей задачу:
Шаг 1: Загрузка справочников (НСИ). Выгрузим из УТ только нормативно-справочную информацию без документов. Это создаст необходимую структуру в Бухгалтерии. Когда справочники уже есть в базе, создание документов на их основе пойдет значительно быстрее.
Шаг 2: Загрузка документов по видам. Сначала зарегистрируем и выгрузим только «Поступления товаров и услуг». После их успешной загрузки в БП перейдем к «Реализациям», затем к «Банковским документам». Такая последовательность снижает нагрузку на механизм сопоставления Библиотеки стандартных подсистем (БСП).
Проанализируем технические аспекты, которые могут мешать обмену в файловом варианте. Перед началом масштабной загрузки в «чистую» базу БП 3.0 выполним следующие действия:
%TEMP%). Добавим эту папку и каталог с самой базой в исключения антивируса, чтобы он не блокировал запись каждого нового объекта.Если штатная синхронизация через ПланыОбмена продолжает «висеть» на этапе сопоставления, рассмотрим использование обработки «Универсальный обмен данными в формате XML».
Этот метод позволяет обойти сложный механизм интерактивного сопоставления данных БСП. Мы можем выгрузить правила обмена из самой синхронизации и воспользоваться ими в обработке. Это работает быстрее, так как объекты записываются напрямую. Однако стоит помнить, что при использовании этого метода нужно быть уверенным в уникальности данных, чтобы не создать дубли.
Пример программной очистки регистрации (если стандартные средства не справляются):
ПланыОбмена.УдалитьРегистрациюИзменений(УзелИнформационнойБазы);
// Где УзелИнформационнойБазы - это ссылка на конкретный узел обмена с БП 3.0
Для успешной синхронизации больших объемов данных между УТ 11.4 и БП 3.0 в файловом режиме придерживаемся следующего алгоритма:
Соблюдение этих правил позволит выполнить миграцию данных без «ломания мозга» и аварийных завершений программы.