Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Данная статья относится к Microsoft Dynamics NAV языка Венгерский (Венгрия).

Симптомы

Предположим, что применить исправление 2664466 в венгерской версии Microsoft Dynamics NAV 2009 R2. При расчете статистики счетов для учтенного счета, сумму налога на добавленную стоимость (НДС) округляется неправильно.
Дополнительные сведения об исправлении 2664466 щелкните следующий номер статьи базы знаний Майкрософт:

2664466 сумма НДС неверно при учете счета в иностранной валюте в венгерской версии Пакет обновления 1 для Microsoft Dynamics NAV 5.0

Решение

Сведения об исправлении

Исправление от корпорации Майкрософт доступно. Однако оно предназначено только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления для Microsoft Dynamics NAV 2009 или следующей версии Microsoft Dynamics NAV, содержащего это исправление.

Примечание. В особых случаях оплата, предусмотренная в службу поддержки может быть отменена Если специалист службы технической поддержки Microsoft Dynamics и связанных продуктов определит, что решения проблемы является специально выпущенное. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

Сведения об установке

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и без явных или подразумеваемых гарантий. Это включает, но не ограничиваясь, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры. Тем не менее они не изменит примеров для обеспечения функциональных возможностей или создания процедур для определенных требований.

Примечание. Перед установкой данного исправления необходимо проверьте регистрацию всех пользователей клиента Microsoft Dynamics NAV выход из системы. Это относится к службам Microsoft Dynamics NAV приложения сервера (NAS). Должен быть только клиент пользователя, который вошел в систему, при реализации данного исправления.

Чтобы реализовать это исправление, необходимо иметь лицензию разработчика.

Рекомендуется, чтобы учетной записи пользователя в окне Логины Windows или в окне Логины базы данных был присвоен идентификатор роли «SUPER» Если учетная запись пользователя не может быть назначена роль «SUPER» идентификатор, необходимо убедиться, что учетная запись пользователя имеет следующие разрешения.

  • Изменение разрешений для объекта, подлежащий изменению.

  • Разрешение Execute для объекта 5210 идентификатор объекта системы и системы 9015 идентификатор объекта

    объект.

Примечание. Необходимо иметь права к хранилищам данных, если необходимо выполнить восстановление данных.

Изменения кода

Примечание. Всегда тестовый код исправления в контролируемой среде, прежде чем применить исправления на производственных компьютерах.

Чтобы устранить эту проблему, выполните следующие действия:

  1. Измените код поля в таблице Продажа Строка (37) следующим образом:
    Существующий код 1

    ...
    // Delete the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены 1

    ...
    // Add the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Существующий код 2

    ...
    // Delete the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены 2

    ...
    // Add the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  2. Измените код в функцию UpdateVATAmounts в таблице Продажа Строка (37) следующим образом:
    Существующий код

    ...
    // Delete the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены

    ...
    // Add the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  3. Измените код в функцию UpdateVATOnLines в таблице Продажа Строка (37) следующим образом:
    Существующий код

    ..."VAT Base Amount" := NewVATBaseAmount;

    // Delete the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены

    ..."VAT Base Amount" := NewVATBaseAmount;

    // Add the following line.
    CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  4. Измените код в функцию CalcVATAmountLines в таблице Продажа Строка (37) следующим образом:
    Существующий код

    ...
    // Delete the following line.CalcVATToReport(SalesHeader,"VAT Base","VAT Amount" - "VAT Difference",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены

    ...
    // Add the following line.
    CalcVATToReport(SalesHeader,"VAT Base","Amount Including VAT" - "VAT Difference",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  5. Измените код в CalcVATToReportработать в таблице Продажа Строка (37) следующим образом:
    Существующий код 1

    ...
    // Delete the following line.
    PROCEDURE CalcVATToReport@1360001(SalesHeader@1360000 : Record 36;VATBaseAmount@1360001 : Decimal;VATAmount@1360002 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal);
    // End of the deleted line.

    BEGIN
    ...

    Код для замены 1

    ...
    // Add the following lines.
    PROCEDURE CalcVATToReport@1360001(SalesHeader@1360000 : Record 36;VATBaseAmount@1360001 : Decimal;AmtInclVAT@1360005 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal);
    VAR
    AmountLCY@1360006 : Decimal;
    AmtInclVATLCY@1360007 : Decimal;
    // End of the added lines.

    BEGIN
    ...

    Существующий код 2

    ...ROUND(VATBaseAmount / SalesHeader."VAT Currency Factor");

    // Delete the following lines.
    VATAmountToReport :=
    ROUND(VATAmount / SalesHeader."VAT Currency Factor");
    END ELSE BEGIN
    VATBaseAmountToReport := VATBaseAmount;
    VATAmountToReport := VATAmount;
    // End of the deleted lines.

    END;
    ...

    Код для замены 2

    ...ROUND(VATBaseAmount / SalesHeader."VAT Currency Factor");

    // Add the following lines.
    AmountLCY :=
    ROUND(VATBaseAmount / SalesHeader."VAT Currency Factor");
    AmtInclVATLCY :=
    ROUND(AmtInclVAT / SalesHeader."VAT Currency Factor");
    VATAmountToReport :=
    AmtInclVATLCY - AmountLCY;
    END ELSE BEGIN
    VATBaseAmountToReport := VATBaseAmount;
    VATAmountToReport := AmtInclVAT - VATBaseAmount;
    // End of the added lines.

    END;
    ...
  6. Измените код поля в таблице Покупка Строка (39) следующим образом:
    Существующий код 1

    ...
    // Delete the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...

    Код для замены 1

    ...
    // Add the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...

    Существующий код 2

    ...
    // Delete the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...

    Код для замены 2

    ...
    // Add the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.
    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...
  7. Измените код в функцию UpdateVATAmounts в таблице Покупка Строка (39) следующим образом:
    Существующий код

    ...
    // Delete the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...

    Код для замены

    ...
    // Add the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...
  8. Измените код в функцию UpdateVATOnLines в таблице Покупка Строка (39) следующим образом:
    Существующий код

    ...END;

    // Delete the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...

    Код для замены

    ...END;

    // Add the following line.
    CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...
  9. Измените код в CalcVATAmountLines в таблице Покупка Строка (39) следующим образом:
    Существующий код

    ...
    // Delete the following line.
    CalcVATToReport(PurchHeader,"VAT Base","VAT Amount" - "VAT Difference",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...

    Код для замены

    ...
    // Add the following line.
    CalcVATToReport(PurchHeader,"VAT Base","Amount Including VAT" - "VAT Difference",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
    ...
  10. Измените код в функцию CalcVATToReport в таблице Покупка Строка (39) следующим образом:
    Существующий код 1

    ...
    // Delete the following lines.
    PROCEDURE CalcVATToReport@1360000(PurchHeader@1360000 : Record 38;VATBaseAmount@1360001 : Decimal;VATAmount@1360002 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal;NonDeductableVATPct@1360005 : Decimal);
    VAR
    NonDeductableVATAmount@1360006 : Decimal;
    BEGIN
    NonDeductableVATAmount := VATAmount * NonDeductableVATPct / 100;
    // End of the deleted lines.

    IF PurchHeader."Currency Code" <> '' THEN BEGIN
    ...

    Код для замены 1

    ...
    // Add the following lines.
    PROCEDURE CalcVATToReport@1360000(PurchHeader@1360000 : Record 38;VATBaseAmount@1360001 : Decimal;AmtInclVAT@1360007 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal;NonDeductableVATPct@1360005 : Decimal);
    VAR
    NonDeductableVATAmount@1360006 : Decimal;
    AmountLCY@1360008 : Decimal;
    AmtInclVATLCY@1360009 : Decimal;
    BEGIN
    NonDeductableVATAmount := (AmtInclVAT - VATBaseAmount) * NonDeductableVATPct / 100;
    // End of the added lines.

    IF PurchHeader."Currency Code" <> '' THEN BEGIN
    ...

    Существующий код 2

    ...ROUND((VATBaseAmount + NonDeductableVATAmount) / PurchHeader."VAT Currency Factor");

    // Delete the following lines.
    VATAmountToReport :=
    ROUND((VATAmount - NonDeductableVATAmount) / PurchHeader."VAT Currency Factor");
    END ELSE BEGIN
    VATBaseAmountToReport := VATBaseAmount + ROUND(NonDeductableVATAmount);
    VATAmountToReport := VATAmount - ROUND(NonDeductableVATAmount);
    // End of the deleted lines.

    END
    ...

    Код для замены 2

    ...ROUND((VATBaseAmount + NonDeductableVATAmount) / PurchHeader."VAT Currency Factor");

    // Add the following lines.
    AmountLCY :=
    ROUND(VATBaseAmount / PurchHeader."VAT Currency Factor");
    AmtInclVATLCY :=
    ROUND(AmtInclVAT / PurchHeader."VAT Currency Factor");
    VATAmountToReport :=
    AmtInclVATLCY - AmountLCY - ROUND(NonDeductableVATAmount / PurchHeader."VAT Currency Factor");
    END ELSE BEGIN
    VATBaseAmountToReport := VATBaseAmount + ROUND(NonDeductableVATAmount);
    VATAmountToReport := AmtInclVAT - VATBaseAmount - ROUND(NonDeductableVATAmount);
    // End of the added lines.

    END
    ...
  11. Измените код поля в таблице Сервис строка (5902) следующим образом:
    Существующий код 1

    ...
    // Delete the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены 1

    ...
    // Add the following line.CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Существующий код 2

    ...
    // Delete the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены 2

    ...
    // Add the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  12. Измените код в функцию UpdateVATAmounts в таблице Строка службы (5902) следующим образом:
    Существующий код

    ...
    // Delete the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены

    ...
    // Add the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  13. Измените код в функцию CalcVATAmountLines в таблице Строка службы (5902) следующим образом:
    Существующий код

    ...
    // Delete the following line.
    CalcVATToReport(ServHeader,"VAT Base","VAT Amount" - "VAT Difference",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены

    ...
    // Add the following line.CalcVATToReport(ServHeader,"VAT Base","Amount Including VAT" - "VAT Difference",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  14. Измените код в функцию UpdateVATOnLines в таблице Строка службы (5902) следующим образом:
    Существующий код

    ..."VAT Base Amount" := NewVATBaseAmount;

    // Delete the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
    // End of the deleted line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...

    Код для замены

    ..."VAT Base Amount" := NewVATBaseAmount;

    // Add the following line.
    CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
    // End of the added line.

    "VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
    ...
  15. Измените код в функцию CalcVATToReport в таблице Строка службы (5902) следующим образом:
    Существующий код 1

    ...
    // Delete the following line.
    PROCEDURE CalcVATToReport@1360000(ServHeader@1360004 : Record 5900;VATBaseAmount@1360003 : Decimal;VATAmount@1360002 : Decimal;VAR VATBaseAmountToReport@1360001 : Decimal;VAR VATAmountToReport@1360000 : Decimal);
    // End of the deleted line.

    BEGIN
    ...

    Код для замены 1

    ...
    // Add the following lines.
    PROCEDURE CalcVATToReport@1360000(ServHeader@1360004 : Record 5900;VATBaseAmount@1360003 : Decimal;AmtInclVAT@1360007 : Decimal;VAR VATBaseAmountToReport@1360001 : Decimal;VAR VATAmountToReport@1360000 : Decimal);
    VAR
    AmountLCY@1360005 : Decimal;
    AmtInclVATLCY@1360006 : Decimal;
    // End of the added lines.

    BEGIN
    ...

    Существующий код 2

    ...ROUND(VATBaseAmount / ServHeader."VAT Currency Factor");

    // Delete the following lines.
    VATAmountToReport :=
    ROUND(VATAmount / ServHeader."VAT Currency Factor");
    END ELSE BEGIN
    VATBaseAmountToReport := VATBaseAmount;
    VATAmountToReport := VATAmount;
    // End of the deleted lines.

    END;
    ...

    Код для замены 2

    ...ROUND(VATBaseAmount / ServHeader."VAT Currency Factor");

    // Add the following lines.
    AmountLCY :=
    ROUND(VATBaseAmount / ServHeader."VAT Currency Factor");
    AmtInclVATLCY :=
    ROUND(AmtInclVAT / ServHeader."VAT Currency Factor");
    VATAmountToReport :=
    AmtInclVATLCY - AmountLCY;
    END ELSE BEGIN
    VATBaseAmountToReport := VATBaseAmount;
    VATAmountToReport := AmtInclVAT - VATBaseAmount;
    // End of the added lines.

    END;
    ...
  16. Измените код в функцию DivideAmount в функции учет продаж (80) следующим образом:
    Существующий код 1

    ...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';SalesLineQty@1001 : Decimal);

    // Delete the following lines.
    VAR
    TotalVATBaseAmtLCY@1360001 : Decimal;
    TotalVATAmountLCY@1360000 : Decimal;
    // End of the deleted lines.

    BEGIN
    ...

    Код для замены 1

    ...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';SalesLineQty@1001 : Decimal);
    BEGIN
    ...

    Существующий код 2

    ...END;

    // Delete the following lines.
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" :=
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" + "VAT Base Amount";
    TempVATAmountLineRemainder."Calc VAT Amount to Report" :=
    TempVATAmountLineRemainder."Calc VAT Amount to Report" + "Amount Including VAT" - "VAT Base Amount" - "VAT Difference";
    CalcVATToReport(SalesHeader,
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
    TempVATAmountLineRemainder."Calc VAT Amount to Report",
    TotalVATBaseAmtLCY,TotalVATAmountLCY);
    "VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
    "VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
    TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
    TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
    // End of the deleted lines.
    ...

    Код для замены 2

    ...END;

    // Add the following line.
    CalcRoundedVATToReport(SalesLine,SalesHeader);
    // End of the added line.

    ...
  17. Создание функции в функции учет продаж (80) следующим образом:

    LOCAL PROCEDURE CalcRoundedVATToReport@1360026(VAR SalesLine@1360002 : Record 37;SalesHeader@1360003 : Record 36);VAR
    TotalVATBaseAmtLCY@1360005 : Decimal;
    TotalVATAmountLCY@1360004 : Decimal;
    BEGIN
    WITH SalesLine DO BEGIN
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" +=
    "VAT Base Amount";
    TempVATAmountLineRemainder."Calc VAT Amount to Report" +=
    "Amount Including VAT";
    CalcVATToReport(SalesHeader,
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
    TempVATAmountLineRemainder."Calc VAT Amount to Report",
    TotalVATBaseAmtLCY,TotalVATAmountLCY);
    "VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
    "VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
    TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
    TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
    END;
    END;
  18. Измените код в функцию DivideAmount в Покупка Скид.-программный блок Post (90), как показано ниже:
    Существующий код 1

    ...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';PurchLineQty@1001 : Decimal);

    // Delete the following lines.
    VAR
    TotalVATBaseAmtLCY@1360001 : Decimal;
    TotalVATAmountLCY@1360000 : Decimal;
    // End of the deleted lines.

    BEGIN
    ...

    Код для замены 1

    ...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';PurchLineQty@1001 : Decimal);
    BEGIN
    ...

    Существующий код 2

    ...END;

    // Delete the following lines.
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" :=
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" + "VAT Base Amount";
    TempVATAmountLineRemainder."Calc VAT Amount to Report" :=
    TempVATAmountLineRemainder."Calc VAT Amount to Report" + "Amount Including VAT" - "VAT Base Amount" - "VAT Difference";
    PurchLine.CalcVATToReport(PurchHeader,
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
    TempVATAmountLineRemainder."Calc VAT Amount to Report",
    TotalVATBaseAmtLCY,TotalVATAmountLCY,"VAT % (Non Deductible)");
    "VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
    "VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
    TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
    TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
    // End of the deleted lines.
    ...

    Код для замены 2

    ...END;

    // Add the following line.
    CalcRoundedVATToReport(PurchLine,PurchHeader);
    // End of the added line.
    ...
  19. Создание функции в Покупка Скид.-программный блок Post (90), как показано ниже:

    LOCAL PROCEDURE CalcRoundedVATToReport@1360026(VAR PurchLine@1360002 : Record 39;PurchHeader@1360003 : Record 38);VAR
    TotalVATBaseAmtLCY@1360005 : Decimal;
    TotalVATAmountLCY@1360004 : Decimal;
    BEGIN
    WITH PurchLine DO BEGIN
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" +=
    "VAT Base Amount";
    TempVATAmountLineRemainder."Calc VAT Amount to Report" +=
    "Amount Including VAT";
    CalcVATToReport(PurchHeader,
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
    TempVATAmountLineRemainder."Calc VAT Amount to Report",
    TotalVATBaseAmtLCY,TotalVATAmountLCY,"VAT % (Non Deductible)");
    "VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
    "VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
    TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
    TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
    END;
    END;
  20. Измените код в функцию DivideAmount в функции центр суммы услуги (5986) следующим образом:
    Существующий код 1

    ...ChargeableQty@1006 : Decimal;

    // Delete the following lines.
    TotalVATBaseAmtLCY@1360001 : Decimal;
    TotalVATAmountLCY@1360000 : Decimal;
    // End of the deleted lines.

    BEGIN
    ...

    Код для замены 1

    ...ChargeableQty@1006 : Decimal;
    BEGIN
    ...

    Существующий код 2

    ...END;

    // Delete the following lines.
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" :=
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" + "VAT Base Amount";
    TempVATAmountLineRemainder."Calc VAT Amount to Report" :=
    TempVATAmountLineRemainder."Calc VAT Amount to Report" + "Amount Including VAT" - "VAT Base Amount" - "VAT Difference";
    CalcVATToReport(ServiceHeader,
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
    TempVATAmountLineRemainder."Calc VAT Amount to Report",
    TotalVATBaseAmtLCY,TotalVATAmountLCY);
    "VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
    "VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
    TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
    TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
    // End of the deleted lines.
    ...

    Код для замены 2

    ...END;

    // Add the following line.
    CalcRoundedVATToReport(ServiceLine,TempVATAmountLineRemainder,ServHeader);
    // End of the added line.
    ...
  21. Создание функции в функции сумм услуги центр (5986) следующим образом:

    LOCAL PROCEDURE CalcRoundedVATToReport@1360001(VAR ServiceLine@1360002 : Record 5902;VAR TempVATAmountLineRemainder@1360004 : Record 290;ServHeader@1360003 : Record 5900);VAR
    TotalVATBaseAmtLCY@1360006 : Decimal;
    TotalVATAmountLCY@1360005 : Decimal;
    BEGIN
    WITH ServiceLine DO BEGIN
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report" +=
    "VAT Base Amount";
    TempVATAmountLineRemainder."Calc VAT Amount to Report" +=
    "Amount Including VAT";
    CalcVATToReport(ServHeader,
    TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
    TempVATAmountLineRemainder."Calc VAT Amount to Report",
    TotalVATBaseAmtLCY,TotalVATAmountLCY);
    "VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
    "VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
    TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
    TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
    END;
    END;


Предварительные условия

Венгерской версии Microsoft Dynamics NAV 2009 R2 для установки этого исправления необходимо иметь.

Сведения об удалении

Установленное обновление удалить нельзя.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Примечание. Это статья «БЫСТРАЯ ПУБЛИКАЦИЯ», созданная непосредственно из технической поддержки корпорации Майкрософт. Сведения, содержащиеся в настоящем документе, предоставляются "как есть" в ответ на возникающие проблемы. В результате скорости предоставления материалов они могут включать опечаток и быть изменены в любое время без предварительного уведомления. Другие вопросы, связанные с Условиями использованиясм.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×