← На главную
Задвоение номенклатуры в базе данных 1С:Управление торговлей 11.5 (УТ 11.5) является распространенной проблемой, которая может возникнуть по разным причинам. В нашей ситуации сотрудник ошибочно создал новые позиции номенклатуры, которые уже существуют в базе, но присвоил им новые артикулы. Проблема усугубляется тем, что эти новые, ошибочные позиции уже были использованы в документах «Приобретение товаров и услуг» и «Перемещение товаров», причем некоторые перемещения уже приняты на складах. Мы рассмотрим, как действовать в такой ситуации, чтобы исправить данные без потери целостности учета.
Первоочередная задача — понять, почему возникли дубли и действительно ли это дубли с точки зрения бизнес-процессов. Далее мы разберем методы поиска и объединения или удаления ошибочных позиций, а также исправления связанных документов.
Причины возникновения дублей номенклатуры
Прежде чем приступать к исправлению, важно понимать, почему возникают дубли. Это поможет предотвратить их появление в будущем:
- Человеческий фактор: Часто новые пользователи или сотрудники, недостаточно знакомые с правилами ведения базы данных, создают новые элементы, вместо того чтобы найти уже существующие.
- Некорректный импорт/обмен данными: Дубли могут появляться при загрузке номенклатуры из других систем или при обмене между разными программами 1С, особенно если наименования, артикулы или другие ключевые реквизиты отличаются, что мешает автоматическому сопоставлению.
- Отсутствие строгих регламентов: При одновременной работе нескольких сотрудников без четких правил ввода данных вероятность появления дублей возрастает.
- Различия в артикулах и брендах: Иногда задвоение артикулов связано с тем, что один и тот же товар поставляется с разными артикулами от одного или разных поставщиков, или же с разными брендами/модификациями, которые изначально не были корректно учтены.
Шаг 1: Прояснение бизнес-процесса – Действительно ли это дубль?
Прежде чем что-либо удалять или объединять, критически важно определить, действительно ли новые позиции являются дублями. В нашей ситуации поставщик прислал ту же номенклатуру, но с другим артикулом. Это может быть связано с несколькими факторами, которые мы должны уточнить:
- Изменение артикула поставщиком: Если поставщик изменил артикул для того же физического товара, это может быть его внутреннее решение. В этом случае, с точки зрения нашей организации, это все еще тот же самый товар.
- Требования ЭДО/ФГИС: Некоторые информационные системы (например, ЭДО — электронный документооборот, или государственные информационные системы) могут требовать уникальных идентификаторов, связанных с артикулом. Изменение артикула может повлечь за собой изменение этих идентификаторов, что потенциально означает, что для внешней системы это уже другой товар.
- Учетные особенности: Даже если артикул изменился, внутренний учет может требовать, чтобы товар оставался одной позицией для целей себестоимости, аналитики и остатков.
Мы рекомендуем уточнить у сотрудников, ответственных за закупки и учет:
- Почему поставщик прислал другой артикул?
- Есть ли какие-либо внешние системы (ЭДО, ФГИС), которые могут быть затронуты изменением артикула?
- Каково принципиальное решение для таких ситуаций: считать это одним и тем же товаром (тогда объединяем) или разными позициями (тогда оставляем две номенклатуры, возможно, связывая их через универсальные аналоги номенклатуры или характеристики)?
Если после выяснения вы приходите к выводу, что это действительно один и тот же товар и должен быть учтен как единая позитура, то переходим к следующим шагам.
Шаг 2: Поиск задвоенной номенклатуры
Стандартный поиск дублей в 1С:УТ 11.5 не всегда находит позиции с разными артикулами. В нашей ситуации, когда артикулы отличаются, но наименование должно быть одинаковым, нам потребуется небольшая подготовка.
Подготовка к поиску: унификация наименований
- Определяем "правильную" и "ошибочную" номенклатуру: Мы должны четко понимать, какая из двух позиций является основной, которую мы хотим сохранить, а какая — дублем, который нужно будет удалить.
- Копируем наименование: Открываем карточку "правильной" номенклатуры. Копируем ее полное наименование (например, с помощью
CTRL+C).
- Вставляем наименование в "ошибочную" номенклатуру: Открываем карточку "ошибочной" номенклатуры. Вставляем скопированное наименование в поле "Наименование" (например, с помощью
CTRL+V). Важно: Убедитесь, что наименование стало абсолютно идентичным, без лишних пробелов или символов.
- Сохраняем изменения: Записываем карточку "ошибочной" номенклатуры.
Использование обработки "Поиск и удаление дублей"
Теперь, когда наименования совпадают, стандартная обработка сможет найти дубли:
- Открываем обработку: Переходим в раздел
НСИ и администрирование – Администрирование – Обслуживание – Корректировка данных – Поиск и удаление дублей.
- Выбираем объект: В открывшемся окне выбираем
Номенклатура как объект поиска.
- Настраиваем поиск:
- В поле "Условие поиска дублей" выбираем
Наименования совпадают.
- При необходимости, чтобы сузить поиск, мы можем добавить отбор по ссылкам. Например, в отборе обработке удаления дублей устанавливаем отбор (ссылка в списке и указываем обе позиции - правильную и ошибочную).
- Нажимаем "Найти дубли": Обработка проанализирует базу и покажет список найденных дублей. Теперь наша ошибочная номенклатура должна быть найдена рядом с правильной.
- Определяем оригинал: Программа предложит выбрать один из найденных элементов как оригинал. Мы должны вручную указать "правильную" номенклатуру, которую хотим сохранить, нажав кнопку "Отметить как оригинал".
Шаг 3: Объединение номенклатуры и исправление документов
После того как дубли найдены и оригинал определен, нам нужно заменить ссылки на ошибочную номенклатуру во всех связанных документах и регистрах на ссылку на правильную номенклатуру. Существует несколько подходов.
Метод 1: Использование типовой обработки "Поиск и удаление дублей" для замены ссылок
Этот метод часто является наиболее простым и предпочтительным, так как он встроен в функционал 1С и предназначен именно для таких целей.
- Запускаем удаление: В обработке "Поиск и удаление дублей" после того, как мы нашли дубли и отметили оригинал, нажимаем кнопку
Удалить дубли.
- Система предлагает замену: 1С:УТ является интеллектуальной системой. При попытке удаления помеченного на удаление объекта, который используется в других объектах (документах, регистрах), программа предложит заменить все ссылки на этот объект на указанный нами оригинал.
- Выбираем действие: В появившемся окне мы увидим список всех связанных документов и регистров, где использовалась ошибочная номенклатура. Нам будет предложена кнопка "Выберите действие", где мы выбираем опцию
Заменить во всем (или аналогичную, предлагающую замену ссылок на оригинал).
- Подтверждаем замену и удаление: После подтверждения 1С автоматически заменит все ссылки на ошибочную номенклатуру на ссылки на правильную номенклатуру во всех документах и регистрах, а затем пометит ошибочную номенклатуру на удаление. Если на удаляемой позиции были уникальные штрихкоды, потребуется перенос штрихкодов и упаковок на основную карточку.
- Окончательное удаление: После этого нам остается запустить обработку
Удаление помеченных объектов (раздел НСИ и администрирование – Администрирование – Обслуживание – Удаление помеченных объектов), чтобы окончательно удалить ошибочную номенклатуру из базы. Если объект не удаляется из-за скрытых связей, можно использовать специальный отчет для поиска неудаляемых объектов.
Важные моменты:
- Эта обработка корректно обновляет ссылки в документах и движениях регистров, обеспечивая целостность данных.
- Перед использованием убедитесь, что вы создали архивную копию базы данных.
Метод 2: Использование универсальной обработки "Поиск и замена значений"
Если по какой-то причине стандартная обработка "Поиск и удаление дублей" не справляется или нам нужен более детальный контроль, мы можем использовать универсальную обработку "Поиск и замена значений". Это мощный инструмент, позволяющий точечно менять значения в любых объектах базы.
- Доступ к обработке: Обработка "Поиск и замена значений" (часто распространяется как внешний файл
ПоискИЗаменаЗначений.epf или может быть встроена в раздел Администрирование – Обслуживание – Корректировка данных в некоторых конфигурациях). При необходимости ее можно скачать с сайта 1С:ИТС.
- Запускаем обработку: Открываем обработку.
- Настраиваем замену:
- В поле "Что заменять" выбираем тип объекта
СправочникСсылка.Номенклатура.
- В поле "Искать значение" указываем ссылку на ошибочную номенклатуру.
- В поле "Заменять на значение" указываем ссылку на правильную номенклатуру.
- Выбираем область поиска: обычно это "Во всех объектах", но можно сузить до конкретных документов (например,
Документ.ПриобретениеТоваровУслуг, Документ.ПеремещениеТоваров) или регистров. В нашем случае, чтобы исправить все, лучше выбрать максимально широкую область.
- Если требуется, мы можем установить дополнительные отборы для более точечной замены.
- Выполняем поиск и замену: Нажимаем кнопку
Найти, чтобы увидеть, где будет произведена замена. После проверки результатов нажимаем Заменить.
- Перепроведение документов: После выполнения замены ссылок в документах (Приобретение, Перемещение) и регистрах, необходимо перепровести все затронутые документы. Это обеспечит корректное формирование движений по регистрам с использованием правильной номенклатуры и актуализацию остатков. В некоторых случаях, если замена была произведена корректно, перепроведение может пройти без ошибок.
- Пометка на удаление: После того как все ссылки на ошибочную номенклатуру будут заменены и документы перепроведены, мы можем пометить ошибочную номенклатуру на удаление.
- Окончательное удаление: Запускаем обработку
Удаление помеченных объектов для окончательного удаления.
Осторожность: Обработка "Поиск и замена значений" очень мощная, но требует особой осторожности. Неправильное использование может нарушить логическую взаимосвязь значений. Обязательно сделайте архивную копию базы перед использованием!
Метод 3: Ручная корректировка документов (пошаговый откат)
Этот метод является более трудоемким, но может быть полезен, если автоматические обработки вызывают затруднения или если необходимо выполнить очень точный контроль за каждым шагом. Мы действуем в обратном хронологическом порядке, начиная с самых поздних документов.
- Определяем хронологию: Находим все документы, где была использована ошибочная номенклатура, начиная с документа «Приобретение товаров и услуг» и заканчивая последним документом «Перемещение товаров» (или возможными реализациями, если бы они были). Важно отметить, что в нашей ситуации никаких продаж или дальнейших перемещений измененной номенклатуры не произошло, что упрощает откат.
- Корректировка документов «Перемещение товаров»:
- Открываем самый последний документ «Перемещение товаров», где была указана ошибочная номенклатура.
- В табличной части документа заменяем ошибочную номенклатуру на правильную.
- Перепроводим документ. Это действие вернет товар с ошибочной номенклатурой с целевого склада обратно на склад-отправитель (логически, но уже с правильной номенклатурой).
- Повторяем этот шаг для всех документов «Перемещение товаров» в обратном хронологическом порядке.
- Корректировка документа «Приобретение товаров и услуг»:
- После того как все перемещения исправлены, открываем документ «Приобретение товаров и услуг», которым была оприходована ошибочная номенклатура.
- В табличной части документа заменяем ошибочную номенклатуру на правильную.
- Перепроводим документ. Это действие оприходует товар уже с правильной номенклатурой и обнулит все остатки ошибочной номенклатуры.
- Пометка на удаление и удаление: После того как все документы будут скорректированы и перепроведены, а остатки ошибочной номенклатуры обнулены, мы можем пометить ошибочную номенклатуру на удаление. Затем запускаем
Удаление помеченных объектов.
Последствия ручного метода:
- Этот метод требует больше времени и внимания, особенно при большом количестве документов.
- Если в процессе были реализации (продажи) или другие движения, то их также пришлось бы корректировать, двигаясь «вверх по стеку документов» от самой последней операции.
- Если не перепроводить документы, то движения в регистрах останутся с ошибочной номенклатурой, что приведет к некорректным остаткам и себестоимости.
Важные моменты и меры предосторожности
- Архивная копия: Перед выполнением любых операций по изменению или удалению данных в 1С всегда обязательно создавайте архивную копию информационной базы. Это ваша страховка на случай непредвиденных ошибок.
- Целостность данных: Корректное удаление дублей критически важно для целостности данных, точности учета и формирования отчетности. Ошибки могут привести к некорректным остаткам, себестоимости и проблемам с расчетом прибыли.
- Регистры: Убедитесь, что после всех манипуляций движения в регистрах накопления и бухгалтерии (если применимо) также будут скорректированы и будут ссылаться на правильную номенклатуру. Типовые обработки 1С, как правило, делают это автоматически.
- Проверка после удаления: После окончательного удаления помеченных объектов рекомендуется сформировать отчеты по остаткам и движениям номенклатуры, чтобы убедиться в корректности данных.
- Ошибки в "Ключах аналитики учета номенклатуры": В процессе удаления дублей могут появиться ошибки в справочнике
Ключи аналитики учета номенклатуры, что может вызвать проблемы при перепроведении документов и расчете себестоимости. Если такие ошибки возникли, их обычно можно исправить с помощью обработки Поиск и удаление дублей для этого справочника или ручной корректировки.
- Порядок удаления номенклатуры и характеристик: Если вы используете характеристики, рекомендуется сначала удалить дубли номенклатуры, а затем дубли характеристик, чтобы избежать потери связей и "битых" ссылок.
- Дублирование строк в журналах документов: Иногда после очистки базы от дублей контрагентов, партнеров или договоров может возникнуть задвоение строк в журналах документов. Это можно исправить с помощью удаления дублей в справочнике
Ключи реестра документов через Режим технического специалиста.
Предотвращение появления дублей в будущем
Чтобы избежать подобных проблем в будущем, мы можем принять ряд превентивных мер:
- Обучение сотрудников: Регулярное обучение сотрудников правилам работы с номенклатурой и поиску существующих позиций.
- Регламенты ввода данных: Разработка и внедрение строгих регламентов ввода новой номенклатуры, включая обязательную проверку на дубли перед созданием новой позиции.
- Настройка запрета дублей: В 1С:УТ можно настроить проверку наличия дублей по наименованию или артикулу перед записью справочников. Для этого перейдите в
НСИ и администрирование – Настройка НСИ и разделов – Номенклатура и установите флажки для проверки уникальности.
- Группировка номенклатуры: Для удобства работы с большим объемом номенклатуры используйте виды номенклатуры, группы аналитического учета, группы финансового учета и складские группы для классификации по общим признакам.
- Взаимодействие с поставщиками: Уточняйте у поставщиков причины изменения артикулов и договаривайтесь о едином подходе к их формированию.
Альтернативные подходы и сопутствующие аспекты
- Характеристики номенклатуры: Если артикулы разные, но это один и тот же товар с вариациями (например, цвет, размер), то вместо создания дублей можно использовать
Характеристики номенклатуры. Однако, основные учетные значения (артикул, вес, размеры) задаются в целом для номенклатуры, поэтому нельзя задать разные артикулы для разных характеристик в стандартном функционале. Существуют расширения, позволяющие работать с множественными свойствами номенклатуры, но это уже кастомизация.
- Аналоги номенклатуры: В 1С:УТ есть функционал
Аналоги номенклатуры, который позволяет связывать товары-заменители. Это полезно, когда основного товара нет на складе, и можно предложить клиенту похожий. В нашем случае, это не решение для дублей, но полезный инструмент для управления ассортиментом.
Правильный подход к решению проблемы задвоения номенклатуры требует не только технических знаний, но и понимания бизнес-процессов. Всегда начинайте с анализа, затем переходите к поиску и, наконец, к исправлению, не забывая о создании архивной копии.