Переход с устаревшей конфигурации «Управление торговлей», редакция 10.3, на современную «Управление нашей фирмой» (УНФ) — это сложный процесс, сопровождающийся множеством технических нюансов. Стандартные механизмы обмена через XML-файлы часто дают сбои, особенно если база данных имеет внушительный объем или специфические доработки. В рамках данной статьи мы подробно разберем, почему возникают ошибки при загрузке, как восстановить «пропавшую» иерархию справочников и что делать с непроведенными документами ввода остатков.
Одной из самых частых проблем является ситуация, когда после завершения импорта справочник Номенклатура выглядит плоским списком, хотя в самой карточке товара родитель (группа) указан верно. Проанализируем причину: в современных версиях УНФ, работающих на управляемых формах, для построения дерева иерархии используется не только реквизит Родитель, но и специальный вспомогательный механизм.
В конфигурации УНФ существует регистр сведений ИерархияНоменклатуры. Именно данные из этого регистра используются платформой для корректного отображения структуры папок в динамических списках. Если при программной загрузке через XML записи в этом регистре не сформировались, группы будут «невидимыми» для пользователя до момента ручного пересохранения объекта.
Рассмотрим шаги по исправлению:
ИерархияНоменклатуры через «Функции для технического специалиста».ОбновлениеВспомогательныхДанных.Пример кода для программного восстановления иерархии:
ВыборкаГрупп = Справочники.Номенклатура.ВыбратьИерархически();
Пока ВыборкаГрупп.Следующий() Цикл
Если ВыборкаГрупп.ЭтоГруппа Тогда
ОбъектГруппа = ВыборкаГрупп.ПолучитьОбъект();
ОбъектГруппа.ОбменДанными.Загрузка = Ложь; // Важно для отработки подписок
Попытка
ОбъектГруппа.Записать();
Исключение
Сообщить("Ошибка записи группы: " + СокрЛП(ВыборкаГрупп.Наименование));
КонецПопытки;
КонецЕсли;
КонецЦикла;
Разберем ситуацию, когда при попытке загрузки файла XML программа выдает критическую ошибку взаимодействия с файловой системой. Чаще всего это происходит при работе через веб-клиент (браузер). Политики безопасности современных браузеров сильно ограничивают прямой доступ 1С к локальным дискам пользователя.
Для решения этой проблемы мы рекомендуем:
1cestart.exe.Выясним причину, почему документы ВводНачальныхОстатков загружаются, но не проводятся из-за отсутствия организации. Даже если в исходной базе УТ 10.3 всё заполнено верно, механизм сопоставления (мэппинга) может дать сбой.
Проанализируем ситуацию: в правилах обмена сопоставление организаций чаще всего идет по уникальному идентификатору (GUID). Если в целевой базе УНФ организация уже была создана вручную (даже с тем же ИНН/КПП), поиск по GUID не сработает, и система создаст новый пустой объект или оставит поле незаполненным.
Как предотвратить ошибку:
ОрганизацияПоУмолчанию. Если он доступен, установите его.ГрупповоеИзменениеРеквизитов. Найдите все документы ВводНачальныхОстатков, где организация не заполнена, и установите нужное значение массово, после чего выполните проведение.Процесс загрузки в течение 15 часов — это сигнал о том, что выбран не самый эффективный метод. При больших объемах данных стандартная выгрузка через V8Exch8.xml работает крайне медленно из-за постоянных транзакционных проверок.
Рассмотрим способы ускорения:
Во-первых, разделите процесс на этапы. Сначала загрузите только справочники (без остатков и цен). Это позволит вам убедиться в корректности иерархии, категорий и свойств. Только после того, как справочная информация «села» идеально, приступайте к загрузке остатков.
Во-вторых, обратите внимание на формат EnterpriseData. Если ваша версия УТ 10.3 (последние релизы) поддерживает синхронизацию данных через этот формат, используйте его. Он значительно производительнее старого метода XML-обмена.
В-третьих, проверьте в УНФ наличие настроек КатегорииНоменклатуры. В УНФ цены привязываются именно к категориям. Если при переносе из УТ категории не создались или не назначились товарам, вы не увидите цен в прайс-листах, даже если документы установки цен успешно перенеслись. Проверьте заполнение реквизита Категория у всей загруженной номенклатуры.
Напоследок, перед выполнением выгрузки из УТ 10.3 обязательно проведите Тестирование и исправление (ТиИ) базы-источника. Ошибки ссылочной целостности в исходной базе — самая частая причина появления «пустых» полей в приемнике. Исправив битые ссылки в УТ, вы автоматически избавитесь от большинства ошибок при загрузке в УНФ.