Показать сообщение отдельно
Старый 14.04.2008, 12:50   #14  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Однако, парcер не переводит NoYes::Yes в 1
В ходе формирования запроса есть два этапа: 1) - формирование запроса на «внутреннем» аксаптовском SQL, в ходе которого для тех же enum-значений подставляются мнемонические обозначения - значения меток соовт. значений enum для текущего выбранного языка (в частности, для NoYes::Yes и русского языка подставится "Да" без кавычек); 2) преобразование запроса в "родной" SQL, который уже непосредтвенно отсылается на СУБД. На втором этапе парсер запросов преобразует enum-значения в запросе из текста меток в соотв. числовые значения, и именно это я имел в виду в первоначальном сообщении. Результаты второго этапа, очевидно, можно продемонстрировать только с помощью трассировки SQL-запросов.
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Продемонстрируйте на примере, где InventTable.PurchModel точно NoYes
Если под примером подразумевалась строка
X++:
info(strFmt("%1 - %2", inventTable.ItemId, inventTable.PurchModel));
то должен разочаровать: strfmt() и парсер запросов суть вещи разные. А на счет демонстрации - извольте:

PS В привеленном примере я поменял код номенклатуры и включил литералы в запросе.