Показать сообщение отдельно
Старый 15.11.2005, 13:11   #24  
rkrivov is offline
rkrivov
Участник
Аватар для rkrivov
 
31 / 10 (1) +
Регистрация: 18.02.2005
Адрес: Москва
?
Цитата:
Сообщение от AndyD
Вы не поняли.
В расширенном диапазоне (т.е. при добавлении условий в Range) нельзя обратиться к полям входящим в массив полей кроме первого. К первому можно обратиться по имени поля (т.е. dimension без указания квадратных скобок и индекса в массиве).
Парсер запросов проверяет поле на сущестрование ч-з AOT. Если указать dimension5_ - то такого поля нет в AOT - по-этому возникает ошибка, хотя поле есть в базе данных. Фактически проверяется только существует это поле или нет (с учетом конфигурационных ключей) и если существует - то подставляется в запрос, если нет - выбрасывается exception (если отключен конфигурационный ключ, то подставляется условие 1=?). К сожалению нельзя создать фейковое поле (например, dimension5_) для обхода этого ограничения - не проходит синхронизация AOT с б/д

Вообще-же в датасоурсе обратиться к полю с произвольным индексом ч-з AddRange() можно - по его extId
Но ведь следующие строки отрабатывают:
X++:
fieldName = strFmt( "dimension[%1]", _dimensionNumber );
fieldId = fieldName2Id( tableNum(LedgerBalancesDimTrans), fieldId );
все отрабатывает... или это именно в value нельзя добавлять выражения с такими полями?