Mõõtmeid ei käsitleta õigesti Microsoft Dynamics NAV saksakeelses versioonis pangakonto vastavusse viimisel lisandmooduliga AddOn Maksed

Rakenduskoht
Dynamics NAV 2009 Service Pack 1 Dynamics NAV 2009 Microsoft Dynamics NAV 5.0 Microsoft Dynamics NAV 5.0 Service Pack 1

See artikkel kehtib microsoft Dynamics NAV saksa (de) keele lokaadi kohta.

Sümptomid

Kui loote pangakonto vastavusseviimise Microsoft Dynamics NAV Saksa versioonis koos lisandmoodul Maksed, ei käidelda mõõtmeid õigesti. See probleem ilmneb juhul, kui lause number sisaldab rohkem kui kümme märki.
See probleem ilmneb järgmistes toodetes:

  • Microsoft Dynamics NAV 2009 hoolduspaketi Service Pack 1 saksakeelne versioon
  • Microsoft Dynamics NAV 2009 saksakeelne versioon
  • Microsoft Dynamics NAV 5.0 hoolduspaketi Service Pack 1 saksakeelne versioon
  • Microsoft Dynamics NAV 5.0 saksakeelne versioon

Lahendus

Kiirparanduse teave

Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV 2009 hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.

            
          

Installiteave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid selleks, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.

Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.

  • Muudetava objekti muutmisõigus.
  • Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.

                
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.

Koodi muudatused

Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.
Probleemi lahendamiseks tehke järgmist.

  1. Lisage kohalik muutuja tabeli Bank Acc. Reconciliation Line (274) funktsiooni ValidteShortcutDimCode alla ja määrake muutuja järgmiselt.

    • Nimi:OffSetl
    • DataType:Integer
  2. Muutke tabeli Bank Acc. Reconciliation Line (274) funktsiooni ValidteShortcutDimCode koodi järgmiselt.
    Olemasolev kood

    ...
    DimMgt.ValidateDimValueCode(FieldNo,ShortcutDimCode);
    IF "Statement Line No." <> 0 THEN BEGIN
      DimMgt.SaveJnlLineDim(
        DATABASE::"Bank Acc. Reconciliation Line",COPYSTR("Bank Account No.",1,10),
        COPYSTR("Statement No.",1,10),"Statement Line No.",0,FieldNo,ShortcutDimCode);
      IF MODIFY THEN;
    END ELSE
      DimMgt.SaveTempDim(FieldNo,ShortcutDimCode);
    ...
    
    

    Asenduskood

    ...
    DimMgt.ValidateDimValueCode(FieldNo,ShortcutDimCode);
    IF "Statement Line No." <> 0 THEN BEGIN
      OffSetL := STRLEN("Statement No.")-9;
      IF OffSetL < 1 THEN
        OffSetL := 1;
      DimMgt.SaveJnlLineDim(
        DATABASE::"Bank Acc. Reconciliation Line",COPYSTR("Bank Account No.",1,10),
        COPYSTR("Statement No.",OffSetL,10),"Statement Line No.",0,FieldNo,ShortcutDimCode);
      IF MODIFY THEN;
    END ELSE
      DimMgt.SaveTempDim(FieldNo,ShortcutDimCode);
    ...
    
    
  3. Lisage kohalik muutuja funktsiooni CreateDim tabelisse Bank Acc. Reconciliation Line (274) ja määrake muutuja järgmiselt:

    • Nimi:OffSetl
    • DataType:Integer
  4. Muutke tabeli Bank Acc. Reconciliation Line (274) funktsiooni CreateDim koodi järgmiselt.
    Olemasolev kood 1

    ...
    SourceCodeSetup.GET;
    TableID[1] := Type1;
    No[1] := No1;
    ...
    
    

    Asenduskood 1

    ...
    OffsetL := STRLEN("Statement No.")-9;
    IF OffsetL < 1 THEN
      OffsetL := 1;
    SourceCodeSetup.GET;
    TableID[1] := Type1;
    No[1] := No1;
    ...
    
    

    Olemasolev kood 2

    ...
        DATABASE::"Bank Acc. Reconciliation Line",COPYSTR("Bank Account No.",1,10),
        COPYSTR("Statement No.",1,10),"Statement Line No.",0,
        "Global Dimension 1 Code","Global Dimension 2 Code");
    ...
    
    

    Asenduskood 2

    ...
        DATABASE::"Bank Acc. Reconciliation Line",COPYSTR("Bank Account No.",1,10),
        COPYSTR("Statement No.",OffsetL,10),"Statement Line No.",0,
        "Global Dimension 1 Code","Global Dimension 2 Code");
    ...
    
    
  5. Lisage kohalik muutuja tabeli Bank Acc. Reconciliation Line (274) funktsiooni ShowShortcutDimCode abil ja määrake muutuja järgmiselt.

    • Nimi:OffSetl
    • DataType:Integer
  6. Muutke tabeli Panga acc. sobitamisrida (274) funktsiooni ShowShortcutDimCode koodi järgmiselt.
    Olemasolev kood

    ...
    IF "Statement Line No." <> 0 THEN
      DimMgt.ShowJnlLineDim(
        DATABASE::"Bank Acc. Reconciliation Line",COPYSTR("Bank Account No.",1,10),
        COPYSTR("Statement No.",1,10),"Statement Line No.",0,ShortcutDimCode)
    ELSE
      DimMgt.ShowTempDim(ShortcutDimCode);
    ...
    
    

    Asenduskood

    ...
    OffSetL := STRLEN("Statement No.")-9;
    IF OffSetL < 1 THEN
      OffSetL := 1;
    IF "Statement Line No." <> 0 THEN
      DimMgt.ShowJnlLineDim(
        DATABASE::"Bank Acc. Reconciliation Line",COPYSTR("Bank Account No.",1,10),
        COPYSTR("Statement No.",OffSetL,10),"Statement Line No.",0,ShortcutDimCode)
    ELSE
      DimMgt.ShowTempDim(ShortcutDimCode);
    ...
    
    
  7. Lisage kohalik muutuja funktsiooni UpdateShortcutdimCode tabelisse Bank Acc. Reconciliation Line (274) ja seejärel määrake muutuja järgmiselt:

    • Nimi:OffSetl
    • DataType:Integer
  8. Muutke tabeli Bank Acc. Reconciliation Line (274) funktsiooni UpdateShortcutdimCode koodi järgmiselt.
    Olemasolev kood

    ...
    GLSetup.GET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR("Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR("Statement No.",1,10));
    JnlLineDim.SETRANGE("Journal Line No.","Statement Line No.");
    ...
    
    

    Asenduskood

    ...
    OffSetL := STRLEN("Statement No.")-9;
    IF OffSetL < 1 THEN
      OffSetL := 1; 
    GLSetup.GET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR("Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR("Statement No.",OffSetL,10));
    JnlLineDim.SETRANGE("Journal Line No.","Statement Line No.");
    ...
    
    
  9. Lisage vormil Bank Acc. Reconciliation Lines (380) funktsiooni ShowDimension kohalik muutuja ja määrake muutuja järgmiselt.

    • Nimi:OffSetl
    • DataType:Integer
  10. Muutke väljal Bank Acc. Reconciliation Lines (380) funktsiooni ShowDimension koodi järgmiselt.
    Olemasolev kood

    ...
    // CLR
    JnlLineDim.RESET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR("Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR("Statement No.",1,10));
    JnlLineDim.SETRANGE("Journal Line No.","Statement Line No.");
    ...
    
    

    Asenduskood

    ...
    // CLR
    OffSetL := STRLEN("Statement No.")-9;
    IF OffSetL < 1 THEN
      OffSetL := 1;
    
    JnlLineDim.RESET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR("Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR("Statement No.",OffSetL,10));
    JnlLineDim.SETRANGE("Journal Line No.","Statement Line No.");
    ...
    
    
  11. Lisage leheLe Bank Acc. Reconciliation Lines (380) funktsiooni ShowDimension kohalik muutuja ja määrake muutuja järgmiselt.

    • Nimi:OffSetl
    • DataType:Integer
  12. Muutke väljal ShowDimension (ShowDimension) kuvatavat koodi lehel Bank Acc. Reconciliation Lines (380) järgmiselt.
    Olemasolev kood

    ...
    // CLR
    JnlLineDim.RESET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR("Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR("Statement No.",1,10));
    JnlLineDim.SETRANGE("Journal Line No.","Statement Line No.");
    ...
    
    

    Asenduskood

    ...
    // CLR
    OffSetL := STRLEN("Statement No.")-9;
    IF OffSetL < 1 THEN
      OffSetL := 1;
    JnlLineDim.RESET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR("Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR("Statement No.",OffSetL,10));
    JnlLineDim.SETRANGE("Journal Line No.","Statement Line No.");
    ...
    
    
  13. Lisage funktsiooni Bank Acc. Reconciliation Post codeunit (370) päästikusse OnRun kohalik muutuja ja seejärel määrake muutuja järgmiselt:

    • Nimi:OffSetl
    • DataType:Integer
  14. Muutke bank Acc. Reconciliation Post codeuniti (370) päästikul OnRun koodi järgmiselt.
    Olemasolev kood

    ...
        BankAccStmtLine.INSERT;
        // CLR
        AutocreateBankAccount(BankAccReconLine);
        DimMgt.DeleteDocDim(
          DATABASE::"Bank Acc. Reconciliation Line",0,
          BankAccStmtLine."Statement No.",BankAccStmtLine."Statement Line No.");
        // CLR
      UNTIL BankAccReconLine.NEXT = 0;
    ...
    
    

    Asenduskood

    ...
        BankAccStmtLine.INSERT;
        // CLR
        AutocreateBankAccount(BankAccReconLine);
        OffSetL := STRLEN(BankAccReconLine."Statement No.")-9;
        IF OffSetL < 1 THEN
          OffSetL := 1;
        DimMgt.DeleteDocDim(
          DATABASE::"Bank Acc. Reconciliation Line",0,
          COPYSTR(BankAccStmtLine."Statement No.",OffSetL,10),BankAccStmtLine."Statement Line No.");
        // CLR
      UNTIL BankAccReconLine.NEXT = 0;
    ...
    
    
  15. Lisage makse geni funktsiooni PostGLAcc kohalik muutuja. Jnl.-Post line codeunit (5001910) ja seejärel määrake muutuja järgmiselt:

    • Nimi:OffSetl
    • DataType:Integer
  16. Muutke makse geni funktsiooni PostGLAcc koodi. Jnl.-Post line codeunit (5001910) järgmiselt:
    Olemasolev kood

    ...
      IF NOT TempJnlLineDim.INSERT THEN
        TempJnlLineDim.MODIFY;
    END;
    JnlLineDim.RESET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR(BankAccRecLine."Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR(BankAccRecLine."Statement No.",1,10));
    JnlLineDim.SETRANGE("Journal Line No.",BankAccRecLine."Statement Line No.");
    ...
    
    

    Asenduskood

    ...
      IF NOT TempJnlLineDim.INSERT THEN
        TempJnlLineDim.MODIFY;
    END;
    OffSetL := STRLEN(BankAccRecLine."Statement No.")-9;
    IF OffSetL < 1 THEN
      OffSetL := 1;
    JnlLineDim.RESET;
    JnlLineDim.SETRANGE("Table ID",DATABASE::"Bank Acc. Reconciliation Line");
    JnlLineDim.SETRANGE("Journal Template Name",COPYSTR(BankAccRecLine."Bank Account No.",1,10));
    JnlLineDim.SETRANGE("Journal Batch Name",COPYSTR(BankAccRecLine."Statement No.",OffSetL,10));
    JnlLineDim.SETRANGE("Journal Line No.",BankAccRecLine."Statement Line No.");
    ...
    
    

          

Eeltingimused

Selle kiirparanduse rakendamiseks peab teil olema installitud üks järgmistest toodetest:

  • Microsoft Dynamics NAV 2009 hoolduspaketi Service Pack 1 saksakeelne versioon, mis sisaldab lisandmoodul Maksed
  • Microsoft Dynamics NAV 2009 saksakeelne versioon, mille lisandmoodul Maksed sisaldas
  • Microsoft Dynamics NAV 5.0 hoolduspaketi Service Pack 1 saksakeelne versioon, mis sisaldab lisandmoodul Maksed
  • Microsoft Dynamics NAV 5.0 saksakeelne versioon, mis sisaldab lisandmoodul Maksed

Eemaldamisteave

Seda kiirparandust ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Märkus. See on otse Microsofti tugiteenuste organisatsioonist loodud FAST PUBLISH-artikkel. Käesolevas artiklis sisalduv teave on esitatud kujul, mis on seotud tekkivate küsimustega. Materjali kättesaadavaks tegemise kiiruse tõttu võivad materjalid sisaldada kirjavigu ja neid võib igal ajal ette teatamata läbi vaadata. Muid kaalutlusi leiate teemast Kasutustingimused .