Mesaj de eroare "Nu se poate modifica locația cod" atunci când modificați valoarea "vânzare-la client nu" într-o ordine vânzări în Microsoft Dynamics NAV

Se aplică la: Microsoft Dynamics NAV 5.0 Service Pack 1Dynamics NAV 2009Dynamics NAV 2009 Service Pack 1


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

Simptome


Când modificaţi valoarea de Vânzare-la client nu într-o ordine de vânzări, primiţi următorul mesaj de eroare:
Se poate modifica locația cod deoarece rezervare, urmărirea elementelor sau ordinea de urmărire există pe comanda de vânzare.

Această problemă apare dacă următoarele condiții sunt adevărate:
  • Este activată setarea de Politică de urmărire ordine .
  • O linie de comandă de vânzare existente se actualizează.

Această problemă se produce în următoarele produse:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

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ă.


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. Cu toate acestea, nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară construi proceduri pentru a răspunde cerințelor dvs. specifice.

Notă Înainte de a instala această remediere rapidă, Verificați că toți utilizatorii de client Microsoft Dynamics NAV făcut Log off sistemul. Aceasta include servicii Microsoft Dynamics NAV Application Server (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ă, modificați codul din tabelul Antet vânzări (36). Pentru a face acest lucru, urmați acești pași:
  1. Ștergeți constantă de următorul Text:
    Text047@1095 : TextConst 'ENU=You cannot change %1 because reservation, item tracking, or order tracking exists on the sales order.'; 

  2. Modificați codul din funcția RecreateSalesLines după cum urmează:
    Cod existent
    SalesLine.TESTFIELD("Return Qty. Received",0);              SalesLine.TESTFIELD("Shipment No.",'');
    SalesLine.TESTFIELD("Return Receipt No.",'');
    SalesLine.TESTFIELD("Blanket Order No.",'');
    SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0);
    SalesLineTmp := SalesLine;
    IF SalesLine.Nonstock THEN BEGIN
    SalesLine.Nonstock := FALSE;
    SalesLine.MODIFY;
    END;
    SalesLineTmp.INSERT;
    RecreateReservEntry(SalesLine,0,TRUE);
    RecreateReqLine(SalesLine,0,TRUE);
    UNTIL SalesLine.NEXT = 0;

    // Delete the following lines.
    IF "Location Code" <> xRec."Location Code" THEN
    IF NOT TempReservEntry.ISEMPTY THEN
    ERROR(Text047,FIELDCAPTION("Location Code"));
    // End of the deleted lines.

    ItemChargeAssgntSales.SETRANGE("Document Type","Document Type");
    ItemChargeAssgntSales.SETRANGE("Document No.","No.");
    IF ItemChargeAssgntSales.FINDSET THEN BEGIN

    Cod de înlocuire
    SalesLine.TESTFIELD("Return Qty. Received",0);              SalesLine.TESTFIELD("Shipment No.",'');
    SalesLine.TESTFIELD("Return Receipt No.",'');
    SalesLine.TESTFIELD("Blanket Order No.",'');
    SalesLine.TESTFIELD("Prepmt. Amt. Inv.",0);

    // Add the following lines.
    IF SalesLine."Location Code" <> "Location Code" THEN
    SalesLine.VALIDATE("Location Code","Location Code");
    // End of the added lines.

    SalesLineTmp := SalesLine;
    IF SalesLine.Nonstock THEN BEGIN
    SalesLine.Nonstock := FALSE;
    SalesLine.MODIFY;
    END;
    SalesLineTmp.INSERT;
    RecreateReservEntry(SalesLine,0,TRUE);
    RecreateReqLine(SalesLine,0,TRUE);
    UNTIL SalesLine.NEXT = 0;

    ItemChargeAssgntSales.SETRANGE("Document Type","Document Type");
    ItemChargeAssgntSales.SETRANGE("Document No.","No.");
    IF ItemChargeAssgntSales.FINDSET THEN BEGIN

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
  • Microsoft Dynamics NAV 5.0 Service Pack 1

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.