12.07.2013, 14:15 | #1 |
Участник
|
Добрый день,
Возникла плавающая проблема с применение Счетов выставленных в валюте и Оплат в рублях(локальная валюта) Есть учт. счет от 10.07.2013 Сумма 100$, курс 30 руб, Сумма(руб) 3000 Есть постоплата1 от 11.07.2013 на 1525 руб курс 30,5 Есть постоплата2 от 12.07.2013 на 1525 руб курс 30,5 По идее после применения должны все операции закрыться в 0 и сформироваться курсовая разница как Реализ. прибыль на 50 руб На большинстве операций так и происходит, но есть некоторые операции при применении которых в аналогичной ситуации при расчете применяемой суммы по оплате курс берется на дату документа, т.е. 30 руб, и соответственно не формируются курсовые и часть оплаты остается не закрытой. Сравнение операций по полям ничего не дает, по коду применения так сразу ничего не увидел криминального Может кто встречался с такой ситуацией и как ее решать? Nav2009 R2, все обновления вроде бы есть. |
|
12.07.2013, 15:22 | #2 |
Участник
|
И еще
Предположительно это происходит при применении Счетов, у которых связанный курс выставляли руками... |
|
12.07.2013, 16:08 | #3 |
Участник
|
Ну вот и ответили на свой вопрос.
__________________
Want to believe... |
|
12.07.2013, 16:17 | #4 |
Участник
|
Цитата:
Не могли бы вы более подробно разъяснить разницу м/у тем что курс проставляется из таблички Курсов Валют и той ситуацией, когда курс проставили руками? |
|
12.07.2013, 20:39 | #5 |
Участник
|
Я не DA_NEAL, но попробую ответить. Смотрим функцию CalcAppliedAmounts в 12-м кодюните. Вот как она начинается:
RemAmt1 := GetRemAmount(EntryBuf1,ApplnRoundingPrecision); RemAmt2 := GetRemAmount(EntryBuf2,ApplnRoundingPrecision); UseOrigCurrencyFactor := EntryBuf1."Original Currency Factor" <> CurrExchRate.ExchangeRate(EntryBuf1."Posting Date",EntryBuf1."Currency Code"); IF UseOrigCurrencyFactor THEN RemainingAmt := ROUND(RemAmt2 * EntryBuf1."Original Currency Factor") ELSE RemainingAmt := ExchAmount(RemAmt2,EntryBuf2."Currency Code",EntryBuf1."Currency Code",EntryBuf2."Posting Date"); То есть, Navision считает, что если вы ввели курс руками, то это специальный курс сделки, и все расчеты осуществляются по нему вне зависимости от текущего курса валюты. |
|
13.07.2013, 17:58 | #6 |
Участник
|
Цитата:
Сообщение от Eugeny_F
Я не DA_NEAL, но попробую ответить. Смотрим функцию CalcAppliedAmounts в 12-м кодюните. Вот как она начинается:
RemAmt1 := GetRemAmount(EntryBuf1,ApplnRoundingPrecision); RemAmt2 := GetRemAmount(EntryBuf2,ApplnRoundingPrecision); UseOrigCurrencyFactor := EntryBuf1."Original Currency Factor" <> CurrExchRate.ExchangeRate(EntryBuf1."Posting Date",EntryBuf1."Currency Code"); IF UseOrigCurrencyFactor THEN RemainingAmt := ROUND(RemAmt2 * EntryBuf1."Original Currency Factor") ELSE RemainingAmt := ExchAmount(RemAmt2,EntryBuf2."Currency Code",EntryBuf1."Currency Code",EntryBuf2."Posting Date"); То есть, Navision считает, что если вы ввели курс руками, то это специальный курс сделки, и все расчеты осуществляются по нему вне зависимости от текущего курса валюты. К сожалению не знал этого, но теперь я думаю проблема решена |
|