Редактирование тарифного поддерева
Для добавления в узел дерева дочерних элементов нажмите по нему правой клавишей мышки, выберите Добавить и выберите нужный тип узла. На рисунке показано, как в модуль DialUp добавляется узел Услуга.
А вот вид дерева после добавления узла:
Для того, чтобы редактировать узел нажмите правой кнопкой и выберите в меню Редактировать. Для узла отобразится специфичный для него редактор. Ниже изображен редактор для узла типа "Услуга". После завершения редактирования (в нашем случае, это выбор услуги) необходимо нажать кнопку с галочкой для сохранения результата, либо с красным крестиком, если результат не нужно сохранять. В некоторых узлах вместо данных кнопок реализованы кнопки Ок и Отмена.
Во многих узлах позиция дочернего узала не имеет значения. Но иногда она важна. Для смены положения узла в родителе нужно в меню узла выбрать пункты Двинуть вверх или Двинуть вниз.
Положение узла значимо, например, для временных фильтров. Если цена будет найдена в одном фильтре, следующий уже не будет просмотрен. Поэтому можно располагать самые жесткие ограничения (праздники, например) первыми, а остальные после них.
Для удаления узла выберите Удалить узел в контекстном меню узла.
Тарифные деревья поддерживают возможность поиска по отображению. Для поиска воспользуйтесь текстовой областью над деревом, кнопками Найти и Найти следующее. Найденные узлы подсвечиваются синим цветом. Если вхождений больше нет, дерево свернется.
В ходе правки тарифное дерево может принимать неконсистентные состояния. Например, вы удалили узел с какой-то стоимостью и ещё не добавили новый. При этом в этот момент дерево не пригодно для тарификации.
В модулях Inet, NPay кэшированное в памяти тарифицирующего приложения дерево не перечитывается до тех пор, пока не будет передано событие. Событие передаётся выбором пункта Оповестить об изменениях в корневом узле модульного подерева. О внесённых в поддерево изменениях сигнализирует оранжевый цвет корневого узла.
Это новая технология, на которую постепенно будут переведены все модули. Она позволяет перечитывать тарифы даже для соединений, тарифицирующихся в реальном времени.
В оставшихся модулях считывание производится при первом обращении к дереву после его правки. Т.е. при правке дерева необходимо стараться уменьшить время, когда оно пребывает в неконсистентном состоянии. Отчасти проблема сглаживается тем, что для тарификации реального времени (DialUp-модуль) дерево кэшируется в момент авторизации соединения и далее не изменяется даже, если будет поправлено. Т.е. правка дерева может вызвать только временные проблемы с авторизацией соединений. Для периодической тарификации (IPN, RSCM и т.п.) дерево также загружается в момент начала обсчёта и далее используется. Т.е. проблема может возникнуть только, если на начало периодической тарификации дерево некорректно, повторый переобсчёт проблему устраняет.
Оранжевый цвет корневого дерева также может информировать об ошибках в структуре его хранения. В этом случае вам следует выбрать в контекстном меню корневого узла пункт Исправить ошибки, после чего закрыть тариф, открыть снова и проверить порядок узлов.