Показать сообщение отдельно
Старый 11.09.2010, 17:00   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
DAX 2009 RU5 - Ошибка компилятора в конструкции select
Всем привет!
Наткнулся тут на интересную ошибку компилятора.
X++:
static void Job1(Args _args)
{
    DocuRef docuRef;
    CustTable custTable;
    ;
    select docuRef
        where docuRef.RefTableId == tablenum(CustTable)
        join custTable // Ошибка компиляции на этой строке
            where custTable.RecId == docuRef.RefRecId;
}
Что интересно, что ошибка проявляется исключительно на такой конструкции. Т.е. не воспринимается использование функции tablenum непосредственно перед оператором join.
Т.е. добавление между tablenum и join еще одного условия, например, написание так:
X++:
where docuRef.RefTableId == tablenum(CustTable) && true
перенос условия с tablenum после join, замена tablenum на custTable.TableId - все прокатывает.
Но в 2009 RU5 компилятор пишет "Синтаксическая ошибка", а в 4.0 SP2 - "Переменная join не объявлена"
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: gl00mie (2).