Ovaj članak se odnosi na Microsoft Dynamics NAV za lokalni standard nemačkog (de) jezika.
Simptomi
U nemačkoj verziji programa Microsoft Dynamics NAV sa uključenim programskim dodatkom Plaćanja, kada kreirate datoteku sa sporednim plaćanjem, nailazite na sledeće neispravne probleme sa izvozom:
- Pretpostavimo da ste napravili datoteku stranog plaćanja koja ima račun za naknade. Ako se račun za troškove razlikuje od računa u banci koji je korišćen za plaćanje, primetićete da je u datoteku plaćanja upisan netačan broj računa u banci.
- V-Satz polje (10) u datoteci neočekivano se popunjava sa "N". Očekujete da podaci u polju budu prazni.
- Polje T-Satz (10a) u datoteci neočekivano se popunjava sa "DE". Očekujete da podaci u polju budu "SAD" zato što je prodavac iz SAD, a samo je račun u banci u Nemačkoj.
Ovaj problem se javlja u sledećim proizvodima:
- Nemačka verzija Microsoft Dynamics NAV 2009 servisni paket 1 (SP1)
- Nemačka verzija sistema Microsoft Dynamics NAV 2009 R2
Rešenje
Informacije o hitnim ispravkama
Podržana hitna ispravka je sada dostupna od korporacije Microsoft. Međutim, namena je samo za rešavanje problema koji je opisan u ovom članku. Primenite je samo na sisteme koji imaju ovaj određeni problem. Ova hitna ispravka može proći dodatno testiranje. Stoga, ako ovaj problem ne utiče ozbiljno, preporučujemo da sačekate sledeći servisni paket za Microsoft Dynamics NAV 2009 ili sledeću verziju programa Microsoft Dynamics NAV koja sadrži ovu hitnu ispravku.
Napomena: U posebnim slučajevima, troškovi koji se obično nastaju za pozive podršci mogu biti otkazani ako stručnjak za tehničku podršku za Microsoft Dynamics i srodne proizvode utvrdi da će određena ispravka rešiti problem. Uobičajeni troškovi podrške primenjivaće se na dodatna pitanja podrške i probleme koji ne ispunjavaju uslove za određenu ispravku u pitanju.
Informacije o instalaciji
Microsoft pruža primere programiranja samo za ilustraciju, bez izričite ili podrazumevane garancije. Ovo uključuje, ali nije ograničeno na, podrazumevane garancije o podesnosti za prodaju ili o podesnosti za određenu namenu. U ovom članku se pretpostavlja da ste upoznati sa programskim jezikom koji se demonstrira i sa alatkama koje se koriste za kreiranje procedura i otklanjanje grešaka. Inženjeri Microsoft podrške mogu da vam objasne funkcionalnost određene procedure, ali neće izmeniti ove primere da bi obezbedili dodatnu funkcionalnost ili konstruisali procedure koje ispunjavaju vaše određene zahteve.
Napomena: Pre nego što instalirate ovu hitnu ispravku, proverite da li su svi korisnici Microsoft Navision klijenta odjavljeni iz sistema. To uključuje korisnike Microsoft Navision Application Services (NAS) klijenta. Vi bi trebalo da budete jedini korisnik klijenta koji je prijavljen kada primenjujete ovu hitnu ispravku.
Da biste primenili ovu hitnu ispravku, morate imati licencu za projektante.
Preporučujemo da se korisničkom nalogu u prozoru "Prijavljivanje u operativni sistem Windows" ili u prozoru "Prijavljivanje u bazu podataka" dodeli ID uloge "SUPER". Ako korisničkom nalogu nije moguće dodeliti ID uloge "SUPER", morate da proverite da li korisnički nalog ima sledeće dozvole:
- Dozvola "Izmeni" za objekat koji ćete menjati.
- Dozvola za izvršavanje za objekat sistema ID 5210 i za objekat sistema ID 9015.
Napomena: Ne morate da imate prava na skladišta podataka osim ako ne morate da izvršite popravku podataka.
Promene kodova
Napomena: Popravke kodova uvek testirajte u kontrolisanom okruženju pre nego što ih primenite na računare proizvodnje.
Pratite ove korake da biste rešili problem:
Promenite kôd u funkciji Open Exportfile u AZV kodnoj jedinici (5001905) na sledeći način:
Promenite definiciju globalne promenljive na sledeći načinStara definicija: Dtaus : Code[150];
Nova definicija: Dtaus : Code[260];
Postojeći kôd
... CompanyInfo.GET; // Delete the following line. NameOfCompany := CheckFormat(FORMAT(UPPERCASE(CompanyInfo.Name),27)); FormatAddr.BankAcc(AddrArray,BankAccount); ...Kôd za zamenu
... CompanyInfo.GET; // Add the following line. NameOfCompany := COPYSTR(CheckFormat(FORMAT(UPPERCASE(CompanyInfo.Name),27)),1,MAXSTRLEN(NameOfCompany)); FormatAddr.BankAcc(AddrArray,BankAccount); ...Promenite kôd u funkciji FormatBankAcc u AZV kodnoj jedinici (5001905) na sledeći način:
Kreirajte novu lokalnu promenljivu BankAccount3 na sledeći način:BankAccount3@ : Rekord 270
Postojeći kôd
... IF (PaymLedgEntry."Account No. Charges"<>") AND (PaymLedgEntry."Account No. Charges"<>PaymLedgEntry."Bank Account No.") THEN BEGIN // Delete the following lines. BankAccount.GET(PaymLedgEntry."Account No. Charges"); "Bank Code" := BankAccount."Bank Branch No."; IF STRLEN("Bank Code") = 0 THEN ERROR(Text1105400002,BankAccount."No."); BankCodeBank := FormatBankCode("Bank Code"); IF STRLEN(BankCodeBank) <> 8 THEN ERROR(Text1105400003,BankAccount."No."); BankCodeRec3 := BankCodeBank; Account := BankAccount."Bank Account No."; IF STRLEN(Account) = 0 THEN ERROR(Text1105400004,BankAccount."No."); AccountBank := FormatAccount(Account); IF STRLEN(AccountBank) >10 THEN ERROR( Text1105400005,BankAccount."No."); AccountRec3 := AccountBank; // End of the deleted lines. END ELSE BEGIN BankCodeRec3 := PADSTR('',8,'0'); AccountRec3 := PADSTR('',10,'0'); END; ...Kôd za zamenu
... IF (PaymLedgEntry."Account No. Charges"<>") AND (PaymLedgEntry."Account No. Charges"<>PaymLedgEntry."Bank Account No.") THEN BEGIN // Add the following lines. BankAccount3.GET(PaymLedgEntry."Account No. Charges"); IF STRLEN(BankAccount3."Bank Branch No.") = 0 THEN ERROR(Text1105400002,BankAccount3."No."); BankCodeRec3 := FormatBankCode(BankAccount3."Bank Branch No."); IF STRLEN(BankCodeRec3) <> 8 THEN ERROR(Text1105400003,BankAccount3."No."); IF STRLEN(BankAccount3."Bank Account No.") = 0 THEN ERROR(Text1105400004,BankAccount3."No."); AccountRec3 := FormatAccount(BankAccount3."Bank Account No."); IF STRLEN(AccountRec3) >10 THEN ERROR( Text1105400005,BankAccount3."No."); //End of the added lines. END ELSE BEGIN BankCodeRec3 := PADSTR('',8,'0'); AccountRec3 := PADSTR('',10,'0'); END; ...Promenite kôd u funkciji VendBankFormat u AZV kodnoj jedinici (5001905) na sledeći način:
Postojeći kôd... ERROR(Text1105400129,Country."Bank Country Code"); END; // Delete the following line. VendCountry := Country."Bank Country Code"; IF PostedAZV.IBAN <>'' THEN BEGIN Account := DELCHR(PostedAZV.IBAN); Account := CheckFormat(UPPERCASE(PADSTR(Account,34,' '))); ...Kôd za zamenu
... ERROR(Text1105400129,Country."Bank Country Code"); END; // Add the following line. VendCountry := PostedAZV."Country Code"; IF PostedAZV.IBAN <> '' THEN BEGIN Account := DELCHR(PostedAZV.IBAN); Account := CheckFormat(UPPERCASE(PADSTR(Account,34,' '))); ...Promenite kôd u funkciji PaymFileHeader u AZV kodnoj jedinici (5001905) na sledeći način:
Postojeći kôd... IF STRLEN(CompanyNo) <>8 THEN ERROR(Text1105400137,BankAccount."No."); END; Account := BankAccount."Bank Account No."; IF STRLEN(Account) = 0 THEN ...Kôd za zamenu
... IF STRLEN(CompanyNo) <>8 THEN ERROR(Text1105400137,BankAccount."No."); // Add the following lines. END ELSE BEGIN IF CompanyNo = '' THEN CompanyNo := PADSTR('',8,'0'); // End of the added lines. END; Account := BankAccount."Bank Account No."; IF STRLEN(Account) = 0 THEN ...Promenite kôd u funkciji CreateRegistration u AZV kodnoj jedinici (5001905) na sledeći način:
Brisanje lokalne promenljive InfoTransitUnsalableInvL: Code[1]Postojeći kôd
... PassagingTransitL := 'N'; BrokenTransitL := 'N'; // Delete the following line. InfoTransitUnsalableInvL := 'N'; InfoTransitUnsalableForeignL := 'N'; IF RegistrationSet."Passaging Transit" THEN PassagingTransitL := 'J'; IF RegistrationSet."Broken Transit" THEN BEGIN BrokenTransitL := 'J'; RegistrationSet.TESTFIELD("Add. Information Transit"); Transit := COPYSTR(Transit,1,62) + PADSTR(CheckFormat(FORMAT(UPPERCASE(RegistrationSet."Add. Information Transit"),40)),40,' '); END; // Delete the following lines. IF RegistrationSet."Info Transit unsalable Inv" THEN InfoTransitUnsalableInvL := 'J'; // End of the deleted lines. IF RegistrationSet."Info Transit unsalable forei." THEN InfoTransitUnsalableForeignL := 'J'; Z := Text1105400025 + PADSTR(RegistrationSet."Itemname Trading Goods",27,' ') + NumToString(RegistrationSet."Capitel No. Goods",2,'0') + PADSTR('',7,'0') + PADSTR(BankCountries."Bank Country Short Name",7,' ') + PADSTR(RegistrationSet."Country Code",3,' ') + NumToString(FORMAT(ROUND(MAmount,1,'<'),12,1),12,'0') + PassagingTransitL + BrokenTransitL + // Delete the following line. InfoTransitUnsalableInvL + InfoTransitUnsalableForeignL + Transit; Exportfile.SEEK(Exportfile.POS-2); ...Kôd za zamenu
... PassagingTransitL := 'N'; BrokenTransitL := 'N'; InfoTransitUnsalableForeignL := 'N'; IF RegistrationSet."Passaging Transit" THEN PassagingTransitL := 'J'; IF RegistrationSet."Broken Transit" THEN BEGIN BrokenTransitL := 'J'; RegistrationSet.TESTFIELD("Add. Information Transit"); Transit := COPYSTR(Transit,1,62) + PADSTR(CheckFormat(FORMAT(UPPERCASE(RegistrationSet."Add. Information Transit"),40)),40,' '); END; IF RegistrationSet."Info Transit unsalable forei." THEN InfoTransitUnsalableForeignL := 'J'; Z := Text1105400025 + PADSTR(RegistrationSet."Itemname Trading Goods",27,' ') + NumToString(RegistrationSet."Capitel No. Goods",2,'0') + PADSTR('',7,'0') + PADSTR(BankCountries."Bank Country Short Name",7,' ') + PADSTR(RegistrationSet."Country Code",3,' ') + NumToString(FORMAT(ROUND(MAmount,1,'<'),12,1),12,'0') + PassagingTransitL + BrokenTransitL + // Add the following line. PADSTR('',1,' ') + InfoTransitUnsalableForeignL + Transit; Exportfile.SEEK(Exportfile.POS-2); ...Promenite kôd u funkciji CheckFormat u AZV kodnoj jedinici (5001905) na sledeći način:
Postojeći kôd... WHILE STRPOS(FieldContent,'š') >0 DO FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'š')-1) + Text1105400035 + COPYSTR(FieldContent,STRPOS(FieldContent,'š')+1,MAXSTRLEN(FieldContent)); CheckRec := DELCHR(FieldContent,'=',Text1105400036); ...Kôd za zamenu
... WHILE STRPOS(FieldContent,'š') >0 DO FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'š')-1) + Text1105400035 + COPYSTR(FieldContent,STRPOS(FieldContent,'š')+1,MAXSTRLEN(FieldContent)); // Add the following lines. WHILE STRPOS(FieldContent,'&') > 0 DO FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'&')-1) + ' ' + COPYSTR(FieldContent,STRPOS(FieldContent,'&')+1,MAXSTRLEN(FieldContent)); WHILE STRPOS(FieldContent,'$') > 0 DO FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'$')-1) + ' ' + COPYSTR(FieldContent,STRPOS(FieldContent,'$')+1,MAXSTRLEN(FieldContent)); WHILE STRPOS(FieldContent,'*') > 0 DO FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'*')-1) + ' ' + COPYSTR(FieldContent,STRPOS(FieldContent,'*')+1,MAXSTRLEN(FieldContent)); WHILE STRPOS(FieldContent,'%') > 0 DO FieldContent := COPYSTR(FieldContent,1,STRPOS(FieldContent,'%')-1) + ' ' + COPYSTR(FieldContent,STRPOS(FieldContent,'%')+1,MAXSTRLEN(FieldContent)); //End of the added lines. CheckRec := DELCHR(FieldContent,'=',Text1105400036); ...Promenite definiciju parametra Drive u funkciji CheckPaymFile u AZV kodnoj jedinici (5001905) na sledeći način:
Stara definicija: Dtaus : Drive : Kod [150];
Nova definicija: Dtaus : Drive : Kod [250];
Promenite kôd u funkciji TestCompanyInfo u AZV kodnoj jedinici (5001905) na sledeći način:
Postojeći kôd... CompanyInfo.GET; // Delete the following line. CompName := CheckFormat(FORMAT(UPPERCASE(CompanyInfo.Name),27)); BankAccount.GET(Bacc); "Bank Code" := BankAccount."Bank Branch No."; IF STRLEN("Bank Code") = 0 THEN ...Kôd za zamenu
... CompanyInfo.GET; // Add the following line. CompName := COPYSTR(CheckFormat(FORMAT(UPPERCASE(CompanyInfo.Name),27)),1,MAXSTRLEN(CompName)); BankAccount.GET(Bacc); "Bank Code" := BankAccount."Bank Branch No."; IF STRLEN("Bank Code") = 0 THEN ...
Preduslovi
Morate da imate instaliran jedan od sledećih proizvoda da biste primenili ovu hitnu ispravku:
- Nemačka verzija Microsoft Dynamics NAV 2009 servisni paket 1 (SP1)
- Nemačka verzija sistema Microsoft Dynamics NAV 2009 R2
Informacije o uklanjanju
Ne možete da uklonite ovu hitnu ispravku.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.
Reference
VSTF DynamicsNAV SE: 245257; 254071; 277428
Napomena: Ovo je članak "BRZO OBJAVLJIVANJE" koji je kreiran direktno u okviru organizacije Microsoft podrške. Informacije koje se nalaze ovde pružaju se kakve jesu kao odgovor na nove probleme. Kao rezultat brzine stavljanja na raspolaganje, materijali mogu sadržavati tipografske greške i mogu se revidirati u bilo kom trenutku bez prethodne najave. Pogledajte Uslove korišćenja za druga razmatranja.