Applies ToDynamics NAV 2009

Šis straipsnis taikomas Microsoft Dynamics NAV portugalų (pt) kalbos lokalės.

Požymiai

Kai registruojate SF ir atmesti sąskaitą pinigų įplaukų žurnalą tuo pačiu metu Portugalijos versijoje Microsoft Dynamics NAV 2009, užregistruotas DK įrašų registruojamas abonento atmesti sąskaitų. Tačiau gautinų sumų sąskaitoje turėtų būti naudojami SF ir atmestas sąskaitų abonemento reikia naudoti dokumento. Ši problema iškyla faile šiems produktams:

  • Microsoft Dynamics NAV 2009 R2 portugalų kalba

  • Portugalijos versijoje Microsoft Dynamics NAV 2009 Service Pack 1

Sprendimas

Karštųjų pataisų informacija

Palaikomą naujausią pataisą dabar yra Microsoft. Tačiau jos skirtos tik šiame straipsnyje aprašytai problemai spręsti. Taikyti ją tik sistemoms, kuriose kyla ši konkreti problema. Šios karštosios pataisos gali būti papildomai išbandoma. Todėl, jei jums nelabai trukdo Ši problema, rekomenduojame palaukti kito "Microsoft Dynamics NAV 2009" pakeitimų paketo arba kitą versiją Microsoft Dynamics NAV, kuriame bus šios karštosios pataisos.Pastaba. Konkrečiais atvejais už palaikymo skambučius gali būti atšaukti, jei techninės pagalbos specialistas Microsoft Dynamics ir susijusių produktų taikomi įprasti mokesčiai nustato, kad jūsų problemą galima išspręsti naudojant konkretų naujinimą. Į įprastos kainos už palaikymą taikomos papildomos palaikymo klausimams ir problemoms, kurių negalima išspręsti naudojant minėtą naujinimą.

Diegimo informacija

Microsoft pateikia programavimo pavyzdžius tik, tačiau nesuteikia jokių aiškių arba numanomų garantijų. Tai apima, bet neapsiribojant, numanomas garantijas dėl perkamumo ir tinkamumo konkrečiam tikslui. Šis straipsnis parašytas galvojant, kad esate susipažinę su pateikta programavimo kalba ir įrankiais, kurie yra naudojami procedūroms kurti ir derinti. "Microsoft" palaikymo inžinieriai gali padėti paaiškindami konkrečios procedūros funkcines galimybes. Tačiau jie nekeis šių pavyzdžių, kad numatytų papildomą funkcinę galimybę arba sukurtų konkrečius jūsų reikalavimus atitinkančias procedūras.Pastaba. Prieš diegdami šias karštąsias pataisas, patikrinkite, kad visi Microsoft Navision klientas vartotojai išsiregistravę sistema. Tai reiškia, kad Microsoft Navision programos paslaugos (NAS) kliento naudotojai. Jums turėtų būti tik kliento vartotojo, kuris yra prisijungęs, kai atliekate šias karštąsias pataisas.Norint pritaikyti šią karštąją pataisą, turite programų kūrėjo licencijos.Rekomenduojame, kad vartotojo abonemento Windows registravimosi lange arba duomenų bazės prisijungimų langas priskirti "SUPER" vaidmenį ID. Jei vartotojo abonementas negali būti priskirta "SUPER" ID., turi patikrinti, kad vartotojo abonementas turi šias teises:

  • Keisti teisės objektas, kuris bus pakeisti.

  • Teisės vykdyti sistemos objekto ID 5210 objekto ir sistemos objekto ID 9015 objekto.

Pastaba. Jūs neturite turėti teisių į duomenų parduotuvių, nebent jūs turite atlikti duomenų atkūrimo.

Pastaba.

Pastaba. Visada bandymas kodas nustato kontroliuojamoje aplinkoje prieš taikydami nustato savo gamybos kompiuteriams.Norėdami išspręsti šią problemą, pakeisti kodą, kad bendr.-pašto linijos Kodinys (12). Norėdami tai padaryti, atlikite šiuos veiksmus:

  1. Pridėkite nurodytą visuotinis kintamasis:

    TempRejCustLedgEntry@1100047 : TEMPORARY Record 21;
  2. Pakeisti PostCust funkcija:Esamas kodas 1

    ...          DiscRiskFactAmountLCY := 0;          DiscUnriskFactAmountLCY := 0;          CollFactAmountLCY := 0;        //--------          IF Cust."No." <> "Account No." THEN            Cust.GET("Account No.");          Cust.CheckBlockedCustOnJnls(Cust,"Document Type",TRUE);          IF "Posting Group" = '' THEN BEGIN...

    Atsarginis kodas 1

    ...          DiscRiskFactAmountLCY := 0;          DiscUnriskFactAmountLCY := 0;          CollFactAmountLCY := 0;        //--------// Add the following lines.          TempRejCustLedgEntry.RESET;         TempRejCustLedgEntry.DELETEALL;// End of the lines.          IF Cust."No." <> "Account No." THEN            Cust.GET("Account No.");          Cust.CheckBlockedCustOnJnls(Cust,"Document Type",TRUE);          IF "Posting Group" = '' THEN BEGIN...

    Esamas kodas 2

    ...            END;          // Post the application          ApplyCustLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,GLSetup."Appln. Rounding Precision");// Delete the following lines.         IF GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::" " THEN           GenJnlLine."Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreateReceivableDoc(GenJnlLine,CVLedgEntryBuf);              CustLedgEntry."Document Situation" := CustLedgEntry."Document Situation"::Cartera;...

    Atsarginis kodas 2

    ...            END;          // Post the application          ApplyCustLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,GLSetup."Appln. Rounding Precision");// Add the following lines.         IF ("Applies-to ID" = '') AND ("Applies-to Doc. Type" = "Applies-to Doc. Type"::" ") THEN           "Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreateReceivableDoc(GenJnlLine,CVLedgEntryBuf);              CustLedgEntry."Document Situation" := CustLedgEntry."Document Situation"::Cartera;...
  3. Pakeisti PostVend funkcija:Esamas kodas

    ...          // Post the application          ApplyVendLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,            GLSetup."Appln. Rounding Precision");// Delete the following lines.         IF GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::" " THEN           GenJnlLine."Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreatePayableDoc(GenJnlLine,CVLedgEntryBuf);              VendLedgEntry."Document Situation" := VendLedgEntry."Document Situation"::Cartera;...

    Pastaba.

    ...          // Post the application          ApplyVendLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,            GLSetup."Appln. Rounding Precision");// Add the following lines.         IF ("Applies-to ID" = '') AND ("Applies-to Doc. Type" = "Applies-to Doc. Type"::" ") THEN           "Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreatePayableDoc(GenJnlLine,CVLedgEntryBuf);              VendLedgEntry."Document Situation" := VendLedgEntry."Document Situation"::Cartera;...
  4. Pakeisti ApplyCustLedgEntry funkcija:Esamas kodas

    ...                OldCustLedgEntry."Document Situation"::"Closed Documents",                OldCustLedgEntry."Document Situation"::"Closed BG/PO"]) THEN                FromClosedDoc := TRUE              ELSE                FromClosedDoc := FALSE;              DocPost.UpdateReceivableDoc(                OldCustLedgEntry,GenJnlLine,AppliedAmountLCY + DeltaUnrealAmount + DeltaAmountLCY,                DocAmountLCY,RejDocAmountLCY,DiscDocAmountLCY,CollDocAmountLCY,                DiscRiskFactAmountLCY,DiscUnriskFactAmountLCY,CollFactAmountLCY);            END;...

    Pastaba.

    ...                OldCustLedgEntry."Document Situation"::"Closed Documents",                OldCustLedgEntry."Document Situation"::"Closed BG/PO"]) THEN                FromClosedDoc := TRUE              ELSE                FromClosedDoc := FALSE;// Add the following lines.             IF OldCustLedgEntry."Document Status" = OldCustLedgEntry."Document Status"::Rejected THEN BEGIN               TempRejCustLedgEntry := OldCustLedgEntry;               TempRejCustLedgEntry."Remaining Amount (LCY) stats." := AppliedAmountLCY + DeltaUnrealAmount + DeltaAmountLCY;               TempRejCustLedgEntry.INSERT;             END;// End of the lines.              DocPost.UpdateReceivableDoc(                OldCustLedgEntry,GenJnlLine,AppliedAmountLCY + DeltaUnrealAmount + DeltaAmountLCY,                DocAmountLCY,RejDocAmountLCY,DiscDocAmountLCY,CollDocAmountLCY,                DiscRiskFactAmountLCY,DiscUnriskFactAmountLCY,CollFactAmountLCY);            END;...
  5. Pakeisti PostDtldCustLedgEntries funkcija:Esamas kodas

    ...              AccNo := CustPostingGr."Bills Account";            END ELSE BEGIN              CustPostingGr.TESTFIELD("Receivables Account");              AccNo := CustPostingGr."Receivables Account";            END;// Delete the following lines.           IF DiscDocAmountLCY <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Discted. Bills Acc.");             AccNo := CustPostingGr."Discted. Bills Acc.";           END;           IF CollDocAmountLCY <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Bills on Collection Acc.");             AccNo := CustPostingGr."Bills on Collection Acc.";           END;           IF RejDocAmountLCY <> 0 THEN BEGIN             CASE GenJnlLine."Applies-to Doc. Type" OF               GenJnlLine."Applies-to Doc. Type"::Bill:                 BEGIN                   CustPostingGr.TESTFIELD("Rejected Bills Acc.");                   AccNo := CustPostingGr."Rejected Bills Acc.";                 END;               GenJnlLine."Applies-to Doc. Type"::Invoice:                 BEGIN                   CustPostingGr.TESTFIELD("Rejected Factoring Acc.");                   AccNo := CustPostingGr."Rejected Factoring Acc.";                 END;               ELSE                 IF (GenJnlLine."Document Type" IN [GenJnlLine."Document Type"::"Credit Memo",GenJnlLine."Document Type"::Payment]) AND                   (OldCVLedgEntryBuf4."Applies-to ID" <> '') THEN BEGIN                   CASE OldCVLedgEntryBuf4."Document Type" OF                     OldCVLedgEntryBuf4."Document Type"::Bill:                       BEGIN                         CustPostingGr.TESTFIELD("Receivables Account");                         AccNo := CustPostingGr."Receivables Account";                       END;                     OldCVLedgEntryBuf4."Document Type"::Invoice:                       BEGIN                         CustPostingGr.TESTFIELD("Receivables Account");                         AccNo := CustPostingGr."Receivables Account";                       END;                   END;                 END;             END;           END;           IF (DiscRiskFactAmountLCY <> 0) OR (DiscUnriskFactAmountLCY <> 0) THEN BEGIN             CustPostingGr.TESTFIELD("Factoring for Discount Acc.");             AccNo := CustPostingGr."Factoring for Discount Acc.";           END;           IF CollFactAmountLCY <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Factoring for Collection Acc.");             AccNo := CustPostingGr."Factoring for Collection Acc.";           END;// End of the lines.            ReceivableAccAmtLCY :=              TotalAmountLCY -              (DocAmountLCY + DiscDocAmountLCY +               CollDocAmountLCY + RejDocAmountLCY + DiscRiskFactAmountLCY +...

    Pastaba.

    ...              AccNo := CustPostingGr."Bills Account";            END ELSE BEGIN              CustPostingGr.TESTFIELD("Receivables Account");              AccNo := CustPostingGr."Receivables Account";            END;            ReceivableAccAmtLCY :=              TotalAmountLCY -              (DocAmountLCY + DiscDocAmountLCY +               CollDocAmountLCY + RejDocAmountLCY + DiscRiskFactAmountLCY +...
  6. Pakeisti PostReceivableDocs funkcija:Esamas kodas

    ...          GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";          GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";          InsertGLEntry(TRUE);        END;        IF RejDocAmountLCY <> 0 THEN BEGIN// Delete the following lines.         CASE GenJnlLine."Applies-to Doc. Type" OF           GenJnlLine."Applies-to Doc. Type"::Bill:             BEGIN               CustPostingGr.TESTFIELD("Rejected Bills Acc.");               InitGLEntry(CustPostingGr."Rejected Bills Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE);               GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";               GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";               InsertGLEntry(TRUE);             END;           GenJnlLine."Applies-to Doc. Type"::Invoice:             BEGIN               CustPostingGr.TESTFIELD("Rejected Factoring Acc.");               InitGLEntry(CustPostingGr."Rejected Factoring Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE);               GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";               GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";               InsertGLEntry(TRUE);             END;           ELSE             IF (GenJnlLine."Document Type" IN [GenJnlLine."Document Type"::"Credit Memo",GenJnlLine."Document Type"::Payment]) AND               (OldCVLedgEntryBuf4."Applies-to ID" <> '') THEN BEGIN               CASE OldCVLedgEntryBuf4."Document Type" OF                 OldCVLedgEntryBuf4."Document Type"::Bill:                   BEGIN                     CustPostingGr.TESTFIELD("Rejected Bills Acc.");                     InitGLEntry(CustPostingGr."Rejected Bills Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE);                     GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";                     GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";                     InsertGLEntry(TRUE);                   END;                 OldCVLedgEntryBuf4."Document Type"::Invoice:                   BEGIN                     CustPostingGr.TESTFIELD("Rejected Factoring Acc.");                     InitGLEntry(CustPostingGr."Rejected Factoring Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE       );                     GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";                     GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";                     InsertGLEntry(TRUE);                   END;               END;             END;// End of the lines.          END;        END;        IF DiscRiskFactAmountLCY <> 0 THEN BEGIN          CustPostingGr.TESTFIELD("Factoring for Discount Acc.");          InitGLEntry(CustPostingGr."Factoring for Discount Acc.",...

    Pastaba.

    ...          GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";          GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";          InsertGLEntry(TRUE);        END;        IF RejDocAmountLCY <> 0 THEN BEGIN// Add the following lines.         WITH TempRejCustLedgEntry DO BEGIN           RESET;           SETCURRENTKEY("Customer No.","Document Type","Document Situation","Document Status");           SETRANGE("Document Type","Document Type"::Bill);           CALCSUMS("Remaining Amount (LCY) stats.");           IF "Remaining Amount (LCY) stats." <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Rejected Bills Acc.");             InitGLEntry(               CustPostingGr."Rejected Bills Acc.","Remaining Amount (LCY) stats.",               DocAmtCalcAddCurrency("Remaining Amount (LCY) stats."),TRUE,TRUE);             GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";             GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";             InsertGLEntry(TRUE);           END;           SETRANGE("Document Type","Document Type"::Invoice);           CALCSUMS("Remaining Amount (LCY) stats.");           IF "Remaining Amount (LCY) stats." <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Rejected Factoring Acc.");             InitGLEntry(               CustPostingGr."Rejected Factoring Acc.","Remaining Amount (LCY) stats.",               DocAmtCalcAddCurrency("Remaining Amount (LCY) stats."),TRUE,TRUE);             GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";             GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";             InsertGLEntry(TRUE);           END;// End of the lines.          END;        END;        IF DiscRiskFactAmountLCY <> 0 THEN BEGIN          CustPostingGr.TESTFIELD("Factoring for Discount Acc.");          InitGLEntry(CustPostingGr."Factoring for Discount Acc.",...

Būtinosios sąlygos

Turi būti viena iš toliau nurodytų produktų, norint taikyti šias karštąsias pataisas:

  • Microsoft Dynamics NAV 2009 R2 portugalų kalba

  • Portugalijos versijoje Microsoft Dynamics NAV 2009 Service Pack 1

Pašalinimo informacija

Jūs negalite pašalinti šias karštąsias pataisas.

Būsena

„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.

Pastaba. Tai yra "GREITAI PUBLIKUOJAMAS" straipsnis, sukurtas tiesiogiai Microsoft palaikymo tarnybos. Čia pateikta informacija yra atsakas į kylančius klausimus. Dėl greito publikavimo medžiagoje gali būti spausdinimo klaidų ir ji gali būti peržiūrima bet kuriuo metu be įspėjimo. Naudojimo ieškokite kitų priežasčių.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.