Я не удержался и попробовал.
Блин. У меня все делает. Все отбирает.
За основу взял форму LedgerTransAccountPeriod.
В init формы добавил range.
super();
query = new Query();
query.addDataSource(tablenum(LedgerTable));
ledgerTable_ds.query(query);
crit = ledgerTable_ds.query().dataSourceNo(1).addRange(fieldnum(LedgerTable, AccountNum));
В executeQuery датасоурса устанавливаю value
criteria.value('*10*');
Все работает.
У меня Axapta 2.5. Версия исполнимого файла от международного СП2.
Такая проблема была в версиях 2.1 с неправильноустановленной кодировкой на SQL7.0 или на MSDE.
Может все же кодировка?
Цитата:
Изначально опубликовано PlasticinE
Способ-то, конечно, есть...
Как я уже говорил, это проявляется только при использовании Ranges в Query. При подстановке в значение <i>Range</i> конструкции с <i>LIKE</i> Aксапта ругается и не может распарсить строку:
Есть select в самом X++
Есть query в репозитарии.
Есть query d формах и отчетах.
Query понимают ranges и разбирают "*","?","..","<",">".
select не разбирает ничего.
В query нельзя писать like (Query поймет его как подстроку)
В query можно явно подставить произвольный select как SQL-выражение. Тогда ничего разбираться не будет - что подставишь то и будет передаваться на SQL-сервер. В этом случае надо использовать метасимволы % и _.
По-моему у тебя где-то в терминологии путаница. Или в настройках ODBC с SQL'ем.
Цитата:
Изначально опубликовано PlasticinE
Но... Не я распоряжаюсь КАК вести учет и прочее. И не от меня зависит как будет стоять выравнивание... Вот и приходится работать с тем как есть...
Как вести учет - согласен.
Но выравнивание! А кто ж еще кроме тебя будет определять такие сугубо программисткие вещи?
Цитата:
Изначально опубликовано PlasticinE
Если же вставлять <i>LIKE</i> в обычный <i>SELECT</i>, то все замечательно работает. Но, как вами же, товарищ mazzy (ничего что я так - мне так привычней
), скзано - лучший подход при внедрении <b>Минимум программирования</b>.
При этом минимальней получится добавить 1-2 <i>Range</i> в <i>Query</i>. Чем писать собственный <i>SELECT</i> с последующим разбором того что он выдал ручками...
Или нет?.. (не претендую на высокий класс программирования)
Давай тогда подробнее.
Что делаешь? Какой select и куда? Select Аксапты или Select SQL-я?
Ты вставляешь range каким образом и в какие методы?
На худой конец (это если конец совсем худой) скажи версию SQL, ODBC, кодировку базы на сервере.
Слушай, а ты в каком методе устанавливаешь value?
В ините формы? Если так... Дык, ведь это value будет переинициализировано в init'е датасоурса.