## Назначение
Обработка предназначена для массового изменения наименований и/или артикулов элементов справочника «Номенклатура» по данным из табличного файла. Поддерживаются форматы XLS, XLSX, ODS, MXL.
## Порядок работы
1. Подготовьте файл с тремя колонками в порядке: «Код или УИД», «Новый артикул», «Новое наименование».
2. Установите флажки «Обновлять наименование» и/или «Обновлять артикул» — они задают, какие именно реквизиты номенклатуры перезаписывать. При включённом «Обновлять наименование» одновременно перезаписываются поля `Наименование` и `НаименованиеПолное`.
3. Выберите способ поиска (по коду или по уникальному идентификатору) и загрузите файл. Группы номенклатуры пропускаются автоматически.
4. В таблице формы отобразятся найденные элементы. Колонка «Есть изменения» показывает, требуется ли запись в базу. Фильтры «Только с изменениями» и «Ненайденные» позволяют отфильтровать таблицу.
5. Запустите команду «Изменить номенклатуру». Обработка выполняется пакетами (размер партии — 0,1 % от общего числа строк, минимум 1) с отображением прогресса в строке состояния: текст, процент и счётчик «X / Y». По завершении выводится итоговое сообщение с количеством успешно изменённых элементов и количеством ошибок; если ошибок много — до 5 примеров в окне сообщений, остальные — в журнале регистрации.
6. Результаты обработки можно вывести в табличный документ с группировкой колонок (Номенклатура / В файле / В базе / Есть изменения).
## Проверки и защита данных
- Длина наименования — до 100 символов, артикула — до 50. При превышении выводится предупреждение с указанием номера строки файла.
- Дубли УИДов/кодов в файле обнаруживаются, выводится сообщение со списком номеров строк; используется последнее по порядку значение.
- Диалог подтверждения перед записью. Если к изменению более 50 000 строк — дополнительное подтверждение.
- Файл с более чем 100 000 строк отклоняется при чтении.
- Если оба флажка «Обновлять наименование / артикул» выключены — обработка не запускается.
- Каждая партия и итог пишутся в журнал регистрации с событием `ИзменитьНаименованиеНоменклатурИАртикулы.Изменение`.
## Особенности
- Поиск номенклатуры выполняется одним SQL-запросом по всему массиву ключей — загрузка файлов в десятки тысяч строк укладывается в секунды.
- Если в таблице нет строк с изменениями — команда «Изменить номенклатуру» завершается мгновенно с информационным сообщением.
- Регистрируется через «Администрирование → Дополнительные отчёты и обработки» (стандартная схема подсистемы БСП «ДополнительныеОтчетыИОбработки»).
- Поддерживает БСП 3.x и БСП 4.x. В БСП 4.x (УТ 11.5.27+) при первом подключении раздел «НСИ и администрирование» нужно выбрать вручную в диалоге «Размещение в разделах» — выбор запоминается.
- Обработка работает в обычном режиме (безопасный режим выключен — это нужно для чтения файлов XLSX). Если не доверяете коду, проверьте его до запуска в копии базы.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.26.116
Вступайте в нашу телеграмм-группу Инфостарт