Импорт операций для товаров из CSV
Как загрузить техкарту файлом: неизвестные операции создаются сами, дубль исчезает из обоих счётчиков, а колонка «Ресурс» уезжает в примечание.
Техкарта — последовательность операций, из которой складывается плановое время и стоимость работ по изделию. Забивать её в карточке товара по одной строке можно, но если изделий много и этапы у них повторяются, быстрее загрузить всё файлом.
Этот импорт устроен так же, как импорт рецептов: одна строка — одна операция в техкарте одного товара. Четыре этапа изделия — четыре строки с одним артикулом.
Где начать загрузку
Меню пользователя → «Настройки» → вкладка «Импорт данных» → плитка «Добавить операции для товаров». Сначала «Скачать шаблон», потом «Загрузить данные».
Колонок ровно семь. Файл с другим числом колонок в заголовке система отобьёт целиком.
Колонки шаблона
Шаблон приходит с готовой техкартой из четырёх этапов на один товар:
SKU-001;Резка;1;10;1200;Стол сборки;лист 18мм
SKU-001;Сборка;2;30;900;;
SKU-001;Окраска;3;20;1500;Покрасочная;
SKU-001;ОТК;4;5;0;;по чек-листу
| Колонка | Что в неё писать |
|---|---|
| «Артикул товара» | код варианта изделия; обязательна |
| «Название операции» | название этапа; обязательна |
| «Порядок» | целое число от 1; обязательна |
| «Время (мин)» | норматив в минутах, больше нуля; обязательна |
| «Стоимость в час» | ставка ресурса; можно оставить пустой |
| «Ресурс» | название станка или рабочего места |
| «Примечания» | свободный текст |
«Порядок» задаёт последовательность этапов в техкарте. Только целое число
и только от 1: 0, -1 и 1,5 дают ошибку «Порядок» должен быть
положительным числом (1, 2, 3…)».
«Время (мин)» задаётся в минутах, а хранится в часах — система делит на 60
сама. Десять минут станут 0,1667 ч. Не пишите сюда часы: 0,5 будет понято
как полминуты.
«Стоимость в час» — ставка, по которой считается стоимость этапа. Пустая колонка означает ноль, а не «взять ставку из справочника ресурсов». Отрицательное значение отклоняется.
Операции создаются сами
Если операции с таким названием в справочнике ещё нет, система заводит её автоматически и сразу привязывает к товару. Заранее наполнять справочник операций не нужно.
Названия сверяются без учёта регистра: Резка, резка и РЕЗКА — одна и та
же операция. А вот Резка ЧПУ — уже другая. Опечатка в названии не даст
ошибку, она молча создаст лишнюю операцию в справочнике, поэтому список
названий лучше причесать до загрузки.
Автосозданная операция получает ставку 0 и единицу измерения «ч». Если единицы «ч» в справочнике нет, она тоже заводится сама.
Тем импорт и отличается от загрузки материалов, где единицу измерения надо завести заранее: здесь заранее не нужно ничего, кроме самих товаров.
Товар должен существовать
Единственное, что импорт не создаёт, — сам товар. Артикул не найден:
Товар с SKU «SKU-001» не найден
Артикул принадлежит материалу, а не товару:
SKU «MAT-001» принадлежит не товару, а материалу
Операции привязываются только к товарам. Материалу техкарту не задать.
Колонка «Ресурс» уезжает в примечание
Отдельного поля для ресурса у операции товара нет. Чтобы введённое не потерялось, система приклеивает ресурс к примечанию:
| В файле | Что окажется в примечании |
|---|---|
Ресурс Стол сборки, примечание пустое |
Ресурс: Стол сборки |
Ресурс Стол сборки, примечание лист 18мм |
Ресурс: Стол сборки. лист 18мм |
Ресурс пустой, примечание лист 18мм |
лист 18мм |
То есть это текстовая пометка для человека, а не привязка к станку. Загрузка операций не расставит загрузку по ресурсам и не появится в планировании мощностей. Настоящие ресурсы назначаются в карточке товара и в производственном заказе.
Дубль исчезает из обоих счётчиков
Если операция уже привязана к этому товару, строка пропускается с предупреждением:
Операция «Резка» уже привязана к товару «SKU-001» — строка пропущена
И вот тут важное отличие от импорта рецептов: такая строка не попадает ни в «принято», ни в «отклонено». Она просто исчезает из счётчиков.
Практическое следствие: счётчики не сходятся с числом строк файла. Загрузили 10 строк, видите «Импорт завершён · 8 принято · 0 отклонено» — значит, две строки были дублями. Разница между числом строк и суммой счётчиков и есть число пропущенных.
В импорте рецептов пропущенный дубль, наоборот, попадает в «принято». Два соседних импорта ведут себя противоположно, и полагаться на привычку не стоит — смотрите отчёт.
Одну операцию к товару дважды не привязать
Дубль определяется парой «товар + операция», без учёта порядка и времени. Поэтому техкарту вида «Шлифовка → Окраска → Шлифовка» файлом не задать: вторая шлифовка будет считаться дублем первой и пропадёт.
Обход простой — разведите этапы по названиям: Шлифовка черновая и Шлифовка финишная. Это будут две разные операции справочника, и обе заедут.
Что происходит после нажатия «Загрузить данные»
Предпросмотра нет, строки уходят в базу сразу. Под плиткой появляется полоса
результата, жёлтая при любых замечаниях, со ссылкой «Скачать отчёт об ошибках
(CSV)». Файл приходит как product-operations-import-report.csv с колонками
«Строка», «Уровень», «Сообщение».
Номера строк считаются вместе с заголовком: заголовок — строка 1, первая запись — строка 2.
Импорт построчный, транзакции нет. Одна плохая строка не отменяет остальные, но и отката нет.
Отдельный побочный эффект: операция, созданная автоматически, остаётся в справочнике, даже если её строка потом упала. Если после неудачного импорта в «Настройки» → «Операции» появились лишние записи, удалите их руками.
Где смотреть результат
Откройте карточку товара, вкладку «Операции». Этапы стоят в том порядке, который вы задали колонкой «Порядок», а «Итого» внизу собирает плановое время и стоимость работ.
Вкладки «Операции» может не быть. Она показывается, только если в карточке стоит флажок «Произвести» — блок «Использование» на вкладке «Главная информация». Импорт этот флажок не проверяет и не выставляет: строки будут приняты, а вкладка не появится. Данные при этом на месте — поставьте флажок, и техкарта отобразится.
Краевые случаи
Повторная загрузка того же файла ничего не изменит: все строки уйдут в пропущенные, счётчики покажут нули.
Изменить время или ставку импортом нельзя. Дубль пропускается, старые значения остаются. Правьте в карточке товара.
Два одинаковых «Порядка» в одном товаре ошибки не дают. Этапы встанут рядом, порядок между ними будет произвольным — пронумеруйте заново.
Техкарта не переносится на варианты по отдельности. Операции задаются на товар целиком.
Пустой файл или файл только с заголовком ошибки не даёт: «Импорт завершён · 0 принято · 0 отклонено».
Разделитель и кодировка
- разделитель — точка с запятой (
;), не запятая; - кодировка — UTF-8, иначе «Файл не в кодировке UTF-8. Сохраните CSV как UTF-8.».
Файл с запятыми читается как одна колонка и отбивается сообщением «Ожидается 7 колонок в заголовке, получено 1».
Чего импорт операций не делает
- Не создаёт товары. Их надо завести заранее.
- Не обновляет уже привязанные операции. Дубль пропускается.
- Не удаляет операции из техкарты.
- Не привязывает станок или исполнителя — «Ресурс» остаётся текстом в примечании.
- Не читает XLSX и XLS. Только CSV.
Смотрите также:
- Что такое раздел «Обмен данными» — карта раздела, семь плиток и ассистент импорта
- Производственные операции товара — та же вкладка руками, типы операций и «Итого»
- Стоимость часа ресурса — откуда берётся ставка в производственном заказе
Помогла ли статья?
Не удалось сохранить ответ. Попробуйте ещё раз.
Спасибо за ответ!