Publicerade artiklar ger snabbt information direkt från Microsoft support-organisationen. Den information som finns häri skapas som svar på nya eller unika ämnen eller är avsedd att komplettera andra informationen i Knowledge Base.
Den här artikeln gäller för Microsoft Dynamics NAV 2009 för alla länder och språkversioner.
Symptom
Om ett saldo på leverantören är negativ i Microsoft Dynamics NAV 2009 Service Pack 1, föreslår "Betalningsförslag för lev" rapport (393) negativt saldo som en betalning.
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.
Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.
Installationsinformation
Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.
Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare av Microsoft Navision-klient har loggat ut. Detta inkluderar Microsoft Navision Application Services (NAS) klientanvändare. Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.
Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.
Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:
-
Ändra behörighet för objektet ändras.
-
Körbehörighet för systemet objektet ID 5210 objektet och objektet System objektet ID 9015 .
Obs! Du har inte behörighet för datalager inte data reparation.
Kod ändras
Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.
Lös problemet så här:
-
Ändra koden i utlösaren leverantör - OnPostDataItem i rapporten "Betalningsförslag för lev" (393) enligt följande:
Befintlig kod... IF FIND('-') THEN
REPEAT
Window.UPDATE(1,"No.");
PayableVendLedgEntry.SETRANGE("Vendor No.","No.");
GetVendLedgEntries(TRUE,TRUE);
GetVendLedgEntries(FALSE,TRUE);
CheckAmounts(TRUE);
UNTIL (NEXT = 0) OR StopPayments;
END;
ClearNegative;
JnlLineDim.LOCKTABLE;
...Ersättningskod
... IF FIND('-') THEN
REPEAT
Window.UPDATE(1,"No.");
PayableVendLedgEntry.SETRANGE("Vendor No.","No.");
GetVendLedgEntries(TRUE,TRUE);
GetVendLedgEntries(FALSE,TRUE);
CheckAmounts(TRUE);
ClearNegative;
UNTIL (NEXT = 0) OR StopPayments;
END ELSE
IF FIND('-') THEN
REPEAT
ClearNegative;
UNTIL NEXT = 0;
JnlLineDim.LOCKTABLE;
... -
Ändra koden i GetVendLedgEntries procedur i rapporten "Betalningsförslag för lev" (393) enligt följande:
Befintlig kod... VendLedgEntry.RESET;
VendLedgEntry.SETCURRENTKEY("Vendor No.",Open,Positive,"Due Date");
VendLedgEntry.SETRANGE("Vendor No.",Vendor."No.");
VendLedgEntry.SETRANGE(Open,TRUE);
VendLedgEntry.SETRANGE(Positive,Positive);
IF Future THEN BEGIN
...Ersättningskod
... VendLedgEntry.RESET;
VendLedgEntry.SETCURRENTKEY("Vendor No.",Open,Positive,"Due Date");
VendLedgEntry.SETRANGE("Vendor No.",Vendor."No.");
VendLedgEntry.SETRANGE(Open,TRUE);
VendLedgEntry.SETRANGE(Positive,Positive);
VendLedgEntry.SETRANGE("Applies-to ID",'');
IF Future THEN BEGIN
... -
Ändra koden i proceduren MakeGenJnlLines i rapporten "Betalningsförslag för lev" (393) enligt följande:
Befintlig kod... Window.UPDATE(1,VendLedgEntry."Vendor No.");
TempPaymentBuffer.INSERT;
END;
VendLedgEntry.TESTFIELD("Applies-to ID",'');
VendLedgEntry."Applies-to ID" := TempPaymentBuffer."Document No.";
END ELSE BEGIN
...Ersättningskod
... Window.UPDATE(1,VendLedgEntry."Vendor No.");
TempPaymentBuffer.INSERT;
END;
VendLedgEntry."Applies-to ID" := TempPaymentBuffer."Document No.";
END ELSE BEGIN
... -
Ändra koden i ClearNegative procedur i rapporten "Betalningsförslag för lev" (393) enligt följande:
Befintlig kod... WHILE PayableVendLedgEntry.NEXT <> 0 DO BEGIN
TempCurrency.Code := PayableVendLedgEntry."Currency Code";
CurrencyBalance := 0;
PayableVendLedgEntry2 := PayableVendLedgEntry;
IF TempCurrency.INSERT THEN BEGIN
PayableVendLedgEntry.SETRANGE("Currency Code",PayableVendLedgEntry."Currency Code");
REPEAT
CurrencyBalance := CurrencyBalance + PayableVendLedgEntry."Amount (LCY)"
UNTIL PayableVendLedgEntry.NEXT = 0;
IF CurrencyBalance < 0 THEN
PayableVendLedgEntry.DELETEALL;
END;
PayableVendLedgEntry.SETRANGE("Currency Code");
PayableVendLedgEntry := PayableVendLedgEntry2;
END;
...Ersättningskod
... WHILE PayableVendLedgEntry.NEXT <> 0 DO BEGIN
TempCurrency.Code := PayableVendLedgEntry."Currency Code";
CurrencyBalance := 0;
IF TempCurrency.INSERT THEN BEGIN
PayableVendLedgEntry2 := PayableVendLedgEntry;
PayableVendLedgEntry.SETRANGE("Currency Code",PayableVendLedgEntry."Currency Code");
REPEAT
CurrencyBalance := CurrencyBalance + PayableVendLedgEntry."Amount (LCY)"
UNTIL PayableVendLedgEntry.NEXT = 0;
IF CurrencyBalance < 0 THEN
PayableVendLedgEntry.DELETEALL;
PayableVendLedgEntry.SETRANGE("Currency Code");
PayableVendLedgEntry := PayableVendLedgEntry2;
END;
END;
...
Förutsättningar
Du måste ha installerat den här snabbkorrigeringen Microsoft Dynamics NAV 2009 Service Pack 1.
Information om borttagning
Du kan inte ta bort den här snabbkorrigeringen.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".
MICROSOFT OCH DESS LEVERANTÖRER GÖR INGA UTFÄSTELSER ELLER GARANTIER OM LÄMPLIGHET, TILLFÖRLITLIGHET ELLER RIKTIGHETEN AV DEN INFORMATION SOM FINNS I DOKUMENT OCH RELATERAD GRAFIK SOM PUBLICERAS PÅ DEN HÄR WEBBPLATSEN ("MATERIAL") FÖR NÅGOT ÄNDAMÅL.
MATERIAL KAN OMFATTA TEKNISKA BRISTER ELLER TYPOGRAFISKA FEL OCH KAN REVIDERAS NÄR SOM HELST UTAN FÖREGÅENDE MEDDELANDE. I DEN MAXIMALA OMFATTNING SOM TILLÅTS ENLIGT TILLÄMPLIG LAG, MICROSOFT OCH DESS LEVERANTÖRER FRÅNSÄGER SIG OCH UTESLUTER ALLA REPRESENTATIONER, GARANTIER OCH VILLKOR OM UTTRYCKLIGA, UNDERFÖRSTÅDDA ELLER LAGSTADGADE, INKLUSIVE MEN INTE BEGRÄNSAT TILL REPRESENTATIONER, GARANTIER ELLER VILLKOR FÖR RUBRIK, ICKE-INTRÅNG, TILLFREDSSTÄLLANDE SKICK ELLER KVALITET, SÄLJBARHET OCH LÄMPLIGHET FÖR ETT SÄRSKILT ÄNDAMÅL, MED HÄNSYN TILL MATERIAL.