Подбор группы модификаций ТС
Подбор группы модификаций ТС: базовая группа по виду ТС и топливу и мягкое уточнение по распознанным марке, модели и остатку наименования.
1. Назначение
Процедура собирает группу модификаций, применимых к конкретному ТС: сначала базовую группу по виду ТС и топливу, затем мягкое уточнение по распознанным в наименовании марке, модели и остатку.
Вызывающие:
- приём данных ТС из АИС — Политика обновления из АИС;
- предзаполнение маски окна подбора — Окно подбора модификаций.
В окне подбора используется та же базовая группа и та же композиция уточнения, но результат — значения полей маски, а не сохранённая группа: установка маски остаётся поведением экрана и описана в спеке окна.
Процедура не сохраняет группу, не меняет статус подбора, способ подбора и рассчитанные нормы.
2. Базовая группа
Вход — вид ТС и вид топлива ТС (Транспортное средство), справочник — Марка, модель и модификация ТС.
- Отбираются все модификации этого вида ТС, у которых установлена норма. Какое поле справочника считается нормой — открытый вопрос OQ_BaseNorm; процедура использует готовый признак «норма установлена» и не решает его сама.
- Вид топлива — мягкое условие. Если среди отобранных есть модификации с пустым видом топлива или совпадающие с основным видом топлива ТС, остаются только они. Если таких нет — группа остаётся по виду ТС.
- Пустая группа — валидный результат: у вида ТС и топлива нет модификаций с нормой.
Базовая группа — общий вход и для подбора группы при приёме данных АИС, и для маски окна подбора: маска начинает «Отфильтрованные» с неё, даже когда подбор не выполнялся (способ «эксперт»).
Базовая группа — также вход эталонной нормы \(H_эт\); определение и формула — секция
fuel.reference_norm Методика расчёта расхода топлива.
3. Композиция уточнения
Из базовой группы:
DetectBrandInпо «Марка и модель базы ТС»; если марка найдена — группа сужается по марке;DetectModelпо полученной группе; если модель найдена — группа сужается по модели, а остаток наименования не применяется;- иначе
BuildNameRemainder— остаток наименования используется как подстрока для фильтра по полному наименованию модификации.
Распознавание — Распознавание марки и модели ТС.
Каждый шаг мягкий: если отбор по распознанному значению даёт пустую группу, значение игнорируется, группа остаётся прежней. Жёстких условий в подборе группы нет — строгие условия появляются только в маске, когда их задаёт пользователь.
4. Результат
Группа модификаций — набор строк справочника после базовой группы и мягких уточнений, либо пустая группа. Пустая группа не означает ошибку процедуры: это факт «для этого ТС подходящих модификаций с нормой нет», который вызывающие интерпретируют по-своему (статус подбора, сообщение в окне, способ подбора).
Структурные связи
Использует
- Доменная сущность Марка, модель и модификация ТС
- Доменная сущность Транспортное средство
- Прикладной сервис Распознавание марки и модели ТС
Используется
- Документ Политика обновления из АИС
- Запрос на изменение Независимость маски и отбора в окне подбора модификаций
- Запрос на изменение Эталонная норма и эталонный расход топлива
- Экран Карточка транспортного средства
- Экран Окно подбора модификаций
- Epic Расчёт нормативного расхода топлива
Связанные артефакты
Документы
- Документ Методика расчёта нормативного расхода топлива
- Документ Политика обновления из АИС
- Доменная сущность Марка, модель и модификация ТС
- Доменная сущность Транспортное средство
- Прикладной сервис Распознавание марки и модели ТС
- Экран Окно подбора модификаций