Перенос данных между двумя идентичными конфигурациями 1С:Управление нашей фирмой — задача, которая часто возникает при разделении учета, создании филиалов или переезде на новую информационную базу. Особую сложность здесь представляет перенос связанных данных, таких как фотографии товаров и логотипы контрагентов, которые хранятся отдельно от основных карточек. В рамках данной статьи мы разберем, как правильно использовать инструменты 1С для решения этой задачи и как преодолеть типичные ошибки прав доступа.
Для обмена данными между полностью идентичными конфигурациями наиболее эффективным инструментом является обработка ВыгрузкаЗагрузкаДанныхXML. Этот инструмент позволяет переносить объекты «как есть», сохраняя их внутренние идентификаторы (GUID), что критически важно для поддержания связей между справочниками и их вложениями.
Рассмотрим основные шаги работы с этим инструментом:
Номенклатура и Контрагенты.НоменклатураПрисоединенныеФайлы и КонтрагентыПрисоединенныеФайлы.Проанализируем ситуацию, почему фотографии часто «теряются» при обычном переносе. Дело в том, что в современных версиях 1С файлы не хранятся непосредственно в реквизите карточки. Карточка лишь ссылается на объект в специальном томе или справочнике присоединенных файлов. Если мы выгрузим только Номенклатура, в новой базе ссылки окажутся «битыми», так как самих файлов не будет.
Часто при попытке загрузить полученный XML-файл в новую базу возникает ошибка: «Нарушение прав доступа! Отсутствуют права на интерактивную загрузку внешних обработок». Это связано с политикой безопасности платформы 1С:Предприятие 8.3.
Выясним причину: программа блокирует выполнение потенциально опасных действий, к которым относится работа с внешними файлами метаданных. Чтобы исправить это, нам необходимо выполнить следующие действия в базе-приемнике:
Открытие внешних обработок.Интерактивное открытие внешних отчетов и обработок. Без включения этих опций загрузка через XML будет невозможна.Если база работает в клиент-серверном режиме, может потребоваться дополнительная настройка в консоли администрирования кластера 1С. Разберем подробнее: для информационной базы может быть включен безопасный режим. В этом случае внешние обработки работают с ограничениями. Нам нужно убедиться, что для нашего пользователя или конкретной обработки безопасный режим отключен.
Посмотрим на пример хранения файлов. Если в настройках базы-источника файлы хранятся не непосредственно в информационной базе, а в «Томах на диске», то обработка ВыгрузкаЗагрузкаДанныхXML перенесет только записи в справочнике ПрисоединенныеФайлы, но не сами файлы с диска.
В такой ситуации проанализируем следующий алгоритм действий:
Рассмотрим альтернативный способ — использование встроенного механизма «Синхронизация данных». В современных версиях УНФ это наиболее «цивилизованный» метод обмена. Он работает через формат Enterprise Data.
Преимущество этого метода заключается в том, что система сама анализирует зависимости. Если мы пометим номенклатуру к выгрузке, формат Enterprise Data автоматически «подтянет» связанные изображения, единицы измерения и характеристики. Для этого в меню Администрирование — Синхронизация данных создадим новый обмен «через файл» и настроим состав отправляемых данных.
Проанализируем ситуацию: что произойдет, если в новой базе уже создана номенклатура с таким же названием вручную? При использовании ВыгрузкаЗагрузкаДанныхXML сопоставление идет строго по GUID (уникальному идентификатору). Это значит, что программа создаст дубль, так как у ручного объекта GUID другой.
Чтобы избежать этой проблемы, рекомендуется использовать обработку Универсальный обмен данными в формате XML. В ней можно настроить Правила обмена данными (ПВД), где указать поля поиска: например, искать контрагента по ИНН + КПП, а номенклатуру — по Артикулу. Это позволит «склеить» данные, если они уже частично есть в базе.
После успешной загрузки данных важно выполнить регламентную операцию по обновлению вспомогательных данных. Рассмотрим, как это сделать:
В некоторых случаях ссылки на картинки могут не сразу подхватиться интерфейсом. Мы можем воспользоваться стандартной обработкой Групповое изменение реквизитов, выбрать справочник Номенклатура и выполнить любое «холостое» изменение (например, перезаписать объекты), чтобы сработали обработчики обновления в карточках товаров.
Подведем итог: для успешного переноса нам необходимо использовать ВыгрузкаЗагрузкаДанныхXML, не забыть включить в список выгрузки ПрисоединенныеФайлы, настроить права пользователя на Открытие внешних обработок и, при необходимости, перенести физические файлы томов хранения.