Net kai jūs neturite leidimo dirbti su Cartera, ispanų kalba ir Microsoft Dynamics NAV 2009, ir galite taikyti mokėjimo sąskaitą iš klientų arba tiekėjų knygos įrašus. Problema, taikant "be Cartera teisės" šiuos dokumentus (mokėjimo ir KS) sąskaitą lieka "atviras" Cartera gautinų arba mokėtinų sumų dokumentų. Dėl neatitikimų duomenų bazėje. Ši problema iškyla faile šių produktų:
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 R2
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 SP1
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 Dynamics NAV kliento vartotojai išsiregistravę sistema. Tai apima Microsoft Dynamics NAV programų serverio (NAS) paslaugas. 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. Prieš taikant keitimą, importuoti visus SEPA naujinimus.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:-
Pakeisti visuotinio Variablesin kad bendr.-pašto linijos Kodinys (12) taip:
Esamas kodas...Text1100010@1100016 : TextConst 'ENU=Remove it from its payment order and try again.;ESP=B¢rrelo de la orden de pago e int‚ntelo de nuevo.';
Text1100011@1100021 : TextConst 'ENU=Document Type is " " in Line %1. This posting will not realize the VAT, do you want to proceed?;ESP=El tipo de documento es " " en la l¡nea %1. Esta contabilizaci¢n no tendr en cuenta el IVA, ¨desea continuar?'; Text1100012@1100022 : TextConst 'ENU=The posting process has been cancelled by the user.;ESP=El proceso de registro ha sido cancelado por el usuario.'; AppliedAmountLCY2@1100053 : Decimal; AppliesToDocType@1100023 : Integer; PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45); BEGIN NewGLReg := GLReg; END; ...Pastaba.
...Text1100010@1100016 : TextConst 'ENU=Remove it from its payment order and try again.;ESP=B¢rrelo de la orden de pago e int‚ntelo de nuevo.';
Text1100011@1100021 : TextConst 'ENU=Document Type is " " in Line %1. This posting will not realize the VAT, do you want to proceed?;ESP=El tipo de documento es " " en la l¡nea %1. Esta contabilizaci¢n no tendr en cuenta el IVA, ¨desea continuar?'; Text1100012@1100022 : TextConst 'ENU=The posting process has been cancelled by the user.;ESP=El proceso de registro ha sido cancelado por el usuario.'; AppliedAmountLCY2@1100053 : Decimal; AppliesToDocType@1100023 : Integer; // Add the following line. Text1100013@1100026 : TextConst 'ENU=You do not have permissions to apply or unapply documents in the Cartera Module.'; // End of the added line. PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45); BEGIN NewGLReg := GLReg; END; ... -
Pakeisti kodą ApplyCustLedgEntryfunkcija, kad bendr.-pašto linijos Kodinys (12) taip:
Esamas kodas 1...OldCustLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No.");
OldCustLedgEntry.SETRANGE("Customer No.",NewCVLedgEntryBuf."CV No."); OldCustLedgEntry.SETRANGE(Open,TRUE); OldCustLedgEntry.FINDFIRST; OldCustLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive); IF AppManagement.AccessToCartera THEN DocPost.CheckAppliedReceivableDoc( OldCustLedgEntry,GenJnlLine."System-Created Entry"); ...Atsarginis kodas 1
...OldCustLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No.");
OldCustLedgEntry.SETRANGE("Customer No.",NewCVLedgEntryBuf."CV No."); OldCustLedgEntry.SETRANGE(Open,TRUE); OldCustLedgEntry.FINDFIRST; // Add the following line. CheckCarteraAccessPermissions(OldCustLedgEntry."Document Situation"); // End of the added line. OldCustLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive); IF AppManagement.AccessToCartera THEN DocPost.CheckAppliedReceivableDoc( OldCustLedgEntry,GenJnlLine."System-Created Entry"); ...Esamas kodas 2
...// Check Cust Ledger Entry and add to Temp.
IF SalesSetup."Appln. between Currencies" = SalesSetup."Appln. between Currencies"::None THEN OldCustLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code"); IF OldCustLedgEntry.FINDSET(FALSE,FALSE) THEN // Delete the following lines. REPEAT IF GenJnlApply.CheckAgainstApplnCurrency( NewCVLedgEntryBuf."Currency Code", OldCustLedgEntry."Currency Code", GenJnlLine."Account Type"::Customer, FALSE) THEN BEGIN IF (OldCustLedgEntry."Posting Date" > ApplyingDate) AND (OldCustLedgEntry."Applies-to ID" <> '') THEN ApplyingDate := OldCustLedgEntry."Posting Date"; TempOldCustLedgEntry := OldCustLedgEntry; TempOldCustLedgEntry.INSERT; END; UNTIL OldCustLedgEntry.NEXT=0; // End of the deleted lines. TempOldCustLedgEntry.SETRANGE(Positive,NewCVLedgEntryBuf."Remaining Amount" > 0); IF TempOldCustLedgEntry.FIND('-') THEN BEGIN ...Atsarginis kodas 2
...// Check Cust Ledger Entry and add to Temp.
IF SalesSetup."Appln. between Currencies" = SalesSetup."Appln. between Currencies"::None THEN OldCustLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code"); IF OldCustLedgEntry.FINDSET(FALSE,FALSE) THEN // Add the following lines. REPEAT CheckCarteraAccessPermissions(OldCustLedgEntry."Document Situation"); IF GenJnlApply.CheckAgainstApplnCurrency( NewCVLedgEntryBuf."Currency Code", OldCustLedgEntry."Currency Code", GenJnlLine."Account Type"::Customer, FALSE) THEN BEGIN IF (OldCustLedgEntry."Posting Date" > ApplyingDate) AND (OldCustLedgEntry."Applies-to ID" <> '') THEN ApplyingDate := OldCustLedgEntry."Posting Date"; TempOldCustLedgEntry := OldCustLedgEntry; TempOldCustLedgEntry.INSERT; END; UNTIL OldCustLedgEntry.NEXT=0; // End of the added lines. TempOldCustLedgEntry.SETRANGE(Positive,NewCVLedgEntryBuf."Remaining Amount" > 0); IF TempOldCustLedgEntry.FIND('-') THEN BEGIN... -
Pakeisti UnapplyCustLedgEntry funkcija, kad bendr.-pašto linijos Kodinys (12) taip:
Esamas kodas...DtldCustLedgEntry2.SETRANGE("Customer No.",DtldCustLedgEntry."Customer No.");
DtldCustLedgEntry2.SETFILTER("Entry Type",'>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry"); UnapplyVATEntries := FALSE; DtldCustLedgEntry2.FINDSET; REPEAT DtldCustLedgEntry2.TESTFIELD(Unapplied,FALSE); IF (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)") THEN ...Pastaba.
...DtldCustLedgEntry2.SETRANGE("Customer No.",DtldCustLedgEntry."Customer No.");
DtldCustLedgEntry2.SETFILTER("Entry Type",'>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry"); UnapplyVATEntries := FALSE; DtldCustLedgEntry2.FINDSET; REPEAT // Add the following line. CheckCarteraAccessPermissions(DtldCustLedgEntry2."Document Situation"); // End of the added line. DtldCustLedgEntry2.TESTFIELD(Unapplied,FALSE); IF (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)") THEN ... -
Pakeisti ApplyVendLedgEntry funkcija, kad bendr.-pašto linijos Kodinys (12) taip:
Esamas kodas 1...OldVendLedgEntry.SETRANGE("Document Type",GenJnlLine."Applies-to Doc. Type");
OldVendLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No."); OldVendLedgEntry.SETRANGE("Vendor No.",NewCVLedgEntryBuf."CV No."); OldVendLedgEntry.SETRANGE(Open,TRUE); OldVendLedgEntry.FINDFIRST; OldVendLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive); IF AppManagement.AccessToCartera THEN DocPost.CheckAppliedPayableDoc( OldVendLedgEntry,GenJnlLine."System-Created Entry"); ...Atsarginis kodas 1
...OldVendLedgEntry.SETRANGE("Document Type",GenJnlLine."Applies-to Doc. Type");
OldVendLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No."); OldVendLedgEntry.SETRANGE("Vendor No.",NewCVLedgEntryBuf."CV No."); OldVendLedgEntry.SETRANGE(Open,TRUE); OldVendLedgEntry.FINDFIRST; // Add the following line. CheckCarteraAccessPermissions(OldVendLedgEntry."Document Situation"); // End of the added line. OldVendLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive); IF AppManagement.AccessToCartera THEN DocPost.CheckAppliedPayableDoc( OldVendLedgEntry,GenJnlLine."System-Created Entry"); ...Esamas kodas 2
...//Check and Move Ledger Entries to Temp
IF PurchSetup."Appln. between Currencies" = PurchSetup."Appln. between Currencies"::None THEN OldVendLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code"); IF OldVendLedgEntry.FINDSET(FALSE,FALSE) THEN REPEAT IF GenJnlApply.CheckAgainstApplnCurrency( NewCVLedgEntryBuf."Currency Code", OldVendLedgEntry."Currency Code", GenJnlLine."Account Type"::Vendor, FALSE) ...Atsarginis kodas 2
...//Check and Move Ledger Entries to Temp
IF PurchSetup."Appln. between Currencies" = PurchSetup."Appln. between Currencies"::None THEN OldVendLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code"); IF OldVendLedgEntry.FINDSET(FALSE,FALSE) THEN REPEAT // Add the following line. CheckCarteraAccessPermissions(OldVendLedgEntry."Document Situation"); // End of the added line. IF GenJnlApply.CheckAgainstApplnCurrency( NewCVLedgEntryBuf."Currency Code", OldVendLedgEntry."Currency Code", GenJnlLine."Account Type"::Vendor, FALSE) ... -
Pakeisti UnapplyVendLedgEntry funkcija, kad bendr.-pašto linijos Kodinys (12) taip:
Esamas kodas...DtldVendLedgEntry2.SETCURRENTKEY("Transaction No.","Vendor No.","Entry Type");
DtldVendLedgEntry2.SETRANGE("Transaction No.",DtldVendLedgEntry."Transaction No."); DtldVendLedgEntry2.SETRANGE("Vendor No.",DtldVendLedgEntry."Vendor No."); DtldVendLedgEntry2.SETFILTER("Entry Type",'>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry"); DtldVendLedgEntry2.FINDSET; UnapplyVATEntries := FALSE; REPEAT IF (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)") ...Pastaba.
...DtldVendLedgEntry2.SETCURRENTKEY("Transaction No.","Vendor No.","Entry Type");
DtldVendLedgEntry2.SETRANGE("Transaction No.",DtldVendLedgEntry."Transaction No."); DtldVendLedgEntry2.SETRANGE("Vendor No.",DtldVendLedgEntry."Vendor No."); DtldVendLedgEntry2.SETFILTER("Entry Type",'>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry"); DtldVendLedgEntry2.FINDSET; // Add the following line. CheckCarteraAccessPermissions(DtldVendLedgEntry2."Document Situation"); // End of the added line. UnapplyVATEntries := FALSE; REPEAT IF (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)") ... -
Pakeisti CheckCarteraAccessPermissions funkcija, kad bendr.-pašto linijos Kodinys (12) taip:
Esamas kodas...CLEAR(GenJnlLine2);
EXIT(IsOK); END; BEGIN END. } } ...Pastaba.
...CLEAR(GenJnlLine2);
EXIT(IsOK); END; // Add the following lines. LOCAL PROCEDURE CheckCarteraAccessPermissions@1100024(DocumentSituation@1170001 : ' ,Posted BG/PO,Closed BG/PO,BG/PO,Cartera,Closed Documents'); BEGIN IF (DocumentSituation <> DocumentSituation::" ") AND (NOT AppManagement.AccessToCartera) THEN ERROR(Text1100013); END; // End of the added lines. BEGIN END. } } ...
Būtinosios sąlygos
Turi būti viena iš toliau nurodytų produktų, norint taikyti šias karštąsias pataisas:
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 R2
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 SP1
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. Naudojimoieškokite kitų priežasčių.