Перенос справочника товаров и услуг является одной из самых частых задач при администрировании систем 1С Предприятие. Это может потребоваться при объединении филиалов, переносе данных в тестовую среду или при старте работы в новой информационной базе. Ошибки на этом этапе могут привести к дублированию записей или нарушению ссылок в документах, поэтому подход должен быть системным.
Существует несколько способов решения этой задачи, каждый из которых зависит от версии платформы и конфигурации. Наиболее надежным методом считается использование универсальной обработки ВыгрузкаЗагрузкаДанныхXML, которая присутствует в типовых конфигурациях. Однако для простых случаев допустимо использовать и стандартные средства обмена через файлы, что требует меньших технических знаний, но несет риски потери части атрибутов.
Прежде чем приступать к активным действиям, необходимо определить, требуется ли вам переносить только сам справочник или же связанные с ним данные, такие как цены, остатки или характеристики. От этого выбора будет зависеть итоговая структура результата и время, затраченное на обработку. В данной статье мы разберем наиболее безопасные и проверенные методики миграции данных.
Подготовка исходной базы данных к переносу
Любая выгрузка данных начинается с тщательной проверки источника. Если в справочнике Номенклатура присутствуют дубли, помеченные на удаление элементы или некорректно заполненные обязательные реквизиты, эти ошибки автоматически перейдут в принимающую базу. Рекомендуется предварительно запустить отчеты по анализу данных и очистить список от мусора.
Особое внимание следует уделить иерархии справочника. Сложные многоуровневые структуры могут некорректно обрабатываться при экспорте, если используются устаревшие форматы обмена. Желательно временно сгладить структуру или убедиться, что целевая система поддерживает аналогичную глубину вложенности групп.
⚠️ Внимание: Если вы используете распределенную информационную базу (РИБ), ручная выгрузка номенклатуры через файлы может нарушить механизм регистрации изменений. В таких случаях используйте только штатный механизм обмена РИБ.
Также критически важно проверить права доступа пользователя, от имени которого будет производиться операция. Для корректной работы режима предприятия и доступа ко всем полям справочника необходимы полные права на чтение и изменение метаданных. Ограниченные права могут привести к тому, что часть полей просто не попадет в файл выгрузки.
☑️ Подготовка к выгрузке
Использование обработки ВыгрузкаЗагрузкаДанныхXML
Это наиболее универсальный инструмент, встроенный в большинство современных конфигураций 1С, таких как Управление Торговлей или Бухгалтерия Предприятия. Обработка позволяет экспортировать данные в формате XML, сохраняя всю структуру объектов, включая ссылки на другие справочники, если они также включены в выгрузку.
Для запуска необходимо перейти в раздел администрирования или сервисных настроек. Обычно путь выглядит так: Администрирование → Обмен данными → Выгрузка данных XML. В открывшемся окне пользователю предлагается выбрать конкретный объект метаданных. Здесь важно выбрать именно справочник Номенклатура, а не документ или регистр.
В настройках отбора можно существенно сократить размер итогового файла. Если вам нужно перенести только товары определенной группы или марки, используйте фильтры. Это ускорит процесс и упростит последующую проверку данных в принимающей базе. Не забудьте указать путь для сохранения результирующего файла на локальном диске или сетевом ресурсе.
При выгрузке больших объемов данных (более 50 000 позиций) разбейте процесс на несколько этапов по группам номенклатуры, чтобы избежать переполнения оперативной памяти сервера 1С.
После формирования файла система выдаст сообщение об успешном завершении. Однако сам по себе файл XML не является гарантией успеха. Необходимо убедиться, что в процессе выгрузки не возникло предупреждений о невозможности сериализации некоторых типов данных, что иногда случается при наличии расширений конфигурации.
Настройка правил конвертации данных (КД 2.0 и 3.0)
Для сложных сценариев, когда структуры баз различаются или требуется трансформация данных в процессе переноса, простого экспорта недостаточно. Здесь на помощь приходят правила обмена, реализуемые через технологию Конвертация Данных. Это требует наличия специальной обработки и предварительно настроенных правил.
Процесс настройки включает в себя создание файла правил, где описывается соответствие полей исходной и целевой базы. Например, если в одной базе артикул хранится в реквизите "Код", а в другой — в дополнительном свойстве, правило конвертации позволит автоматически перенести значение в нужное место. Это исключает необходимость ручного редактирования после загрузки.
| Этап настройки | Действие пользователя | Результат |
|---|---|---|
| Создание проекта | Загрузка метаданных обеих баз | Формирование структуры соответствия |
| Настройка правил | Связывание объектов и полей | Готовый алгоритм переноса |
| Тестирование | Пробная выгрузка небольшой группы | Проверка корректности данных |
| Промышленный запуск | Полная выгрузка и загрузка | Миграция всего справочника |
Использование КД 3.0 предоставляет более гибкие возможности по сравнению с версией 2.0, включая поддержку JSON и работу через HTTP-сервисы. Однако для разовых операций внутри одной организации настройка полноценных правил может быть избыточной. Целесообразно применять этот метод при регулярном обмене между разнородными системами.
Отличия КД 2.0 и 3.0
Версия 3.0 работает быстрее, поддерживает новые типы данных и имеет более удобный интерфейс для настройки правил, но требует установки отдельной внешней обработки КонвертацияДанных30.cf.
Альтернативные методы: Универсальный обмен и CSV
Не всегда под рукой есть сложные инструменты конвертации. В таких случаях можно воспользоваться выгрузкой в табличные документы или текстовые файлы формата CSV. Этот метод удобен для быстрой правки данных в Excel перед загрузкой, но имеет существенные ограничения по типу переносимой информации.
При экспорте в CSV часто теряются связи с другими объектами, такие как единицы измерения, виды номенклатуры или пакеты. Система воспринимает текстовые значения как строки, и при загрузке может не найти соответствующий элемент в справочнике-ссылке, создав новую запись с тем же названием, что приведет к дублям.
- 📂 Табличный документ: Позволяет визуально контролировать данные, но требует ручной подготовки шаблона для загрузки.
- 💾 Универсальный формат: Стандартный механизм 1С, сохраняющий типы данных лучше, чем CSV, но менее гибкий в редактировании.
- 🔗 COM-соединение: Позволяет программно переписать данные из одной открытой базы в другую без создания промежуточных файлов.
Если вы выбираете работу с таблицами, обязательно проверьте кодировку файла. Неправильная кодировка (например, ANSI вместо UTF-8) может привести к появлению "кракозябр" в названиях товаров, особенно если в наименованиях используются специфические символы или иностранные буквы.
⚠️ Внимание: При импорте из CSV убедитесь, что разделитель разрядов в числовых полях (запятая или точка) совпадает с настройками региональных стандартов вашей операционной системы, иначе цены и количества могут считаться неверно.
Загрузка данных в целевую информационную базу
Процесс импорта требует такой же внимательности, как и выгрузка. Перед началом операции обязательно создайте резервную копию принимающей базы. Даже при использовании проверенных методов существует риск конфликта данных или ошибки в логике обработки, которую невозможно откатить без бэкапа.
При загрузке через стандартную обработку Загрузка данных XML система предложит режим обработки существующих элементов. Вы можете выбрать замену данных по коду или имени, либо создание новых записей. Режим Поиска по уникальному идентификатору (GUID) является наиболее точным, так как он гарантирует, что обновится именно тот объект, который был выгружен.
В ходе загрузки мониторьте журнал регистрации и сообщения обработки. Часто процесс прерывается на середине из-за отсутствия в целевой базе каких-либо зависимых объектов, например, отсутствующей единицы измерения "Штуки" или "Килограммы". В таком случае необходимо сначала выгрузить и загрузить справочники-зависимости.
Всегда загружайте справочники-зависимости (Единицы измерения, Виды номенклатуры, Ставки НДС) перед загрузкой самого справочника Номенклатура, чтобы избежать ошибок ссылочной целостности.
После завершения импорта проведите сверку количеств. Сравните количество элементов в исходном и конечном справочниках. Также выборочно откройте карточки нескольких товаров, чтобы убедиться, что все реквизиты, включая картинки, серийные номера и дополнительные свойства, перенеслись корректно.
Решение типичных ошибок и конфликтов
Одной из самых распространенных проблем является возникновение дублей. Это происходит, когда в принимающей базе уже существует товар с таким же именем, но другим внутренним идентификатором. Система воспринимает его как новый объект и создает дублирующую запись, что разрывает связь с ранее проведенными документами.
Для устранения дублей можно воспользоваться обработкой Поиск и удаление дублей элементов справочников. Она позволяет найти совпадающие по наименованию или артикулу позиции и объединить их, перенеся все движения документов на один master-объект. Однако эта процедура трудоемка и требует остановки работы пользователей.
Другая частая ошибка — нарушение прав доступа при загрузке. Если пользователь, выполняющий загрузку, не имеет права на изменение определенных реквизитов (например, реквизитов, добавленных расширением), эти поля останутся пустыми. Проверьте профиль доступа и при необходимости выдайте полные права на время проведения миграции.
⚠️ Внимание: Никогда не производите массовую загрузку номенклатуры в рабочее время, когда пользователи активно проводят документы. Блокировки таблиц могут привести к зависанию всей системы и потере данных в документах.
Если в процессе загрузки возникла ошибка "Значение не является значением объектного типа", это означает, что в поле, предназначенном для ссылки на справочник, попало текстовое значение. Проверьте файл выгрузки на наличие некорректных данных в колонках, отвечающих за ссылки.
Можно ли выгрузить номенклатуру вместе с ценами и остатками?
Да, это возможно, но требует включения в выгрузку не только справочника, но и соответствующих регистров сведений (цены) и накопления (остатки). Проще всего это сделать через обработку выгрузки данных, выбрав несколько объектов сразу, либо используя механизм КД с настроенными правилами переноса регистров.
Что делать, если в новой базе не видно загруженных товаров?
Скорее всего, товары были загружены с пометкой "Не использовать" или не установлены флаги видимости в настройках отчета. Также проверьте права доступа: возможно, у текущего пользователя нет прав на просмотр новых элементов справочника. Попробуйте запустить базу под пользователем с полными правами.
Как перенести картинки товаров вместе с номенклатурой?
Картинки хранятся как бинарные данные в реквизитах справочника. Стандартная выгрузка XML поддерживает перенос бинарных данных. Убедитесь, что в настройках обработки стоит галочка "Выгружать бинарные данные" или аналогичная опция. При выгрузке в CSV картинки теряются всегда.
Влияет ли версия платформы 1С на способ выгрузки?
Да, влияет. В старых версиях платформы (ниже 8.3) могут отсутствовать некоторые возможности обработки XML или работать медленнее механизмы конвертации. Для современных версий 8.3.10 и выше рекомендуется использовать актуальные версии обработок выгрузки, так как они оптимизированы под новые типы данных и механизмы хранения.
Можно ли автоматизировать этот процесс для регулярного обмена?
Да, для регулярного обмена между базами лучше настроить расписание обмена через веб-сервисы или использовать механизм РИБ (Распределенная Информационная База). Ручная выгрузка файлов подходит только для разовых операций миграции или создания резервных копий справочников.