Уважаемые господа и товарищи!
Вот с какой бедой я столкнулся:
Есть разработанный мной отчет,
В корне DataSources два независмых датасорса: один по PurchTable с несколькими подчиненными уровнями, второй по LedgerTable без подчиненных датасорсов.
Далее в корне GeneratedDesign PageHeader, с полями, использующими PurchTable и несколько секций, причем все кроме одной используют таблицы из подчиненных датасорсов к PurchTable, а одна, последняя, использует LedgerTable.
В последней секции у Body перекрыт executeSection, в котором используется такой оператор:
PHP код:
while select ledgerTrans
join VendInvoiceJour
where (ledgerTrans.TransDate == VendInvoiceJour.InvoiceDate && ledgerTrans.Voucher ==
VendInvoiceJour.LedgerVoucher)
join PurchTableLinks where VendInvoiceJour.PurchId == PurchTableLinks.SubPurchId
join PurchTable where (PurchTableLinks.MainPurchId == PurchTable.PurchId &&
PurchTable.PurchId == contractId)
В рантайме этот оператор вызывает ошибку "joined курсор был использован в другом операторе select".
Начинаю спрашивать:
Судя по всему вышеуказанный оператор конфликтует с использованием датасорса от PurchTable.
Так ли это?
Конфликт вызван тем, что оба запроса используют одинаковые таблицы или joined курсоры впринципе не совместимы при одновременном использовании?
В принципе, на момент формирования последней секции отчета, запрос по PurchTable из DataSources со всеми подчиненными уже мало интересует, можно ли каким нибудь образом указать системе, что курсор по PurchTable из DataSources уже можно закрыть?
Заранее благодарен.