Поставлена задача модифицировать запрос, который генерирует отчёт Свод дебиторской/кредиторской задолженности.
Нужно, если выборка идёт из журнала накладных(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.
Буду благодарен за любые ответы.