Правило В Почте Не Работает

Тема в разделе "Lotus - Программирование", создана пользователем deeeman, 18 окт 2013.

  1. deeeman

    deeeman Well-Known Member

    Регистрация:
    4 дек 2007
    Сообщения:
    382
    Симпатии:
    0
    делаю такое почтовое правило:

    Если Отправитель содержит "Отправитель1"
    И Тема содержит "Тема 1"

    ИЛИ Отправитель содержит "Отправитель2"
    И Тема содержит "Тема 2"

    ТО переложить в папку "Папка1"


    не работает нормально((
    как я проверял:

    отправил письмо от Отправитель1 с темой 1 - не ушло в папку
    отправил письмо от Отправитель2 с темой 2 - УШЛО в папку

    получается же такая формула:
    А & B | C & D
    оно без скобок и операция И приоритетна, и исполниться оно должно если левая часть = Труе или правая часть = Труе.

    как правильно построить формулу чтобы работало в оба случая?
    разбить на 2 правила не предлагать!
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Зря, это возможно единственны ход.
    Надо смотреть как лотус разворачивает это в логические операторы.
    А то может у него & и | на одном уровне)

    Ну так и есть, проверил:
    Код ( (Unknown Language)):
    a:=0;
    b:=0;
    c:=1;
    d:=1;
    res:=a & b | c & d;
    @Prompt([Ok];"";@Text(res))
    Вернуло 1

    Код ( (Unknown Language)):
    a:=1;
    b:=1;
    c:=0;
    d:=0;
    res:=a & b | c & d;
    @Prompt([Ok];"";@Text(res))
    Вернуло 0
    Получается, что хотим получить F = (А & B) | (C & D), а по факту имеем: F1 = ((А & B) | C) & D
     

    Вложения:

  3. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Если инетересует где это происходит, то смотрите в ПЯ библиотеку Rules, функцию ProcessConditions.
    Там идет разбор условий и операторов по полю "tokconditionlist"
    Все в одну строку, без расстановки скобок
     
  4. deeeman

    deeeman Well-Known Member

    Регистрация:
    4 дек 2007
    Сообщения:
    382
    Симпатии:
    0
    спс!
    тоже копался и понял что парсит он подряд операторы без приоритета..
    вторгаться в код ПЯ не получиться у меня.
    придеться дробиться на мелкие правила..
     
Загрузка...

Поделиться этой страницей