Урок
Урок 5. Загружаем маленький прайс-лист
Результат: внешняя обработка показывает, что сделает с четырьмя строками прайса, применяет одну нужную цену и при повторе не меняет данные снова.
- Время
- Самостоятельная практика
- Артефакт
- Внешняя обработка импорта небольшого прайс-листа с предпросмотром
- Контрольная точка
- Применение и повтор сверены с контрольным файлом без создания лишних товаров
Результат: внешняя обработка показывает, что сделает с четырьмя строками прайса, применяет одну нужную цену и при повторе не меняет данные снова.
Продолжай в отдельной учебной УНФ с синтетической номенклатурой. В проекте Codex начни новую задачу «Импорт прайса»; вопросы о сопоставлении, разработку EPF и исправления этой обработки веди в ней. В этом уроке агент впервые помогает с пакетной записью. Поэтому сначала получим понятный предпросмотр, а применение проверим отдельно.
1. Подготовь известный ответ
В учебной базе создай или найди два вымышленных товара с уникальными артикулами COURSE-A и COURSE-B. Для одного выбранного вида цены поставь им 90 и 120 рублей на дату упражнения. Убедись, что в этом виде цены нет дублирующих записей, которые сделают результат неоднозначным. Создай UTF-8 CSV с разделителем ;:
Артикул;Цена
COURSE-A;100
COURSE-B;120
COURSE-MISSING;50
COURSE-A;-10
Правила упражнения: ищем существующий товар по уникальному артикулу; новые товары не создаём; сначала отвергаем неверную цену или неизвестный артикул, поэтому четвёртая строка остаётся ошибкой, а не повторным обновлением A; равная цена — пропуск. Для двух допустимых строк один артикул встречается один раз. Ожидаемый предпросмотр: одно обновление, один пропуск и две ошибки. После применения цена A равна 100, B равна 120; повтор файла даёт ноль обновлений. Если в твоей УНФ выбранный вид цены хранится или устанавливается иначе, сначала выясни её механизм и не подменяй его прямой записью в случайный регистр.
2. Пусть агент найдёт способ записи
Открой ему разрешённые XML-исходники и новую папку src/price-import внутри проекта курса. Отправь:
Исследуй в этой версии УНФ, как внешняя обработка может менять
выбранный вид цены номенклатуры. Найди реальные объекты, ключ
сопоставления по артикулу и штатный механизм записи. Ничего не меняй.
Для четырёх строк CSV из урока предложи внешний EPF с режимами
«Предпросмотр» и «Применить». Покажи, какие строки должны попасть
в обновление, пропуск и ошибку. Если способ записи не подтверждён
исходниками, скажи, чего не хватает.
Сравни найденные объекты с метаданными своей базы. Особое внимание — виду цены, дате действия и уникальности артикула. Если артикул не является надёжным ключом в твоём контуре, остановись и выбери другой синтетический ключ до кода.
3. Закажи обработку по частям
Создай исходники одной внешней обработки в src/price-import.
Сначала чтение UTF-8 CSV, проверка строк и предпросмотр без записи:
номер строки, артикул, старая цена, новая цена, действие или ошибка.
Затем отдельная команда «Применить» для разрешённых строк.
Новые товары не создавай. Ошибочная строка не должна мешать остальным;
ошибку записи покажи для конкретной строки. Повтор того же файла
не должен создавать новых изменений. Покажи preview операций и diff,
проверь структуру EPF и BSL. Базу не загружай.
Просмотри diff: он должен относиться к одной внешней обработке. Логика чтения, проверки и записи должна быть различима. Предпросмотр не должен вызывать запись даже косвенно. Если агент добавил регламентное задание в типовую конфигурацию без найденного механизма подключения, отклони этот кусок.
4. Проверь на учебной базе
Собери EPF поддерживаемым способом и открой собранный файл в учебной базе. Сначала нажми «Предпросмотр»: сравни четыре строки с ожидаемыми 1/1/2 и убедись, что цены не изменились. Затем после точки восстановления примени план. Открой цены товаров отдельно от обработки и проверь 100 и 120. Запусти тот же файл ещё раз: предпросмотр и применение не должны предложить обновление. Отдельно проверь файл с испорченной ценой и отмену выбора файла.
Если EPF собрался, но не открылся, это ещё не готовая обработка. Если открылся, но числа не совпали, проверь сопоставление и дату цены до изменения кода.
5. Добавь запуск по расписанию, если маршрут подтверждён
Попроси агента найти в твоей версии УНФ и БСП поддерживаемый способ подключить внешнюю обработку как регламентную. Он должен показать точку регистрации, пользователя задания, входной файл и способ получить результат выполнения. Если такого маршрута нет или он требует неподготовленной инфраструктуры, оставь ручной импорт рабочим результатом урока, а расписание — отдельной незаконченной частью.
Когда маршрут есть, запускай по расписанию только на синтетическом файле. Проверь фактический запуск и цены после него; одна настроенная строка расписания не доказывает, что обработка выполнилась.