Перенос номенклатуры между папками в 1С:Предприятие — рутинная задача, с которой регулярно сталкиваются специалисты по учету, кладовщики и администраторы баз. Казалось бы, что может быть проще: выбрал позицию, перетащил в новую группу — и готово. Но на практике даже эта операция таит подводные камни: от потери связей с документами до ошибок при выгрузке в торговую систему.
Проблема усложняется, если речь идет о сотнях или тысячах позиций. Ручное перемещение занимает часы, а риск пропустить важные настройки (например, серийные номера или характеристики) возрастает в разы. Эта статья поможет избежать типичных ошибок и выбрать оптимальный метод — от стандартных инструментов платформы до программных решений для массового переноса.
Мы рассмотрим актуальные способы для 1С:Управление торговлей 11, 1С:ERP и 1С:Бухгалтерия 3.0, а также разберемся, как сохранить целостность данных при переносе. Особое внимание уделим случаям, когда номенклатура используется в невыгруженных документах или привязана к регламентным задачам.
1. Подготовка к переносу: что нужно проверить до начала
Прежде чем приступать к переносу, убедитесь, что база готова к изменениям. Начните с анализа текущей структуры справочника Номенклатура. Откройте его через меню Справочники → Товары и услуги → Номенклатура и проверьте:
✅ Иерархию папок. Убедитесь, что целевая папка существует и имеет правильные права доступа для вашего пользователя. Если папки нет — создайте её заранее через контекстное меню (Создать → Группу).
✅ Связанные объекты. Номенклатура может быть привязана к:
- 📄 Документам (заказы, реализации, поступления)
- 🔄 Регламентным задачам (например, автоматическое резервирование)
- 📊 Отчетам (остатки, обороты)
- 🔗 Внешним системам (интеграции с сайтом или маркетплейсами)
Если номенклатура используется в непроведенных документах, её перенос может привести к ошибкам при последующем проведении. Чтобы избежать этого, воспользуйтесь отчетом Анализ использования номенклатуры (доступен в большинстве конфигураций через Отчеты → Справочники и документы).
Перед массовым переносом сделайте резервную копию базы через Администрирование → Обслуживание → Резервное копирование. Это займет 5-10 минут, но сэкономит часы на восстановление данных при сбое.
2. Способ 1: Ручной перенос через интерфейс 1С
Самый простой метод — перетаскивание мышью или использование контекстного меню. Он подходит для переноса небольшого количества позиций (до 50-100 штук). Алгоритм действий:
- Откройте справочник
Номенклатура. - Найдите нужную позицию (используйте фильтр по названию или арт. номеру).
- Выделите строку и:
- 🖱️ Перетащите её в целевую папку левой кнопкой мыши, или
- 📋 Нажмите правой кнопкой →
Переместить в группу→ выберите папку.
- Подтвердите изменения кнопкой
Записать и закрыть. - 🔄 Характеристиками (цвет, размер и т.д.)
- 📦 Серийными номерами
- 🔗 Привязкой к внешним системам (например, штрихкоды для сканера)
⚠️ Внимание: При ручном переносе не сохраняются настройки прав доступа, если они были заданы на уровне исходной папки. После перемещения проверьте, что пользователи видят номенклатуру в новой группе через Администрирование → Настройки пользователей и прав.
Этот метод не подходит для позиций с:
Проверьте права на целевую папку|
Сделайте резервную копию базы|
Убедитесь, что позиция не используется в открытых документах|
Запомните текущий путь к номенклатуре (для отката при ошибке)-->
3. Способ 2: Групповое перемещение через обработку
Для переноса десятков или сотен позиций удобнее использовать стандартную обработку Групповое изменение реквизитов. Она доступна в большинстве конфигураций через меню Все функции → Обработки → Групповое изменение реквизитов.
Пошаговая инструкция:
- Откройте обработку и выберите справочник
Номенклатура. - Установите фильтр по исходной папке (например,
Родитель = "Старое оборудование"). - В колонке
Родительукажите целевую папку. - Нажмите
Выполнитьи дождитесь завершения операции.
🔹 Преимущества метода:
- ⚡ Быстрота (перенос 1000 позиций занимает 1-2 минуты)
- 🔄 Сохранение всех реквизитов (штрихкоды, характеристики и т.д.)
- 📝 Возможность отката через журнал изменений
⚠️ Внимание: Если в вашей конфигурации отключена возможность группового изменения, обратитесь к администратору для включения права Интерактивное изменение реквизитов объектов в ролях пользователя.
Ручной перенос|
Групповая обработка|
Программный код (1С или SQL)|
Специализированные утилиты-->
4. Способ 3: Перенос через внешнюю обработку (для сложных случаев)
Если номенклатура имеет дополнительные реквизиты, характеристики или привязана к документам с резервированием, стандартные методы могут не сработать. В таких случаях поможет внешняя обработка "Перенос номенклатуры между группами", которую можно скачать из каталога 1С-ИТС или Инфостарта.
Пример кода для программистов (перенос с сохранением всех связей):
Процедура ПеренестиНоменклатуру(ИсходнаяПапка, ЦелеваяПапка)
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Родитель = ИсходнаяПапка Тогда
Выборка.Родитель = ЦелеваяПапка;
Выборка.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
🔹 Когда использовать внешние обработки:
- 🔄 Номенклатура используется в непроведенных документах
- 📦 Есть серийные номера или партии
- 🔗 Требуется синхронизация с внешними системами (например, обновление штрихкодов на складе)
📌 Где скачать готовые решения:
| Источник | Ссылка (доступ) | Особенности |
|---|---|---|
| 1С-ИТС | Через личный кабинет | Официальные обработки, поддержка |
| Инфостарт | infostart.ru | Большой выбор, рейтинг по отзывам |
| GitHub | Поиск по "1C move nomenclature" | Бесплатные решения, требует доработки |
Что делать если обработка выдает ошибку "Объект используется"?
Эта ошибка означает, что номенклатура заблокирована в другом сеансе или используется в несохраненном документе. Закройте все открытые формы 1С, проверьте активные сеансы через Администрирование → Активные пользователи и повторите попытку. Если ошибка сохраняется, используйте режим "Монопольный доступ" при запуске обработки.
5. Способ 4: Перенос через SQL-запрос (для администраторов)
Для опытных пользователей и администраторов баз самый быстрый способ — прямой SQL-запрос. Этот метод подходит для 1С на SQL-сервере (PostgreSQL, MS SQL) и позволяет перенести тысячи позиций за секунды.
🔹 Пример запроса для MS SQL:
UPDATE [dbo].[_Reference16] -- Номенклатура
SET [_ParentRRef] = (SELECT [_IDRRef] FROM [dbo].[_Reference16] WHERE [_Description] = 'Новая папка')
WHERE [_ParentRRef] = (SELECT [_IDRRef] FROM [dbo].[_Reference16] WHERE [_Description] = 'Старая папка')
⚠️ Внимание:
- 🚫 Не используйте SQL без резервной копии! Ошибка в запросе может повредить данные.
- 🔧 Имена таблиц (
_Reference16) могут отличаться в разных конфигурациях. Уточняйте их черезКонфигуратор → Все таблицы базы данных. - 🔒 После выполнения запроса обновите кэш метаданных в 1С через
Администрирование → Обслуживание → Тестирование и исправление.
📌 Когда оправдан SQL-перенос:
- 📊 Перенос более 10 000 позиций
- 🔄 Необходимо массовое изменение нескольких реквизитов одновременно
- 🚀 Требуется минимальное время простоя системы
SQL-перенос — самый быстрый метод, но требует глубоких знаний структуры базы. Для неопытных пользователей рекомендуется использовать обработки или обратиться к специалисту.
6. Способ 5: Перенос с сохранением истории изменений
Если номенклатура имеет историю изменений (например, старые цены, поставщики), стандартный перенос может её сбросить. Чтобы сохранить все версии, используйте регламентное задание или специализированную обработку с поддержкой ПланыОбмена.
🔹 Пошаговая инструкция:
- Создайте новый
ПланОбменачерезКонфигуратор → Объекты → Планы обмена. - Настройте правила обмена для справочника
Номенклатура. - Запустите выгрузку данных из исходной папки и загрузку в целевую.
📌 Что сохраняется при таком переносе:
- 📅 Все версии реквизитов (цены, наименования и т.д.)
- 🔄 Связи с документами (даже архивными)
- 📊 Статистика продаж и остатки
⚠️ Внимание: Этот метод требует настройки прав на ПланыОбмена и может занять значительное время при большом объеме данных. Для ускорения процесса используйте фоновые задания (Администрирование → Фоновые задания).
7. Типичные ошибки и как их избежать
Даже опытные пользователи 1С сталкиваются с проблемами при переносе номенклатуры. Вот самые распространенные ошибки и способы их решения:
🔴 "Номенклатура используется в документе"
- 📄 Проверьте открытые документы через
Все функции → Стандартные → Журнал документов. - 🔄 Если документ не важен — удалите его. Если важен — проведите и закройте.
🔴 "Недостаточно прав"
- 🔐 Обратитесь к администратору за правом
Интерактивное изменение реквизитов. - 📝 Альтернатива: выполните перенос через
Конфигураторв режиме1С:Предприятиес правами администратора.
🔴 "Потерялись штрихкоды/характеристики"
- 📦 Используйте обработку с опцией
Сохранять дополнительные реквизиты. - 🔄 Если данные потерялись — восстановите их из резервной копии или через
Журнал регистрации.
📌 Как минимизировать риски:
- 📅 Переносите номенклатуру в нерабочее время (вечером или ночью).
- 🔧 Перед массовыми изменениями протестируйте процесс на копии базы.
- 📊 После переноса проверьте целостность данных отчетом
Анализ номенклатуры.
Если после переноса пропали остатки по номенклатуре, обновите регистры через Администрирование → Обслуживание → Перепроведение документов. Выберите период с даты последнего движения товаров.
8. Автоматизация переноса: когда стоит писать свой скрипт
Если перенос номенклатуры — регулярная задача (например, ежемесячная реорганизация складов), имеет смысл автоматизировать процесс. Вот случаи, когда стоит разработать собственное решение:
🔹 Признаки необходимости автоматизации:
- 🔄 Перенос выполняется чаще 1 раза в неделю.
- 📦 Работает более 3 пользователей, которые самостоятельно перемещают номенклатуру.
- 🔗 Требуется синхронизация с внешними системами (например, обновление категорий на сайте).
- 📊 Нужно вести журнал изменений для аудита.
🔧 Что может включать скрипт автоматизации:
- 📅 Планировщик: перенос по расписанию (например, каждый понедельник в 2:00).
- 🔄 Правила переноса: автоматическое определение целевой папки по арт. номеру или категории.
- 📊 Отчетность: генерация списка перенесенных позиций с указанием времени и пользователя.
- 🔗 Интеграция: обновление данных в связанных системах (например, на Wildberries или Ozon).
💡 Пример задачи для программиста:
Создать обработку, которая:
1. Ежедневно в 3:00 проверяет номенклатуру в папке "Новые поступления".
2. Переносит позиции старше 7 дней в папку "Основной ассортимент".
3. Фиксирует изменения в регистре сведений "История перемещений".
4. Отправляет уведомление на почту ответственному лицу.
📌 Где заказать разработку:
- 🔧 1С-Франчайзи (официальные партнеры)
- 💻 Инфостарт (фрилансеры и студии)
- 📝 Upwork или FL.ru (указывайте требование знания 1С:Предприятие 8.3)
Автоматизация переноса окупается, если на ручные операции тратится более 2 часов в неделю. Начальные затраты на разработку скрипта (от 5 000 ₽) компенсируются экономией времени.
FAQ: Ответы на частые вопросы
Можно ли перенести номенклатуру, если она используется в непроведенном документе?
Да, но с осторожностью. Если документ не проведен, 1С позволит перенести номенклатуру, однако при последующем проведении может возникнуть ошибка "Объект не найден". Рекомендуем:
- Провести документ до переноса, или
- Использовать обработку с опцией "Игнорировать блокировки".
Потерялись остатки после переноса. Как восстановить?
Остатки не должны пропадать при корректном переносе, так как они хранятся в регистрах накопления. Если это произошло:
- Проверьте дату переноса: возможно, остатки были на более раннюю дату.
- Обновите регистры через
Администрирование → Обслуживание → Перепроведение документов. - Если проблема сохраняется — восстановите данные из резервной копии.
Как перенести номенклатуру вместе с характеристиками (цвет, размер)?
Характеристики — это отдельный справочник, привязанный к номенклатуре. При переносе:
- Используйте обработку с опцией "Сохранять дополнительные реквизиты".
- Проверьте, что в целевой папке разрешено хранение характеристик (настройка в свойствах группы).
- После переноса откройте карточку номенклатуры и убедитесь, что характеристики отображаются корректно.
Можно ли отменить перенос, если сделали ошибку?
Да, есть несколько способов:
- 🔄 Журнал изменений: если включена регистрация изменений, восстановите прежнее состояние.
- 📅 Резервная копия: восстановите базу на момент до переноса.
- 🔧 Ручной возврат: перенесите номенклатуру обратно (если изменений было немного).
⚠️ После отката проверьте целостность связанных документов!
Как перенести номенклатуру между разными базами 1С?
Для переноса между базами используйте:
- Универсальный обмен данными (формат
XMLилиJSON). - Планы обмена (настройка в конфигураторе).
- Специализированные утилиты (например, "Конвертация данных" от 1С).
📌 Важно: при межбазовом обмене проверьте соответствие:
- 🔢 Идентификаторов (GUID)
- 📦 Структуры справочников
- 🔗 Правил обмена (что переносить, а что игнорировать)