Тази статия се описва проблем, когато изпратите файл Европейския съюз списък на продажби на властите. Ако името на фирмата включва специални знаци, получавате следното съобщение за грешка:
Не всички знаци от избрания файл отговаря открити кодова таблица ISO 8859: файл позиция: 19 стойност: 0xE9.
Следвайте стъпките в раздела промени код за решаване на проблема. Този проблем възниква в следните продукти:
-
Немската версия на Microsoft Dynamics NAV 2009 R2
-
Немската версия на Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
Решение
Информация за актуалната корекция
Вече се предлага от Microsoft предоставя поддържана актуална корекция. Обаче е предназначена само за коригиране на описания в тази статия. Прилагайте корекцията само към системи, изпитващи този конкретен проблем. Възможно е провеждането на допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващия сервизен пакет за Microsoft Dynamics NAV 2009 или следващата версия на Microsoft Dynamics NAV, който ще съдържа тази корекция.
Забележка: При специални случаи таксите, които са за свързани с поддръжката обаждания могат да бъдат отменени, ако специалист по техническа поддръжка за Microsoft Dynamics и свързани с тях продукти определя, че конкретна актуализация може да разреши проблема. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към съответната актуализация.Информация за инсталирането
Microsoft предоставя примери само за илюстративни цели без гаранция за определени цели. Това включва, но не е ограничено до, подразбиращи се гаранции за продаваемост или годност за определена цел. Тази статия се предполага, че сте запознати с демонстрирания език за програмиране и инструментите, които се използват за създаване и процедури за отстраняване на грешки. Инженерите на поддръжката на Microsoft могат да помогнат обяснение на функциите на конкретна процедура. Въпреки това те няма да модифицират тези примери с цел осигуряване на допълнителна функционалност или създаване на процедури за удовлетворение на конкретните ви изисквания.
Забележка: Преди да инсталирате тази актуална корекция, уверете се, че всички потребители на клиента на Microsoft Dynamics NAV са излезли от системата. Това включва и услуги на Microsoft Dynamics NAV приложение сървър (NAS). Трябва да бъде само клиент потребител, който е влязъл при прилагане на тази актуална корекция. За прилагане на тази актуална корекция, трябва да имате лиценз разработчик. Препоръчително е потребителският акаунт в прозореца влизания в Windows или в прозореца на БД присвояването на "Супер" ИД на роля. Ако потребителският акаунт не може да бъде възложена ИД на роля на "Супер", трябва да проверите, че потребителският акаунт има следните права:-
Разрешение за промяна на обекта, ще се променя.
-
Разрешението за изпълнение за системата обект номер 5210 обект и системата обект ID 9015
обект.
Забележка: Не трябва да имате права на съхранените данни, освен ако трябва да извършите възстановяване на данни.
Промени код
Забележка: Винаги тест код решава в управлявана среда преди да приложите корекциите производство компютри.
За да разрешите този проблем, изпълнете следните стъпки:-
Промяна на кода на FillCompanyInfo функцията в таблицата заглавка за отчет на ДДС (740) както следва:
Съществуващ код 1...PROCEDURE FillCompanyInfo@1140002();
VAR CompanyInfo@1140000 : Record 79; CountryRegion@1140001 : Record 9; // Delete the following lines. BEGIN CompanyInfo.GET; // End of the deleted lines. CompanyInfo.TESTFIELD("Country/Region Code"); CountryRegion.GET(CompanyInfo."Country/Region Code"); ...Замени код 1
...PROCEDURE FillCompanyInfo@1140002();
VAR CompanyInfo@1140000 : Record 79; CountryRegion@1140001 : Record 9; // Adding the following lines. VATReportSetup@1140002 : Record 743; BEGIN CompanyInfo.GET; VATReportSetup.GET; // End of the added lines. CompanyInfo.TESTFIELD("Country/Region Code"); CountryRegion.GET(CompanyInfo."Country/Region Code"); ...Съществуващ код 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No."); // Deleting the following lines. VALIDATE("Company Name",CompanyInfo.Name); VALIDATE("Company Address",CompanyInfo.Address); VALIDATE("Country/Region Name",CountryRegion.Name); VALIDATE(City,CompanyInfo.City); // End of the deleted lines. VALIDATE("Post Code",CompanyInfo."Post Code"); VALIDATE("Tax Office ID",CompanyInfo."Tax Office Number"); END; ...Замени код 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No."); // Adding the following lines. VALIDATE("Company Name",GetCompanyName(CompanyInfo,VATReportSetup)); VALIDATE("Company Address",GetCompanyAddress(CompanyInfo,VATReportSetup)); VALIDATE("Country/Region Name",CountryRegion.Name); VALIDATE(City,GetCompanyCity(CompanyInfo,VATReportSetup)); // End of the added lines. VALIDATE("Post Code",CompanyInfo."Post Code"); VALIDATE("Tax Office ID",CompanyInfo."Tax Office Number"); END; ... -
Промяна на кода на GetCompanyName функцията в таблицата заглавка за отчет на ДДС (740) както следва:
Съществуващ код...TESTFIELD(Status,Status::Submitted);
END; END; BEGIN END. } } ...Замени код
...TESTFIELD(Status,Status::Submitted);
END; END; // Adding the following lines. LOCAL PROCEDURE GetCompanyName@1140004(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[100]; BEGIN IF VATReportSetup."Company Name" <> '' THEN EXIT(VATReportSetup."Company Name"); EXIT(CompanyInformation.Name); END; LOCAL PROCEDURE GetCompanyAddress@1140005(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30]; BEGIN IF VATReportSetup."Company Address" <> '' THEN EXIT(VATReportSetup."Company Address"); EXIT(CompanyInformation.Address); END; LOCAL PROCEDURE GetCompanyCity@1140006(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30]; BEGIN IF VATReportSetup."Company City" <> '' THEN EXIT(VATReportSetup."Company City"); EXIT(CompanyInformation.City); END; // End of the adding lines. BEGIN END. } } ... -
Да променяте полета в таблицата Настройка за отчет на ДДС (743) както следва:
Съществуващ код...{ 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] } { 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren; ENU=Export Cancellation Lines] } } KEYS { { ;Primary key ;Clustered=Yes } ...Замени код
...{ 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] } { 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren; ENU=Export Cancellation Lines] } // Adding the following lines. { 11006; ;Company Name ;Text100 } { 11007; ;Company Address ;Text30 } { 11008; ;Company City ;Text30 } // End of the added lines. } KEYS { { ;Primary key ;Clustered=Yes } ... -
Промяна на код в свойствата на настройката за отчет на ДДС (743) както следва:
Съществуващ код...}
PROPERTIES { Width=11990; // Delete the following line. Height=6490; // End of the deleted line. CaptionML=[DEU=MwSt.-Berichtseinrichtung; ENU=VAT Report Setup]; InsertAllowed=No; DeleteAllowed=No; ...Замени код
...}
PROPERTIES { Width=11990; // Add the following line. Height=8690; // End of the added line. CaptionML=[DEU=MwSt.-Berichtseinrichtung; ENU=VAT Report Setup]; InsertAllowed=No; DeleteAllowed=No; ... -
Да променяте контролите във формуляра за настройка за отчет на ДДС (743) както следва:
Съществуващ код 1...}
CONTROLS { // Deleting the following line. { 1 ;TabControl ;220 ;220 ;11550;5280 ;HorzGlue=Both; // End of the deleted line. VertGlue=Both; PageNamesML=[DEU=Allgemein,Nummerierung; ENU=General,Numbering] } { 4 ;CheckBox ;3850 ;990 ;440 ;440 ;ParentControl=1; ...Замени код 1
...}
CONTROLS { // Adding the following line. { 1 ;TabControl ;220 ;220 ;11550;7480 ;HorzGlue=Both; // End of the added line. VertGlue=Both; PageNamesML=[DEU=Allgemein,Nummerierung; ENU=General,Numbering] } { 4 ;CheckBox ;3850 ;990 ;440 ;440 ;ParentControl=1; ...Съществуващ код 2
...InPage=0;
ShowCaption=No; SourceExpr="Export Cancellation Lines" } { 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 } { 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1; InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } ...Замени код 2
...InPage=0;
ShowCaption=No; SourceExpr="Export Cancellation Lines" } { 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 } // Adding the following lines. { 1140015;TextBox ;3850 ;5390 ;2750 ;440 ;Name=Company Name; ParentControl=1; InPage=0; SourceExpr="Company Name" } { 1140014;Label ;440 ;5390 ;3300 ;440 ;ParentControl=1140015 } { 1140017;TextBox ;3850 ;5940 ;2750 ;440 ;ParentControl=1; InPage=0; SourceExpr="Company Address" } { 1140016;Label ;440 ;5940 ;3300 ;440 ;ParentControl=1140017 } { 1140019;TextBox ;3850 ;6490 ;2750 ;440 ;ParentControl=1; InPage=0; SourceExpr="Company City" } { 1140018;Label ;440 ;6490 ;3300 ;440 ;ParentControl=1140019 } // End of the added lines. { 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1; InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } ...Съществуващ код 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } // Deleting the following line. { 6 ;CommandButton;9570 ;5720 ;2200 ;550 ;HorzGlue=Right; // End of the deleted line. VertGlue=Bottom; PushAction=FormHelp } } CODE ...Замени код 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } // Adding the following line. { 6 ;CommandButton;9570 ;7920 ;2200 ;550 ;HorzGlue=Right; // End of the added line. VertGlue=Bottom; PushAction=FormHelp } } CODE ... -
Промяна на код в MakeLineRecord функция в експортиране ПОДГОТВЯТЕ доклад (11008) както следва:
Съществуващ код 1...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741); BEGIN TempDataExportBuffer."Entry No." := NextLineNo; TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + ...Замени код 1
...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741); BEGIN // Adding the following lines. IF (VATReportLine.Base = 0) AND (VATReportLine."Line Type" <> VATReportLine."Line Type"::Correction) THEN EXIT; // End of the added lines. TempDataExportBuffer."Entry No." := NextLineNo; TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + ...Съществуващ код 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + // Deleting the following line. GetReportType(VATReportLine) + // End of the deleted line. GetReportPeriod(VATReportHeader) + PADSTR(VATReportLine.GetVATRegNo,14) + FormatBaseForExport(VATReportLine,12) + GetTurnoverType(VATReportLine) + ...Замени код 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + // Adding the following line. GetReportType(VATReportLine,VATReportHeader) + // End of the added line. GetReportPeriod(VATReportHeader) + PADSTR(VATReportLine.GetVATRegNo,14) + FormatBaseForExport(VATReportLine,12) + GetTurnoverType(VATReportLine) + ... -
Промяна на код в MakeTotalRecord функция в експортиране ПОДГОТВЯТЕ доклад (11008) както следва:
Съществуващ код...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) + GetReportPeriod(VATReportHeader) + FormatAmountForExport(VATReportHeader."Total Base",14) + // Deleting the following line. FormatAmountForExport(VATReportHeader."Total Number of Lines",5) + // End of the deleted line. PADSTR('',85); TempDataExportBuffer.INSERT; NextLineNo := NextLineNo + 1; END; ...Замени код
...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) + GetReportPeriod(VATReportHeader) + FormatAmountForExport(VATReportHeader."Total Base",14) + // Adding the following lines. FormatAmountForExport( VATReportHeader."Total Number of Lines" - GetZeroBaseNewLineCount(VATReportHeader."No.") + GetExportCancellationLineCount(VATReportHeader."No."),5) + // End of the added lines. PADSTR('',85); TempDataExportBuffer.INSERT; NextLineNo := NextLineNo + 1; END; ... -
Промяна на код в GetReportType функция в експортиране ПОДГОТВЯТЕ доклад (11008) както следва:
Съществуващ код...BEGIN
EXIT(RecordType); END; // Deleting the following lines. PROCEDURE GetReportType@1140007(VATReportLine@1140000 : Record 741) : Text[2]; BEGIN // End of the deleted lines. CASE VATReportLine."Line Type" OF VATReportLine."Line Type"::New: EXIT('10'); VATReportLine."Line Type"::Cancellation, ...Замени код
...BEGIN
EXIT(RecordType); END; // Adding the following lines. PROCEDURE GetReportType@1140007(VATReportLine@1140000 : Record 741;VATReportHeader@1140001 : Record 740) : Text[2]; BEGIN IF VATReportHeader."VAT Report Type" = VATReportHeader."VAT Report Type"::Corrective THEN EXIT('11'); // End of the added lines. CASE VATReportLine."Line Type" OF VATReportLine."Line Type"::New: EXIT('10'); VATReportLine."Line Type"::Cancellation, ... -
Промяна на код в GetZeroBaseNewLineCount функция в експортиране ПОДГОТВЯТЕ доклад (11008) както следва:
Съществуващ код...EXIT('p');
END; PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8]; BEGIN EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>')); END; ...Замени код
...EXIT('p');
END; // Adding the following lines. LOCAL PROCEDURE GetZeroBaseNewLineCount@1140020(ReportNo@1140001 : Code[20]) : Integer; VAR VATReportLine@1140000 : Record 741; BEGIN WITH VATReportLine DO BEGIN SETRANGE("VAT Report No.",ReportNo); SETRANGE(Base,0); SETFILTER("Line Type",'<>%1',"Line Type"::Correction); EXIT(COUNT); END; END; LOCAL PROCEDURE GetExportCancellationLineCount@1140021(ReportNo@1140001 : Code[20]) : Integer; VAR VATReportLine@1140000 : Record 741; BEGIN IF NOT VATReportSetup."Export Cancellation Lines" THEN EXIT(0); WITH VATReportLine DO BEGIN SETRANGE("VAT Report No.",ReportNo); SETRANGE("Line Type","Line Type"::Cancellation); EXIT(COUNT); END; END; // End of the added lines. PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8]; BEGIN EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>')); END; ...
Необходими условия:
Трябва да имате немската версия на Microsoft Dynamics NAV 2009 R2 или SP1 можете да приложите тази актуална корекция.
Информация за премахване
Не можете да премахнете тази актуална корекция.
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".
Забележка: Това е статия "Бърза публикация", създадени директно от организацията за поддръжка на Microsoft. Информацията тук се предоставя "както-е" в отговор на появили се проблеми. В резултат на скоростта на предоставянето му материалите могат да съдържат печатни грешки и могат да бъдат коригирани по всяко време без предизвестие. Вижте Условияза други съображения.