Как решить проблемы при переносе данных из УТ 10.3 в УНФ

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

Переход с устаревшей конфигурации «Управление торговлей», редакция 10.3, на современную «Управление нашей фирмой» (УНФ) — это сложный процесс, сопровождающийся множеством технических нюансов. Стандартные механизмы обмена через XML-файлы часто дают сбои, особенно если база данных имеет внушительный объем или специфические доработки. В рамках данной статьи мы подробно разберем, почему возникают ошибки при загрузке, как восстановить «пропавшую» иерархию справочников и что делать с непроведенными документами ввода остатков.

Проблема 1: Группы номенклатуры созданы, но не отображаются в списке

Одной из самых частых проблем является ситуация, когда после завершения импорта справочник Номенклатура выглядит плоским списком, хотя в самой карточке товара родитель (группа) указан верно. Проанализируем причину: в современных версиях УНФ, работающих на управляемых формах, для построения дерева иерархии используется не только реквизит Родитель, но и специальный вспомогательный механизм.

В конфигурации УНФ существует регистр сведений ИерархияНоменклатуры. Именно данные из этого регистра используются платформой для корректного отображения структуры папок в динамических списках. Если при программной загрузке через XML записи в этом регистре не сформировались, группы будут «невидимыми» для пользователя до момента ручного пересохранения объекта.

Рассмотрим шаги по исправлению:

  1. Проверим наличие данных в регистре ИерархияНоменклатуры через «Функции для технического специалиста».
  2. Если регистр пуст, воспользуемся стандартной обработкой ОбновлениеВспомогательныхДанных.
  3. В случае, если стандартная обработка не помогла, выполним программный обход групп номенклатуры и их перезапись. Это инициирует подписку на событие, которая заполнит иерархию.

Пример кода для программного восстановления иерархии:


ВыборкаГрупп = Справочники.Номенклатура.ВыбратьИерархически();
Пока ВыборкаГрупп.Следующий() Цикл
    Если ВыборкаГрупп.ЭтоГруппа Тогда
        ОбъектГруппа = ВыборкаГрупп.ПолучитьОбъект();
        ОбъектГруппа.ОбменДанными.Загрузка = Ложь; // Важно для отработки подписок
        Попытка
            ОбъектГруппа.Записать();
        Исключение
            Сообщить("Ошибка записи группы: " + СокрЛП(ВыборкаГрупп.Наименование));
        КонецПопытки;
    КонецЕсли;
КонецЦикла;

Проблема 2: Ошибка «Не подключено расширение работы с файлами»

Разберем ситуацию, когда при попытке загрузки файла XML программа выдает критическую ошибку взаимодействия с файловой системой. Чаще всего это происходит при работе через веб-клиент (браузер). Политики безопасности современных браузеров сильно ограничивают прямой доступ 1С к локальным дискам пользователя.

Для решения этой проблемы мы рекомендуем:

Проблема 3: Пустая «Организация» в документах ввода остатков

Выясним причину, почему документы ВводНачальныхОстатков загружаются, но не проводятся из-за отсутствия организации. Даже если в исходной базе УТ 10.3 всё заполнено верно, механизм сопоставления (мэппинга) может дать сбой.

Проанализируем ситуацию: в правилах обмена сопоставление организаций чаще всего идет по уникальному идентификатору (GUID). Если в целевой базе УНФ организация уже была создана вручную (даже с тем же ИНН/КПП), поиск по GUID не сработает, и система создаст новый пустой объект или оставит поле незаполненным.

Как предотвратить ошибку:

  1. Перед началом загрузки зайдите в настройки УНФ и убедитесь, что создана «Основная организация» со всеми реквизитами.
  2. В самой обработке загрузки данных проверьте наличие параметра ОрганизацияПоУмолчанию. Если он доступен, установите его.
  3. Если данные уже загружены, используйте обработку ГрупповоеИзменениеРеквизитов. Найдите все документы ВводНачальныхОстатков, где организация не заполнена, и установите нужное значение массово, после чего выполните проведение.

Оптимизация процесса загрузки и сокращение времени

Процесс загрузки в течение 15 часов — это сигнал о том, что выбран не самый эффективный метод. При больших объемах данных стандартная выгрузка через V8Exch8.xml работает крайне медленно из-за постоянных транзакционных проверок.

Рассмотрим способы ускорения:

Во-первых, разделите процесс на этапы. Сначала загрузите только справочники (без остатков и цен). Это позволит вам убедиться в корректности иерархии, категорий и свойств. Только после того, как справочная информация «села» идеально, приступайте к загрузке остатков.

Во-вторых, обратите внимание на формат EnterpriseData. Если ваша версия УТ 10.3 (последние релизы) поддерживает синхронизацию данных через этот формат, используйте его. Он значительно производительнее старого метода XML-обмена.

В-третьих, проверьте в УНФ наличие настроек КатегорииНоменклатуры. В УНФ цены привязываются именно к категориям. Если при переносе из УТ категории не создались или не назначились товарам, вы не увидите цен в прайс-листах, даже если документы установки цен успешно перенеслись. Проверьте заполнение реквизита Категория у всей загруженной номенклатуры.

Напоследок, перед выполнением выгрузки из УТ 10.3 обязательно проведите Тестирование и исправление (ТиИ) базы-источника. Ошибки ссылочной целостности в исходной базе — самая частая причина появления «пустых» полей в приемнике. Исправив битые ссылки в УТ, вы автоматически избавитесь от большинства ошибок при загрузке в УНФ.

← На главную