Обмен данными

Импорт операций для товаров из CSV

Как загрузить техкарту файлом: неизвестные операции создаются сами, дубль исчезает из обоих счётчиков, а колонка «Ресурс» уезжает в примечание.

Светлана Золотенкова Автор: Светлана Золотенкова Обновлено: 28 июля 2026 г.

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

Этот импорт устроен так же, как импорт рецептов: одна строка — одна операция в техкарте одного товара. Четыре этапа изделия — четыре строки с одним артикулом.

Где начать загрузку

Меню пользователя → «Настройки» → вкладка «Импорт данных» → плитка «Добавить операции для товаров». Сначала «Скачать шаблон», потом «Загрузить данные».

Колонок ровно семь. Файл с другим числом колонок в заголовке система отобьёт целиком.

Колонки шаблона

Шаблон приходит с готовой техкартой из четырёх этапов на один товар:

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.

Смотрите также:

Помогла ли статья?