Кількість залишилися в RG-23 D-запис визначено неправильно, коли на придбання кредит приміток в Індійському версії Microsoft Dynamics NAV 2009 пакетом оновлень 1

Застосовується до: Dynamics NAV 2009

Ця стаття відноситься до Microsoft Dynamics NAV для Індії у (мовних параметрах в).

Причини


Припустімо, що відправляти часткового повернення відправку замовлення на придбання в Індійському версії Microsoft Dynamics NAV 2009 року з пакетом оновлень 1 (SP1). Коли нотаток створену придбання-кредитної за допомогою функції Отримати повернення Відправлення рядки , ви помітити, що кількість залишилися в RG-23 D-запис неправильний.

Вирішення


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

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

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



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

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

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

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

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


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

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії.
  1. Додайте наведену нижче глобальну змінну, Продажу рядкатаблиці (37):
    • Ім'я: ExecuteExcise
    • Тип даних: логічний вираз
  2. Додайте такі змінні, функції CalculateStructures Продажу рядкатаблиці (37):
    • Ім'я: DetailRG23D
    • Тип: Запис; 16533

    Змінити код таким чином:
    ...                       END;
    UNTIL StrOrderDetails.NEXT = 0;
    END;
    SalesLine.MODIFY;
    UNTIL SalesLine.NEXT = 0;

    // Add the following l ines.
    IF NOT ExecuteExcise THEN BEGIN
    DetailRG23D.RESET;
    DetailRG23D.SETRANGE("Document Type","Document Type");
    DetailRG23D.SETRANGE("Order No.","No.");
    DetailRG23D.SETRANGE("Document No.",'');
    DetailRG23D.DELETEALL;
    END;
    // End of the added lines.
    ...
  3. Додайте такі змінні, функції CheckAvailableQtyForReturn Продажу рядкатаблиці (37):
    • Ім'я: RG23D2
    • Тип: Запис; 16537

    Змінити код таким чином:
    ...           IF RG23D.FINDSET THEN
    REPEAT
    // Delete the following line.
    QtyAllocated += ABS(RG23D.Quantity);
    // End of the deleted line.

    // Add the following lines.
    RG23D2.GET(RG23D."Ref. Entry No.");
    RG23D2.CALCFIELDS("Remaining Quantity");
    QtyAllocated += ABS(RG23D2.Quantity - RG23D2."Remaining Quantity");
    // End of the added lines.

    UNTIL RG23D.NEXT = 0;
    ...
  4. Створити функцію SetExecuteExcise Продажу рядкатаблиці (37). Додайте такий параметр:
    • Ім'я: ExecuteExcise2
    • Тип даних: логічний вираз

    Додайте наведений нижче код:
    ExecuteExcise := ExecuteExcise2;
  5. Додайте наведену нижче глобальну змінну, Придбання рядкатаблиці (39):
    • Ім'я: ExecuteExcise
    • Тип даних: логічний вираз
  6. Додайте такі змінні, функції CalculateStructures Придбання рядкатаблиці (39):
    • Ім'я: DetailRG23D
    • Тип: Запис; 16533

    Змінити код таким чином:
    ...                        END;
    UNTIL StrOrderDetails.NEXT = 0;
    END;
    PurchLine.MODIFY;
    UNTIL PurchLine.NEXT = 0;

    // Add the following lines.
    IF NOT ExecuteExcise THEN BEGIN
    DetailRG23D.RESET;
    DetailRG23D.SETRANGE("Document Type","Document Type");
    DetailRG23D.SETRANGE("Order No.","No.");
    DetailRG23D.SETRANGE("Document No.",'');
    DetailRG23D.DELETEALL;
    END;
    // End of the added lines.

    END;
    END;
    END;
    ...
  7. Створити SetExecuteExciseфункцію Придбання рядкатаблиці (39). Додайте такий параметр:
    • Ім'я: ExecuteExcise2
    • Тип даних: логічний вираз

    Додайте наведений нижче код:
    ExecuteExcise := ExecuteExcise2;
  8. Змінити код у Властивостів продажів - повідомленняcodeunit (80), як описано нижче:
      ...                SalesLine.GetSalesPriceExclusiveTaxes(SalesHeader);
    SalesLine.UpdateSalesLinesPIT(SalesHeader);
    END;

    IF Structure <> '' THEN BEGIN

    // Add the following lines.
    SalesLine.SetExecuteExcise(
    ("Document Type" IN ["Document Type"::"Credit Memo","Document Type"::Invoice]) OR
    (("Document Type" IN ["Document Type"::"Return Order",
    "Document Type"::Order]) AND
    Invoice));
    // End of the added lines.

    SalesLine.CalculateStructures(SalesHeader);
    SalesLine.AdjustStructureAmounts(SalesHeader);
    SalesLine.UpdateSalesLines(SalesHeader);
    CheckVATSettled(SalesHeader);
    END;
    ...

  9. Змін у Властивостів Purch.-повідомленняcodeunit (90) наступним чином:
      ...                   TESTFIELD("Document Date");
    IF GenJnlCheckLine.DateNotAllowed("Posting Date") THEN
    FIELDERROR("Posting Date",Text045);

    IF Structure <> '' THEN BEGIN

    // Add the following lines.
    PurchLine.SetExecuteExcise(("Document Type" = "Document Type"::"Credit Memo") OR
    (("Document Type" = "Document Type"::"Return Order") AND Invoice));
    // End of the added lines.

    PurchLine.CalculateStructures(PurchHeader);
    COMMIT;
    CheckVATSettled;
    PurchLine.AdjustStructureAmounts(PurchHeader);
    PurchLine.UpdatePurchLines(PurchHeader);
    ...


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

Потрібно мати індійського версії Microsoft Dynamics NAV 2009 року з пакетом оновлень 1 (SP1) для застосування цього виправлення.

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

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

Стан


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

Посилання


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