Tarkime, kad atliekate "Mokesčių Authorties priimti Digipoort PVM ir ES pardavimų sąrašas pateikimo Microsoft Dynamics NAV SP1 NL" Microsoft Dynamics NAV 2009 olandų kalba. Kai naudojate Digipoort sąsaja, galite gauti vieną iš šių klaidų tikrinimas:
SBR_DIGIPOORT bd-alg:ContactPrefix negali būti tuščias.
ICP neturi būti nulis.
Ši problema iškyla faile šiems produktams:
-
Microsoft Dynamics NAV 2009 R2 olandų kalba
-
Olandų kalba Microsoft Dynamics NAV 2009 1 pakeitimų paketas (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.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:-
Pakeisti kodą sukurti elektrin ICP deklaracijos ataskaitoje (11404):
Esamas kodas 1...ElecTaxDeclarationHeader@1000000 : Record 11409;
ApplicationManagement@1000001 : Codeunit 1; UseVATRegNo@1000010 : Text[20]; BEGIN IF Status > Status::Created THEN ERROR(StatusErr); ...Atsarginis kodas 1
...ElecTaxDeclarationHeader@1000000 : Record 11409;
ApplicationManagement@1000001 : Codeunit 1; UseVATRegNo@1000010 : Text[20]; StreetName@1000002 : Text[50]; HouseNo@1000003 : Text[50]; AdditionHouseNo@1000004 : Text[50]; ContactPrefix@1000011 : Text[35]; BEGIN IF Status > Status::Created THEN ERROR(StatusErr); ...Esamas kodas 2
...// zbrli:xbrl->bd-ob:VATIdentificationNumberNLFiscalEntityDivision
IF ElecTaxDeclarationSetup."Part of Fiscal Entity" THEN BEGIN IF COPYSTR( UPPERCASE(CompanyInfo."VAT Registration No."), 1,STRLEN(CompanyInfo."Country/Region Code")) = CompanyInfo."Country/Region Code" THEN CompanyInfo."VAT Registration No." := DELSTR(CompanyInfo."VAT Registration No.",1,STRLEN(CompanyInfo."Country/Region Code")); InsertDataLine("Elec. Tax Declaration Header",1,'bd-ob:VATIdentificationNumberNLFiscalEntityDivision', CompanyInfo."VAT Registration No.",'','Msg',''); END; // zbrli:xbrl->bd-alg:Contact* ...Atsarginis kodas 2
...// zbrli:xbrl->bd-ob:VATIdentificationNumberNLFiscalEntityDivision
IF ElecTaxDeclarationSetup."Part of Fiscal Entity" THEN BEGIN IF COPYSTR( UPPERCASE(CompanyInfo."Fiscal Entity No."), 1,STRLEN(CompanyInfo."Country/Region Code")) = CompanyInfo."Country/Region Code" THEN CompanyInfo."Fiscal Entity No." := DELSTR(CompanyInfo."Fiscal Entity No.",1,STRLEN(CompanyInfo."Country/Region Code")); InsertDataLine("Elec. Tax Declaration Header",1,'bd-ob:VATIdentificationNumberNLFiscalEntityDivision', CompanyInfo."Fiscal Entity No.",'','Msg',''); END; // zbrli:xbrl->bd-alg:Contact* ...Esamas kodas 3
...IF ElecTaxDeclarationSetup."ICP Contact Type" = ElecTaxDeclarationSetup."ICP Contact Type"::"Tax Payer" THEN BEGIN
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix', ExtractNamePrefix(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ...Pakeitimo kodas 3
...IF ElecTaxDeclarationSetup."ICP Contact Type" = ElecTaxDeclarationSetup."ICP Contact Type"::"Tax Payer" THEN BEGIN
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); ContactPrefix := ExtractNamePrefix(ElecTaxDeclarationSetup."Tax Payer Contact Name"); IF ContactPrefix <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix',ContactPrefix,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ...Esamas kodas 4
...ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg','');
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ElecTaxDeclarationSetup."Tax Payer Contact Phone No.",'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL', ExtractStreetName(CompanyInfo.Address),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL', ExtractStreetNo(CompanyInfo.Address),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(CompanyInfo."Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL', ...Pakeitimo kodekso 4
...ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg','');
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ElecTaxDeclarationSetup."Tax Payer Contact Phone No.",'','Msg',''); PostCodeMgt.ParseAddressAdditionHouseNo(StreetName,HouseNo,AdditionHouseNo,CompanyInfo.Address); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL',StreetName,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL',HouseNo,'','Msg',''); IF AdditionHouseNo <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberAddition',AdditionHouseNo,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(CompanyInfo."Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL', ...Esamas kodas 5
...END ELSE BEGIN
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix', ExtractNamePrefix(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ...Pakeitimo kodas 5
...END ELSE BEGIN
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); ContactPrefix := ExtractNamePrefix(ElecTaxDeclarationSetup."Agent Contact Name"); IF ContactPrefix <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix',ContactPrefix,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ...Esamas kodas 6
...ElecTaxDeclarationSetup."Agent Contact Phone No.",'','Msg','');
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:TaxConsultantNumber', ElecTaxDeclarationSetup."Agent Contact ID",'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL', ExtractStreetName(ElecTaxDeclarationSetup."Agent Contact Address"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL', ExtractStreetNo(ElecTaxDeclarationSetup."Agent Contact Address"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(ElecTaxDeclarationSetup."Agent Contact Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL', ...Pakeitimo kodas 6
...ElecTaxDeclarationSetup."Agent Contact Phone No.",'','Msg','');
InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:TaxConsultantNumber', ElecTaxDeclarationSetup."Agent Contact ID",'','Msg',''); PostCodeMgt.ParseAddressAdditionHouseNo( StreetName,HouseNo,AdditionHouseNo,ElecTaxDeclarationSetup."Agent Contact Address"); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL',StreetName,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL',HouseNo,'','Msg',''); IF AdditionHouseNo <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberAddition',AdditionHouseNo,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(ElecTaxDeclarationSetup."Agent Contact Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL', ...Esamas kodas 7
...SETRANGE("VAT Registration No.", "VAT Registration No.");
CALCSUMS(Base); "Elec. Tax Declaration Header".InsertLine(0,1,CurrentType,''); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:CountryCodeISO-EC', COPYSTR("Country/Region Code",1,2),'','Msg',''); IF COPYSTR(UPPERCASE("VAT Registration No."),1,STRLEN("Country/Region Code")) = "Country/Region Code" THEN "VAT Registration No." := DELSTR("VAT Registration No.",1,STRLEN("Country/Region Code")); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:SuppliesAmount', FORMAT(-Base,0,'<Sign><Integer>'),'INF','Msg','EUR'); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:VATIdentificationNumberNational', "VAT Registration No.",'','Msg',''); FIND('+'); SETRANGE("Country/Region Code"); ...Pakeitimo kodas 7
...SETRANGE("VAT Registration No.", "VAT Registration No.");
CALCSUMS(Base); IF ABS(Base) >= 1 THEN BEGIN "Elec. Tax Declaration Header".InsertLine(0,1,CurrentType,''); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:CountryCodeISO-EC', COPYSTR("Country/Region Code",1,2),'','Msg',''); IF COPYSTR(UPPERCASE("VAT Registration No."),1,STRLEN("Country/Region Code")) = "Country/Region Code" THEN "VAT Registration No." := DELSTR("VAT Registration No.",1,STRLEN("Country/Region Code")); CASE Integer.Number OF 0,2: InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:SuppliesAmount', FORMAT(-Base,0,'<Sign><Integer>'),'INF','Msg','EUR'); 1: InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:ServicesAmount', FORMAT(-Base,0,'<Sign><Integer>'),'INF','Msg','EUR'); END; InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:VATIdentificationNumberNational', "VAT Registration No.",'','Msg',''); END; FIND('+'); SETRANGE("Country/Region Code"); ... -
Pakeisti pasaulio kintamuosius kodą sukurti elektrin ICP deklaracijos ataskaitoje (11404):
Esamas kodas...CompanyInfo@1000003 : Record 79;
ElecTaxDeclarationSetup@1000001 : Record 11408; StatusErr@1000005 : TextConst 'ENU=The report status need to have value " " or Created to create the report content.'; CurrentType@1000000 : Text[60]; LOCAL PROCEDURE GetStrippedAppVersion@1101100000(AppVersion@1101100001 : Text[250]) Res : Text[250]; ...Pastaba.
...CompanyInfo@1000003 : Record 79;
ElecTaxDeclarationSetup@1000001 : Record 11408; StatusErr@1000005 : TextConst 'ENU=The report status need to have value " " or Created to create the report content.'; PostCodeMgt@1000002 : Codeunit 11401; CurrentType@1000000 : Text[60]; LOCAL PROCEDURE GetStrippedAppVersion@1101100000(AppVersion@1101100001 : Text[250]) Res : Text[250]; ... -
Pakeisti ExtractStreetName funkcija sukurti elektrin ICP deklaracijos ataskaitoje (11404):
Esamas kodas...ElecTaxDeclHeader.InsertLine(1,Indentation + 1,'unitRef',unitRef);
END; LOCAL PROCEDURE ExtractStreetName@1000013(Address@1000000 : Text[50]) : Text[50]; BEGIN IF IndexOfFirstNumber(Address) > 1 THEN EXIT(COPYSTR(Address,1,IndexOfFirstNumber(Address) - 2)); EXIT(Address); END; LOCAL PROCEDURE ExtractStreetNo@1000012(Address@1000000 : Text[50]) : Text[50]; BEGIN IF IndexOfFirstNumber(Address) > 0 THEN EXIT(COPYSTR(Address,IndexOfFirstNumber(Address))); EXIT(''); END; LOCAL PROCEDURE ExtractInitials@1000014(FullName@1000000 : Text[35]) Initials : Text[30]; VAR Pos@1000001 : Integer; ...Pastaba.
...ElecTaxDeclHeader.InsertLine(1,Indentation + 1,'unitRef',unitRef);
END; LOCAL PROCEDURE ExtractInitials@1000014(FullName@1000000 : Text[35]) Initials : Text[30]; VAR Pos@1000001 : Integer; ... -
Pakeisti IndexOfFirstNumber funkcija sukurti elektrin ICP deklaracijos ataskaitoje (11404):
Esamas kodas...Surname := COPYSTR(FullName,STRPOS(FullName,' ') + 1);
END; LOCAL PROCEDURE IndexOfFirstNumber@1000017(Str@1000000 : Text[50]) : Integer; VAR Index@1000001 : Integer; BEGIN FOR Index := 1 TO STRLEN(Str) DO BEGIN IF Str[Index] IN ['0'..'9'] THEN EXIT(Index); END; EXIT(0); END; BEGIN END. } ...Pastaba.
...Surname := COPYSTR(FullName,STRPOS(FullName,' ') + 1);
END; BEGIN END. } ... -
Pakeisti ParseAddressAdditionHouseNo funkcija pašto kodas valdymo Kodinys (11401):
Esamas kodas...EXIT(TRUE);
END; BEGIN { <changelog> ...Pastaba.
...EXIT(TRUE);
END; PROCEDURE ParseAddressAdditionHouseNo@1000003(VAR StreetName@1000001 : Text[50];VAR HouseNo@1000002 : Text[50];VAR AdditionHouseNo@1000003 : Text[50];Address@1000000 : Text[50]); VAR HouseString@1000004 : Text[50]; BEGIN StreetName := ''; HouseNo := ''; AdditionHouseNo := ''; IF Address = '' THEN EXIT; // Suppose that house string is a last word in the Address HouseString := GetHouseString(Address); IF HouseString = '' THEN BEGIN StreetName := Address; EXIT; END; // The last word is a House string with possible AdditionHouseNo information. All before last word is a StreetName. StreetName := COPYSTR(Address,1,STRLEN(Address) - STRLEN(HouseString) - 1); HouseNo := GetHouseNoFromHouseString(HouseString); AdditionHouseNo := HouseString; END; LOCAL PROCEDURE GetHouseString@1000002(Address@1000000 : Text[50]) : Text[50]; VAR i@1000003 : Integer; BEGIN // If there's only one word then return empty HouseString IF STRPOS(Address,' ') = 0 THEN EXIT(''); //Lookup from end of string first space after a number // Find the last word: revert address string, cut first word, revert result RevertString(Address); // Delete Spaces at beginning Address := DELCHR(Address,'<'); i := 1; // Find first number i ==> position of first number WHILE (NOT (Address[i] IN ['0'..'9']) AND (i < STRLEN(Address))) DO i += 1; IF ((i = STRLEN(Address)) AND NOT (Address[i] IN ['0'..'9'])) THEN //No number found EXIT(''); // look further until number stops WHILE ((Address[i] IN ['0'..'9']) AND (i < STRLEN(Address))) DO i+= 1; Address := DELCHR(COPYSTR(Address,1, i-1), '<=>'); // remove all spaces RevertString(Address); EXIT(Address); END; LOCAL PROCEDURE GetHouseNoFromHouseString@1000000(VAR HouseString@1000000 : Text[50]) HouseNo : Text[50]; VAR Pos@1000002 : Integer; BEGIN Pos := 1; WHILE HouseString[Pos] IN ['0'..'9'] DO Pos += 1; HouseNo := COPYSTR(HouseString,1,Pos - 1); // remove HouseNo from the HouseString including special separating char if such exist IF HouseString[Pos] IN ['/','\','-'] THEN Pos += 1; HouseString := COPYSTR(HouseString,Pos); END; LOCAL PROCEDURE RevertString@1170000000(VAR String@1170000000 : Text[50]); VAR StringCopy@1170000001 : Text[50]; i@1170000002 : Integer; Length@1170000003 : Integer; BEGIN StringCopy := String; Length := STRLEN(String); FOR i := 1 TO Length DO String[i] := StringCopy[Length - i + 1]; END; BEGIN { <changelog> ...
Būtinosios sąlygos
Turi būti viena iš toliau nurodytų produktų, norint taikyti šias karštąsias pataisas:
-
Microsoft Dynamics NAV 2009 R2 olandų kalba
-
Microsoft Dynamics NAV 2009 SP1 olandų kalba
Be to, turite įdiegti "mokesčių Authorties priimti Digipoort PVM ir ES pardavimų sąrašas pateikimo Microsoft Dynamics NAV SP1 NL."
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ų.