![]() |
#1 |
Участник
|
![]()
Есть такой метод SysQuery::valueEmptyString(), который возвращает, так сказать, обозначение для пустого значения поля - две двойные кавычки. Если делать запрос не программно через всякие QueryBuildDataSource/QueryBuildRange, а "визуально" в AOT, то там нужно для поиска записей с пустым полем указать эти две двойные кавычки в значении Range. Все замечательно, запрос проверен, код, его использующий, отлажен, переносим проект на тестовое (или рабочее) приложение через экспорт-импорт. И тут-то нас ожидает подстава со стороны ядра Аксапты: при выгрузке запросов из AOT'а значение таких Range будет утеряно!
![]() Код: Value #"" Код: Value # Проверено на AX 3 SP3, AX3 KR3. |
|
![]() |
#2 |
Участник
|
Условие "" эквивалентно условию с незаданной строкой.
Чтобы задать условие "" в коде, кавычки надо экранировать бэкслешем \"\" То, что ядро трактует "" отлично от незаданной строки - ошибка ядра, а экспорт совершенно прав См. FAQ: http://axapta.mazzy.ru/lib/emptyqueryrange/ |
|
![]() |
#3 |
Участник
|
Цитата:
![]() Цитата:
Цитата:
![]() ![]() ![]() PS. На картинке слева "квадратик", с которым сравнивается CustInvoiceJour.LedgerVoucher, - это символ с кодом 2, которым Oracle обозначает пустые строки. Последний раз редактировалось gl00mie; 26.09.2007 в 15:43. |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
![]() |
#4 |
Участник
|
Хм... Пока остаюсь при своем. Но буду тестировать. Спасибо.
|
|