Система створює неправильні резервування елементи, під час запуску, планування, поза діапазоном дата замовлення в Microsoft Dynamics NAV, 2009


Ця стаття відноситься до Microsoft Dynamics NAV, 2009 всі країни і всі мови.

Причини


Припустімо, що у вас є постачання або потреби, для певного попиту дату в Microsoft Dynamics NAV 2009-R2 і Microsoft Dynamics NAV 2009 пакета оновлень 1 (SP1). Під час запуску, планування, поза діапазоном, починаючи з дати, система, створює резервування, неправильні записи. Таким чином, передача порядку за відправлений стан. Проте ви не можете надіслати отримання. Опублікувати передавання підтвердження замовлення, потрібно змінити, щоб співставити живлення або вимагають резервування запис таблиці безпосередньо для того, щоб переглянути правильні кількість на підтвердження замовлення передачі, щоб після отримання.

Вирішення


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

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

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


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

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

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

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

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


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

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії.
  1. Змінити код функції PlanItem запасів профілю, Взаємозалік codeunit (99000854), у наступним чином:
    Наявний код
    ...      WHILE DemandExists AND SupplyExists DO
    IF Demand."Untracked Quantity" > Supply."Untracked Quantity" THEN BEGIN
    LastProjectedInventory += Supply."Remaining Quantity (Base)";
    Demand."Untracked Quantity" -= Supply."Untracked Quantity";
    Supply."Untracked Quantity" := 0;
    Supply.MODIFY;
    SupplyExists := Supply.NEXT <> 0;
    END ELSE BEGIN
    LastProjectedInventory -= Demand."Remaining Quantity (Base)";
    Supply."Untracked Quantity" -= Demand."Untracked Quantity";
    Demand."Untracked Quantity" := 0;
    Demand.MODIFY;
    DemandExists := Demand.NEXT <> 0;
    IF NOT DemandExists THEN
    Supply.MODIFY;
    END;
    ...

    Заміна код
    ...      WHILE DemandExists AND SupplyExists DO
    IF Demand."Untracked Quantity" > Supply."Untracked Quantity" THEN BEGIN
    LastProjectedInventory += Supply."Remaining Quantity (Base)";
    Demand."Untracked Quantity" -= Supply."Untracked Quantity";

    // Add the following line.
    FrozenZoneTrack(Supply,Demand);
    // End of the line.

    Supply."Untracked Quantity" := 0;
    Supply.MODIFY;
    SupplyExists := Supply.NEXT <> 0;
    END ELSE BEGIN
    LastProjectedInventory -= Demand."Remaining Quantity (Base)";
    Supply."Untracked Quantity" -= Demand."Untracked Quantity";

    // Add the following line.
    FrozenZoneTrack(Demand,Supply);
    // End of the line.

    Demand."Untracked Quantity" := 0;
    Demand.MODIFY;
    DemandExists := Demand.NEXT <> 0;
    IF NOT DemandExists THEN
    Supply.MODIFY;
    END;
    ...

  2. Додавати функцію локального FrozenZoneTrack запасів профілю, Взаємозалік codeunit (99000854) наступним чином:
    LOCAL PROCEDURE FrozenZoneTrack@52(FromInventoryProfile@1000 : Record 99000853;ToInventoryProfile@1001 : Record 99000853);IF (FromInventoryProfile."Lot No." <> '') OR (FromInventoryProfile."Serial No." <> '') THEN
    Track(FromInventoryProfile,ToInventoryProfile,TRUE,FALSE,FromInventoryProfile.Binding::" ");

    IF (ToInventoryProfile."Lot No." <> '') OR (ToInventoryProfile."Serial No." <> '')
    THEN BEGIN
    ToInventoryProfile."Untracked Quantity" := FromInventoryProfile."Untracked Quantity";
    ToInventoryProfile."Quantity (Base)" := FromInventoryProfile."Untracked Quantity";
    ToInventoryProfile."Original Quantity" := 0;
    Track(ToInventoryProfile,FromInventoryProfile,TRUE,FALSE,ToInventoryProfile.Binding::" ");
    END;

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

Ви повинні мати одну з наведених нижче продуктів, щоб застосувати це виправлення:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 пакет оновлень 1 для

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

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

Стан


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