Справочники и Данные · 12 мин
Как убрать дубли номенклатуры в 1С
Практическая инструкция по поиску и удалению дублей номенклатуры в 1С: штатные обработки, ручная свёртка, контроль остатков и ссылок, типичные ошибки и проверка результата.
Дубли номенклатуры появляются почти в каждой базе 1С: менеджеры создают новую карточку вместо поиска существующей, обмены с сайтом или между базами привозят позиции с другим написанием, а при загрузке прайсов контрагентов одна и та же товарная позиция заводится несколько раз. Как следствие — разорванные остатки, некорректные отчёты по продажам и запасам, ошибки в ценообразовании и путаница при подборе товара в документы.
Просто удалить лишние элементы справочника нельзя: на каждую карточку могут ссылаться документы, регистры цен, штрихкоды и характеристики. Корректная чистка — это замена всех ссылок на «правильный» элемент и только потом пометка дубля на удаление. В типовых конфигурациях для этого есть штатные инструменты, а для нестандартных случаев — ручная свёртка и внешние обработки.
Ниже разобран практический порядок работы: как найти дубли, как выбрать эталонный элемент, как безопасно выполнить замену ссылок и как проверить, что после чистки не разъехались остатки и отчёты.
Почему дубли опасны и почему нельзя удалять их напрямую
Каждая карточка номенклатуры — это объект, на который ссылаются документы поступления и реализации, регистры сведений (цены, штрихкоды, номенклатура поставщиков), регистры накопления (остатки, себестоимость) и связанные справочники (характеристики, упаковки). Если удалить элемент напрямую, во всех этих местах останутся «битые ссылки» — записи вида «Объект не найден». Такие ссылки ломают отчёты, обмены и проведение документов.
Вторая причина — история. Даже если дубль завели по ошибке, по нему могли быть реальные движения: оприходован товар, выставлены цены, проведены продажи. После объединения вся эта история должна «переехать» на правильную карточку, иначе отчётность за прошлые периоды перестанет сходиться с первичными документами.
Поэтому единственно корректный сценарий — не удаление, а объединение: выбрать эталонный элемент, перенести на него недостающие данные (штрихкоды, цены, характеристики), заменить ссылки во всех объектах базы и только затем пометить дубль на удаление.
Подготовка: резервная копия и анализ масштаба проблемы
Первый шаг — резервная копия. Для файловой базы достаточно при закрытой программе скопировать файл базы. Для клиент-серверной — выполнить выгрузку через конфигуратор («Администрирование» → «Выгрузить информационную базу») или штатную копию средствами СУБД. Проверьте, что копия открывается, прежде чем продолжать.
Второй шаг — оценить масштаб. Откройте справочник номенклатуры и включите сортировку по наименованию: очевидные дубли с одинаковым или похожим написанием встанут рядом. Обратите внимание на типичные признаки дублей: различия в пробелах, регистре, кавычках, сокращениях («шт» и «шт.»), латинские буквы вместо кириллических в артикулах.
Полезно заранее определить правило выбора эталона. Обычно эталонным делают элемент, по которому больше движений, который участвует в обменах с сайтом или другими базами, у которого заполнены штрихкоды и характеристики. Если дубли участвуют в синхронизации, удаление «не того» элемента может породить новые дубли при следующем обмене.
Штатная обработка «Поиск и удаление дублей»
В конфигурациях на базе Библиотеки стандартных подсистем (Управление торговлей 11, ERP, Комплексная автоматизация, Управление нашей фирмой и другие) есть встроенный инструмент. Он находится в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Поиск и удаление дублей». В некоторых конфигурациях путь отличается, но обработка ищется через поиск в разделе «Все функции».
В обработке укажите область поиска — справочник «Номенклатура» — и правила сравнения. Чаще всего сравнивают по наименованию с учётом похожих слов, при необходимости добавляют артикул, единицу измерения или вид номенклатуры. Чем строже правила, тем меньше ложных срабатываний, но тем больше дублей останется незамеченными.
После поиска обработка покажет группы найденных дублей. Для каждой группы отметьте эталонный элемент (обычно обработка предлагает кандидата автоматически — по количеству ссылок) и запустите обработку. Программа заменит ссылки во всех объектах, где встречается дубль, и пометит его на удаление.
- 1Сделайте резервную копию базы и убедитесь, что она открывается
- 2Откройте «Администрирование» → «Обслуживание» → «Поиск и удаление дублей»
- 3Выберите справочник «Номенклатура» и настройте правила сравнения (наименование, артикул)
- 4Запустите поиск и просмотрите найденные группы дублей
- 5В каждой группе проверьте и при необходимости измените эталонный элемент
- 6Выполните объединение и дождитесь окончания замены ссылок
- 7Запустите «Удаление помеченных объектов» в монопольном режиме
- 8Сверьте остатки и ключевые отчёты с данными до чистки
Ручное объединение через «Замену и объединение значений»
Штатный поиск не всегда находит дубли с сильно различающимися наименованиями — например, «Кабель ВВГ 3х2,5» и «Кабель ВВГнг 3*2.5». Такие пары проще объединять вручную. В форме списка номенклатуры выделите два и более элементов, откройте меню «Ещё» и выберите команду «Объединить выделенные» (в некоторых конфигурациях — «Заменить и объединить значения»).
В открывшейся форме укажите, какой элемент считать эталонным. Программа покажет количество ссылок на каждый элемент — это помогает выбрать основной. После подтверждения все ссылки на дубли будут заменены на эталон, а сами дубли помечены на удаление.
Обратите внимание: объединение заменяет ссылки, но не переносит содержимое табличных частей и подчинённых данных автоматически во всех случаях. Штрихкоды, характеристики и цены дубля после замены ссылок обычно оказываются привязаны к эталону, но если у эталона и дубля были конфликтующие данные (например, разные единицы измерения в одном регистре), проверьте их вручную.
Что делать в нетиповых и старых конфигурациях
В конфигурациях без Библиотеки стандартных подсистем (старые редакции Управление торговлей 10.3, самописные решения) штатной обработки дублей может не быть. В этом случае используют универсальную обработку «Поиск и замена значений» с диска ИТС или аналогичные внешние обработки: они позволяют указать заменяемый элемент и элемент-замену и проходят по всем объектам метаданных.
Порядок тот же: сначала замена ссылок, затем пометка на удаление, затем штатное «Удаление помеченных объектов». Отличие в том, что универсальные обработки не подсвечивают дубли автоматически — список пар придётся готовить вручную, например, выгрузив справочник в табличный документ и отсортировав по наименованию.
Если дублей тысячи и правила их определения сложные (нечёткое совпадение наименований, сопоставление по артикулам поставщиков), разумнее привлечь специалиста по 1С и выполнить чистку программно — пакетной обработкой с предварительной выгрузкой протокола. Самостоятельная ручная чистка в таких объёмах почти гарантированно приведёт к ошибкам.
Сравнение способов чистки
Подходит для типовых конфигураций и массовой чистки; ограничение — доступен только в конфигурациях на БСП и требует прав администратора
Подходит для точечных пар с разным написанием; ограничение — не масштабируется на сотни дублей
Подходят для старых и нетиповых конфигураций; ограничение — нет автоматического поиска дублей, нужен готовый список пар
Подходит для тысяч дублей и нечётких правил; ограничение — требует специалиста и тестирования на копии
Контроль результата после чистки
После объединения и удаления помеченных объектов обязательно проверьте, что данные не пострадали. Зафиксируйте контрольные цифры до чистки: общий остаток товаров в сумме и количестве по отчёту «Остатки товаров» (или аналогичному), сумму продаж за последний закрытый период, количество элементов справочника.
После чистки сформируйте те же отчёты с теми же отборами. Остатки в сумме и количестве должны совпасть с точностью до копейки и штуки — объединение не меняет движения, а лишь переносит их на другой элемент. Если цифры разошлись, ищите причину до продолжения работы: возможно, часть ссылок заменилась некорректно или обработка прервалась.
Дополнительно проверьте отчёт «Ведомость по товарам» по конкретной объединённой позиции: вся история движений обоих бывших элементов должна отображаться под эталонной карточкой. Также откройте карточку эталона и убедитесь, что на месте штрихкоды, цены и характеристики, которые раньше были у дубля.
Как проверить результат
Цифры совпадают полностью
Есть расхождения — замена ссылок прошла не везде или прервалась
Вся история обоих элементов видна под эталонной карточкой
Часть движений потерялась или отображается с «битой» ссылкой
Данные дубля перенесены и не конфликтуют
Пропали штрихкоды или дублируются записи цен
Дубли удалены, справочник очищен
Удаление блокируется ссылками — значит, замена выполнена не полностью
Типичные ошибки и профилактика дублей
Самая частая ошибка — удаление дубля через «Удалить» минуя замену ссылок. Программа либо не даст удалить элемент со ссылками, либо, при удалении в обход контроля, оставит битые ссылки по всей базе. Вторая ошибка — чистка в многопользовательском режиме в разгар рабочего дня: пока идёт замена ссылок, пользователи могут проводить документы со старыми элементами, и часть ссылок останется.
Третья ошибка — неправильный выбор эталона при обменах: если удалить элемент, который известен другой базе по GUID, при следующей синхронизации он может быть создан заново. Четвёртая — чистка «вслепую» по автоматическим группам без ручной проверки: обработка может посчитать дублями разные товары с похожими наименованиями.
Чтобы дубли не появлялись снова, включите контроль уникальности там, где это возможно (по артикулу, рабочему наименованию), настройте права так, чтобы создавать номенклатуру могли только ответственные сотрудники, и регламентируйте правила наименования: единый порядок указания бренда, размера, единиц. При загрузке прайсов используйте сопоставление по артикулу или штрихкоду, а не по наименованию.
Что важно запомнить
Дубли номенклатуры убирают только через замену ссылок с последующей пометкой на удаление. В типовых конфигурациях используйте «Поиск и удаление дублей», для точечных пар — ручное объединение. Обязательный порядок: резервная копия → поиск и проверка групп → объединение → удаление помеченных → сверка остатков и отчётов. Профилактика важнее чистки: контроль уникальности и единые правила наименования.
Часто задаваемые вопросы
Можно ли удалить дубль номенклатуры, если по нему были движения?
Да, но только через объединение: сначала все ссылки и движения переносятся на эталонный элемент штатной обработкой или ручной заменой, затем дубль помечается на удаление. После этого история сохраняется на правильной карточке, а отчёты за прошлые периоды не искажаются.
Почему «Удаление помеченных объектов» не удаляет дубль?
Значит, на элемент остались ссылки, которые не были заменены: например, он указан в настройках, регистрах или объектах, которые обработка замены не охватила. Откройте список мест использования в форме удаления помеченных объектов — программа покажет, какие объекты мешают удалению, и их можно обработать вручную.
Как найти дубли с разным написанием наименования?
Автоматический поиск по «похожим словам» находит не всё. Практичный приём — выгрузить справочник в таблицу, нормализовать наименования (убрать пробелы, привести регистр, заменить латиницу) и отсортировать: совпавшие после нормализации строки укажут на вероятные дубли. Дальше пары объединяют вручную.
Что будет с штрихкодами и ценами дубля после объединения?
Штрихкоды и цены хранятся в регистрах со ссылкой на номенклатуру, поэтому при замене ссылок они переходят на эталонный элемент. Проверьте карточку эталона после объединения: если у дубля были уникальные штрихкоды, они должны появиться в списке, а конфликтующие записи цен — потребовать ручной корректировки.
Нужно ли чистить дубли во всех базах при обмене?
Да. Если элементы синхронизируются между базами, чистку проводят по согласованному списку с обеих сторон, иначе удалённый элемент вернётся при следующем обмене. Обычно сначала объединяют в главной базе, затем обеспечивают соответствие в подчинённой по тем же парам.
Как запретить создание дублей в будущем?
Ограничьте круг сотрудников, которые могут создавать номенклатуру, включите контроль уникальности по артикулу или рабочему наименованию, если конфигурация это поддерживает, и утвердите единый стандарт наименований. При загрузках из внешних файлов всегда используйте сопоставление по артикулу или штрихкоду, а не по текстовому названию.