Перенос номенклатуры из одной информационной базы 1С:Управление нашей фирмой (УНФ) в другую, особенно с сохранением уникальных кодов, является частой задачей для многих пользователей. В базовых версиях 1С этот процесс требует внимательности, поскольку стандартные механизмы могут автоматически генерировать новые коды, игнорируя существующие. В этой статье мы подробно рассмотрим, как успешно выполнить перенос номенклатуры с сохранением кодов, а также затронем сопутствующие вопросы: перенос иерархии групп, групповое изменение реквизитов и настройку дальнейшей синхронизации новой номенклатуры.
Основная сложность при переносе номенклатуры заключается в том, что 1С по умолчанию стремится создать новые уникальные коды для элементов, если не указано иное. Это особенно заметно, если в новой базе установлен префикс или активирована автоматическая нумерация без правильной настройки поиска по коду. Чтобы сохранить старые коды, нам потребуется выполнить несколько ключевых шагов.
Прежде чем приступать к любым операциям с данными, всегда создавайте резервные копии обеих информационных баз — как исходной (главной), так и целевой (чистой). Это позволит избежать потери данных в случае непредвиденных ошибок. Также убедитесь, что обе базы работают на одной и той же конфигурации 1С:УНФ базовой версии.
Это критически важный шаг для сохранения кодов. Префикс информационной базы — это набор символов, который автоматически добавляется к номерам документов и кодам элементов справочников. Если в целевой базе установлен префикс (например, "НФ"), то при импорте 1С будет пытаться либо добавить его к вашим старым кодам, либо сгенерировать совершенно новые. Чтобы отключить префикс, выполните следующие действия:
После отключения префикса целевая база будет готова принимать коды номенклатуры без их модификации.
Для выгрузки данных мы будем использовать стандартный механизм вывода списка справочника. Это позволит получить данные в удобном для дальнейшей обработки табличном формате.
После выгрузки данных, мы можем приступить к их загрузке в чистую базу. Для этого мы воспользуемся универсальной обработкой загрузки из табличной части, которая обычно доступна в 1С:УНФ.
Код справочника Номенклатура.Код убедитесь, что выбран режим поиска по этому полю. Обычно это опция «Искать по коду» или «Искать по совпадению полей». Это предотвратит создание дубликатов и поможет сохранить существующие коды. Если элемента с таким кодом нет, он будет создан с этим кодом.После успешной загрузки вы обнаружите, что номенклатура перенесена в новую базу с сохранением всех исходных кодов. Это подтверждает, что отключение префикса и правильная настройка сопоставления полей являются ключом к решению задачи.
Иерархия групп номенклатуры — это важная часть организации данных. При простом переносе табличной части номенклатуры информация о группах может быть потеряна, если не настроить ее корректно. Рассмотрим два основных способа переноса групп:
Этот метод подходит, если ваша иерархия групп не слишком сложна и вы готовы к ручной настройке сопоставления.
Группа справочника Номенклатура.Этот способ является более надежным для переноса иерархических структур, так как формат XML позволяет сохранить полную структуру данных, включая подчиненность элементов.
nomenclature.xml).Использование XML-выгрузки/загрузки является предпочтительным, если вам необходимо сохранить сложную структуру групп без дополнительных ручных манипуляций.
Если вам необходимо массово изменить какое-либо слово или часть текста в полных наименованиях номенклатуры (например, "кач-во" на "качество"), ручная правка 2500 позиций займет огромное количество времени и чревата ошибками. Для таких задач в 1С предусмотрена стандартная обработка «Групповое изменение реквизитов».
Перейдите в раздел «Администрирование» -> «Поддержка и обслуживание» (или «Сервис»). Там вы найдете пункт «Корректировка данных» -> «Групповое изменение реквизитов».
В открывшемся окне обработки выберите тип объектов, которые вы хотите изменить. В нашем случае это будет «Справочники» -> «Номенклатура».
Если вам нужно изменить наименование не у всей номенклатуры, а только у определенной части, вы можете настроить отбор. Например, выбрать номенклатуру из определенной группы или по какому-либо другому признаку.
В списке доступных реквизитов найдите «Полное наименование» (или другой реквизит, который вы хотите изменить). Установите флажок напротив него.
Рядом с выбранным реквизитом появится поле, где вы можете указать новое значение или правило изменения. Для замены части текста:
кач-вокачествоПосле того как все настройки будут выполнены, нажмите кнопку «Изменить реквизиты». Программа выполнит групповую замену у всех выбранных элементов номенклатуры. Перед выполнением рекомендуется еще раз создать резервную копию базы.
Эта обработка является мощным инструментом для поддержания актуальности данных и экономии времени, избегая рутинных операций.
После однократного переноса всей существующей номенклатуры возникает вопрос о том, как поддерживать актуальность данных, когда в одной из баз появляется новая номенклатура. Идея ручного создания одинаковых позиций в обеих базах с надеждой на совпадение кодов — крайне ненадёжна и не рекомендуется. Даже небольшое расхождение в последовательности создания или удаление какой-либо позиции приведет к моментальному нарушению логики кодов.
Даже если ваши сотрудницы очень внимательны, человеческий фактор всегда присутствует. Ошибки в ручном вводе, пропуски позиций или создание их в разном порядке неизбежно приведут к рассинхронизации кодов. Например, если в главной базе создали "Наперсток 1" (код 00002501) и "Наперсток 2" (код 00002502), а в РКМ-базе сначала создали "Наперсток 2", а потом "Наперсток 1", то их коды могут оказаться разными, если автоматическая нумерация идет по порядку создания.
Как правило, для синхронизации данных между разными базами рекомендуется использовать разные префиксы для каждой базы. Например, "ГБ-" для главной базы и "РКМ-" для базы РКМ. Это гарантирует уникальность кодов, даже если элементы создаются одновременно в разных базах. Однако, в вашем случае, если вы стремитесь к идентичности кодов для подбора товаров, этот подход не подойдет. Если вы хотите, чтобы коды были одинако для подбора, лучше не использовать префиксы вообще, как было рекомендовано ранее, и следовать принципу "одна база-мастер".
Наиболее надежный подход для базовых версий, стремящихся к идентичности кодов, это назначить одну из баз (вашу, как руководителя) "базой-мастером" для создания и изменения номенклатуры. Все новые позиции номенклатуры должны создаваться только в главной базе. После создания, эти новые позиции должны быть перенесены в РКМ-базу.
Вместо ручного ввода, мы рекомендуем настроить регулярный обмен для переноса только новой или измененной номенклатуры.
Этот подход гарантирует, что коды номенклатуры будут идентичными в обеих базах, поскольку они будут генерироваться только в одном месте, а затем копироваться. При этом избегаются ошибки ручного ввода и расхождения в нумерации.
Таким образом, для поддержания идентичных кодов номенклатуры в двух базовых версиях 1С:УНФ самым надежным способом является создание всех новых позиций в одной "мастер-базе" и их последующая периодическая выгрузка/загрузка в другие базы с использованием механизмов обмена данными и при отключенном префиксе в базах-приемниках.