Під час запуску виробничого графіку у Microsoft Dynamics NAV, 2009 з'являється повідомлення про помилку, "маршрутизації лінії виробництва порядку посиланням до наступної попередньої операції в не існує"

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

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

Причини


Під час запуску виробничого графіку у 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. Змінити код функції CreateOutboundXML в codeunit-виробництво розклад керування (5500) наступним чином:
    Наявний код
    ...
    ScheduleOrder.SETDESTINATION(OStream);
    ScheduleOrder.InitializeHeader(InitialProdOrder1,Editable1);
    IF ScheduleOrder.EXPORT THEN BEGIN
    ProdSchedSetup.GanttXML.CREATEINSTREAM(IStream);
    OutboundXML.load(IStream);

    // Delete the following lines.
    END ELSE
    ERROR(Text002);
    // End of the lines.

    END
    END;
    END;

    PROCEDURE ConvertFromDDMMYY@2(DateIn@1000 : Text[30]) : Text[30];
    ...
    Заміна код
    ...
    ScheduleOrder.SETDESTINATION(OStream);
    ScheduleOrder.InitializeHeader(InitialProdOrder1,Editable1);
    IF ScheduleOrder.EXPORT THEN BEGIN
    ProdSchedSetup.GanttXML.CREATEINSTREAM(IStream);
    OutboundXML.load(IStream);

    // Add the following lines.
    END ELSE BEGIN
    CLEAR(ProdSched);
    ERROR(Text002);
    END;
    // End of the lines.

    END
    END;
    END;

    PROCEDURE ConvertFromDDMMYY@2(DateIn@1000 : Text[30]) : Text[30];
    ...
  2. Змін до експорту продукції розклад XMLport (5500) наступним чином:
    Наявний код 1
    ...
    { [{86CA14B5-EAF7-4A37-ADCC-ED8FB40C86E7}];6 ;PrevOperationNo ;Element ;Field ;
    DataType=Code;
    SourceField=Prod. Order Routing Line::Previous Operation No. }
    ...
    Код на заміну 1
    ...
    { [{86CA14B5-EAF7-4A37-ADCC-ED8FB40C86E7}];6 ;PrevOperationNo ;Element ;Field ;
    DataType=Code;
    SourceField=Prod. Order Routing Line::Previous Operation No.;
    Export::OnBeforePassField=BEGIN
    IF CheckOperationNo("Prod. Order Routing Line","Prod. Order Routing Line"."Previous Operation No.") THEN
    ERROR(Text000,"Prod. Order Routing Line"."Prod. Order No.","Prod. Order Routing Line".FIELDCAPTION("Previous Operation No."),
    "Prod. Order Routing Line"."Previous Operation No.");
    END;
    }
    ...
    Наявний код 2
    ...
    { [{81A88AA3-07E1-43BF-B7A4-6F00E038BD51}];6 ;NextOperationNo ;Element ;Field ;
    DataType=Code;
    SourceField=Prod. Order Routing Line::Next Operation No. }
    ...
    Код на заміну 2
    ...
    { [{81A88AA3-07E1-43BF-B7A4-6F00E038BD51}];6 ;NextOperationNo ;Element ;Field ;
    DataType=Code;
    SourceField=Prod. Order Routing Line::Next Operation No.;
    Export::OnBeforePassField=BEGIN
    IF CheckOperationNo("Prod. Order Routing Line","Prod. Order Routing Line"."Next Operation No.") THEN
    ERROR(Text000,"Prod. Order Routing Line"."Prod. Order No.","Prod. Order Routing Line".FIELDCAPTION("Next Operation No."),
    "Prod. Order Routing Line"."Next Operation No.");
    END;
    }
    ...
    Наявний код 3
    ...
    xProdOrderNo@1001 : Code[20];
    xProdOrderStatus@1002 : 'Simulated,Planned,Firm Planned,Released,Finished';
    xRoutingNo@1005 : Code[20];
    ...
    Код на заміну 3
    ...
    xProdOrderNo@1001 : Code[20];
    xProdOrderStatus@1002 : 'Simulated,Planned,Firm Planned,Released,Finished';
    xRoutingNo@1005 : Code[20];
    Text000@1101 : TextConst 'ENU=The routing in production order number %1 uses %2 %3, which does not exist.';
    ...
  3. Додавати нові функції на експорт продукції розклад XMLport (5500) наступним чином:
    PROCEDURE CheckOperationNo@15(ProdOrderRoutingLine@1001 : Record 5409;OperationNo@1000 : Code[20]) : Boolean;

    VAR
    CheckedProdOrderRoutingLine@1002 : Record 5409;
    BEGIN
    IF OperationNo = '' THEN
    EXIT(FALSE);
    WITH CheckedProdOrderRoutingLine DO BEGIN
    RESET;
    SETCURRENTKEY("Prod. Order No.","Routing Reference No.",Status,"Routing No.","Operation No.");
    SETRANGE("Prod. Order No.",ProdOrderRoutingLine."Prod. Order No.");
    SETRANGE("Routing Reference No.",ProdOrderRoutingLine."Routing Reference No.");
    SETRANGE(Status,ProdOrderRoutingLine.Status);
    SETRANGE("Routing No.",ProdOrderRoutingLine."Routing No.");
    SETRANGE("Operation No.",OperationNo);
    EXIT(ISEMPTY);
    END;
    END;

    BEGIN
    END

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

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

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

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

Стан


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