Користувач:Bilan.k
Правила встановлення пріоритетів
При виконанні в Системі низки операцій відбувається звернення до довідкових даних з метою вибору конкретного запису (конкретного правила) для застосування у розрахунках. У деяких довідниках (наприклад, «Прейскуранти», «Сценарії користвача») використовується поняття пріоритету, за допомогою якого користувач встановлює послідовність перевірки записів на можливість використання в розрахунку. Спочатку береться запис із найменшим значенням пріоритету, якщо вона не підходить під умови розрахунку, береться наступний запис. І так далі, доки умова застосування запису (правила) не підійде під умову розрахунку.
Що значення пріоритету нижче, то сам пріоритет вищий. Найвищий пріоритет у правила зі значенням "0". Якщо у записів значення пріоритетів однакове, у розрахунку перевірятиметься запис, знайдений першим у БД.
Під час встановлення пріоритетів необхідно керуватися принципом «від приватного до загального». Чим менше у правилі деталізації, тим із більшою часткою ймовірності воно виявиться застосованим і буде обрано для конкретного випадку. Тому правило з більшою деталізацією має мати більший пріоритет.
Приклад. Припустимо, у розрахунку мають бути використані дві умови: «A» та «B». У довіднику введено записи: Якщо записам будуть розставлені пріоритети: 0, 1, 2, то Система проведе перевірку на виконання умови «A», і оскільки умова виконується, застосує його. Якщо записам будуть розставлені однакові пріоритети: 1, 1, 1, результат буде залежати від фізичного розташування записів в БД, тобто буде непередбачуваним. Правильним буде розстановка пріоритетів у порядку 2, 1, 0. У цьому випадку спочатку буде проведено перевірку на виконання умови з пріоритетом «0», яка дасть негативний результат: {A, B, C} ≠ {A, B}. Перевірка умови з наступним пріоритетом («1») дасть потрібний результат: {A, B} = {A, B}, отже, і буде підставлено алгоритм розрахунку.