Нормализация прайса · P41-C04

Прайс с рублевым и евровым разделами: раздельные итоги

Валюта наследуется от заголовка раздела, но не переживает явный разрыв; строка вне раздела попадает на сверку.

Задача и принятое решение

В прайсе цена указана без валюты в каждой товарной строке. После двух разделов есть отдельная вставка без заголовка, которую легко ошибочно принять за евро.

Я ввела явные события начала и окончания раздела. Цена остается вместе с исходной валютой, повторный заголовок не становится товаром. Общую сумму в одной валюте не вывожу: курс в этом наборе не задан.

Валюта берется только из заголовка RUB/EUR. Пересчета по предположительному курсу нет.

Проверить решение

Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.

4400Итог RUB
75Итог EUR
1Без валюты
ПозицияЦенаВалютаРешение
Лоток L11200RUBВ реестр
Лоток L21800RUBВ реестр
Крышка K1350RUBВ реестр
Разделитель D1450RUBВ реестр
Светильник S125EURВ реестр
Светильник S238EURВ реестр
Драйвер D212EURВ реестр
Кабель C1500Не определенаУточнить раздел
Крепление K2600RUBВ реестр

Итоги по валютам не складываются. Неопределенная строка исключена из обоих итогов.

Исходный набор

Авторский контрольный набор; не клиентские документы и не результаты внешней модели.

Изменить входные строки
Посмотреть исходные строки
ТипВалютаПозицияЦена
разделRUB0
товарЛоток L11200
товарЛоток L21800
товарКрышка K1350
товарРазделитель D1450
конец0
разделEUR0
товарСветильник S125
товарСветильник S238
товарДрайвер D212
конец0
товарКабель C1500
разделRUB0
товарКрепление K2600

Что получилось

Девять позиций распределены в реестр: 4400 RUB, 75 EUR и кабель за 500 без установленной валюты. Кабель не добавлен ни к одному итогу. Прогон с USD оставляет соответствующий раздел на уточнении.

Выполненная проверка

ПроверкаРезультат
Рубли 4400 и евро 75 посчитаны раздельноПройдена
Разрыв раздела не наследует EUR в строку кабеляПройдена
Неподдерживаемая валюта не становится рублямиПройдена

Нормализация не проверяет актуальность цен и не конвертирует валюты.

Скачать материалы и повторить проверку

source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css

Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.