Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Припустімо, що впровадити "Податок Authorties прийняти Digipoort ПДВ та ЄС продажу список надсилання відомостей для Microsoft Dynamics NAV SP1-NL" у версії Microsoft Dynamics NAV, 2009 нідерландською. Використовуючи Digipoort інтерфейс, з'являється одне з таких помилок перевірки:

SBR_DIGIPOORT bd-alg:ContactPrefix не може бути порожнім.

Фірмову розмір не має бути нуль.

Ця проблема виникає в таких продуктів:

  • Нідерландською версії Microsoft Dynamics NAV 2009-R2

  • Нідерландською версії Microsoft Dynamics NAV 2009 року з пакетом оновлень 1 (SP1)

Вирішення

Відомості про виправлення

Корпорація Майкрософт випустила підтримуване виправлення доступна. Однак, застосовувати лише для вирішення проблеми, описаної в цій статті. Він придатний лише для систем, які зазнають цієї конкретної проблеми. Те, що це виправлення може потребувати додаткового тестування. Таким чином, якщо ви не завдає значної, рекомендовано почекати до виходу чергового пакета оновлень Microsoft Dynamics NAV, 2009 або наступної версії Microsoft Dynamics NAV, що містить це виправлення.

Примітка. В окремих випадках оплату звернення до служби підтримки може бути скасовано якщо технічної підтримки професійного для Microsoft Dynamics і пов'язані продукти визначає телефонів служби. Плата стягується на додаткові питання і проблеми, які не пов'язані з оновленням.

Відомості про інсталяцію

Корпорація Майкрософт надає приклади програмного коду тільки для ілюстрації, без гарантій – прямих або інших. Це включає, але не обмежується, будь-яких гарантій придатності до продажу та придатності для певної мети. У цій статті припускається, що ви знайомі з, що демонструє мову програмування та інструменти, які використовуються для створення та налагодження процедури. Співробітники служби підтримки корпорації Майкрософт можуть пояснити функціональні особливості кожної конкретної процедури. Проте вони не будуть змінювати приклади для реалізації додаткових можливостей або створювати процедури на вимогу окремих користувачів.

Примітка. Перш ніж інсталювати це виправлення, переконайтеся, що всіх користувачів Microsoft Dynamics NAV-клієнт відключився системи. Це стосується, служби Microsoft Dynamics NAV Application Server (NAS). Ви повинні тільки клієнт користувача, який увійшов до системи, під час виконання цього виправлення.

Щоб застосувати це виправлення, потрібно мати ліцензію для розробників.

Корпорація Майкрософт рекомендує, що обліковий запис користувача Windows, вхід вікна або у вікні бази даних вхід призначити "Супер" роль ID. Якщо обліковий запис користувача не призначено роль ID "Супер", необхідно переконатися, що обліковий запис користувача, має такі дозволи:

  • Змінити дозвіл об'єкт, який буде змінити.

  • Права для виконання системи об'єкт з Ідентифікатором 5210 об'єкт і, код 9015 системи-об'єкт

    об'єкт.

Примітка. Маєте відповідних прав у сховища даних, якщо не потрібно виконати дані відновлення не потрібно.

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.

Щоб вирішити цю проблему, виконайте такі дії.

  1. Змінити код у звіті про створення електронн Фірмову декларації (11404), наступним чином:
    Наявний код 1

    ...ElecTaxDeclarationHeader@1000000 : Record 11409;
    ApplicationManagement@1000001 : Codeunit 1;
    UseVATRegNo@1000010 : Text[20];
    BEGIN
    IF Status > Status::Created THEN
    ERROR(StatusErr);
    ...

    Код на заміну 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);
    ...

    Наявний код 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*
    ...

    Код на заміну 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*
    ...

    Наявний код 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',
    ...

    Код на заміну 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',
    ...

    Наявний код 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',
    ...

    Заміна з кодом 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',
    ...

    Наявний код 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',
    ...

    Код на заміну 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',
    ...

    Наявний код 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',
    ...

    Код на заміну 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',
    ...

    Наявний код 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");
    ...

    Код на заміну 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");
    ...
  2. Змінити код глобальних параметрів у звіті про створення електронн Фірмову декларації (11404), наступним чином:
    Наявний код

    ...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];
    ...

    Заміна код

    ...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];
    ...
  3. Змін у звіті про створення електронн Фірмову декларації (11404), функція ExtractStreetName наступним чином:
    Наявний код

    ...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;
    ...

    Заміна код

    ...ElecTaxDeclHeader.InsertLine(1,Indentation + 1,'unitRef',unitRef);
    END;

    LOCAL PROCEDURE ExtractInitials@1000014(FullName@1000000 : Text[35]) Initials : Text[30];
    VAR
    Pos@1000001 : Integer;
    ...
  4. Змін у звіті про створення електронн Фірмову декларації (11404), функція IndexOfFirstNumber наступним чином:
    Наявний код

    ...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.
    }
    ...

    Заміна код

    ...Surname := COPYSTR(FullName,STRPOS(FullName,' ') + 1);
    END;

    BEGIN
    END.
    }
    ...
  5. Змінити код ParseAddressAdditionHouseNo функції в codeunit-повідомлення з кодом керування (11401), таким чином:
    Наявний код

    ...EXIT(TRUE);
    END;

    BEGIN
    {
    <changelog>
    ...

    Заміна код

    ...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>
    ...


Попередні вимоги

Ви повинні мати одну з таких продуктів, щоб застосувати це виправлення:

  • Нідерландською версії Microsoft Dynamics NAV 2009-R2

  • Нідерландською версії Microsoft Dynamics NAV 2009 пакетом оновлень 1

Крім того, потрібно здійснювати за "Digipoort Authorties прийняти податок, ПДВ та ЄС продажу список надсилання відомостей для Microsoft Dynamics NAV SP1-NL."

Відомості про видалення

Це виправлення не можна видалити.

Стан

Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Примітка. Це "Швидка публікація" статті, надана службою підтримки корпорації Майкрософт. Відомості в цій статті надано без змін у відповідь на повідомлення про проблеми. З огляду на швидкість публікації матеріали можуть містити орфографічні помилки. Їх може бути змінено в будь-який час без повідомлення. Див. Умови використанняінші міркування.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×