Как объединить несколько карточек номенклатуры в одну в 1С:Управление торговлей 11 без ошибок учета?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе эксплуатации баз данных «1С:Управление торговлей 11» (а также «1С:ERP» и «1С:Комплексная автоматизация 2») часто возникает ситуация, когда пользователи по ошибке заводят несколько дублирующих карточек номенклатуры. Товар приходовался, продавался, перемещался по разным позициям, и в итоге учет запутался. Нам необходимо навести порядок и сделать так, чтобы вместо нескольких разных карточек в базе осталась одна-единственная правильная позиция.

Разберем детально три основных сценария решения этой задачи, проанализируем потенциальные риски для себестоимости и обменов, а также изучим технические механизмы платформы, которые помогут нам выполнить эту операцию корректно и безболезненно для системы.

Сценарий 1. Слияние элементов через инструмент «Поиск и замена дублей»

Это самый радикальный метод, который полностью заменяет ссылки на удаляемые карточки во всех существующих документах базы данных (как в текущем периоде, так и в закрытых прошлых периодах). Рассмотрим пошагово, как выполнить эту процедуру правильно.

Для начала откроем встроенный инструмент. Перейдем в раздел НСИ и администрирование — Обслуживание — Корректировка данных — Поиск и замена дублей. Если данный пункт отсутствует, убедимся, что у нашей учетной записи достаточно прав (требуется роль «Администратор системы»). При необходимости можно воспользоваться расширенным инструментом для поиска и безопасной замены дублей с поддержкой нечеткого сравнения.

Выполним следующие шаги:

  1. В поле «Искать в» выберем справочник Номенклатура.
  2. В поле «Отбирать по правилу» мы можем настроить фильтр. Если мы не хотим переименовывать номенклатуру, чтобы система автоматически сочла ее дублем, мы можем выбрать элементы вручную. Для этого добавим отбор по конкретным ссылкам или введем одинаковый Артикул для всех четырех карточек, после чего настроим поиск дублей по совпадению артикула.
  3. Нажмем кнопку «Найти дубли». Система выведет список найденных позиций и покажет количество ссылок на каждую из них в документах и регистрах.
  4. Внимательно проанализируем результаты. Нам необходимо выбрать одну карточку, которая станет оригиналом (получателем всех ссылок), а остальные три назначить дублями (они будут заменены и помечены на удаление). Логично выбрать в качестве оригинала ту карточку, по которой велось больше всего движений, или которая заведена наиболее корректно.
  5. Нажмем кнопку «Объединить». Система запустит транзакцию замены ссылок во всех таблицах базы данных.

Внимание! Обычная замена ссылок — это лишь верхушка айсберга. В современных конфигурациях ERP-класса этот процесс влечет за собой серьезные технические проблемы, которые мы обязаны разобрать далее.

Критическая проблема: Ключи аналитики учета номенклатуры

Проанализируем архитектуру хранения данных в «1С:Управлении торговлей 11». В отличие от старых версий (УТ 10.3), в регистрах накопления (таких как ВыручкаИСебестоимостьПродаж, ТоварыОрганизаций, ДетализацияСебестоимостиТоваров) отсутствует прямое измерение Номенклатура. Вместо него используется измерение, ссылающееся на служебный справочник КлючиАналитикиУчетаНоменклатуры.

Когда мы заменяем одну номенклатуру на другую в документах, стандартная обработка автоматически заменяет ссылки в реквизитах самого ключа аналитики. Однако сами элементы справочника КлючиАналитикиУчетаНоменклатуры при этом не сливаются автоматически! В результате в базе данных образуется несколько разных ключей аналитики, указывающих на один и тот же склад и одну и ту же оставшуюся номенклатуру.

Это приводит к следующим критическим ошибкам:

Чтобы решить эту проблему, после объединения дублей номенклатуры нам необходимо выполнить слияние дублей ключей аналитики. Перейдем через меню «Функции для технического специалиста» (ранее — «Все функции») в справочник Ключи аналитики учета номенклатуры. В форме списка этого справочника нажмем кнопку Еще — Заменить дубли ключей аналитики. Система проанализирует записи и схлопнет дублирующиеся ключи в один, пересчитав движения регистров. Для этой задачи можно использовать инструмент для исправления ключей аналитики учета в проведенных документах.

Проблема синхронизации с 1С:Бухгалтерией (БП)

Если наша база УТ 11 синхронизирована с 1С:Бухгалтерией, прямое слияние дублей в УТ нанесет серьезный удар по бухгалтерскому учету:

Правило: Перед удалением дублей в УТ необходимо произвести аналогичную замену в базе БП. Важно вручную скорректировать записи в регистре сопоставления объектов, чтобы оставшаяся карточка в УТ корректно синхронизировалась с оставшейся карточкой в БП. Для контроля изменений в закрытых периодах и быстрого поиска расхождений в проводках после обмена измененными документами применяется инструмент автоматической сверки проводок МС:Автовыверка.

Сценарий 2. «Мягкое» объединение через пересортицу и архивацию

Если мы дорожим историей документов, а прошлые периоды жестко закрыты от изменений и перепроведения, мы не можем использовать стандартный поиск и замену дублей. В этом случае мы применим метод переноса остатков и последующей архивации ненужных карточек.

Рассмотрим этот алгоритм по шагам:

  1. Выясним, на каких складах и в каком количестве числятся остатки по трем «неправильным» карточкам номенклатуры.
  2. Убедимся, что по этим карточкам сняты все активные резервы, заказы клиентов и заказы поставщикам. Если резервы есть, перенесем их на четвертую (основную) карточку.
  3. Оформим документ Пересортица товаров (раздел Склад и доставка — Излишки, нехватки, порча — Пересортица товаров). В качестве списываемого товара укажем наши дубли, а в качестве приходуемого — основную карточку. Это позволит нам в текущем периоде обнулить остатки по дублям и перенести их на правильную позицию с сохранением себестоимости.
  4. Перенесем сопутствующую информацию со старых карточек на новую: зарегистрированные штрихкоды (вкладка «Штрихкоды» в карточке номенклатуры), изображения товара, настройки упаковок и индивидуальные виды цен.
  5. Чтобы пользователи больше не выбирали старые карточки при создании новых документов, мы их заархивируем. Для этого зайдем в каждую из трех старых карточек и снимем флаги Разрешить закупки и Разрешить продажи (или переведем статус номенклатуры в значение «Архив», если этот функционал включен в настройках системы). Дополнительно можно переименовать их, добавив префикс «НЕ ИСПОЛЬЗОВАТЬ_», и переместить в специальную архивную папку справочника.

Этот метод абсолютно безопасен для закрытых периодов и не нарушает цепочки распределения себестоимости прошлых месяцев.

Сценарий 3. Виртуальное объединение в отчетах

Иногда перед нами стоит задача не физически объединить карточки, а лишь вывести данные по ним в отчетах (например, по продажам или остаткам) в виде одной общей позиции. Это необходимо, когда руководство хочет видеть консолидированную аналитику, но бухгалтерия требует раздельного ведения карточек из-за разных ГТД или партий.

Выясним, как реализовать такую схему без изменения складских документов:

Создадим дополнительный реквизит для справочника Номенклатура. Для этого перейдем в НСИ и администрирование — Общие настройки — Дополнительные реквизиты и сведения — Дополнительные реквизиты. Выберем набор «Номенклатура» и добавим новый реквизит с наименованием Представитель в отчете и типом значения СправочникСсылка.Номенклатура.

Заполним этот реквизит в наших четырех карточках номенклатуры: укажем в качестве представителя одну и ту же основную карточку. Для остальных позиций в базе этот реквизит оставим пустым.

Теперь при формировании любого отчета на базе СКД (Системы компоновки данных), например, «Продажи», мы можем настроить группировку не по полю Номенклатура, а по нашему новому свойству. Проанализируем пример запроса, который система выполняет под капотом при такой настройке:


ВЫБРАТЬ
    ВЫБОР
        КОГДА ЕСТЬNULL(ВыручкаИСебестоимостьПродаж.Номенклатура.ПредставительВОтчете, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
            ТОГДА ВыручкаИСебестоимостьПродаж.Номенклатура.ПредставительВОтчете
        ИНАЧЕ ВыручкаИСебестоимостьПродаж.Номенклатура
    КОНЕЦ КАК НоменклатураДляОтчета,
    ВыручкаИСебестоимостьПродаж.КоличествоОборот КАК Количество,
    ВыручкаИСебестоимостьПродаж.СуммаВыручкиОборот КАК СуммаВыручки
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты КАК ВыручкаИСебестоимостьПродаж

Используя такую логику в настройках панели отчетов (через изменение варианта отчета и добавление пользовательских полей), мы получим группировку всех четырех позиций в одну строку, при этом физически в базе данных документы останутся нетронутыми.

Важное предупреждение по работе с госсистемами (Маркировка, ЕГАИС, Меркурий)

Если хотя бы одна из объединяемых карточек номенклатуры относится к категории подконтрольных товаров (маркированная продукция «Честный Знак», алкоголь в ЕГАИС или ветеринарные грузы в ВетИС/Меркурий), **прямое слияние дублей через удаление категорически запрещено**.

Каждая карточка в 1С привязана к конкретным кодам GTIN (для маркировки) или кодам алкогольной продукции в регистрах ЕГАИС. При «схлопывании» карточек уникальные идентификаторы госсистем перезапишутся или удалятся, что приведет к полной невозможности списать остатки, передать коды маркировки при продаже или сопоставить новые накладные из систем мониторинга. Такие карточки можно объединять только через вывод из оборота старых позиций (Сценарий 2) и постепенный переход на новую карточку.

Резюме

Перед тем как приступить к объединению номенклатуры, всегда задавайте себе вопрос: «Какова цель этой операции и закрыты ли периоды?». Если периоды открыты и товар не подконтролен госсистемам, используйте Сценарий 1, не забывая про слияние ключей аналитики. Если периоды закрыты или товар маркирован — используйте безопасный Сценарий 2 с пересортицей и архивацией. Если изменения вносить нельзя совсем — используйте Сценарий 3 с виртуальной группировкой.

← На главную