Объединение товаров в 1С:Предприятие — задача, с которой рано или поздно сталкивается каждый пользователь системы. Некорректное дублирование номенклатуры, ошибки при загрузке данных или изменение бизнес-процессов могут привести к хаосу в базе. Например, один и тот же товар может существовать под разными артикулами, с разными названиями или в разных справочниках. Это усложняет учет, увеличивает время на поиск и повышает риск ошибок в отчетности.
В этой статье мы разберем 5 рабочих методов объединения товаров — от ручного слияния до автоматизированных обработок. Вы узнаете, как правильно подготовить данные, какие настройки использовать в 1С:Управление торговлей, 1С:ERP или 1С:Бухгалтерия, и как избежать типичных ошибок. Особое внимание уделим нюансам работы с остатками, ценами и историей документов — это критично для сохранения целостности данных.
Если вы администратор или опытный пользователь, найдете здесь уникальные приемы для сложных случаев — например, объединение товаров с разными единицами измерения или в разных складах. Новичкам поможет пошаговая инструкция с скриншотами и проверочными чек-листами.
1. Подготовка к объединению: что нужно проверить до начала
Прежде чем приступать к объединению, необходимо аудировать текущее состояние номенклатуры. Без этого шага вы рискуете потерять данные о остатках, ценах или связях с контрагентами. Начните с анализа дублирующихся позиций:
- 🔍 Артикулы и штрихкоды: Проверьте, нет ли товаров с одинаковыми артикулами, но разными названиями (или наоборот). Используйте отчет
Анализ дублей номенклатурыв разделеСервис → Анализ данных. - 📦 Характеристики: Убедитесь, что у товаров совпадают ключевые параметры (вес, объем, цвет, если они важны для вашего бизнеса). В 1С:ERP это можно сделать через отчет
Сравнение номенклатуры. - 💰 Цены и скидки: Зафиксируйте текущие цены и условия продаж для каждого дубля. После объединения их придется переносить вручную или через обработку.
- 📊 Документы: Проверьте, не привязаны ли товары к незакрытым заказам, резервам или отгрузкам. Объединение может заблокировать документы!
Обязательно создайте резервную копию базы перед началом работ. В 1С:Предприятие 8.3 это делается через Администрирование → Обслуживание → Резервное копирование. Если работаете в облачной версии, используйте функцию Создать точку восстановления.
Если в вашей базе более 10 000 позиций номенклатуры, перед объединением запустите тест производительности через Администрирование → Тестирование и исправление. Это поможет избежать зависаний при массовых операциях.
⚠️ Внимание: Если товары участвуют в серийном или партионном учете, их объединение может нарушить связь с партиями. В этом случае требуется предварительная обработка через специализированные отчеты (например, Анализ партий товара в 1С:УТ 11).
2. Метод 1: Ручное объединение через справочник номенклатуры
Самый простой способ — объединение в справочнике номенклатуры. Он подходит для небольшого количества дублей (до 50 позиций) и не требует дополнительных обработок. Алгоритм действий:
- Откройте справочник
Номенклатура(Справочники → Товары и услуги → Номенклатура). - Найдите дублирующиеся позиции (используйте фильтр по артикулу или названию).
- Выделите основной товар (тот, который останется) и второстепенный (который будет удален).
- Нажмите
Еще → Объединить с другой номенклатурой(в некоторых конфигурациях пункт может называтьсяПеренести данные). - В открывшемся окне выберите основной товар и подтвердите перенос данных.
Система автоматически перенесет:
- 📈 Остатки на складах (если они есть у второстепенного товара).
- 💵 Цены и условия продаж.
- 📋 Привязки к документам (заказы, отгрузки, резервы).
Однако не все данные переносятся автоматически. Например, история изменений цен или привязки к спецификациям (если используете 1С:ERP) придется корректировать вручную. Также этот метод не подходит для товаров с разными единицами измерения или характеристиками.
Выбрать основной и второстепенный товары|Проверить остатки на складах|Зафиксировать текущие цены|Убедиться в отсутствии незакрытых документов|Создать резервную копию базы-->
⚠️ Внимание: В конфигурациях 1С:Розница и 1С:УТ 10.3 после ручного объединения может потребоваться перепроведение документов, связанных с удаленной номенклатурой. Используйте обработку Массовое перепроведение документов.
3. Метод 2: Объединение через обработку"Перенос данных"
Для массового объединения (от 50 до нескольких тысяч позиций) удобнее использовать стандартную обработку"Перенос данных". Она доступна в большинстве типовых конфигураций (1С:УТ 11, 1С:ERP 2, 1С:КА 2) и позволяет гибко настраивать правила переноса.
Пошаговая инструкция:
- Откройте обработку через
Сервис → Перенос данных(илиАдминистрирование → Обслуживание → Перенос данных). - В разделе
НастройкивыберитеОбъединение номенклатуры. - Укажите критерии объединения (по артикулу, названию, штрихкоду или комбинации полей).
- Настройте правила переноса:
- 📦 Переносить остатки:
Да. - 💰 Переносить цены:
Да(указывайте приоритет — например, брать максимальную цену). - 📋 Переносить документы:
Да(если нужно сохранить историю).
- 📦 Переносить остатки:
Просмотреть результаты) и проверьте, какие данные будут изменены.Преимущества этого метода:
- ⚡ Автоматизация: Обработка сама находит дубли по заданным критериям.
- 🔄 Гибкость: Можно настроить правила переноса для разных групп товаров.
- 📊 Контроль: Предварительный просмотр показывает, какие именно изменения будут внесены.
Недостатки:
- ⚠️ Не всегда корректно работает с серийным учетом или партиями.
- ⏳ Длительное выполнение при большом объеме данных (может занять несколько часов).
Что делать если обработка зависла?
Если процесс объединения завис на этапе переноса данных, не закрывайте программу принудительно! Попробуйте:
1. Дождаться 10-15 минут — иногда система"просыпается" после обработки крупных пакетов.
2. Если нет реакции, откройте Монитор производительности (Администрирование → Поддержка и обслуживание) и проверьте, не блокирует ли процесс другая операция.
3. В крайнем случае перезапустите 1С и восстановите базу из резервной копии, затем повторите перенос меньшими партиями (по 100-200 позиций).
| Параметр | Ручное объединение | Обработка"Перенос данных" |
|---|---|---|
| Макс. количество товаров | До 50 | От 50 до нескольких тысяч |
| Поддержка серийного учета | Частично (требуется ручная корректировка) | Частично (зависит от конфигурации) |
| Перенос истории цен | Нет | Да (при настройке) |
| Время выполнения | 1-5 минут | От 10 минут до нескольких часов |
| Требуемые права | Пользователь с правами на редактирование справочников | Администратор или пользователь с полными правами |
4. Метод 3: Объединение через внешнюю обработку (для сложных случаев)
Если стандартные инструменты не справляются (например, нужно объединить товары с разными единицами измерения или характеристиками), придется использовать внешние обработки. Популярные решения:
- 🛠️ Обработка"Универсальный перенос данных" (от фирмы 1С) — подходит для 1С:УТ 11 и 1С:ERP 2.
- 🔧 "Объединение дублей номенклатуры" (от партнеров 1С, например, компании"Инфостарт").
- 💻 Собственные скрипты на
1С:Предприятие 8.3(требуются знания программирования).
Пример использования внешней обработки:
- Скачайте обработку с сайта Инфостарт или 1С-Софт (убедитесь, что она совместима с вашей версией конфигурации!).
- Загрузите ее в 1С через
Файл → Открыть. - Настройте параметры объединения:
// Пример кода для настройки правила объединения в обработке
ПараметрыОбъединения.Добавить("Артикул", Истина);
ПараметрыОбъединения.Добавить("Наименование", Ложь);
ПараметрыОбъединения.Добавить("Штрихкод", Истина);
ПараметрыОбъединения.УстановитьПриоритетПереноса("ОсновнойТовар","МаксимальнаяЦена");
- Запустите тестовый прогон (
Просмотр изменений). - Если все корректно — выполните объединение.
Внешние обработки позволяют:
- 🔄 Объединять товары с разными единицами измерения (например, штуки и упаковки).
- 📊 Сохранять историю изменений (цены, остатки, движения по складам).
- 🔧 Настраивать сложные правила (например, переносить только остатки старше 3 месяцев).
⚠️ Внимание: Перед использованием внешних обработок проверьте их совместимость с вашей версией 1С. Некоторые скрипты могут конфликтовать с обновлениями платформы. Всегда тестируйте на копии базы!
Ручное объединение через справочник|Стандартная обработка"Перенос данных"|Внешние обработки (Инфостарт и др.)|Собственные скрипты на 1С|Еще не объединял(а), но планирую-->
5. Метод 4: Объединение через выгрузку/загрузку в Excel
Если вам нужно объединить товары между разными базами 1С или с внешними системами, удобно использовать обмен данными через Excel. Этот метод требует аккуратности, но дает полный контроль над процессом.
Алгоритм:
- Выгрузите номенклатуру в Excel через
Файл → Экспорт → Excel(или используйте обработкуУниверсальный обмен данными). - В Excel:
- 📌 Объедините дублирующиеся строки (используйте функцию
Удалить дубликатыили сводные таблицы). - 🔄 Перенесите данные (остатки, цены) из удаляемых строк в основные.
- 🗑️ Удалите или пометьте на удаление дубли.
- 📌 Объедините дублирующиеся строки (используйте функцию
Файл → Импорт → Excel.Обновление данных номенклатуры (доступна в 1С:УТ 11 и 1С:ERP 2).Преимущества метода:
- 🌍 Подходит для межбазового обмена (например, при миграции с 1С:УТ 10.3 на 1С:ERP 2).
- 📈 Позволяет массово редактировать данные перед объединением.
Риски:
- ⚠️ Потеря связей с документами (если некорректно перенести идентификаторы).
- ⚠️ Ошибки формата при импорте (например, неверно распознанные числа или даты).
Перед выгрузкой в Excel добавьте в таблицу столбец с внутренними идентификаторами товаров (поле Ссылка или УникальныйИдентификатор). Это поможет избежать ошибок при обратной загрузке.
6. Метод 5: Программное объединение (для разработчиков)
Если вы разработчик 1С или администратор с доступом к конфигуратору, можно написать собственный скрипт для объединения. Это самый гибкий метод, но требует знаний 1С:Предприятие 8.3 и встроенного языка.
Пример скрипта для объединения двух товаров:
Процедура ОбъединитьНоменклатуру(ОсновнойТовар, УдаляемыйТовар)
// Перенос остатков
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиТоваров.Склад,
| СУММА(ОстаткиТоваров.Количество) КАК Количество
|ИЗ
| РегистрНакопления.ОстаткиТоваров КАК ОстаткиТоваров
|ГДЕ
| ОстаткиТоваров.Номенклатура = &УдаляемыйТовар
|
|СГРУППИРОВАТЬ ПО
| ОстаткиТоваров.Склад";
Запрос.УстановитьПараметр("УдаляемыйТовар", УдаляемыйТовар);
Результат = Запрос.Выполнить;
Выборка = Результат.Выбрать;
Пока Выборка.Следующий Цикл
Движение = Документы.ОприходованиеТоваров.СоздатьДвижение;
Движение.Склад = Выборка.Склад;
Движение.Номенклатура = ОсновнойТовар;
Движение.Количество = Выборка.Количество;
Движение.Записать;
КонецЦикла;
// Перенос цен
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатуры.ТипЦен,
| ЦеныНоменклатуры.Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
|ГДЕ
| ЦеныНоменклатуры.Номенклатура = &УдаляемыйТовар";
Запрос.УстановитьПараметр("УдаляемыйТовар", УдаляемыйТовар);
Результат = Запрос.Выполнить;
Выборка = Результат.Выбрать;
Пока Выборка.Следующий Цикл
ЗаписьЦен = РегистрыСведений.ЦеныНоменклатуры.СоздатьЗапись;
ЗаписьЦен.Номенклатура = ОсновнойТовар;
ЗаписьЦен.ТипЦен = Выборка.ТипЦен;
ЗаписьЦен.Цена = Выборка.Цена;
ЗаписьЦен.Записать;
КонецЦикла;
// Удаление старого товара
УдаляемыйТовар.УстановитьПометкуУдаления(Истина);
УдаляемыйТовар.Записать;
КонецПроцедуры
Этот скрипт:
- 📦 Переносит остатки со складов.
- 💰 Переносит цены по типам цен.
- 🗑️ Удаляет старую номенклатуру (с пометкой на удаление).
Для сложных случаев (например, перенос серийных номеров или характеристик) скрипт придется дорабатывать. Также не забудьте добавить:
- 🔒 Транзакции (чтобы при ошибке откатить изменения).
- 📋 Логирование (для отслеживания перенесенных данных).
Программное объединение — самый мощный метод, но требует тестирования на копии базы. Ошибки в скрипте могут привести к потере данных или нарушению целостности регистров!
7. Типичные ошибки и как их избежать
Даже опытные пользователи 1С допускают ошибки при объединении товаров. Вот TOP-5 проблем и способы их предотвращения:
- Потеря остатков:
Причина: Не все склады были учтены при переносе. Решение: Перед объединением сформируйте отчет
Остатки товаров по складами проверьте все локации. - Разрыв связей с документами:
Причина: Документы (заказы, отгрузки) остались привязаны к удаленному товару. Решение: Используйте обработку
Замена ссылок в документах(доступна в 1С:УТ 11). - Дублирование штрихкодов:
Причина: При объединении штрихкоды не были перенесены. Решение: Проверьте регистр
Штрихкоды номенклатурыи вручную перенесите недостающие. - Ошибки в отчетности:
Причина: История продаж или закупочные цены не были перенесены. Решение: После объединения пересчитайте отчеты
Валовая прибыльиАнализ продаж. - Зависание системы:
Причина: Массовое объединение без оптимизации. Решение: Разбейте операцию на части (по 100-200 позиций) и выполняйте в нерабочее время.
Чтобы минимизировать риски, следуйте этому чек-листу:
Создана резервная копия базы|Проверены остатки на всех складах|Зафиксированы текущие цены и скидки|Нет незакрытых документов с объединяемыми товарами|Проведен тестовый прогон на копии базы-->
⚠️ Внимание: Если после объединения в отчетахОборотно-сальдовая ведомостьилиКарточка счетапоявились расхождения, используйте обработкуПроверка и исправление итогов(Администрирование → Обслуживание).
8. FAQ: Ответы на частые вопросы
Можно ли объединить товары с разными единицами измерения?
Да, но только через внешние обработки или программные скрипты. Стандартные инструменты 1С не поддерживают такое объединение. При переносе остатков придется вручную пересчитывать количество (например, если один товар учитывался в штуках, а другой — в упаковках по 10 штук).
Что делать, если после объединения пропали цены?
Цены могли не перенестись из-за настроек в обработке. Восстановите их так:
- Откройте регистр
Цены номенклатуры(Справочники → Ценообразование → Цены номенклатуры). - Найдите удаленный товар и экспортируйте его цены в Excel.
- Импортируйте цены для нового (объединенного) товара.
Если цен много, используйте обработку Массовое изменение цен.
Как объединить товары в 1С:Розница 2.2?
В 1С:Розница алгоритм аналогичен, но есть нюансы:
- Используйте обработку
Объединение дублей номенклатурыиз разделаСервис. - Обязательно проверьте остатки в розничных магазинах (не только на основном складе).
- После объединения перезагрузите данные в кассовые терминалы (через
Администрирование → Обмен с оборудованием).
Можно ли отменить объединение?
Отменить объединение нельзя, но можно:
- Восстановить базу из резервной копии (если она создана до объединения).
- Вручную создать удаленный товар и перенести на него данные (если объединение было недавно).
Именно поэтому резервное копирование обязательно!
Как объединить товары, если они в разных группах справочника?
Группировка не влияет на процесс объединения. Главное — чтобы товары имели одинаковые ключевые параметры (артикул, штрихкод или название). Если группы важны для отчетности, после объединения перенесите товар в нужную группу вручную.