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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.02.2013, 12:33   #1  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
:( Условия в запросе sql в аксапте
Поставлена задача модифицировать запрос, который генерирует отчёт Свод дебиторской/кредиторской задолженности.
Нужно, если выборка идёт из журнала накладных(LedgerjournalTable.JournalType = 10), вместо поля RcontractAccount выводить поле LedgerJournalTrans.PaymPurpose_ZTR.

Нашёл класс, который генерирует этот отчёт. В создании отчёта(createdQuery), где есть большой запрос, который, я так понимаю, и генерирует сам отчёт, нашёл блок с условиями и добавил туда свои условия. Проблема в том, что если моё условие добавить в конец блока, метод возвращает false и отчёт не создаётся(будет throw), а если условие поставить посредине блока - пишет. что неверное названия поля PaymPurpose_ZTR. Но! Такое поле есть, проверено.
Подскажите пожалуйста, в какую сторону копать. Вроде такая простая задача и столько стопоров...первый раз просто столкнулся с sql -запросами в аксапте подобного вида..

Условие:

X++:
 case
            when SubjectOfAgreement_ZTR != '' then SubjectOfAgreement_ZTR
            when (LedgerjournalTrans.BankCentralBankPurposeText is not null and LedgerjournalTrans.BankCentralBankPurposeText != '' and  Journaltype = 4)
                then LedgerjournalTrans.BankCentralBankPurposeText
                  --->3780 26.02.2013
          when (LedgerJournalTable.Journaltype = 10 and LedgerjournalTrans.PaymPurpose_ZTR is not null)
           then LedgerjournalTrans.PaymPurpose_ZTR
          --<-
            when (LedgerjournalTrans.Txt is not null and LedgerjournalTrans.Txt != '' and (Journaltype = 0 or Journaltype = 45))
                then custtrans.Txt
            when (substring(rContractTable.RContractSubject,1,1000) is not null and substring(rContractTable.RContractSubject,1,1000) != '')  then substring(rContractTable.RContractSubject,1,1000)

            else ''
        end as RContractSubject,
" + @"
это в select, ниже ещё insert есть

X++:
case
            when SubjectOfAgreement_ZTR != '' then SubjectOfAgreement_ZTR
                  --->3780 26.02.2013
         when (LedgerJournalTable.Journaltype = 10 and LedgerjournalTrans.PaymPurpose_ZTR is not null)
         then LedgerjournalTrans.PaymPurpose_ZTR
          --<-
            when (LedgerjournalTrans.Txt is not null and LedgerjournalTrans.Txt != '' /*and (Journaltype = 0 or Journaltype = 45)*/)
                then custtrans.Txt
            when (substring(rContractTable.RContractSubject,1,1000) is not null and substring(rContractTable.RContractSubject,1,1000) != '')  then substring(rContractTable.RContractSubject,1,1000)

            else ''
        end as RContractSubject,
DAX 2009, 5.0.1500, ,SQL Server 2008.

Буду благодарен за любые ответы.
Теги
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, время: 14:12.