Как правильно обновить номенклатуру и внедрить учет по характеристикам в 1С:Розница

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

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

Анализ исходной ситуации и риски массовой загрузки

Рассмотрим сценарий: в базе уже ведется учет, но возникла необходимость загрузить 50 000 позиций от поставщика, где на каждый товар приходится до 100 характеристик (размеры, цвета и т.д.). Общий объем записей в справочнике характеристик может составить до 5 000 000. Прежде чем приступать к загрузке, проанализируем технические аспекты.

Важный момент: Если в 1С:Розница у карточки товара уже были движения (продажи, поступления), система не позволит просто включить флаг ИспользоватьХарактеристики. Это связано с тем, что структура регистров накопления (например, ТоварыНаСкладах) жестко разделяет учет по номенклатуре и по паре «Номенклатура + Характеристика». Поэтому просто «догрузить» характеристики к старым карточкам не получится.

Вариант 1: Работа в текущей базе через «Архивирование»

Этот метод подходит, если руководство настаивает на сохранении всех документов в одной базе. Разберем алгоритм действий по шагам:

  1. Создание структуры архива. Создадим в справочнике Номенклатура группу «Z_Архив» или «Старая номенклатура». Переместим туда все текущие позиции.
  2. Загрузка новых данных. Загрузим номенклатуру от поставщика как новые объекты. При загрузке важно правильно настроить поиск, чтобы не создать дубликаты тех позиций, которые уже были созданы корректно.
  3. Сопоставление (Мэтчинг). Если названия отличаются, используем поиск по артикулу или регистр НоменклатураПоставщиков. Рассмотрим пример логики поиска при загрузке:

// Пример логики поиска при загрузке данных
Функция НайтиИлиСоздатьНоменклатуру(ДанныеФайла)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ Артикул = &Артикул";
    Запрос.УстановитьПараметр("Артикул", ДанныеФайла.Артикул);
    Результат = Запрос.Выполнить();
    
    Если Результат.Пустой() Тогда
        НовыйОбъект = Справочники.Номенклатура.СоздатьЭлемент();
        // Заполнение реквизитов
        НовыйОбъект.Записать();
        Возврат НовыйОбъект.Ссылка;
    Иначе
        Выборка = Результат.Выбрать();
        Выборка.Следующий();
        Возврат Выборка.Ссылка;
    КонецЕсли;
КонецФункции

Использование обработки «Поиск и замена значений»: Чтобы избавиться от старой номенклатуры в документах и отчетах, можно воспользоваться стандартной обработкой. Она найдет все ссылки на старый товар «Кроссовки» и заменит их на новый товар «Кроссовки» с выбранной пустой или конкретной характеристикой. После этого старые карточки можно пометить на удаление и физически удалить из базы через УдалениеПомеченныхОбъектов.

Вариант 2: Переход в новую «чистую» базу

Проанализируем ситуацию, когда база сильно захламлена. Зачастую проще создать новую базу, чем пытаться вычистить старую. Выясним, почему это может быть эффективнее:

Многие опасаются перехода из-за онлайн-касс (ККТ). Проанализируем этот страх: онлайн-касса не «привязана» к конкретной базе 1С. Она привязана к регистрационному номеру в ФНС и фискальному накопителю. Для 1С касса — это просто периферийное устройство. Достаточно прописать в новой базе настройки подключения (драйвер, порт), и касса продолжит работать без перерегистрации.

Технические нюансы работы с характеристиками

При таком огромном объеме (50 000 товаров) критически важно выбрать правильный тип характеристик. Выделим два подхода:

  1. Индивидуальные характеристики. Каждая карточка имеет свой уникальный набор характеристик. Это приведет к лавинообразному росту базы. Если у каждого товара по 100 характеристик, то в таблице будет 5 миллионов записей.
  2. Общие характеристики для вида номенклатуры. Это наиболее правильный путь. Например, для вида «Одежда» создается один набор размеров (S, M, L, XL). В этом случае в справочнике будет всего несколько десятков записей, которые используются всеми 50 000 товаров. Это в тысячи раз ускорит работу системы.

Перенос остатков (Пересортица)

Рассмотрим, как технически перенести остатки со старой номенклатуры на новую в рамках одной базы. Посмотрим на алгоритм через документ ПересортицаТоваров:

  1. Создаем документ ОтражениеРасхожденийПриИнвентаризации.
  2. В колонке «Списание» указываем старую номенклатуру без характеристик.
  3. В колонке «Оприходование» указываем новую номенклатуру с конкретной характеристикой.
  4. Проводим документы, тем самым обнуляя старые остатки и формируя новые.

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

Рекомендации по свертке базы

Если вы решили остаться в старой базе, но хотите ее ускорить, выполним свертку. Свертка удаляет документы за прошлые периоды (например, за прошлый год) и создает один документ ВводОстатков. Это позволит:

Однако помните, что свертка не удаляет сами элементы справочников. Чтобы удалить старую номенклатуру, по ней не должно быть движений ни в одном периоде, включая те, что вошли в свертку. Поэтому использование обработки ПоискИЗаменаЗначений часто является более эффективным инструментом, чем просто свертка.

Итоги и выбор стратегии

Выясним, какой путь выбрать именно вам. Если у вас есть возможность провести полную инвентаризацию и несколько часов на настройку торгового оборудования — создавайте новую базу. Это гарантирует отсутствие ошибок в будущем и правильную структуру характеристик (общих для вида номенклатуры). Если же важна непрерывная история продаж в одном отчете за 2-3 года — используйте метод архивирования и замены значений, предварительно сделав полную копию базы для тестов.

← На главную