Первый рабочий день в ИТ-отделе крупной компании редко бывает спокойным. Особенно если вы джуниор, а перед вами сразу ставят задачу, от которой зависит сделка с китайским поставщиком. История Данилы — собирательный образ: 22-летний «промпт-архитектор», уверенный, что ИИ заменил сеньоров, менеджер Таня с флешкой на 300 000 строк и сеньор Михалыч с воблой. Но за комичной обёрткой скрываются реальные проблемы, с которыми сталкиваются новички в автоматизации закупок и ВЭД. Разберём, как действовать, чтобы не наломать дров.
Почему прайс на 300 000 строк — это не просто файл
Менеджер по закупкам приносит прайс-лист поставщика и просит «быстренько загрузить в 1С». Для джуниора это выглядит как рутинная задача: распарсить CSV, залить в базу. Но на практике такой файл содержит десятки неочевидных ловушек: разные единицы измерения, скрытые скидки, условия доставки, НДС, курсовые разницы. Если просто загрузить данные «как есть», можно получить некорректные цены и потерять деньги на сделке. Первый шаг — не хвататься за код, а понять бизнес-контекст.
- Уточните у заказчика, какие поля критичны, а какие можно игнорировать.
- Проверьте структуру файла: есть ли заголовки, разделители, пустые строки, дубликаты.
- Выясните, как цены соотносятся с условиями поставки (FOB, CIF, EXW) и включён ли НДС.
Типичная ошибка новичка — сразу писать скрипт, не задав ни одного вопроса. В итоге получается «красивенько», но неверно.
Как проверить прайс на скрытые риски: чек-лист для джуниора
Прежде чем автоматизировать загрузку, нужно убедиться, что данные в прайсе не приведут к финансовым потерям. Вот минимальный набор проверок, который стоит согласовать с менеджером и сеньором.
- Валидация форматов: числа не должны содержать букв, разделителей тысяч, лишних пробелов. Даты — в едином формате.
- Проверка диапазонов: цена не может быть отрицательной или нулевой, количество — отрицательным.
- Сопоставление артикулов: убедитесь, что артикулы уникальны и совпадают с внутренней номенклатурой.
- Условия скидок: если в прайсе есть колонка со скидкой, проверьте, как она применяется — к цене за единицу или к общей сумме.
- Курс валют: если цены в юанях, уточните, по какому курсу пересчитывать и на какую дату.
Пример: в прайсе колонка «Цена» содержит значения «12,5 юаней» — если просто убрать текст, получится 125, что в 10 раз больше. Или скидка указана как «10%», а в другой строке — «0.1». Без проверки типов данных такая загрузка приведёт к ошибкам в заказах.
Типичные ошибки джуниора в первый день (и как их избежать)
Данила уверен, что если код компилируется, то он молодец. Но в реальной работе важнее не синтаксис, а результат для бизнеса. Вот что часто идёт не так.
- Игнорирование требований заказчика. Таня хочет «скидочки», а вы делаете универсальный парсер. Согласуйте критерии приёмки до начала работы.
- Отсутствие обработки ошибок. Если в строке 150 000 встретится битое значение, скрипт не должен падать — предусмотрите логирование и пропуск проблемных записей.
- Попытка сделать всё сразу. Не пытайтесь загрузить 300 000 строк в тестовую базу без предварительной проверки на выборке из 100–200 строк.
- Нежелание спрашивать. Сеньор Михалыч может казаться занятым, но лучше задать вопрос, чем переделывать работу.
Практический шаг: возьмите первые 50 строк прайса, вручную проверьте их корректность, затем напишите скрипт, который обрабатывает именно эти строки. Убедитесь, что результат совпадает с ожиданием заказчика. И только потом масштабируйте.
Что делать, если всё идёт не по плану
В истории Данилы день начинается с вторжения Тани, и это норма для ИТ-отдела, который поддерживает закупки. Вместо чтения документации приходится решать срочную задачу. Как не потерять голову?
- Зафиксируйте задачу письменно: что нужно сделать, к какому сроку, какие данные предоставлены. Это снизит риск недопонимания.
- Разбейте работу на этапы: анализ файла, проверка данных, прототип загрузки, тестирование на выборке, полная загрузка.
- Согласуйте промежуточный результат с менеджером и тимлидом — например, показать загруженные 100 строк и получить обратную связь.
- Не стесняйтесь эскалировать, если видите, что данные в прайсе противоречивы или условий сделки не хватает для корректной автоматизации.
Пример из практики: джуниор загрузил прайс, но не учёл, что поставщик указывает цены без НДС, а в системе нужно с НДС. В результате счёт ушёл с заниженной суммой, и компания потеряла маржу. Чтобы избежать такого, всегда уточняйте налоговый статус цен и проверяйте итоговые суммы на нескольких строках.
Первый рабочий день — это не про демонстрацию скорости кодирования, а про умение задавать вопросы, проверять данные и доводить задачу до результата, который принимает бизнес. Данила запомнит этот день надолго, но если он последует простым шагам, то сможет превратить хаос в управляемый процесс.