Ця стаття стосується Microsoft Dynamics NAV для чеської (cz) регіону.
Ознаки
Розглянемо такий сценарій у чеській версії Microsoft Dynamics NAV 2009 R2:
- Застосування виправлення 2550292.
Щоб отримати додаткові відомості про виправлення 2550292 клацніть номер статті в базі знань база знань Microsoft:
2550292 ПДВ округлення неправильно працює для коригувальних записів продажу/придбання документів у чеській версії Microsoft Dynamics NAV 2009 R2 - Установити рахунок округлення точність (LCY) поле 1.00 у діалоговому вікні Загальний ledger настроювання.
- У полі Округлення ПДВ (LCY) установити значення 1,00 в діалоговому вікні Загальний ledger інсталяції.
- Ви створюєте рахунок-фактуру продажу.
У цьому випадку поле сума включно з ПДВ обчислюється неправильно у формі статистика продажу рахунку (576).
Спосіб усунення проблеми
Відомості про виправлення
Від корпорації Майкрософт доступне виправлення, що підтримується. Однак вона призначена лише для виправлення проблеми, описаної в цій статті. Застосуйте її лише до систем, у яких виникла ця проблема. Це виправлення може отримати додаткове тестування. Таким чином, якщо ви не серйозно постраждали від цієї проблеми, ми радимо дочекатися наступного Microsoft Dynamics NAV 2009 пакет оновлень або наступної версії Microsoft Dynamics NAV, яка містить це виправлення.
Примітка У особливих випадках стягнення плати, які зазвичай понесені для викликів підтримки, може бути скасовано, якщо спеціаліст служби технічної підтримки Microsoft Dynamics і пов'язані продукти визначать, що конкретне оновлення вирішить вашу проблему. Звичайні витрати на підтримку застосовуватимуться до додаткових запитань і питань підтримки, які не відповідають вимогам для конкретного оновлення, про яке йде мова.
Відомості про інсталяцію
Корпорація Майкрософт надає приклади програмування лише для ілюстрації без жодних гарантій, явних або неявних. Це стосується зокрема неявних гарантій щодо придатності до продажу чи придатності для певної мети. У цій статті припускається, що ви знайомі з мовою програмування, яка демонструється, і з інструментами, які використовуються для створення і налагодження процедур. Спеціалісти служби підтримки Microsoft можуть допомогти пояснити функціональність певної процедури, але вони не змінюватимуть ці приклади, щоб надавати додаткові функції або конструювати процедури відповідно до ваших конкретних вимог.
Примітка. Перш ніж інсталювати це виправлення, переконайтеся, що всі користувачі клієнта Microsoft Navision, вийти із системи. Це стосується користувачів клієнтських служб Microsoft Navision (NAS). Ви повинні бути єдиним клієнтом користувача, який ввійшов, коли ви впроваджуєте це виправлення.
Щоб реалізувати це виправлення, потрібно мати ліцензію розробника.
Радимо призначити обліковому запису користувача у вікні "Вхід у Windows" або у вікні "Вхід до бази даних" ідентифікатор ролі "SUPER". Якщо обліковому запису користувача не вдалося призначити ідентифікатор ролі SUPER, переконайтеся, що обліковий запис має такі дозволи:
- Дозвіл на змінення об'єкта, який буде змінюватися.
- Дозвіл Execute для об'єкта System Object ID 5210 і для об'єкта System Object ID 9015.
Примітка. Ви не повинні мати права на зберігання даних, якщо не потрібно відновлювати дані.
Зміни коду
Примітка. Завжди перевіряйте виправлення коду в контрольованому середовищі, перш ніж застосовувати виправлення до робочих комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії:
Змініть код у функції CalcVATAmountLines у таблиці "Рядок продажів" (37), як показано нижче.
Наявний код 1... "VAT Amount (LCY)" := "Calculated VAT Amount" + "VAT Difference (LCY)"; "Calculated VAT Amount (LCY)" := "Calculated VAT Amount"; IF VATAmountLine."VAT %" <> 0 THEN BEGIN // Delete the following line. "Amount Including VAT (LCY)" := "Amount Including VAT"; IF "VAT Amount (LCY)" <> 0 THEN VALIDATE("VAT Amount","VAT Amount (LCY)"); IF SalesHeader."Prices Including VAT" THEN IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT") THEN IF GLSetup."Round VAT Coeff." THEN BEGIN ...Код заміни 1
... "VAT Amount (LCY)" := "Calculated VAT Amount" + "VAT Difference (LCY)"; "Calculated VAT Amount (LCY)" := "Calculated VAT Amount"; IF VATAmountLine."VAT %" <> 0 THEN BEGIN IF "VAT Amount (LCY)" <> 0 THEN VALIDATE("VAT Amount","VAT Amount (LCY)"); IF SalesHeader."Prices Including VAT" THEN // Add the following lines. "VAT Base" := "Amount Including VAT" - "VAT Amount" ELSE "Amount Including VAT" := "VAT Base" + "VAT Amount"; "Amount Including VAT (LCY)" := "Amount Including VAT"; IF SalesHeader."Prices Including VAT" THEN //End of the lines. IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT") THEN IF GLSetup."Round VAT Coeff." THEN BEGIN ...Наявний код 2
... "VAT Difference (LCY)" := "VAT Amount (LCY)" - "Amount Including VAT (LCY)" * ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision"); END; // Delete the following line. "Amount Including VAT" := "Amount Including VAT (LCY)"; END; END ELSE BEGIN "VAT Difference (LCY)" := 0; ...Код заміни 2
... "VAT Difference (LCY)" := "VAT Amount (LCY)" - "Amount Including VAT (LCY)" * ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision"); END; END; END ELSE BEGIN "VAT Difference (LCY)" := 0; ...Змініть код у функції CalcVATAmountLines у таблиці "Придбання рядка" (39), як показано нижче.
Наявний код 1... "Calculated VAT Amount (LCY)" := "Calculated VAT Amount"; IF VATAmountLine."VAT %" <> 0 THEN BEGIN // Delete the following line. "Amount Including VAT (LCY)" := "Amount Including VAT"; IF "VAT Amount (LCY)" <> 0 THEN VALIDATE("VAT Amount","VAT Amount (LCY)"); IF PurchHeader."Prices Including VAT" THEN IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT") THEN IF GLSetup."Round VAT Coeff." THEN BEGIN ...Код заміни 1
... "Calculated VAT Amount (LCY)" := "Calculated VAT Amount"; IF VATAmountLine."VAT %" <> 0 THEN BEGIN "Amount Including VAT (LCY)" := "Amount Including VAT"; IF "VAT Amount (LCY)" <> 0 THEN VALIDATE("VAT Amount","VAT Amount (LCY)"); IF PurchHeader."Prices Including VAT" THEN // Add the following lines. "VAT Base" := "Amount Including VAT" - "VAT Amount" ELSE "Amount Including VAT" := "VAT Base" + "VAT Amount"; "Amount Including VAT (LCY)" := "Amount Including VAT"; IF PurchHeader."Prices Including VAT" THEN //End of the lines. IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT") THEN IF GLSetup."Round VAT Coeff." THEN BEGIN ...Наявний код 2
... "VAT Amount (LCY)" - "Amount Including VAT (LCY)" * ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision"); END; // Delete the following line. "Amount Including VAT" := "Amount Including VAT (LCY)"; END; "VAT Amount (Non Deductible)" := RoundVAT("VAT Amount (Non Deductible)"); END ELSE BEGIN ...Код заміни 2
... "VAT Amount (LCY)" - "Amount Including VAT (LCY)" * ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision"); END; END; "VAT Amount (Non Deductible)" := RoundVAT("VAT Amount (Non Deductible)"); END ELSE BEGIN ...
Попередні вимоги
Щоб застосувати це виправлення, потрібно мати чеської версії Microsoft Dynamics NAV 2009 R2.
Відомості про видалення
Не можна видалити це виправлення.
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".
Примітка. Це стаття "FAST PUBLISH", створена безпосередньо з організації підтримки Корпорації Майкрософт. Інформація, що міститься в цьому документі, надається як у відповідь на нові проблеми. В результаті швидкості її використання матеріали можуть включати друкарські помилки і можуть бути переглянуті в будь-який час без попередження. Інші зауваження див. в розділі Умови використання .