Salt la conținutul principal
Asistență
Conectare

Mesajul de eroare "rutare line unei comenzi de producție se referă la funcționarea următoare/anterioară non-existente" atunci când executați programul de producție în Microsoft Dynamics NAV 2009

Șablon: CPR - Navision cod Fix șablon

Număr eroare: 168425 (întreținere conținut)

Acest articol se aplică la Microsoft Dynamics NAV pentru toate țările și toate limbi regionale.

Simptome

Când executați programul de producție în Microsoft Dynamics NAV 2009, primiţi următorul mesaj de eroare:

Linie de rutare unei comenzi de producție se referă la funcționarea următoare/anterioară non-existente.

Cu toate acestea, mesajul de eroare nu specifică în cazul în care producția întrerupte de rutare se află.
Această problemă se produce în următoarele produse:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


Rezolvare

Informații despre remedierea rapidă

Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, acesta este destinat numai corectării problemei descrise în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet service pack Microsoft Dynamics NAV 2009 sau versiunea Microsoft Dynamics NAV următoare, care conține această remediere rapidă.

Notă În cazuri speciale, costurile implicate de obicei pentru asistență apeluri pot fi anulate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produse asociate stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.

Dacă această remediere rapidă nu este publicată pentru descărcare publică (ceea ce înseamnă că un URL public pentru această remediere rapidă nu este furnizat în acest articol), distribuția necesită aprobarea manager, membru din echipa de implementare sau conducerii tehnice și se aplică următoarele informații:

  • Pentru a primi această remediere rapidă, clienții trebuie să se confrunte cu eroarea menționată în secțiunea "simptome".

  • Trebuie să urmăriți clienții să trimiteți și să le furnizați următorul pachet service pack când acesta va fi disponibil (dacă se lansează un pachet service pack).

Această remediere rapidă nu este planificată să fie inclusă într-un pachet de service pack Microsoft Dynamics NAV.

VSTF DynamicsNAVSE: 283322



Informaţii despre instalare

Microsoft furnizează exemple de programare scop ilustrativ, fără nicio garanţie explicită sau implicită. Aceasta include, dar nu se limitează la, garanţiile implicite de vandabilitate sau de potrivire pentru un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare care este prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, dar nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară sau pentru a construi proceduri pentru a răspunde cerințelor dvs. specifice.

Notă Înainte de a instala această remediere rapidă, Verificați că toate Microsoft Navision client utilizatorii au făcut Log off sistemul. Aceasta include utilizatorii de client Microsoft Navision Application Services (NAS). Ar trebui să fie singurul client utilizatorului care este conectat când implementați această remediere rapidă.

Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltare.

Vă recomandăm că contul de utilizator în fereastra Conectări Windows sau în fereastra Conectări bază de date se atribuie "SUPER" rolul ID-ul. În cazul în care contul de utilizator nu poate fi atribuit ID-ul "SUPER" rolul, trebuie să verificați că contul de utilizator are următoarele permisiuni:

  • Modify permisiunea pentru obiectul care se va schimba.

  • Permisiunea de executare pentru obiectul de sistem obiect ID 5210 și pentru obiectul de sistem obiect ID 9015 .



Notă Nu trebuie să aveți drepturi de la magazine de date decât dacă trebuie să efectuați o reparare de date.

Modificări de cod

Notă Întotdeauna test cod remediază într-un mediu controlat înainte de a aplica remedieri pentru computerele de producție.
Pentru a rezolva această problemă, urmați acești pași:

  1. Modificați codul din funcția CreateOutboundXML în codeunit producție Programul Management (5500) după cum urmează:
    Cod existent

    ...
    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];
    ...

    Cod de înlocuire

    ...
    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. Modificați codul din Export producție programare XMLport (5500) după cum urmează:
    Cod existent 1

    ...
    { [{86CA14B5-EAF7-4A37-ADCC-ED8FB40C86E7}];6 ;PrevOperationNo ;Element ;Field ;
    DataType=Code;
    SourceField=Prod. Order Routing Line::Previous Operation No. }
    ...

    Înlocuirea cod 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;
    }
    ...

    Cod existent 2

    ...
    { [{81A88AA3-07E1-43BF-B7A4-6F00E038BD51}];6 ;NextOperationNo ;Element ;Field ;
    DataType=Code;
    SourceField=Prod. Order Routing Line::Next Operation No. }
    ...

    Înlocuirea cod 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;
    }
    ...

    Cod existent 3

    ...
    xProdOrderNo@1001 : Code[20];
    xProdOrderStatus@1002 : 'Simulated,Planned,Firm Planned,Released,Finished';
    xRoutingNo@1005 : Code[20];
    ...

    Înlocuirea cod 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. Adăugați o funcție nouă în Export producție programare XMLport (5500) după cum urmează:

    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

Cerințe preliminare

Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


Eliminare informaţii

Nu se poate elimina această remediere rapidă.

Stare

Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Notă Acesta este un articol "rapid publicat" creat direct în cadrul organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele care apar. Ca rezultat al vitezei în a-l face disponibil, materialele pot include erori tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizare pentru alte considerații.

Autor: benle
Scris de: v-zhipen
Examinare tehnică: benle
Editor:

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×