Для начала, благодарю, что проявили активность, остальные молчат
Цитата:
Сообщение от
Jabberwocky
Ну, во-первых, проводки из таблицы "Проводки по сопоставлению" (CustVendTransPostingLog_RU) не всегда удаляются при реверсе, - например при рассопоставлении на другую дату они не удаляются, а помечаются признаком "Отменено". Во-вторых, не совсем понятно, что Вы подразумеваете под термином "начисление", - какая это конкретно операция и каким образом формируется?
Ну вы же знаете, когда они удаляются, а когда нет? Новички в любом случае помочь мне не смогут (изначально постилось в надежде на людей, которые пользуются авансовыми разницами и понимают что это такое).
Начисление - проводка в общем журнале ГК с типом счета "Поставщик"/"Клиент", поле "накладная" НЕ заполнено.
Цитата:
Сообщение от
Jabberwocky
И наконец, почему Вы решили что при рассопоставлении ищется именно авансовая разница? Отмена сопоставления по постинг логу выполняется в методе CustVendReversePostingLog_RU.doReverse(), условие выглядит следующим образом:
X++:
if ((transPostingLog.AccountNum ||
transPostingLog.AccountNumOffset ||
transPostingLog.TaxRefId ||
(transPostingLog.PostingLogType == CustVendTransPostingLogType_RU::AdvanceAdjustment &&
moduleCustVend == ModuleCustVend::Vend)) &&
(transPostingLog.PostingLogType == CustVendTransPostingLogType_RU::VATTransit ? _postVATTransit : true))
{
Ну если уже опять вернулись к коду, то могу привести такой лог событий:
\Classes\CustVendExchAdjustment_W\isAdvanceAdjustment
\Classes\CustVendReversePosting\reverseExchAdjustment_RU
\Classes\CustVendReversePosting\restoreCustVendTrans
\Classes\CustVendReversePosting\updateNow
\Data Dictionary\Tables\VendTrans\Methods\reverseTransact
\Classes\FormButtonControl\Clicked
Обратите внимание на последний метод - в нем все дело. А тот код, который вы привели - он ничего не делает, так как туда передается ПУСТАЯ выборка, потому что система "не знает", что нужно сторнировать КУРСОВУЮ.