"Föreslå leverantörsbetalningar" rapporten föreslår ett negativt saldo som en betalning om saldot på leverantören är negativt i Microsoft Dynamics NAV 2009 Service Pack 1

DENNA ARTIKEL HAR ARKIVERATS. Dela inte ut den här artikeln med kunder. INTE kommentera denna artikel. Det kommer inte att uppdateras.

Arkivera Requestor: bertb
Arkivera orsak: Ändra koden är felaktig.
Kommentar: Ändra rätt kod kan hittas i KB 2623584.

Mall: CPR - Navision koden Fix mall

PROGRAMFEL #: 122879 (Innehållsunderhåll)BUG #: 55108 (Vedbaek SE)

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.

Om den här snabbkorrigeringen inte har bokförts för offentlig hämtning (vilket innebär att en offentlig URL för den här snabbkorrigeringen inte är tillgänglig i den här artikeln), distribution kräver tekniskt ansvarig, eskalering gruppmedlem eller godkännande av projektledaren och följande information gäller:

  • För att erhålla snabbkorrigeringen måste kunden ha drabbats programfel som beskrivs i avsnittet "Symptom".

  • Du måste följa de kunder du skickar korrigeringen till och förse dem med nästa service Pack-versionen när den blir tillgänglig (om ett service pack släpps).

Den här snabbkorrigeringen kommer att ingå i ett service pack för Microsoft Dynamics NAV 2009.



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:

  1. Ä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;
    ...

  2. Ä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
    ...

  3. Ä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
    ...

  4. Ä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.

Författare: michalk
Skribent: v-brialu
Teknisk granskare: michalk
Redigerare:

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×