Дополнительные сведения о фильтрах

В следующем примере приведены дополнительные пояснения, касающиеся сочетания связей AND и OR.

Например, имеется фильтр:

CountryCode ="DK" AND LocationCode ="1" OR Status = "Open"

Если в бизнес-объекте, содержащем рассматриваемые поля, имеются значения:

CountryCode ="CA"
LocationCode = "2"
Status = "Open"

фильтр выдает значение True, а это значит, что такой бизнес-объект будет выбран данным фильтром. Но какое действие предполагалось? То, каким должен быть этот фильтр в действительности, определяется следующим выражением:

CountryCode ="DK" AND (LocationCode ="1" OR Status = "Open")

или, проще говоря, выбрать бизнес-объект с кодом страны "DK" и с кодом местоположения "1" или статусом "Open" (Открыто).

Поскольку ввести скобки в выражение невозможно, второй вариант не реализуется в Business Notification.

Чтобы разрешить эту проблему, можно создать две схемы:

  1. Схему с фильтром: CountryCode = “DK” AND LocationCode = “1”.

  2. И схему с фильтром: CountryCode = “DK” AND Status = “Open”.

В приведенном примере рассмотренный выше бизнес-объект не будет выбран ни одним из фильтров (как и предполагалось). Естественно, чтобы получать уведомления в предусмотренных случаях, пользователи должны быть подписаны на обе эти схемы.