Массовое обновление справочника номенклатуры в 1С 8.3

· 9 мин

Содержание

Перезаписать номенклатуру — значит обновить реквизиты уже существующих позиций, не плодя дубли. Если нужно поменять одно-два поля у выделенных карточек, подойдёт Групповое изменение реквизитов. Если данные приходят таблицей от поставщика — загрузка из Excel с поиском совпадений по ключу. Если справочник переносят в другую базу — обмен данными с сопоставлением по идентификатору.

Главный риск любого массового обновления — задвоение позиций. 1С создаёт новый элемент, когда не находит совпадение по полю поиска. Поэтому до загрузки нужно решить, по какому реквизиту искать уже заведённые карточки: обычно это Артикул или Код, реже — наименование.

Ниже — все рабочие способы перезаписи: от штатной кнопки в списке до регламентного задания, а также как чинить ссылки, если после обмена номенклатура «разъехалась».

Какой способ перезаписи выбрать

Способ зависит от того, откуда берутся новые значения и сколько полей меняется.

  • 🔧 Меняете 1–2 реквизита у выделенных позиций (ставку НДС, единицу, группу) — Групповое изменение реквизитов. Файл не нужен.
  • 📄 Данные приходят таблицей (прайс поставщика, выгрузка из учётной системы) — загрузка из Excel с поиском по ключу.
  • 🔁 Переносите справочник в другую базу — обмен данными или выгрузка/загрузка XML с сопоставлением по идентификатору.
  • 🧩 Нестандартная логика (пересчёт цен по формуле, условная замена) — внешняя обработка или расширение конфигурации .
Какой способ перезаписи подойдёт вашей задаче?

Если сомневаетесь, начните с малого: обновите 5–10 позиций и проверьте результат в списке. Массовую операцию запускайте только после удачного теста на выборке.

Подготовка данных и ключ поиска дублей

Качество загрузки решается не в 1С, а в исходном файле. Разберите таблицу до запуска.

Ключевое поле — то, по которому программа опознаёт уже заведённую карточку. Если его не задать, каждая строка файла создаст новую позицию. Чаще всего в роли ключа выступает Артикул: он короткий и уникальный. Код 1С подходит, когда файл выгружен из этой же базы. Наименование как ключ ненадёжно — лишний пробел или другая раскладка буквы, и совпадение не находится.

Пример: в базе товар «Кабель ВВГ 3х2.5», а в прайсе поставщика «Кабель ВВГ 3*2,5». По наименованию 1С такие строки не свяжет и заведёт вторую карточку. По артикулу, если он одинаков, свяжет корректно. Поэтому ключ выбирают по самому стабильному полю, а не по тому, что удобнее читать глазами.

Перед загрузкой приведите файл в порядок:

  1. Оставьте в таблице только нужные колонки и один лист.
  2. Уберите объединённые ячейки и пустые строки между данными.
  3. Проверьте формат числовых колонок — цена и количество должны быть числом, а не текстом.
  4. Единицы, ставки НДС, группы в файле должны называться так же, как в справочниках 1С, иначе они не подставятся.
  5. Удалите дубли строк внутри самого файла — две строки с одним артикулом перезапишут позицию дважды.

Если в базе уже есть дубли номенклатуры, сначала найдите и объедините их, а потом загружайте. Иначе обновление «размажется» по нескольким карточкам, и остатки с ценами разойдутся.

Файл готов к загрузке, если
Выполнено: 0 / 5

Перед массовой загрузкой сделайте резервную копию базы. Откат отдельной операции в 1С не предусмотрен — вернуть прежние значения можно только из копии.

Групповое изменение реквизитов без выгрузки в Excel

Когда новое значение одно на всю выборку (например, сменить ставку НДС у группы товаров или перенести позиции в другую папку), файл не нужен. Эту задачу закрывает штатный инструмент Групповое изменение реквизитов.

Он входит в библиотеку стандартных подсистем, поэтому есть в типовых конфигурациях — Бухгалтерии 3.0, Управлении торговлей 11, ЗУП 3.1, ERP. Открывается из раздела Администрирование → Обслуживание, в группе инструментов обслуживания данных (в части релизов команда называется «Групповое изменение реквизитов» и вызывается также из меню «Ещё» над списком номенклатуры).

Порядок работы:

  1. В поле выбора объекта укажите справочник Номенклатура.
  2. Задайте отбор — например, по группе, виду номенклатуры или признаку.
  3. Выберите реквизит, который меняете, и новое значение.
  4. Нажмите изменение реквизитов и дождитесь отчёта об обработанных элементах.

Инструмент меняет значение сразу в базе, минуя промежуточный файл. Это удобно для реквизитов-перечислений и ссылок (единица, ставка НДС, группа). Для подстановки разных значений в каждую позицию он не подойдёт — там нужна загрузка из таблицы.

Групповое изменение видит только отобранные позиции. Проверьте отбор до запуска: если он шире, чем нужно, под замену попадут лишние карточки.

Загрузка номенклатуры из Excel штатными средствами

Для разных значений в каждой строке используют загрузку из табличного документа. Универсальный инструмент — обработка Загрузка данных из табличного документа, которую фирма 1С публикует на диске ИТС. Она работает и в управляемых, и в обычных формах, и не зависит от конкретной конфигурации.

Как запустить:

  1. Откройте обработку через Файл → Открыть и выберите файл .epf.
  2. На вкладке источника загрузите ваш Excel или вставьте данные из буфера.
  3. Укажите вид загружаемых данных — справочник Номенклатура.
  4. Сопоставьте колонки таблицы с реквизитами справочника.
  5. В настройке поиска выберите поле, по которому ищутся существующие элементы (Артикул или Код). Это и отличает перезапись от создания новых позиций.
  6. Запустите загрузку и проверьте протокол — сколько записей обновлено, сколько создано.

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

В Управлении торговлей, Комплексной автоматизации и ERP есть встроенная загрузка номенклатуры из внешнего файла — команда загрузки в самом списке номенклатуры. Она ведёт по шагам: сопоставление колонок, предпросмотр, контроль заполнения. Принцип тот же: заранее укажите поле, по которому ищутся совпадения.

Запуск внешних обработок по умолчанию ограничен. Если Файл → Открыть не предлагает выполнить обработку, администратор должен разрешить открытие внешних отчётов и обработок в настройках безопасности базы.

Внешние обработки и расширения конфигурации

Штатных средств хватает, пока сопоставление — это «колонка файла → реквизит справочника». Когда нужна логика (пересчитать цену с наценкой, подставить значение по условию, собрать наименование из нескольких колонок), берут внешнюю обработку или расширение.

Внешняя обработка (.epf) — отдельный файл, который открывают по месту. Подходит для разовых и нерегулярных задач. Минус — её нужно хранить и каждый раз открывать вручную.

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

Выбор простой:

СредствоКогда применятьЧто учесть
Внешняя обработка .epfразовая или редкая загрузканужно разрешение на внешние обработки
Расширение .cfeпостоянная доработка для всехплатформа не ниже 8.3.6

Готовую внешнюю обработку под обмен с конкретным поставщиком часто дешевле заказать один раз, чем вручную чистить дубли после каждой загрузки «на глаз».

Перенос номенклатуры между базами и правка ссылок

Когда справочник переносят в другую базу (например, из старой учётной системы в новую), работает не загрузка из Excel, а обмен данными. Для разовой задачи подходит выгрузка и загрузка через XML, для регулярной — настроенный обмен по правилам конвертации.

Главный вопрос — как сопоставляются объекты в базе-приёмнике:

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

Для настроенного регулярного обмена правила сопоставления задают в правилах конвертации (механизм «Конвертация данных »). В правилах прямо указывают поля поиска для каждого объекта — это и есть страховка от дублей при переносе. Для разового переноса правила не нужны: хватает выгрузки и загрузки XML с ручным выбором поля сопоставления.

После обмена типичная проблема — «разъехавшиеся» ссылки: в документах осталась старая позиция, а цены и остатки загрузились в новую. Это и есть коррекция ссылок. Лечится так:

  1. Найдите пары «старая — новая позиция» по артикулу.
  2. Через Групповое изменение реквизитов или штатную обработку поиска и удаления дублей укажите, какая карточка главная.
  3. Программа переносит ссылки из документов на главную позицию, дубль помечает на удаление.
  4. Удаление дублей проводите стандартным механизмом — он проверит, что на позицию больше нет ссылок.

Объединять дубли и чистить ссылки — операция для всей базы. Делайте её, когда другие пользователи не работают, и только после резервной копии.

Регулярная загрузка номенклатуры по расписанию

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

Шаги для типовых конфигураций на библиотеке стандартных подсистем:

  1. Откройте Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки.
  2. Добавьте обработку с видом «Дополнительная обработка».
  3. У обработки, которая поддерживает фоновый запуск, появится команда с расписанием — укажите периодичность (раз в сутки, раз в час).
  4. Проверьте, что файл-источник лежит в месте, доступном серверу 1С, а не только вашему компьютеру.

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

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

Частые ошибки при массовой перезаписи

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

  • Ставка НДС или единица не подставились. В файле они названы иначе, чем в справочниках 1С. Программа ищет точное совпадение строки — приведите значения к справочнику заранее.
  • Числа загрузились как текст. Колонка в Excel имеет текстовый формат (часто из-за пробелов-разделителей разрядов). Цена тогда не распознаётся. Переведите колонку в числовой формат до загрузки.
  • Обновились не те позиции. Ключ поиска совпал у разных товаров — например, пустой артикул у нескольких карточек. Пустое поле поиска опасно: оно «цепляет» все позиции без артикула.
  • После обмена задвоились группы. Папки номенклатуры тоже сопоставляются. Если правила переносят только элементы, а группы создаются заново, структура дублируется. Проверяйте сопоставление групп отдельно.
Можно ли отменить массовую перезапись одной кнопкой?
Нет. Штатного отката операции нет. Прежние значения возвращают из резервной копии, поэтому её делают до запуска.
Чем перезапись отличается от создания новых позиций?
Полем поиска. Если 1С находит существующую карточку по Артикул или Код, она её обновляет; если не находит — создаёт новую. Пустой ключ почти всегда даёт дубли.
Нужен ли монопольный доступ для загрузки из Excel?
Для загрузки данных в справочник — нет, остальные могут работать. Монопольный режим нужен для обновления структуры конфигурации и загрузки .dt, а не для записи элементов.
Почему после загрузки цены встали не у тех товаров?
Сбилось сопоставление колонок или ключ совпал неоднозначно. Проверьте, что колонка-ключ уникальна и верно сопоставлена, и повторите загрузку на тестовой выборке.
Как перенести номенклатуру в другую базу без дублей?
Через обмен с сопоставлением по внутреннему идентификатору. Если идентификаторы в базах разные, настройте поиск по артикулу и заранее уберите дубли в файле и в приёмнике.