Показать сообщение отдельно
Старый 06.04.2012, 02:31   #220  
vanokh is offline
vanokh
Участник
 
108 / 63 (3) ++++
Регистрация: 23.10.2008
Цитата:
Сообщение от Daiver Посмотреть сообщение
Точно с такой же проблемой столкнулся В поле CustInvoiceTrans.RefAdjustedInvoiceTrans_RU попадают не верные RecId...

То что касается производительности. Индекс по полю CustInvoiceTrans.RefAdjustedInvoiceTrans_RU не помог...
Подниму еще раз...
В последнем хотфиксе (исправительные фактуры, который проектом xpo) запрос для заполнения ссылки переделали - проблема производительности похоже больше не актуальна. Из него выкинули связь с SalesParm*** и оставили прямое условие RefAdjustedInvoiceTrans_RU = 0 (это в методе CustVendInvoiceTrans::queryCorrectedTrans_RU())

То есть, после выполнения запроса
X++:
update_recordSet custInvoiceJour
    setting RefOriginalInvoice_RU = custInvoiceJour.RecId
    where
        custInvoiceJour.RefOriginalInvoice_RU == 0
    ;
не будет выбираться вообще ничего!
А если такой запрос не выполнялся, то будет выбираться исходная накладная (самая первая в цепочке), что тоже не совсем корректно для корректировочных документов. Для исправительных это смысл имеет, но видимо разработчики поленились писать дополнительную логику в зависимости от указанного типа корректировка-исправление и оставили выбор корректируемой строки на откуп пользователю...