Izveidojot maksājumu failu, kurā ir latviešu valodas speciālās rakstzīmes, piemēram, Umlaute, Microsoft Dynamics NAV vācu valodas versijā, speciālās rakstzīmes tiek pārveidotas nekonsekventi

Attiecas uz
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

Šis raksts attiecas uz Microsoft Dynamics NAV vācu (de) valodas lokalizācijām.

Pazīmes

Izveidojot maksājumu failu, kurā ir latviešu valodas speciālās rakstzīmes, piemēram, Umlaute, speciālās rakstzīmes tiek pārveidotas nekonsekventi. Piemēram, "Ö " kā speciālā rakstzīme tā tiek vienreizēji pārveidota par "\" un vienreiz pārveidota par "TM".

Šī problēma rodas šādos produktos:

  • Microsoft Dynamics NAV 2009 1. servisa pakotnes vācu versija
  • Microsoft Dynamics NAV 5.0 1. servisa pakotnes vācu versija

Risinājums

Informācija par labojumfailu

Atbalstīts labojumfails tagad ir pieejams no Microsoft. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lietojiet to tikai sistēmām, kurās rodas šī konkrētā problēma. Šim labojumfailam var tikt veiktas papildu pārbaudes. Tāpēc, ja šī problēma jūs nopietni neietekmē, ieteicams gaidīt nākamo Microsoft Dynamics NAV 2009 servisa pakotni vai nākamo Microsoft Dynamics NAV versiju, kurā ir šis labojumfails.

Piezīme Īpašos gadījumos maksa, kas parasti tiek piemērota par atbalsta zvaniem, var tikt atcelta, ja Microsoft Dynamics un saistīto produktu tehniskā atbalsta speciālists nosaka, ka problēma tiks novērsta, instalējot noteiktu atjauninājumu. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

            
          

Informācija par instalāciju

Microsoft sniedz programmēšanas piemērus tikai ilustrācijai, bez tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai piemērotībai noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt demonstrējamo programmēšanas valodu un rīkus, kas tiek izmantoti procedūru izveidei un atkļūdošanai. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētās procedūras funkcionalitāti, bet viņi šos piemērus nemodificēs, lai nodrošinātu papildu funkcionalitāti vai veidotu procedūras, kas atbilst jūsu specifiskajām prasībām.

Piezīme Pirms šī labojumfaila instalēšanas pārliecinieties, vai visi Microsoft Navision klienta lietotāji ir atteikušies no sistēmas. Tas ietver Microsoft Navision lietojumprogrammu pakalpojumu (NAS) klienta lietotājus. Jūs esat vienīgais klienta lietotājs, kurš ir pieteicies, ieviešot šo labojumfailu.

Lai ieviestu šo labojumfailu, ir nepieciešama izstrādātāja licence.

Iesakām lietotāja kontam logā Windows pieteikšanās vai datu bāzes pieteikšanās logā piešķirt lomas ID "SUPER". Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, jums ir jāpārbauda, vai lietotāja kontam ir šādas atļaujas:

  • Modificēt objektu, kuru mainīsit.
  • Izpildes atļauja sistēmas objekta ID 5210 un sistēmas objekta ID 9015.

                
Piezīme. Jums nav tiesību uz datu krātuvēm, ja vien jums nav jāveic datu labošana.

Koda izmaiņas

Piezīme Pirms labojumu lietošanas ražošanas datoros vienmēr pārbaudiet koda labojumus kontrolētā vidē.
Lai atrisinātu šo problēmu, veiciet tālāk norādītās darbības.

  1. Mainiet šo globālo mainīgo klīringa funkcijā codeunit (5001901):
    Esošais mainīgais

    • Vārds, uzvārds: Dtaus
    • DataType: Kods
    • Garums: 150

    Aizstāšanas mainīgais

    • Vārds, uzvārds: Dtaus
    • DataType: Kods
    • Garums: 1024
  2. Klīringa funkcijā codeunit (5001901) izdzēsiet šādus globālos mainīgos:

    • Nosaukums:AUmlaut
    • Nosaukums:OUmlaut
    • Vārds:UUmlaut
    • Vārds: EsZet
  3. Klīringa funkcijai codeunit (5001901) pievienojiet šādu teksta konstanti:

    • Nosaukums: Teksts 1105400400

    • Konstantes vērtība:

      • DEU=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]~.,&-+*%/$
      • ENU=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]~.,&-+*%/$'
  4. Procedūrā Open Exportfile mainiet šādu kodu:

    Esošais kods

    ...
        PaymentSetup.TESTFIELD("Textcode Credit Note");
    
        TextCode := PaymentSetup."Textcode Credit Note";
    
      END;
    
    END;
    
    AUmlaut := '[';         
    
    OUmlaut := '\';         
    
    UUmlaut := ']';        
    
    EsZet := '~';        
    ...
    
    

    Aizstāšanas kods

    ...
        PaymentSetup.TESTFIELD("Textcode Credit Note");
    
        TextCode := PaymentSetup."Textcode Credit Note";
    
      END;
    
    END;
    ...
    
  5. Mainiet tālāk norādīto kodu procedūrā CustomerOutput:

    Esošais kods

    ...
    WITH PaymLine2 DO BEGIN
    
      IF "Account No." = PaymLine3."Account No." THEN BEGIN
    
        PaymLine3 := PaymLine2;
        IF "Sum Entries"<>0 THEN BEGIN
       Counter := Counter + 1;
    
          SumDM := TotalEntries;
    
          AmountDM[Counter] := TotalEntries;
    
        END ELSE BEGIN
    
          Counter := Counter + 1;  
    ...
    
    

    Aizstāšanas kods

    ...
     WITH PaymLine2 DO BEGIN
    
      IF "Account No." = PaymLine3."Account No." THEN BEGIN
    
        PaymLine3 := PaymLine2;
    
        IF "Sum Entries"<>0 THEN BEGIN
    
          Counter := Counter + 1;
    
          SumDM := TotalEntries;
    
          AmountDM[Counter] := TotalEntries;
    
    // Add the following line.
          PDate [Counter] := "Posting Date"; 
    // End of the added line.
    
        END ELSE BEGIN
    
          Counter := Counter + 1;
    
    ...
    
  6. Mainiet tālāk norādīto kodu procedūrā PaymentfileRecord:

    Esošais kods

    ...
       // Record C (DataExchange), 1. Constant Part, 2. Section
    
      //
    
      //                                                                 field  length   contents
    
    // -------------------------------------------------------------------------------------------------------------------------------
    
             FORMAT(UPPERCASE(CompanyInfo.Name),27) +                    // 15      27   Name
    
             COPYSTR(Text1105400035 + PADSTR('',7,' '),1,7) +            // Cust.No / KD.NR.
    ...
    
    

    Aizstāšanas kods

    ...
        // Record C (DataExchange), 1. Constant Part, 2. Section
    
      //
    
      //                                                                 field  length   contents
    
    // -------------------------------------------------------------------------------------------------------------------------------
    
             FORMAT(UPPERCASE(CompName),27) +                            // 15      27   Name
    
             COPYSTR(Text1105400035 + PADSTR('',7,' '),1,7) +            // Cust.No / KD.NR.
    ...
    
  7. CheckFormat procedūrā pievienojiet šādus lokālos mainīgos:

    • Nosaukums:AUmlaut

      • DataType: Text
      • Garums: 1
    • Nosaukums:OUmlaut

      • DataType: Text
      • Garums: 1
    • Vārds:UUmlaut

      • DataType: Text
      • Garums: 1
    • Vārds: EsZet

      • DataType: Text
      • Garums: 1
  8. Procedūrā CheckFormat mainiet šādu kodu:

    Esošais kods

    ...
     WHILE STRPOS(FieldContent,'ß') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'ß')-1) + EsZet +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'ß')+1,MAXSTRLEN(FieldContent));
    
    WHILE STRPOS(FieldContent,'Ä') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'Ä')-1) + AUmlaut +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'Ä')+1,MAXSTRLEN(FieldContent));
    
    WHILE STRPOS(FieldContent,'Ö') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'Ö')-1) + OUmlaut +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'Ö')+1,MAXSTRLEN(FieldContent));
    
    WHILE STRPOS(FieldContent,'Ü') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'Ü')-1) + UUmlaut +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'Ü')+1,MAXSTRLEN(FieldContent));
    
    CheckRec := DELCHR(FieldContent,'=',Text1105400043);
    
    IF CheckRec <>'' THEN BEGIN
    
      CheckRec := CONVERTSTR(FieldContent,Text1105400044,
    
                                        '                                                 ');
    
      String := STRLEN(DELCHR(CheckRec));
    
      FieldContent := CONVERTSTR(FieldContent,DELCHR(CheckRec),PADSTR('',String,' '));
    
    END;
    
    EXIT (FieldContent);
    ...
    
    

    Aizstāšanas kods

    ...
      AUmlaut := '[';
    
    OUmlaut := '\';
    
    UUmlaut := ']';
    
    EsZet := '~';
    
    
    
    WHILE STRPOS(FieldContent,'ß') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'ß')-1) + EsZet +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'ß')+1,MAXSTRLEN(FieldContent));
    
    WHILE STRPOS(FieldContent,'Ä') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'Ä')-1) + AUmlaut +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'Ä')+1,MAXSTRLEN(FieldContent));
    
    WHILE STRPOS(FieldContent,'Ö') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'Ö')-1) + OUmlaut +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'Ö')+1,MAXSTRLEN(FieldContent));
    
    WHILE STRPOS(FieldContent,'Ü') > 0 DO
    
      FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'Ü')-1) + UUmlaut +
    
                    COPYSTR(FieldContent,STRPOS(FieldContent,'Ü')+1,MAXSTRLEN(FieldContent));
    
    CheckRec := DELCHR(FieldContent,'=',Text1105400043);
    
    IF CheckRec <>'' THEN BEGIN
    
      CheckRec := CONVERTSTR(FieldContent,Text1105400400,
    
                                        '                                                 ');
    
      String := STRLEN(DELCHR(CheckRec));
    
      FieldContent := CONVERTSTR(FieldContent,DELCHR(CheckRec),PADSTR('',String,' '));
    
    END;
    
    EXIT (FieldContent);
    ...
    
  9. Mainiet parametra "Disks" garumu CheckPaymfile procedūrā:

    • Esošā garuma vērtība: 150
    • Garuma aizstāšanas vērtība: 260
  10. Mainiet parametra "ErrorMessage" garumu CheckBeforePaym procedūrā:

    • Esošā garuma vērtība: 150
    • Garuma aizstāšanas vērtība: 1024
  11. WritePaymBankInfoLine procedūrā mainiet šādu kodu:
    Esošais kods

    ...
            "Bank Branch No." := CustBankAcc."Bank Branch No.";
    
            "Bank Account No." := CustBankAcc."Bank Account No.";
    
            "Bank Name 2" := CustBankAcc."Name 2";
    
            "Bank Address" := CustBankAcc.Address;
    ...
    
    

    Aizstāšanas kods

    ...
           "Bank Branch No." := CustBankAcc."Bank Branch No.";
    
            "Bank Account No." := CustBankAcc."Bank Account No.";
    
            "SWIFT Code" := CustBankAcc."SWIFT Code";
    
            IBAN := CustBankAcc.IBAN;
    
            "Bank Name 2" := CustBankAcc."Name 2";
    
            "Bank Address" := CustBankAcc.Address;
    ...
    

          

Priekšnosacījumi

Lai lietotu šo labojumfailu, ir jābūt instalētam vienam no šiem produktiem:

  • Microsoft Dynamics NAV 2009 1. servisa pakotnes vācu versija
  • Microsoft Dynamics NAV 5.0 1. servisa pakotnes vācu versija

                
              

Noņemšanas informācija

Šo labojumfailu nevar noņemt.

Statuss

Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".

Piezīme Šis ir "ĀTRĀS PUBLICĒŠANAS" raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šeit ietvertā informācija tiek sniegta tāda, kāda tā ir, reaģējot uz jauniem jautājumiem. Ātrās pieejamības rezultātā materiālos var būt drukas kļūdas, un tos var pārskatīt jebkurā laikā bez iepriekšēja brīdinājuma. Citus apsvērumus skatiet lietošanas nosacījumos .