При работе с конфигурацией «1С:Автосервис» часто возникает задача массовой загрузки номенклатуры из внешнего файла, например, из Excel. Стандартная обработка «Загрузка данных из табличного документа» является мощным инструментом, но ее настройка может вызывать трудности, особенно когда нужно загрузить не только сами товары, но и связанные с ними данные, такие как модели автомобилей. В этой статье мы подробно разберем, как правильно настроить загрузку, чтобы избежать дублирования номенклатуры и корректно заполнить связанные данные.
Давайте проанализируем ситуацию, с которой столкнулся пользователь. При попытке загрузить список номенклатуры и список моделей возникают две основные проблемы:
Выясним причину каждого из этих явлений.
Причина дублирования — отсутствие или неверная настройка идентификации элементов. Обработка не знает, по какому признаку ей определять, что элемент из файла уже существует в базе данных. По умолчанию она не ищет совпадений и просто создает новые записи для каждой строки. Чтобы это исправить, нужно указать уникальное поле для поиска, например, Артикул или Код.
Причина незагрузки моделей кроется в непонимании структуры данных 1С. То, что в интерфейсе выглядит как «табличная часть» в карточке номенклатуры, с технической точки зрения чаще всего является отдельным, но подчиненным справочником. В конфигурациях на базе «УНФ», к которым относится и «1С:Автосервис», для этих целей используется справочник Характеристики номенклатуры. Каждая модель — это отдельный элемент в этом справочнике, который связан с «владельцем» — конкретной позицией номенклатуры. Обработка не может «просто сунуть данные в табличную часть», ей нужно четко указать, что мы создаем элемент в справочнике Характеристики номенклатуры и привязываем его к нужной номенклатуре.
Часто при этом возникает ошибка вида «Ячейка[...]: Не найден...». Это сообщение говорит о том, что обработка пытается найти в базе уже существующую характеристику по названию из файла, но не находит ее. Это происходит, если в настройках не указано, что нужно создавать новые характеристики, если они отсутствуют.
Теперь, когда мы понимаем причины проблем, разберем по шагам, как их решить.
Правильная структура исходного файла — залог успеха. Данные нужно представить в виде «плоской таблицы». Это значит, что если у одной позиции номенклатуры есть несколько моделей (характеристик), то в файле должно быть несколько строк для этой номенклатуры, по одной на каждую модель.
Пример правильной структуры файла:
| Артикул | Наименование Номенклатуры | Модель (Характеристика) |
|---|---|---|
| DEM-001 | Демонтаж/Монтаж защиты ДВС | Audi A4 |
| DEM-001 | Демонтаж/Монтаж защиты ДВС | BMW 3-series |
| OIL-005 | Замена масла в ДВС | Toyota Camry |
| OIL-005 | Замена масла в ДВС | Ford Focus |
| OIL-005 | Замена масла в ДВС | Kia Rio |
Важно: У номенклатуры «Демонтаж/Монтаж защиты ДВС» две модели, поэтому она занимает две строки. У «Замены масла» — три модели, и она занимает три строки. Артикул при этом у основной номенклатуры одинаковый.
Откройте обработку и загрузите подготовленный файл. Далее переходим к самому главному — настройке колонок.
1. Выбор объекта для загрузки.
В поле «Режим загрузки» выберите «Загружать в справочник», а в качестве справочника — Номенклатура.
2. Сопоставление колонок и решение проблемы с дублями.
На вкладке сопоставления колонок вам нужно указать, какая колонка из Excel какому реквизиту справочника Номенклатура соответствует.
Наименование.Артикул.А теперь ключевой момент для борьбы с дублями: напротив реквизита Артикул (или другого уникального поля) поставьте галочку в колонке «Поле поиска». Эта настройка заставит обработку перед созданием нового элемента сначала искать в базе номенклатуру с таким же артикулом. Если найдет — обновит ее, если нет — создаст новую.
3. Настройка загрузки моделей (характеристик).
Это самый сложный этап. Нам нужно объяснить обработке, что данные из колонки «Модель (Характеристика)» нужно загружать в подчиненный справочник Характеристики номенклатуры.
Характеристики).Справочник.ХарактеристикиНоменклатуры.Наименование.Владелец должен заполняться ссылкой на ту номенклатуру, которую мы ищем/создаем на этом же шаге по артикулу. В интерфейсе обработки это может быть реализовано через выбор поля «Поиск по полю» и указание на колонку с артикулом номенклатуры.Настройка загрузки данных — это задача, требующая внимания и понимания логики 1С. Помните, что обработка — это лишь инструмент, который делает ровно то, что вы ему указали. Потратив время на правильную настройку полей поиска и связей между объектами, вы сможете быстро и аккуратно перенести в программу большие объемы данных.