Цитата:
Сообщение от
timaluhs
Посмотрела я ссылочку - спасибо. Дела совсем не весело.
А про какое фиктивное условие Вы говорите? и чем это может помочь?
В какую сторону мыслить?

При формировании сложно-составных условий через символьную строку Axapta все-таки пытается распарсить указанное там значение именно как Value. Чтобы выделить возможные спец.символы диапазонов и отрицаний. Ну, Axapta ведь как-то "догадывается", что если в условии указать "1..2", то подобную строку надо преобразовать в условие SQL вроде "Field >= 1 AND Field <= 2"
Все описанные "танцы с бубном" вокруг дополнительных скобок, особых символов и разных комбинаций призваны как раз-таки обмануть этот стандартный анализатор. Заставить Axapta принять условие "как есть". Без дополнительного разбора. Иногда это удается. Иногда - нет. Вот когда не удается, но "очень хочется" начинаются всевозможные уловки.
Ну, например, перед сложным условием дописать нечто вроде
X++:
strFmt('((%1) == (%1)) && ((%2 > 0))', ...)
Первая часть, вроде бы, абсолютно бессмысленна. Поле всегда равно самому себе. Однако без этого, вроде бы, бессмысленного условия, корректный запрос не получается...
PS: Народ, не надо писать опровержение, что "у меня получается". Это просто пример. У Вас получилось - и замечательно! Но, "в общем случае" - без гарантий...