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

Причини

"Ні реєстрів" має значення нульовий розмір рахунки-фактури дійсним, і експорт загальної кількості, у тому числі такі рахунки-фактури іспанською мовою Microsoft Dynamics NAV-2009 року. Рахунки-фактури, що сума є нуль не має показано 340 модель-файлу а не входить в цілому "не реєстрів" або. Виконайте дії, описані в розділі зміни коду , щоб вирішити цю проблему. Ця проблема виникає в таких продуктів:

  • Іспанська версії Microsoft Dynamics NAV 2009-R2

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

Вирішення

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

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

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

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

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

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

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

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

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

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

    об'єкт.

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

Зміни коду

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

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

  1. Змінити код CalcTotals функції у звіті про зробити-340-Декларація (10743), наступним чином:
    Наявний код 1

    ...VAR
    VATEntry6@1100000 : Record 254;
    VATEntry7@1100002 : Record 254;
    BEGIN
    VATEntryTemporary.DELETEALL;
    VATEntry6.RESET;
    ...

    Код на заміну 1

    ...VAR
    VATEntry6@1100000 : Record 254;
    VATEntry7@1100002 : Record 254;

    // Add the following line.
    TempUnrealVATBuffer@1100001 : TEMPORARY Record 10704;
    // End of the added line.

    BEGIN
    VATEntryTemporary.DELETEALL;
    VATEntry6.RESET;
    ...

    Наявний код 2

    ...VATEntry7.SETRANGE(VATEntry7.Type,VATEntryTemporary.Type);
    IF VATEntry7.FINDFIRST THEN
    VATBuffer.DELETEALL;
    REPEAT
    VATBuffer."VAT %" := VATEntry7."VAT %";
    VATBuffer."EC %" := VATEntry7."EC %";
    ...

    Код на заміну 2

    ...VATEntry7.SETRANGE(VATEntry7.Type,VATEntryTemporary.Type);
    IF VATEntry7.FINDFIRST THEN
    VATBuffer.DELETEALL;

    // Add the following line.
    TempUnrealVATBuffer.DELETEALL;
    // End of the added line.

    REPEAT
    VATBuffer."VAT %" := VATEntry7."VAT %";
    VATBuffer."EC %" := VATEntry7."EC %";
    ...

    Наявний код 3

    ... IF VATEntry7.Type = VATEntry7.Type::Sale THEN BEGIN
    VATEntry7.Base := -VATEntry7.Base;
    VATEntry7.Amount := -VATEntry7.Amount;

    // Delete the following lines.
    END;
    IF VATBuffer.FIND THEN BEGIN
    VATBuffer.Base := VATBuffer.Base + VATEntry7.Base;
    VATBuffer.Amount := VATBuffer.Amount + VATEntry7.Amount;
    IF (VATEntry7.Type = VATEntry7.Type::Sale) AND (VATEntry7."EC %" <> 0) THEN
    VATBuffer."EC Amount" := VATBuffer."EC Amount" + ROUND(VATEntry7.Base * VATEntry7."EC %" / 100);
    VATBuffer.MODIFY;
    END ELSE BEGIN
    VATBuffer.Base := VATEntry7.Base;
    VATBuffer.Amount := VATEntry7.Amount;
    VATBuffer."EC Amount" := 0;
    IF (VATEntry7.Type = VATEntry7.Type::Sale) AND (VATEntry7."EC %" <> 0) THEN
    VATBuffer."EC Amount" := ROUND(VATEntry7.Base * VATEntry7."EC %" / 100);
    VATBuffer.INSERT;
    END;
    // End of the deleted lines.

    UNTIL VATEntry7.NEXT = 0;
    IF VATBuffer.FINDFIRST THEN
    NoofRecords := NoofRecords + VATBuffer.COUNT;
    ...

    Код на заміну 3

    ...IF VATEntry7.Type = VATEntry7.Type::Sale THEN BEGIN
    VATEntry7.Base := -VATEntry7.Base;
    VATEntry7.Amount := -VATEntry7.Amount;

    // Add the following lines.
    VATEntry7."Unrealized Base" := -VATEntry7."Unrealized Base";
    VATEntry7."Unrealized Amount" := -VATEntry7."Unrealized Amount";
    END;
    IF VATBuffer.FIND THEN BEGIN
    UpdateVATBuffer(VATBuffer,VATEntry7);
    VATBuffer.MODIFY;
    END ELSE BEGIN
    VATBuffer.INIT;
    UpdateVATBuffer(VATBuffer,VATEntry7);
    VATBuffer.INSERT;
    END;
    TempUnrealVATBuffer := VATBuffer;
    IF TempUnrealVATBuffer.FIND THEN BEGIN
    UpdateUnrealVATBuffer(TempUnrealVATBuffer,VATEntry7);
    TempUnrealVATBuffer.MODIFY;
    END ELSE BEGIN
    TempUnrealVATBuffer.INIT;
    UpdateUnrealVATBuffer(TempUnrealVATBuffer,VATEntry7);
    TempUnrealVATBuffer.INSERT;
    END;
    IF IsEmptyVATBuffer(VATBuffer) AND IsEmptyVATBuffer(TempUnrealVATBuffer) THEN BEGIN
    VATBuffer.DELETE;
    TempUnrealVATBuffer.DELETE;
    END;
    // End of the added lines.

    UNTIL VATEntry7.NEXT = 0;
    IF VATBuffer.FINDFIRST THEN
    NoofRecords := NoofRecords + VATBuffer.COUNT;
    ...
  2. Змінити код IsEmptyVATBuffer функції у звіті про зробити-340-Декларація (10743), наступним чином:
    Наявний код

    ...UNTIL VATEntryTemporary.NEXT = 0;
    END;

    PROCEDURE GetSalesShipmentDate@1100022(DocumentNo@1100000 : Code[20]) : Date;
    VAR
    SalesShipmentHeader@1100001 : Record 110;
    ...

    Заміна код

    ...UNTIL VATEntryTemporary.NEXT = 0;
    END;

    // Add the following lines.
    LOCAL PROCEDURE IsEmptyVATBuffer@1100065(TempVATBuffer@1100000 : Record 10704) : Boolean;
    BEGIN
    WITH TempVATBuffer DO
    EXIT((Base = 0) AND (Amount = 0) AND ("EC Amount" = 0));
    END;

    LOCAL PROCEDURE UpdateVATBuffer@1100061(VAR TempVATBuffer@1100000 : Record 10704;AddedVATEntry@1100001 : Record 254);
    BEGIN
    WITH TempVATBuffer DO BEGIN
    Base += AddedVATEntry.Base;
    Amount += AddedVATEntry.Amount;
    IF (AddedVATEntry.Type = AddedVATEntry.Type::Sale) AND (AddedVATEntry."EC %" <> 0) THEN
    "EC Amount" += ROUND(AddedVATEntry.Base * AddedVATEntry."EC %" / 100);
    END;
    END;

    LOCAL PROCEDURE UpdateUnrealVATBuffer@1100063(VAR TempVATBuffer@1100000 : Record 10704;AddedVATEntry@1100001 : Record 254);
    BEGIN
    WITH TempVATBuffer DO BEGIN
    Base += AddedVATEntry."Unrealized Base";
    Amount += AddedVATEntry."Unrealized Amount";
    IF (AddedVATEntry.Type = AddedVATEntry.Type::Sale) AND (AddedVATEntry."EC %" <> 0) THEN
    "EC Amount" += ROUND(AddedVATEntry."Unrealized Base" * AddedVATEntry."EC %" / 100);
    END;
    END;

    // End of the added lines.

    PROCEDURE GetSalesShipmentDate@1100022(DocumentNo@1100000 : Code[20]) : Date;
    VAR
    SalesShipmentHeader@1100001 : Record 110;
    ...

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

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

  • Іспанська версії Microsoft Dynamics NAV 2009-R2

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

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

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

Стан

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

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

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

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

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

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

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

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

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

×