Сантехническая номенклатура: покрытие отдельно от размера
Сравнение восьми пар не склеивает черный и хромированный смеситель и приводит сантиметры к миллиметрам.
Задача и принятое решение
Название M1 совпадает у изделий с разным покрытием, а одинаковый переход 20×25 записан в двух единицах. Одной близости текста недостаточно.
Я разделил марку, покрытие и два размера. Перевод chrome → хром разрешен словарем; перестановка 20×25 на 25×20 не скрывается, поскольку направление перехода задано исходником.
Порядок двух размеров значим. Отсутствующее покрытие не считается любым покрытием.
Проверить решение
Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.
| Пара | Позиция A | Позиция B | Решение | Основание |
|---|---|---|---|---|
| PAIR-01 | M1 хром | M1 chrome | Совпадают признаки | Все значимые поля совпали |
| PAIR-02 | M1 черный | M1 хром | Разные позиции | Различаются: Покрытие |
| PAIR-03 | Переход 20×25 | Переход 20×20 | Разные позиции | Различаются: Выход |
| PAIR-04 | M1 без цвета | M1 хром | Нужно уточнение | Не заданы: Покрытие |
| PAIR-05 | M1B | M1 | Разные позиции | Различаются: Модель |
| PAIR-06 | R1 20×25 | R1 25×20 | Разные позиции | Различаются: Вход, Выход |
| PAIR-07 | M2 white | M2 белый | Совпадают признаки | Все значимые поля совпали |
| PAIR-08 | M2 без выхода | M2 | Нужно уточнение | Не заданы: Выход |
Словарь покрытия и единиц открыт в source.json. Направление перехода не нормализуется перестановкой.
Исходный набор
Авторские пары номенклатуры с явно заданными спецификациями. Это проверка правил сопоставления, не ассортимент действующего поставщика.
Изменить входные строки
Посмотреть исходные строки
| Пара | Позиция A | Позиция B | A Модель | B Модель | A Покрытие | B Покрытие | A Вход | B Вход | A Выход | B Выход |
|---|---|---|---|---|---|---|---|---|---|---|
| PAIR-01 | M1 хром | M1 chrome | M1 | M1 | хром | chrome | 20 мм | 2 см | 25 мм | 2,5 см |
| PAIR-02 | M1 черный | M1 хром | M1 | M1 | черный | хром | 20 мм | 20 мм | 25 мм | 25 мм |
| PAIR-03 | Переход 20×25 | Переход 20×20 | R1 | R1 | хром | хром | 20 мм | 20 мм | 25 мм | 20 мм |
| PAIR-04 | M1 без цвета | M1 хром | M1 | M1 | хром | 20 мм | 20 мм | 25 мм | 25 мм | |
| PAIR-05 | M1B | M1 | M1B | M1 | хром | хром | 20 мм | 20 мм | 25 мм | 25 мм |
| PAIR-06 | R1 20×25 | R1 25×20 | R1 | R1 | хром | хром | 20 мм | 25 мм | 25 мм | 20 мм |
| PAIR-07 | M2 white | M2 белый | M2 | M2 | white | белый | 15 мм | 1,5 см | 15 мм | 15 мм |
| PAIR-08 | M2 без выхода | M2 | M2 | M2 | white | белый | 15 мм | 15 мм | 15 мм |
Что получилось
PAIR-01 и PAIR-07 совпали после перевода единиц и названий цвета. Черный и хромированный M1 разделены; направление перехода 20×25 не приравнено к 25×20. Две пары без покрытия или выходного размера оставлены на уточнение.
Выполненная проверка
| Проверка | Результат |
|---|---|
| Все восемь пар совпадают с независимо заданными решениями | Пройдена |
| Отсутствующее значимое поле отправляет совпадение на уточнение | Пройдена |
| Перестановка двух сторон не меняет решение | Пройдена |
Совпадение заданных полей не подтверждает неизвестные свойства. Коммерческая идентичность требует полной спецификации и источника.
Скачать материалы и повторить проверку
source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css
Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.