powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / JDE report Условие отбора на Секции
7 сообщений из 7, страница 1 из 1
JDE report Условие отбора на Секции
    #34420933
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, добрый ALL

Проблема:
Есть Вьюха с 2-мя полями для фильтрации (А, Б)

Есть Три Пары возможных значений для фильтрации.
А=100(А1) Б=150(Б1)
А=200(А2) Б=250(Б2)
А=300(А3) Б=350(Б3)

Вопрос:
Как корректно сформулировать условие отбора?

Пояснение:
Если-бы мне потребовалось фильтровать по одному столбцу 3 возможных значения я бы написал
Set User Selection(BC Document Type (F4111), <Equal To>, А1, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А2, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А3, <OR>)

Но в моём случае, при наличии Пар, я пишу:
Set User Selection(BC Document Type (F4111), <Equal To>, А1, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б1, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А2, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б2, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А3, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б3, <OR>)

на выходе получаю пустое множество т.к. значение в столбце не может принимать, одновременно, 2 значения
В последнем Варианте не Хватает Логических скобок вида:
(
Set User Selection(BC Document Type (F4111), <Equal To>, А1, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б1, <OR>)
)
(
Set User Selection(BC Document Type (F4111), <Equal To>, А2, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б2, <OR>)
)
(
Set User Selection(BC Document Type (F4111), <Equal To>, А3, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б3, <OR>)
)

Но как их поставить?
Спасибо
...
Рейтинг: 0 / 0
JDE report Условие отбора на Секции
    #34421039
zhir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В джиде в дата селекшинах, чтобы корректно написать сложное условие нужно для начала написать логическое выражение типа (А+B)*C + (D+E)*F после чего раскрыть скобки и писать юзер селекшин:
A*C+B*C +D*F+E*F. Есть другой вариант. В параметры обработки выносим значения A,B,C,D,E,F и на Do Section (или где там тебе нужно проверка) делаем проверку каждого условия с соответствующими ивентами.

-----<BR>XE_SP23_N1<BR>MS SQLServer2000<BR>-----
...
Рейтинг: 0 / 0
JDE report Условие отбора на Секции
    #34421600
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot zhir]В джиде в дата селекшинах, чтобы корректно написать сложное условие нужно для начала написать логическое выражение типа (А+B)*C + (D+E)*F после чего раскрыть скобки и писать юзер селекшин:
A*C+B*C +D*F+E*F. quot]

Откровенно ничего не понял...
...
Рейтинг: 0 / 0
JDE report Условие отбора на Секции
    #34421610
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanoman zhirВ джиде в дата селекшинах, чтобы корректно написать сложное условие нужно для начала написать логическое выражение типа (А+B)*C + (D+E)*F после чего раскрыть скобки и писать юзер селекшин:
A*C+B*C +D*F+E*F.

Откровенно ничего не понял...

для случая
Set User Selection(BC Document Type (F4111), <Equal To>, А1, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б1, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А2, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б2, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А3, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б3, <OR>)
Что я должен изменить
Скобок наставить?
Я немогу поставить скобку т.к. я немогу осуществить ввод с клавиатуры, а банальной кнопки, со скобками я не вижу...
...
Рейтинг: 0 / 0
JDE report Условие отбора на Секции
    #34421677
zhir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как-то кто-то из тогда ещё работающих в компании Робертсон и Блумс давал вот такой вот FAQ:

"И" имеет больший приоритет, чем "ИЛИ", то есть выражение, записанное в эдике так:
A or B and C or D (1)
интерпретируется так:
A or (B and C) or D (2)

Если нужно все-таки записать условие
(A or B) and (C or D) (3)
то это необходимо делать, например, вот так:

A and C or A and D or B and C or B and D (4)
что интерпретитируется эдиком как
(A and C) or (A and D) or (B and C) or (B and D) (5)

очевидно, условия (5) и (3) эквивалентны
Более простой и не менее практичный случай
(A or B) and C (6)

эквивалентен
(A and C) or (B and C) (7)


Вдумчиво прочитав его ты поймёшь, что же тебе всё-таки нужно сделать, чтоб работал твой селекшн
...
Рейтинг: 0 / 0
JDE report Условие отбора на Секции
    #34421741
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял Вас. Последнее изложение на 5 !
Спасибо!
...
Рейтинг: 0 / 0
JDE report Условие отбора на Секции
    #34421754
zhir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vanoman
...
Set User Selection(BC Document Type (F4111), <Equal To>, А1, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б1, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А2, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б2, <OR>)
Set User Selection(BC Document Type (F4111), <Equal To>, А3, <AND>)
Set User Selection(BC LOTN (F4111), <Equal To>, Б3, <OR>)
...


имхо, в твоём случае, я бы поступил двумя способами:
1. на Do Section следующий код:

If (BC Document Type (F4111), <Equal To>, А1) and (BC LOTN (F4111), <Equal To>, Б1)
...
else
if (BC Document Type (F4111), <Equal To>, А2) and (BC LOTN (F4111), <Equal To>, Б2)
....
end if
end if

ну и так далее.

2. Если у тебя условия выборки жестко кодированы изначально, то можно вьюху серверную написать и по ней потом создать вьюху в жиде. Но это отдельная история как грица.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / JDE report Условие отбора на Секции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]