Показать сообщение отдельно
Старый 01.07.2004, 12:12   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Как в range на одно и тоже контейнерное поле поставить условие: "исключ." && like
У меня проблема с контейнерными полями:
В классе который вызывает отчет я задаю Range'и на таблицу ledgerJournalTrans. На поле Dimension[3] мне необходимо установить условие, которое в обычном Аксаптовском SQL-e работало бы так :
select ledgerJournalTrans where
ledgerJournalTrans.Dimension[3] like "ОТВ*" &&
ledgerJournalTrans.Dimension[3] != "ОТВ-00"
т.е. мне нужны строки где в поле Dimension[3] встречается фрагмент "ОТВ" но без "ОТВ-00".

На этом форуме нашел обсуждения по этой теме и по аналогии получилось:

1-ый вариант : query.dataSourceTable(tablenum(LedgerJournalTrans)).addRange(fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value(strfmt('((%3 like "%1") && (%3 !="%2"))', "ОТВ","ОТВ-00","Dimension"));

2-й вариант :
query.dataSourceTable(tablenum(LedgerJournalTrans)).addRange(fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value("ОТВ*");
query.dataSourceTable(tablenum(LedgerJournalTrans)).addRange(fieldId2Ext(fieldNum(LedgerJournalTrans,Dimension),3)).value("!ОТВ-00");
Но ни 1-ый ни 2-ой вариант не работает. Help me plz, если это возможно.