Ця стаття стосується microsoft Dynamics NAV для іспанської мови (es) мови.
Під вільний час запуску телематичний ПДВ декларації звіту (10715), щоб створити телематичний ПДВ .txt файл із діалогового вікна ПДВ оператор в Іспанська версії Microsoft Dynamics NAV 5.0 із пакетом оновлень 1 (SP1), від'ємні обсяги у створений .txt файл мають неправильний формат. Наприклад, сума "-1890.109,00" відображається як "0N000000189010900" у файлі .txt.
Ознаки
Відомості про виправлення
Від корпорації Майкрософт доступне виправлення, що підтримується. Однак вона призначена лише для виправлення проблеми, описаної в цій статті. Застосуйте її лише до систем, у яких виникла ця проблема. Це виправлення може отримати додаткове тестування. Таким чином, якщо ви не серйозно постраждали від цієї проблеми, радимо дочекатися наступного Microsoft Dynamics NAV 5.0 пакет оновлень або наступної версії Microsoft Dynamics NAV, яка містить це виправлення.
Примітка У особливих випадках стягнення плати, які зазвичай понесені для викликів підтримки, може бути скасовано, якщо спеціаліст служби технічної підтримки Microsoft Dynamics і пов'язані продукти визначать, що конкретне оновлення вирішить вашу проблему. Звичайні витрати на підтримку застосовуватимуться до додаткових запитань і питань підтримки, які не відповідають вимогам для конкретного оновлення, про яке йде мова.
Спосіб усунення проблеми
Відомості про інсталяцію
Корпорація Майкрософт надає приклади програмування лише для ілюстрації без жодних гарантій, явних або неявних. Це стосується зокрема неявних гарантій щодо придатності до продажу чи придатності для певної мети. У цій статті припускається, що ви знайомі з мовою програмування, яка демонструється, і з інструментами, які використовуються для створення і налагодження процедур. Спеціалісти служби підтримки Microsoft можуть допомогти пояснити функціональність певної процедури, але вони не змінюватимуть ці приклади, щоб надавати додаткові функції або конструювати процедури відповідно до ваших конкретних вимог.
Примітка. Перш ніж інсталювати це виправлення, переконайтеся, що всі користувачі клієнта Microsoft Navision, вийти із системи. Це стосується користувачів клієнтських служб Microsoft Navision (NAS). Ви повинні бути єдиним клієнтом користувача, який ввійшов, коли ви впроваджуєте це виправлення.
Щоб реалізувати це виправлення, потрібно мати ліцензію розробника.
Радимо призначити обліковому запису користувача у вікні "Вхід у Windows" або у вікні "Вхід до бази даних" ідентифікатор ролі "SUPER". Якщо обліковому запису користувача не вдалося призначити ідентифікатор ролі SUPER, переконайтеся, що обліковий запис має такі дозволи:
- Дозвіл на змінення об'єкта, який буде змінюватися.
- Дозвіл Execute для об'єкта System Object ID 5210 і для об'єкта System Object ID 9015.
Примітка. Ви не повинні мати права на зберігання даних, якщо не потрібно відновлювати дані.
Зміни коду
Примітка. Завжди перевіряйте виправлення коду в контрольованому середовищі, перш ніж застосовувати виправлення до робочих комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії:
Змініть код у функції CalcTotLine у звіті телематичне оголошення ПДВ (10715), як виконайте такі дії:
Наявний код 1... "VAT StatementLine2"."Amount Type"::"Unrealized Base": BEGIN VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base"); Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base"); END; // Delete the following lines. "VAT StatementLine2"."Amount Type"::"Amount+Base": BEGIN VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base"); Amount := ConditionalAdd(0,VATEntry.Amount,VATEntry."Additional-Currency Amount"); Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base"); END; // End of the lines. END; CalcTotAmount("VAT StatementLine2",TotalAmount); END; ...Код заміни 1
... "VAT StatementLine2"."Amount Type"::"Unrealized Base": BEGIN VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base"); Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base"); END; // Add the following lines. "VAT StatementLine2"."Amount Type"::"Amount+Base": BEGIN VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base"); IF VATPostSetup.GET(VATEntry."VAT Bus. Posting Group",VATEntry."VAT Prod. Posting Group") THEN BEGIN IF VATPostSetup."VAT+EC %" <> 0 THEN BEGIN VATAmount := (VATEntry.Amount / VATPostSetup."VAT+EC %") * VATEntry."VAT %"; VATAmountAC := (VATEntry."Additional-Currency Amount" / VATPostSetup."VAT+EC %") * VATEntry."VAT %"; END; Amount := ConditionalAdd(0,VATAmount,VATAmountAC); END; Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base"); Amount := Amount + Base; END; // End of the lines. END; CalcTotAmount("VAT StatementLine2",TotalAmount); END; ...Наявний код 2
... "VAT StatementLine2"."Amount Type"::"Unrealized Base": BEGIN VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base"); Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base"); END; // Delete the following lines. "VAT StatementLine2"."Amount Type"::"Amount+Base": BEGIN VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base"); Amount := ConditionalAdd(0,VATEntry.Amount,VATEntry."Additional-Currency Amount"); Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base"); END; // End of the lines. END; CalcTotAmount("VAT StatementLine2",TotalAmount); END; END; EXIT(TRUE); ...Код заміни 2
... "VAT StatementLine2"."Amount Type"::"Unrealized Base": BEGIN VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base"); Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base"); END; // Add the following lines. "VAT StatementLine2"."Amount Type"::"Amount+Base": BEGIN VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base"); IF VATPostSetup.GET(VATEntry."VAT Bus. Posting Group",VATEntry."VAT Prod. Posting Group") THEN BEGIN IF VATPostSetup."VAT+EC %" <> 0 THEN BEGIN VATAmount := (VATEntry.Amount / VATPostSetup."VAT+EC %") * VATEntry."EC %"; VATAmountAC := (VATEntry."Additional-Currency Amount" / VATPostSetup."VAT+EC %") * VATEntry."EC %"; END; Amount := ConditionalAdd(0,VATAmount,VATAmountAC); END; Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base"); Amount := Amount + Base; END; // End of the lines. END; CalcTotAmount("VAT StatementLine2",TotalAmount); END; END; EXIT(TRUE); ...Змініть код у функції LoadValue у звіті телематичної декларації ПДВ (10715), як виконайте такі дії:
Наявний код... CASE TransFormat.Subtype OF // Delete the following lines. TransFormat.Subtype::"Integer and Decimal Part" : BEGIN TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative), Text1100010+'2'+Text1100011); TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=',',.'),' ','0'); TransFormat.Value := PADSTR('',TransFormat.Length - STRLEN(TransFormat.Value),'0') + TransFormat.Value; END; TransFormat.Subtype::"Integer Part" : BEGIN TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative), Text1100012); TransFormat.Value := CONVERTSTR(CONVERTSTR(TransFormat.Value,',','.'),' ','0'); END; TransFormat.Subtype::"Decimal Part" : BEGIN TransFormat.Value := FORMAT(Amt,TransFormat.Length+1,Text1100010+ FORMAT(TransFormat.Length,1) +Text1100013); TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=','.,'),' ','0'); TransFormat.Value := PADSTR('',TransFormat.Length - STRLEN(TransFormat.Value),'0') + TransFormat.Value; END; // End of the lines. END; TransFormat.MODIFY; ...Код заміни
... CASE TransFormat.Subtype OF // Add the following lines. TransFormat.Subtype::"Integer and Decimal Part": BEGIN TransFormat.Value := FORMAT(Amt,TransFormat.Length,Text1100010 + '2' + Text1100011); TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=',',.'),' ','0'); TransFormat.Value := Negative + PADSTR('',TransFormat.Length - STRLEN(Negative) - STRLEN(TransFormat.Value),'0') + TransFormat.Value; END; TransFormat.Subtype::"Integer Part": BEGIN TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative), Text1100012); TransFormat.Value := CONVERTSTR(CONVERTSTR(TransFormat.Value,',','.'),' ','0'); END; TransFormat.Subtype::"Decimal Part": BEGIN TransFormat.Value := FORMAT(Amt,TransFormat.Length,Text1100010 + '2' + Text1100013); TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=','.,'),' ','0'); TransFormat.Value := Negative + PADSTR('',TransFormat.Length - STRLEN(Negative) - STRLEN(TransFormat.Value),'0') + TransFormat.Value; END; // End of the lines. END; TransFormat.MODIFY; ...
Попередні вимоги
Щоб застосувати це виправлення, потрібно інсталювати іспанську версію Microsoft Dynamics NAV 5.0 із пакетом оновлень 1.
Відомості про видалення
Не можна видалити це виправлення.
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".
Стан
Примітка. Це стаття "FAST PUBLISH", створена безпосередньо з організації підтримки Корпорації Майкрософт. Інформація, що міститься в цьому документі, надається як у відповідь на нові проблеми. В результаті швидкості її використання матеріали можуть включати друкарські помилки і можуть бути переглянуті в будь-який час без попередження. Інші зауваження див. в розділі Умови використання .