AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.02.2013, 18:46   #21  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от Wamr Посмотреть сообщение
для полноты картины нужен текст ошибки, который выдает SQL
Если расскоментировать мой код в 3 селекте, ошибка простая

X++:
Msg 207, Level 16, State 1, Line 31
Invalid column name 'PAYMPURPOSE_ZTR'.
Но! эта колонка есть. Если в 3 селекте в выпадающем списке нет этого поля, то в остальных - есть. Это для меня мистика.

Куски кода:

X++:
 substring('                                                                                                                                                      ',1,140) as n,
        isnull(country.name, '') as name1,
        case
          ---> 3780 26.02.2013
           --  when (Journaltype = 10)
            --then substring(LedgerjournalTrans.PAYMPURPOSE_ZTR,1,1000)
        --<-
здесь нет

X++:
 isNull(CodeId_ZTR, '') as Dimension,
        --(select CompanyGroup from Dimensions (nolock) where Dimensions.Num = custtrans.Dimension) as Dimension,
        custtrans.RContractCode,
        custtrans.accountnum, substring(custtable.name,1, 100),
        (select FinalDelvCustName_ZTR from SalesTable where SalesTable.SalesId = custtrans.DocId_ZTR) as n,
        isnull(country.name, '') as name1,
        case
         --->3780 26.02.2013
         when (Journaltype = 10)
         then substring(LedgerjournalTrans.PAYMPURPOSE_ZTR,1,500)
        
          --<-
здесь есть...
Старый 27.02.2013, 19:01   #22  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от user_ax Посмотреть сообщение
Я добавил свой код в условие case в 3 селекте и последнем (комментарии --->3780 26.02.2013)
Там есть вложенный запрос на 94 строке.
Код:
        left join (select voucher, POSTINGPROFILE, offsetpostingprofile_ru, PaymentStatusUserId_ZTR,
                    LedgerjournalTrans.BankCentralBankPurposeText,LedgerjournalTrans.txt, Journaltype
					from LedgerjournalTrans (nolock)
					inner join LedgerjournalTable on LedgerjournalTrans.journalnum = LedgerjournalTable.journalnum and posted = 1
					 	and Journaltype in(0, 4,  45)  and LedgerjournalTrans.dataareaid = 'zkz'
						and LedgerjournalTrans.dataareaid = 'zkz'
						) as LedgerjournalTrans
Для прикола он назван также as LedgerjournalTrans
там как раз и не хватает поля PAYMPURPOSE_ZTR
Добавьте его во вложенный запрос . На пример:
Код:
        left join (select voucher, POSTINGPROFILE, offsetpostingprofile_ru, PaymentStatusUserId_ZTR, PAYMPURPOSE_ZTR,
                    LedgerjournalTrans.BankCentralBankPurposeText,LedgerjournalTrans.txt, Journaltype
					from LedgerjournalTrans (nolock)
					inner join LedgerjournalTable on LedgerjournalTrans.journalnum = LedgerjournalTable.journalnum and posted = 1
					 	and Journaltype in(0, 4,  45)  and LedgerjournalTrans.dataareaid = 'zkz'
						and LedgerjournalTrans.dataareaid = 'zkz'
						) as LedgerjournalTrans
и раскоментите в 26 стр. ---> 3780 26.02.2013



В 141 строке приведенного кода, нормально. Там просто выборка из таблицы JOIN на 208 строке
Код:
        left join LedgerjournalTrans (nolock) on custtrans.voucher = LedgerjournalTrans.voucher
            and LedgerjournalTrans.dataareaid = 'zkz'
            and (LedgerjournalTrans.postingprofile in
            (select custledgeraccounts.postingprofile from custledgeraccounts (nolock)
            where (accountCode = 2 or (accountcode = 1 and num = custgroup))
            and custledgeraccounts.dataareaid = 'zkz' and
            ltrim(sumaccount) = ltrim(LedgerAccount_ZTR)) or (offsetpostingprofile_ru in
            (select custledgeraccounts.postingprofile from custledgeraccounts (nolock)
            where (accountCode = 2 or (accountcode = 1 and num = custgroup))
            and custledgeraccounts.dataareaid = 'zkz'  and
            ltrim(sumaccount) = ltrim(LedgerAccount_ZTR))))
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.

Последний раз редактировалось Poleax; 27.02.2013 в 19:08.
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 27.02.2013, 19:05   #23  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от user_ax Посмотреть сообщение
Но в первом случае он ругается, что не знает такого поля, хотя выбираю его из выпадающего списка, я так понимаю, что если решить проблему с первым case-ом, тогда будет отображаться то, что нужно.
При выборе из списка, вы выбираете из таблицы из БД. Т.е. вообщем из таблицы LedgerJournalTrans. Это редактор кода SQL выдает список всех полей таблицы, а не подзапроса.

Но у Вас там влож. запрос УРЕЗАННЫМ списком полей. При выполнении и вываливается с ошибкой. нюансы
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 27.02.2013, 19:06   #24  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Poleax
Благодарю, не заметил.
Вставил поле в подзапрос - ругаться перестало, однако построение отчёта идёт не по тому полю, которое мне нужно.
Думал ограничиться добавлением условия в создание запроса, а получается, ещё нужно где-то.
Старый 27.02.2013, 19:07   #25  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от Poleax Посмотреть сообщение
При выборе из списка, вы выбираете из таблицы из БД. Т.е. вообщем из таблицы LedgerJournalTrans. Это редактор кода SQL выдает список всех полей таблицы, а не подзапроса.

Но у Вас там влож. запрос УРЕЗАННЫМ списком полей. При выполнении и вываливается с ошибкой. нюансы
Так вот почему вываливалось неполный перечень полей, эво как, благодарю за разъяснение
Старый 27.02.2013, 19:11   #26  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Разобрался почему не работало. Нужно было ещё в джойнах там где указывается выборка значений and Journaltype and Journaltype in(0, 7, 45) добавить нужный мне номер журнала.

Poleax, спасибо вам большое!
Старый 27.02.2013, 19:18   #27  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Да, не за что.
На будущие если создаете подзапросы и JOINите их, то имена (Alias) присваивайте отличные от существующих таблиц. Чтоб самому потом не запутаться.

К пример для LedgerjournalTrans можно написать: as LJTrans
В БД таблицы LJTrans нет и ошибка будет яснее понять.
В области SELECT можно оперировать полями через алиасе LJTrans.PAYMPURPOSE_ZTR
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
За это сообщение автора поблагодарили: user_ax (1).
Старый 28.02.2013, 11:03   #28  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от Poleax Посмотреть сообщение
Да, не за что.
На будущие если создаете подзапросы и JOINите их, то имена (Alias) присваивайте отличные от существующих таблиц. Чтоб самому потом не запутаться.

К пример для LedgerjournalTrans можно написать: as LJTrans
В БД таблицы LJTrans нет и ошибка будет яснее понять.
В области SELECT можно оперировать полями через алиасе LJTrans.PAYMPURPOSE_ZTR
Обязательно приму ваше предложение, спасибо. Запрос уже был готов, писал не я, я лишь внёмс коррективы. А вот ещё один отчёт буду делать с нуля, ох весело будет))
Теги
sql, выборка, запрос (query)

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Перебор N критериев в SQL запросе berlioz DAX: Программирование 6 22.08.2007 11:33
Влияние WHERE в запросе (SQL) Как объяснить? lagr221374 DAX: Программирование 4 24.08.2006 16:03
Вопрос по SQL и по Аксапте? Hidden DAX: Прочие вопросы 4 30.11.2005 21:18
SQL в Аксапте Smith DAX: Программирование 7 04.03.2005 11:13
Можно ли в аксапте реализовать такой SQL запрос: Sergey_1972 DAX: Программирование 14 18.03.2004 16:33
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:18.