Інтрастат ЄС записи служби не згруповані неправильно щомісяця/щоквартального звіту, так і у файлі експортованого scambi.cee Італійська версія Microsoft Dynamics NAV, у


У цій статті стосуються Microsoft Dynamics NAV у мовних параметрах в Італійська (ІТ).

Причини


Під час друку і експорт виправлення записи або записи не виправлення Італійська версія Microsoft Dynamics NAV, звіти та файли не групи, як очікувалося, у звіті або щоквартального звіту або файл експортованого scambi.cee. Групування до уваги, якщо елементи використовують однакові реєстрації ПДВ не належним чином. або ж пакет тарифом, не. або інші умови групування, як групування товарів.
Ця проблема виникає в таких продуктів:
  • Італійська версія Microsoft Dynamics NAV 2009 року з пакетом оновлень 1 (SP1)
  • Італійська версія Microsoft Dynamics NAV 2009-R2
  • Італійська версія Microsoft Dynamics NAV 5.0 з пакетом оновлень 1 (SP1)

Вирішення


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

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

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



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

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

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

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

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


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

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії.
  1. Знайдіть таблиці (12118) і виберіть дизайн.
  2. У меню " вигляд " натисніть кнопку " розділи". Змініть такі розділи:
    • Старе значення: ПДВ реєстраційний номер, угоди, типу тарифної ні, код групи транспортування методу, транзакцій специфікації, з вихідний код країни, області, виправлення запис, ні
    • Нове значення: ПДВ-реєстраційний номер, угоди, типу тарифної ні, код групи транспортування спосіб, транзакцій специфікації, країни, що вихідний код, виберіть виправлення запису., ні, ні тарифний пакет.
  3. Додайте такі змінні, у звіті про (501):
    • Ім'я: IntraJnlLine
    • Тип даних: запис
    • Підтип: Інтрастат рядок Jnl.
  4. Змінити код запуску Інтрастат Jnl. Line - OnAfterGetRecord , у звіті про (501) наступним чином:
    Наявний код
    ...    TESTFIELD("Service Tariff No.");

    // Delete the following lines.
    NoOfRecords := NoOfRecords + 1;
    RoundAmount := ROUND(Amount,1);
    GroupIntraJnlLineIntoBuffer;
    // End of the deleted lines.

    GetPaymentMethod;
    END ELSE BEGIN
    ...
    Заміна код
    ...      TESTFIELD("Service Tariff No.");

    // Add the following line.
    GroupIntraJnlLineIntoBuffer;
    // End of the added line.

    GetPaymentMethod;

    // Add the following lines.
    IF GetEUIntraJnlLineFromBuffer THEN BEGIN
    NoOfRecords := NoOfRecords + 1;
    RoundAmount := ROUND("Intra - form Buffer".Amount,1)
    END ELSE
    CurrReport.SKIP;
    // End of the added lines.

    END ELSE BEGIN
    ...

  5. C/AL Globals, додати таку функцію: GetEUIntraJnlLineFromBuffer
  6. Натисніть кнопку місцевого Значення на повернення вкладки, додати до такого, повернути тип: повернути, введіть = логічних
  7. Додати наступний код створено GetEUIntraJnlLineFromBuffer функції:
    "Intra - form Buffer".RESET;IntraJnlLine.RESET;
    "Intra - form Buffer".SETRANGE("VAT Registration No.","Intrastat Jnl. Line"."VAT Registration No.");
    "Intra - form Buffer".SETRANGE("Service Tariff No.","Intrastat Jnl. Line"."Service Tariff No.");
    "Intra - form Buffer".SETRANGE("Corrective entry","Intrastat Jnl. Line"."Corrective entry");
    IF "Intra - form Buffer".FINDFIRST THEN
    IntraJnlLine.SETRANGE("VAT Registration No.","Intra - form Buffer"."VAT Registration No.");
    IntraJnlLine.SETRANGE("Service Tariff No.","Intra - form Buffer"."Service Tariff No.");
    IntraJnlLine.SETRANGE("Corrective entry","Intra - form Buffer"."Corrective entry");
    IF IntraJnlLine.FINDLAST THEN
    IF "Intrastat Jnl. Line"."Line No." = IntraJnlLine."Line No." THEN
    EXIT(TRUE);
    EXIT(FALSE);

  8. Змін у звіті (502), викликати Інтрастат Jnl. Line - OnAfterGetRecord наступним чином:
    Наявний код 1
    ...   TESTFIELD("Service Tariff No.");

    // Delete the following lines.
    NoOfRecords := NoOfRecords + 1;
    RoundAmount := ROUND(Amount,1);
    GroupIntraJnlLineIntoBuffer;
    // End of the deleted lines.
    GetPaymentMethod;
    END ELSE BEGIN
    ...
    Код на заміну 1
    ...  TESTFIELD("Service Tariff No.");

    // Add the following lines.
    GroupIntraJnlLineIntoBuffer;
    GetPaymentMethod;
    IF GetEUIntraJnlLineFromBuffer THEN BEGIN
    NoOfRecords := NoOfRecords + 1;
    RoundAmount := ROUND("Intra - form Buffer".Amount,1)
    END ELSE
    CurrReport.SKIP;
    // End of the added lines.

    END ELSE BEGIN
    ...
    Наявний код 2
    ...  IF "Supplementary Units" THEN
    TESTFIELD(Quantity);

    // Delete the following lines.
    {"Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET(
    "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
    "Intrastat Jnl. Line"."Tariff No.",'','','','','',"Intrastat Jnl. Line"."Corrective entry")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."Group Code":= '';
    "Intra - form Buffer"."Transport Method" := '';
    "Intra - form Buffer"."Transaction Specification" := '';
    "Intra - form Buffer"."Country of Origin Code" := '';
    "Intra - form Buffer".Area := '';
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer".INSERT;
    END;}
    // End of the deleted lines.
    END;
    ...
    Код на заміну 2
    ...   IF "Supplementary Units" THEN
    TESTFIELD(Quantity);

    // Add the following line.
    GroupIntraJnlLineIntoBuffer;
    END;
    ...
  9. Додайте наведену нижче глобальну змінну, у звіті (502).
    • Ім'я: IntraJnlLine
    • Тип даних: запис
    • Підтип: Інтрастат лінія Jnl.
  10. Додавання GroupIntraJnlLineIntoBuffer функції а потім додайте наведений нижче код для цієї функції, у звіті (502):
           "Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET(
    "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
    "Intrastat Jnl. Line"."Tariff No.",'','','','','',"Intrastat Jnl. Line"."Corrective entry",0,
    "Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."Group Code":= '';
    "Intra - form Buffer"."Transport Method" := '';
    "Intra - form Buffer"."Transaction Specification" := '';
    "Intra - form Buffer"."Country of Origin Code" := '';
    "Intra - form Buffer".Area := '';
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer".INSERT;
    END;

  11. C/AL Globals звіту (502) додати таку функцію: GetEUIntraJnlLineFromBuffer
  12. Натисніть кнопку місцевого Значення, що повертає вкладки, додати до такого повернутися, введіть: повернення, введіть = логічних
  13. Створені GetEUIntraJnlLineFromBuffer функції звіту (502), додайте такий код:
            "Intra - form Buffer".RESET;        IntraJnlLine.RESET;
    "Intra - form Buffer".SETRANGE("VAT Registration No.","Intrastat Jnl. Line"."VAT Registration No.");
    "Intra - form Buffer".SETRANGE("Service Tariff No.","Intrastat Jnl. Line"."Service Tariff No.");
    "Intra - form Buffer".SETRANGE("Corrective entry","Intrastat Jnl. Line"."Corrective entry");
    IF "Intra - form Buffer".FINDFIRST THEN
    IntraJnlLine.SETRANGE("VAT Registration No.","Intra - form Buffer"."VAT Registration No.");
    IntraJnlLine.SETRANGE("Service Tariff No.","Intra - form Buffer"."Service Tariff No.");
    IntraJnlLine.SETRANGE("Corrective entry","Intra - form Buffer"."Corrective entry");
    IF IntraJnlLine.FINDLAST THEN
    IF "Intrastat Jnl. Line"."Line No." = IntraJnlLine."Line No." THEN
    EXIT(TRUE);
    EXIT(FALSE);


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

Ви повинні мати одну з таких продуктів, щоб застосувати це виправлення:
  • Італійська версія Microsoft Dynamics NAV 2009 року з пакетом оновлень 1 (SP1)
  • Італійська версія Microsoft Dynamics NAV 2009-R2
  • Італійська версія Microsoft Dynamics NAV 5.0 з пакетом оновлень 1 (SP1)


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

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

Стан


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

Посилання


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