Тази статия се отнася за Microsoft Dynamics NAV за всички езиково-географски променливи.
Симптоми
В Microsoft Dynamics NAV, когато прилагате ръчно публикувано кредитно известие за продажби към публикувана фактура за продажби, ще забележите, че се кредитира само половината от данъчната сума. Когато обаче функцията "Копиране на документа " се използва за създаване на кредитното известие, тогава данъчната сума се кредитира правилно.
Този проблем възниква в следните продукти:
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Решение
Информация за горещи поправки
Поддържа гореща поправка вече се предлага от Microsoft. Целта му е обаче само да коригира проблема, който е описан в тази статия. Прилагайте го само към системи, които срещат този конкретен проблем. Тази гореща корекция може да бъде подложена на допълнително тестване. Ето защо, ако не сте сериозно засегнати от този проблем, ви препоръчваме да изчакате следващия сервизен пакет за Microsoft Dynamics NAV 2009 или следващата версия на Microsoft Dynamics NAV, която съдържа тази гореща корекция.
Забележка: При специални случаи таксите, които обикновено се начисляват за свързани с поддръжката разговори, могат да бъдат отменени, ако специалист по техническа поддръжка за Microsoft Dynamics и свързаните продукти реши, че проблемът може да бъде решен със специфична актуализация. Стандартните такси за поддръжката ще важат за допълнителни въпроси, свързани с нея, както и за проблеми, които не спадат към съответната актуализация.
Информация за инсталиране
Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, нито изрична, или подразбираща се. Това включва, но не се ограничава до, подразбиращите се гаранции за продаваемост или годност за определена цел. В тази статия се предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и за процедури за отстраняване на грешки. Инженерите по поддръжка на Microsoft могат да ви помогнат да обяснят функционалността на дадена процедура, но няма да променят тези примери, за да предоставят допълнителна функционалност или да конструират процедури, които да отговарят на вашите конкретни изисквания.
Забележка Преди да инсталирате тази гореща корекция, уверете се, че всички потребители на клиента на Microsoft Navision са излезли от системата. Това включва потребители на клиенти на Microsoft Navision Application Services (NAS). Когато внедрявате тази гореща корекция, трябва да сте единственият клиентски потребител е влязъл.
За да приложите тази гореща корекция, трябва да имате лиценз за разработчик.
Препоръчваме на потребителския акаунт в прозореца за влизане в Windows или в прозореца за влизане в база данни да бъде присвоен ИД на роля "SUPER". Ако на потребителския акаунт не може да бъде присвоен ИД на роля "SUPER", трябва да се уверите, че този потребителски акаунт има следните разрешения:
- Разрешението за промяна за обекта, който ще променяте.
- Разрешението за изпълнение за обекта 5210 на системен обект с ИД 5210 и за обекта 9015 на системен обект.
Забележка: Не е необходимо да имате права за хранилищата за данни, освен ако не трябва да извършите поправка на данни.
Промени в кода
Забележка: Винаги тествайте корекциите на кода в контролирана среда, преди да ги приложите към производствените си компютри.
Забележка: Някои от следните кодове са налични само ако сте приложили актуалната поправка в KB 978857. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
978857 Генерират се неправилни записи за ДДС, когато публикувате кредитно известие за прилагане на фактура, която съдържа нереализиран ДДС в Microsoft Dynamics NAV
За да решите този проблем, изпълнете следните стъпки:
Променете кода във функцията ApplyCustLedgEntry във функцията Gen. Jnl.-Post Line кодова единица (12), както следва:
Забележка: Кодът за функцията ApplyCustLedgEntry ще съществува така, както е показан, само ако сте приложили KB 978857.
Съществуващ код
... TransferCustLedgEntry(NewCVLedgEntryBuf,NewCustLedgEntry,FALSE); CheckUnrealizedCust := TRUE; UnrealizedCustLedgEntry := NewCustLedgEntry; // Delete the following lines. UnrealizedCustLedgEntry.CALCFIELDS( "Amount (LCY)","Remaining Amt. (LCY)","Original Amt. (LCY)"); // End of the deleted lines. UnrealizedRemainingAmountCust := NewCustLedgEntry."Remaining Amount" - NewRemainingAmtBeforeAppln; END; ...Код за подмяна
... TransferCustLedgEntry(NewCVLedgEntryBuf,NewCustLedgEntry,FALSE); CheckUnrealizedCust := TRUE; UnrealizedCustLedgEntry := NewCustLedgEntry; UnrealizedRemainingAmountCust := NewCustLedgEntry."Remaining Amount" - NewRemainingAmtBeforeAppln; END; ...Промяна на кода във функцията CustUnrealizedVAT във функцията Gen. Jnl.-Post Line кодова единица (12), както следва:
Съществуващ код
... PaidAmount := CustLedgEntry2."Amount (LCY)" - CustLedgEntry2."Remaining Amt. (LCY)"; VATEntry2.RESET; VATEntry2.SETCURRENTKEY("Transaction No."); VATEntry2.SETRANGE("Transaction No.",CustLedgEntry2."Transaction No."); IF VATEntry2.FINDSET THEN ...Код за подмяна
... .// Add the following lines. CustLedgEntry2.CALCFIELDS( "Amount (LCY)","Original Amt. (LCY)"); // End of the added lines. PaidAmount := CustLedgEntry2."Amount (LCY)" - CustLedgEntry2."Remaining Amt. (LCY)"; VATEntry2.RESET; VATEntry2.SETCURRENTKEY("Transaction No."); VATEntry2.SETRANGE("Transaction No.",CustLedgEntry2."Transaction No."); IF VATEntry2.FINDSET THEN ...Променете кода във функцията ApplyVendLedgEntry във функцията Gen. Jnl.-Post Line кодова единица (12), както следва:
Забележка: Кодът на функцията ApplyVendLedgEntry ще съществува така, както е показан, само ако сте приложили KB 978857.
Съществуващ код
... TransferVendLedgEntry(NewCVLedgEntryBuf,NewVendLedgEntry,FALSE); CheckUnrealizedVend := TRUE; UnrealizedVendLedgEntry := NewVendLedgEntry; // Delete the following lines. UnrealizedVendLedgEntry.CALCFIELDS( "Amount (LCY)","Remaining Amt. (LCY)","Original Amt. (LCY)"); // End of the deleted lines. UnrealizedRemainingAmountVend := -(NewRemainingAmtBeforeAppln - NewVendLedgEntry."Remaining Amount"); END; ...Код за подмяна
... TransferVendLedgEntry(NewCVLedgEntryBuf,NewVendLedgEntry,FALSE); CheckUnrealizedVend := TRUE; UnrealizedVendLedgEntry := NewVendLedgEntry; UnrealizedRemainingAmountVend := -(NewRemainingAmtBeforeAppln - NewVendLedgEntry."Remaining Amount"); END; ...Промяна на кода във функцията VendUnrealizedVAT във функцията Gen. Jnl.-Post Line кодова единица (12), както следва:
Съществуващ код
... VATEntry2.RESET; VATEntry2.SETCURRENTKEY("Transaction No."); VATEntry2.SETRANGE("Transaction No.",VendLedgEntry2."Transaction No."); PaidAmount := -VendLedgEntry2."Amount (LCY)" + VendLedgEntry2."Remaining Amt. (LCY)"; IF VATEntry2.FINDSET THEN ...Код за подмяна
... // Add the following lines. VendLedgEntry2.CALCFIELDS( "Amount (LCY)","Original Amt. (LCY)"); // End of the added lines. VATEntry2.RESET; VATEntry2.SETCURRENTKEY("Transaction No."); VATEntry2.SETRANGE("Transaction No.",VendLedgEntry2."Transaction No."); PaidAmount := -VendLedgEntry2."Amount (LCY)" + VendLedgEntry2."Remaining Amt. (LCY)"; IF VATEntry2.FINDSET THEN ...
Предварителни изисквания
Трябва да имате инсталиран един от следните продукти, за да приложите тази гореща корекция:
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Информация за премахване
Не можете да премахнете тази гореща корекция.
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
VSTF DynamicsNAV SE: 273810
Забележка: Това е статия "FAST PUBLISH", създадена директно от организацията за поддръжка на Microsoft. Информацията, съдържаща се тук, е предоставена както е в отговор на възникващи проблеми. В резултат на бързината на предоставянето им, материалите могат да включват печатни грешки и могат да бъдат коригирани по всяко време без предизвестие. Вижте условията на използване за други съображения.