Фильтр по времени
Редактор узла и узел в тарифе выглядят так:
Для редактирования условия нужно вызвать редактор, сделав двойной клик по строке условия в редакторе, либо нажав кнопку Добавить. Набор масок дней, часов, дней недели и месяцев, перечисленных в условии, должен выполнятся весь, т.е. чтобы сработало условие, нужно совпадение всех масок. При вводе масок условия часы могут принимать значения от 0 до 23, дни недели от 1 до 7, дни месяца от 1 до 31, месяцы от 1 - 12. При вводе можно использовать символы "-" ( интервал со входящими концами ) и "," ( перечисление ). Для удобства ввода можно использовать записи * (будут выведены все значения), а также */n (n - целое число, все что делится на n, например */2 - 0, 2, 4, 6... ), либо *\n ( n - целое число, все что не делится на n).
Узел выступает фильтром тарифного запроса, запрос пропускается к обработке в узлах-потомках только, если параметр "время" в запросе совпадает хотя бы с одним набором условий узла. Фильтр позволяет определять в тарифах различную стоимость услуги по времени суток, дням недели, месяца. Пустой набор ограничений означает отсутствие фильтра по времени. Узел пропускает в себя запрос, только если перед ним в том же узле-предке не стоял другой фильтр по времени, либо Фильтр по типу времени, уже пропустивший запрос в себя (принявший запрос). Данный принцип позволяет делать наборы ограничений по умолчанию. Например, так можно определить стоимость в будние дни и праздники для модуля DialUp.
В приведенном выше примере во втором наборе ограничений не указаны явно дни с 1 по 5, узел обрабатывает запросы, не попавшие в первый набор ограничений. Для данного случая метод не дает ощутимой выгоды, однако при необходимости указывать многочисленные праздничные дни он удобен. Обратите внимание, что следующий пример уже не будет работать аналогичным образом. Т.к. у узлов разный предок.
Во втором примере все запросы будет принимать второй пустой набор ограничений. Т.к. у узлов разный узел-предок. Данную ситуацию (желание задать цены на будние дни с периодом) корректно было бы разрешить так: