Импорт материалов из CSV
Шаблон материалов из семи колонок: почему единицу измерения надо завести заранее, почему артикул сверяется со всем каталогом и что в отчёте об ошибках.
Список сырья и комплектующих почти всегда уже где-то лежит: в закупочной таблице, в выгрузке из бухгалтерии, в прайсе поставщика. Заводить его в системе по одной карточке не нужно — материалы загружаются файлом.
Загрузка занимает минуту, а вот подготовка файла требует одной проверки заранее. С неё и начнём, потому что именно на ней спотыкается большинство первых импортов.
Сначала заведите единицы измерения
Единица измерения при импорте не создаётся автоматически. Если в файле стоит
кг, а в справочнике единиц такой записи нет, строка не заедет. Вы получите
ошибку:
Единица измерения «кг» не найдена. Заведите её в Настройки → Единицы измерения
Так ведёт себя только единица. Категория, наоборот, создаётся сама: написали в файле «Фурнитура», такой категории нет — система заведёт её и привяжет материал.
Поэтому порядок действий такой: сначала откройте «Настройки» → «Единицы измерения» и заведите все единицы, которые встречаются в вашем файле, — метры, килограммы, штуки, литры. Потом загружайте материалы. Иначе первый импорт отклонит половину строк, и разбираться придётся построчно.
Названия сверяются без учёта регистра: КГ, Кг и кг — одна и та же единица.
Где начать загрузку
Откройте меню пользователя, выберите «Настройки», вкладку «Импорт данных», найдите плитку «Добавить материалы». На ней две кнопки, и нажимать их надо в этом порядке: сначала «Скачать шаблон», потом «Загрузить данные».
Собирать файл с нуля не стоит. Число колонок жёсткое — ровно семь. Файл с шестью или восемью колонками система не разберёт и отобьёт целиком, ещё до разбора строк.
Колонки шаблона
Шаблон приходит с заголовком и одной строкой-примером:
Пример материала;MAT-001;Сырьё;кг;Поставщик ООО;120,50;false
| Колонка | Что в неё писать |
|---|---|
| «Название» | название материала; единственная обязательная колонка |
| «Артикул» | код позиции; проверяется на уникальность по всему каталогу |
| «Категория» | группа для фильтров; если такой нет, создастся автоматически |
| «Единица измерения» | название из справочника единиц; должна существовать заранее |
| «Поставщик по умолчанию» | название поставщика из справочника |
| «Закупочная цена» | число; запятая как разделитель дробной части допустима |
| «Учёт партий» | да или нет |
Обязательная колонка одна — «Название». Остальные можно оставить пустыми: строка
Бязь суровая;;;;;; — валидная запись, материал заедет с одним названием.
Лишние пробелы по краям значений система убирает сама.
Как заполнять три неочевидные колонки
«Закупочная цена» принимает и точку, и запятую: 120.50 и 120,50 — одно
и то же число. Пробелы-разделители разрядов не годятся — 1 200,50 не
разберётся. Цена попадает в карточку материала как закупочная и как начальная
себестоимость.
«Учёт партий» понимает да, нет, true, false, 1, 0, yes, no,
y, n в любом регистре. Любое другое слово — ошибка строки. Если колонку
оставить пустой, система возьмёт значение из настроек: «Настройки» → «По
умолчанию для новых позиций», блок «Материалы», группа «Отслеживание».
«Поставщик по умолчанию» ищется по названию среди уже заведённых поставщиков. Не нашёлся — строка всё равно заедет, но без поставщика, и в отчёте появится предупреждение. Загрузите поставщиков до материалов, если хотите привязать их сразу.
Что происходит после нажатия «Загрузить данные»
Предпросмотра нет: строки уходят в базу сразу. Под плиткой появляется полоса результата:
Импорт завершён · 42 принято · 3 отклонено
Полоса зелёная, если замечаний нет, и жёлтая, если есть хотя бы одна ошибка или предупреждение. В жёлтой появляется ссылка «Скачать отчёт об ошибках (CSV)».
Сами сообщения на экране не выводятся — они лежат в отчёте. Скачивайте его, иначе вы увидите только счётчики.
Файл приходит как materials-import-report.csv с тремя колонками: «Строка»,
«Уровень», «Сообщение». В колонке «Уровень» стоит ошибка или предупреждение.
Номера строк считаются вместе с заголовком. Заголовок — строка 1, первая запись — строка 2. «Строка 4» из отчёта — это третья запись вашего файла.
Ошибка и предупреждение — это разные вещи
Ошибка отбрасывает строку. Предупреждение пропускает её вперёд.
Импорт всегда частичный: одна плохая строка не отменяет остальные. Принятые материалы уже в каталоге, отклонённые — нет. Поэтому «отклонено 3» не значит, что заливать надо весь файл заново: достаточно исправить три строки и загрузить только их.
Ошибки, из-за которых строка не заедет:
- «Колонка «Название» пустая — название материала обязательно» — единственное обязательное поле не заполнено.
- «Материал с SKU «MAT-001» уже существует» — артикул занят.
- «Единица измерения «кг» не найдена. Заведите её в Настройки → Единицы измерения» — единицы нет в справочнике.
- «Некорректное число в «Закупочная цена»: «1 200,50»» — в цену попал пробел, буква или второй разделитель.
- «Учёт партий»: ожидается true/false, получено «может быть»» — в колонке слово, которого система не знает.
- «Ожидается 7 колонок, получено 8» — в строке лишняя точка с запятой. Чаще всего она приезжает внутри названия.
Предупреждение одно, и оно не мешает строке заехать:
- «Поставщик «Ткани Севера» не найден — материал принят без поставщика».
Артикул уникален по всему каталогу
Проверка на дубль идёт не только по материалам. Артикул сверяется со всеми
позициями каталога, включая товары и их варианты. Если SKU-100 уже стоит
у варианта товара, материал с таким же артикулом не заедет — вы получите
«Материал с SKU «SKU-100» уже существует».
Отсюда практическое следствие: не используйте для материалов ту же схему артикулов, что и для товаров, иначе половина файла упадёт на пересечениях.
Строки без артикула дублями не считаются. Загрузите такой файл дважды — получите два одинаковых материала.
Разделитель и кодировка
Два требования, из-за которых чаще всего «ничего не загрузилось»:
- разделитель — точка с запятой (
;), не запятая и не табуляция; - кодировка — UTF-8.
Файл в кодировке Windows отвергается целиком, ещё до разбора строк:
Файл не в кодировке UTF-8. Сохраните CSV как UTF-8.
Файл с запятыми вместо точек с запятой читается как одна колонка и отбивается сообщением «Ожидается 7 колонок в заголовке, получено 1».
В Excel лечится так: «Сохранить как» → «CSV UTF-8», затем проверьте, что разделителем в файле стала точка с запятой. В российской локали Excel обычно ставит именно её.
Куда смотреть после импорта
Откройте «Каталог», вкладку «Материалы». Загруженные позиции лежат там же, где заведённые руками, и сразу доступны в рецептах и закупках.
Проверьте два-три материала выборочно: единицу измерения, категорию и закупочную цену. Что ещё есть в карточке, разбирает статья «Как завести материал».
Краевые случаи
Пустой файл или файл только с заголовком. Ошибки не будет: система вернёт «Импорт завершён · 0 принято · 0 отклонено». Полностью пустые строки в середине файла она тоже молча пропускает.
Артикул с ведущим нулём. Excel съедает ноль и превращает 0100 в 100.
Задайте колонке текстовый формат до того, как вставлять в неё артикулы.
Повторная загрузка того же файла. Строки с артикулами уйдут в отклонённые по дублю, строки без артикулов заведутся ещё раз.
Категория создалась, а строка упала. Так бывает: категория заводится раньше, чем система проверяет остальные поля. Отката нет, лишнюю категорию удалите руками в «Настройки» → «Категории».
Все материалы заехали как покупные. Это не сбой: материал в системе всегда можно купить и нельзя изготовить, отдельной колонки для этого в шаблоне нет.
Чего импорт материалов не делает
- Не обновляет существующие материалы. Дубль по артикулу отклоняется, карточка остаётся прежней. Правки вносите руками.
- Не создаёт единицы измерения. Их надо завести заранее.
- Не откатывается. Отменить уже выполненный импорт одной кнопкой нельзя.
- Не загружает минимальный запас, точку повторного заказа, срок поставки и минимальную партию заказа. Колонок для них в шаблоне нет, хотя описание плитки упоминает точку повторного заказа. Эти поля заполняются в карточке материала, вкладка «Пополнение».
- Не читает XLSX и XLS. Только CSV.
Смотрите также:
- Что такое раздел «Обмен данными» — карта раздела, семь плиток и ассистент импорта
- Как завести материал — что заполняется в карточке после загрузки
- Единицы измерения и категории — где завести единицы до импорта
Помогла ли статья?
Не удалось сохранить ответ. Попробуйте ещё раз.
Спасибо за ответ!