Rezultat iz nove narudžbenice možete neočekivano objaviti na postojećoj proizvodnoj narudžbi pomoću druge stavke u sustavu Microsoft Dynamics NAV

Primjenjuje se na
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

Brzo objavljeni članci pružaju informacije izravno iz Microsoftove službe za podršku. Informacije koje su sadržane u ovom dokumentu stvorene su kao odgovor na nove ili jedinstvene teme ili su namijenjene kao dopuna drugim informacijama iz baze znanja.

Ovaj se članak odnosi na NAV sustava Microsoft Dynamics za sve države i regionalne sheme na svim jezicima.

Simptomi

U sustavu Microsoft Dynamics NAV možete neočekivano objaviti rezultat iz nove narudžbenice na postojeću proizvodnu narudžbu pomoću druge stavke.

Taj se problem pojavljuje u sljedećim proizvodima:

  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

Rješenje

Informacije o hitnom popravku

Microsoft sada nudi podržani hitni popravak. No njegova je namjena samo ispravljanje problema opisanog u ovom članku. Primijenite ga samo na sustave koji imaju taj specifični problem. Ovaj hitni popravak može proći dodatna testiranja. Stoga, ako se ovaj problem ne odnosi ozbiljno, preporučujemo da pričekate sljedeći servisni paket za Microsoft Dynamics NAV ili sljedeću verziju sustava Microsoft Dynamics NAV koja sadrži ovaj hitni popravak.

Napomena: U posebnim slučajevima, ako stručnjak tehničke podrške za Microsoft Dynamics i povezane proizvode utvrdi da određeno ažuriranje može riješiti problem, poziv službi podrške može biti besplatan. Uobičajene cijene poziva službi za podršku primjenjuju se na dodatna pitanja i probleme koje nemaju veze s pripadnom nadopunom.

            
          

Informacije o instalaciji

Microsoft daje primjere programiranja samo za ilustraciju, bez jamstva, bilo izričitog ili prešutnog. To uključuje, bez ograničenja, implicitna jamstva utrživosti ili prikladnosti za određenu svrhu. U članku se podrazumijeva da ste upoznati s programskim jezikom koji se pokazuje te s alatima koji se koriste za stvaranje i ispravljanje pogrešaka procedura. Microsoftovi inženjeri za podršku mogu vam pomoći objasniti funkcionalnost određene procedure, no neće mijenjati te primjere radi pružanja dodatne funkcionalnosti ili konstruirati procedure koji zadovoljavaju vaše specifične zahtjeve.

Napomena Prije nego što instalirate ovaj hitni popravak, provjerite jesu li svi korisnici Microsoft Navision klijenta odjavljeni sa sustava. To obuhvaća korisnike klijentskih usluga Microsoft Navision Application Services (NAS). Trebali biste biti jedini klijentski korisnik prijavljen na vrijeme implementacije ovog hitnog popravka.

Da biste implementirali ovaj hitni popravak, morate imati licencu za razvojne inženjere.

Preporučujemo da se korisničkom računu u prozoru Prijave u sustav Windows ili u prozoru Prijave u bazu podataka dodijeli ID uloge "SUPER". Ako korisničkom računu nije moguće dodijeliti ID uloge "SUPER", morate provjeriti ima li korisnički račun sljedeće dozvole:

  • Dozvola za izmjenu objekta koji ćete mijenjati.
  • Dozvola za izvršavanje za objekt System Object ID 5210 i za objekt System Object ID 9015

                
Napomena: nemate pravo na spremišta podataka, osim ako morate popraviti podatke.

Promjene koda

Napomena: uvijek testirajte popravke koda u kontroliranom okruženju prije primjene popravaka na proizvodnim računalima.
Da biste primijenili ovaj hitni popravak, učinite sljedeće:

  1. Promijenite kod polja u tablici redaka kupnje (39) na sljedeći način:
    Postojeći kod 1

    ...
                                                                    END;
    
                                                         ValidateTableRelation=No;
    
                                                         // Delete the following line.
                                                         TestTableRelation=No }
    
          { 5402;   ;Variant Code        ;Code10        ;TableRelation=IF (Type=CONST(Item)) "Item Variant".Code WHERE (Item No.=FIELD(No.));
                                                         OnValidate=BEGIN
                                                                      IF "Variant Code" <> '' THEN
    ...
    
    

    Zamjenski kod 1

    ...
                                                                    END;
    
                                                         ValidateTableRelation=No;
    
                                                         // Add the following lines.
                                                         TestTableRelation=No;
                                                         Editable=No }
                                                         // End of the lines.
    
          { 5402;   ;Variant Code        ;Code10        ;TableRelation=IF (Type=CONST(Item)) "Item Variant".Code WHERE (Item No.=FIELD(No.));
                                                         OnValidate=BEGIN
                                                                      IF "Variant Code" <> '' THEN
    ...
    
    

    Postojeći kod 2

    ...
                                                                      VALIDATE("Work Center No.",ProdOrderRtngLine."No.");
                                                                      VALIDATE("Direct Unit Cost",ProdOrderRtngLine."Direct Unit Cost");
                                                                    END;
    
                                                                     // Delete the following line.
                                                                     }
    
          { 99000752;;Work Center No.    ;Code20        ;TableRelation="Work Center";
                                                         OnValidate=BEGIN
                                                                      IF Type = Type::"Charge (Item)" THEN
    ...
    
    

    Zamjenski kod 2

    ...
                                                                      VALIDATE("Work Center No.",ProdOrderRtngLine."No.");
                                                                      VALIDATE("Direct Unit Cost",ProdOrderRtngLine."Direct Unit Cost");
                                                                    END;
    
                                                         // Add the following line.
                                                         Editable=No }
    
          { 99000752;;Work Center No.    ;Code20        ;TableRelation="Work Center";
                                                         OnValidate=BEGIN
                                                                      IF Type = Type::"Charge (Item)" THEN
    ...
    
    

    Postojeći kod 3

    ...
                                                                        DATABASE::Job,"Job No.",
                                                                        DATABASE::"Responsibility Center","Responsibility Center");
                                                                    END;
    
                                                                     // Delete the following line.
                                                                     }
    
          { 99000753;;Finished           ;Boolean        }
          { 99000754;;Prod. Order Line No.;Integer      ;TableRelation="Prod. Order Line"."Line No." WHERE (Status=FILTER(Released..),
    ...
    
    

    Zamjenski kod 3

    ...
                                                                        DATABASE::Job,"Job No.",
                                                                        DATABASE::"Responsibility Center","Responsibility Center");
                                                                    END;
    
                                                         // Add the following line.
                                                         Editable=No }
    
          { 99000753;;Finished           ;Boolean        }
          { 99000754;;Prod. Order Line No.;Integer      ;TableRelation="Prod. Order Line"."Line No." WHERE (Status=FILTER(Released..),
    ...
    
    

    Postojeći kod 4

    ...
          { 99000753;;Finished           ;Boolean        }
          { 99000754;;Prod. Order Line No.;Integer      ;TableRelation="Prod. Order Line"."Line No." WHERE (Status=FILTER(Released..),
    
                                                                                                            // Delete the following line.
                                                                                                            Prod. Order No.=FIELD(Prod. Order No.)) }
    
          { 99000755;;Overhead Rate      ;Decimal       ;OnValidate=BEGIN
                                                                      VALIDATE("Indirect Cost %");
                                                                    END;
    ...
    
    

    Zamjenski kod 4

    ...
          { 99000753;;Finished           ;Boolean        }
          { 99000754;;Prod. Order Line No.;Integer      ;TableRelation="Prod. Order Line"."Line No." WHERE (Status=FILTER(Released..),
    
                                                                                                            // Add the following lines.
                                                                                                            Prod. Order No.=FIELD(Prod. Order No.));
                                                         Editable=No }
                                                                                                            // End of the lines.
    
          { 99000755;;Overhead Rate      ;Decimal       ;OnValidate=BEGIN
                                                                      VALIDATE("Indirect Cost %");
                                                                    END;
    ...
    
    
  2. Promijenite kod globalnih varijabli u stavci Jnl.-Kontrolna linijska kodna jedinica (21) na sljedeći način:
    Postojeći kod

    ...
            ItemLedgEntry@1007 : Record 32;
            ItemJnlLine2@1013 : Record 83;
            ItemJnlLine3@1014 : Record 83;
            DimMgt@1015 : Codeunit 408;
            AllowPostingFrom@1016 : Date;
            AllowPostingTo@1017 : Date;
    ...
    
    

    Zamjenski kôd

    ...
            ItemLedgEntry@1007 : Record 32;
            ItemJnlLine2@1013 : Record 83;
            ItemJnlLine3@1014 : Record 83;
    
            // Add the following line.
            ProdOrderLine@1023 : Record 5406;
    
            DimMgt@1015 : Codeunit 408;
            AllowPostingFrom@1016 : Date;
            AllowPostingTo@1017 : Date;
    ...
    
    
  3. Promijenite kod u funkciji RunCheck u stavci Jnl.-Check Line jedinici koda (21) na sljedeći način:
    Postojeći kod 1

    ...
            TableID@1002 : ARRAY [10] OF Integer;
            No@1003 : ARRAY [10] OF Code[20];
            InvtPeriod@1004 : Record 5814;
          BEGIN
            WITH ItemJnlLine DO BEGIN
              IF EmptyLine THEN BEGIN
    ...
    
    

    Zamjenski kod 1

    ...
            TableID@1002 : ARRAY [10] OF Integer;
            No@1003 : ARRAY [10] OF Code[20];
            InvtPeriod@1004 : Record 5814;
    
            // Add the following line.
            WorkCenter@1005 : Record 99000754;
    
          BEGIN
            WITH ItemJnlLine DO BEGIN
              IF EmptyLine THEN BEGIN
    ...
    
    

    Postojeći kod 2

    ...
              THEN BEGIN
                TESTFIELD("Source No.");
                CheckFindProdOrderLine("Prod. Order No.","Prod. Order Line No.");
                IF ("Entry Type" = "Entry Type"::Output) AND ("Output Quantity" < 0) AND (NOT Adjustment) THEN
                  IF LastOutputOperation(ItemJnlLine) THEN
                    TESTFIELD("Applies-to Entry");
    ...
    
    

    Zamjenski kod 2

    ...
              THEN BEGIN
                TESTFIELD("Source No.");
                CheckFindProdOrderLine("Prod. Order No.","Prod. Order Line No.");
    
                // Add the following lines.
                IF Subcontracting THEN BEGIN
                  TESTFIELD("Item No.",ProdOrderLine."Item No.");
                  WorkCenter.GET("Work Center No.");
                  WorkCenter.TESTFIELD("Subcontractor No.");
                END;
                // End of the lines.
    
                IF ("Entry Type" = "Entry Type"::Output) AND ("Output Quantity" < 0) AND (NOT Adjustment) THEN
                  IF LastOutputOperation(ItemJnlLine) THEN
                    TESTFIELD("Applies-to Entry");
    ...
    
    
  4. Promijenite kod u funkciji CheckFindProdOrderLine u jedinici koda stavke Jnl.-Check Line (21) na sljedeći način:
    Postojeći kod

    ...
          END;
    
          LOCAL PROCEDURE CheckFindProdOrderLine@11(ProdOrderNo@1000 : Code[20];LineNo@1001 : Integer);
    
          // Delete the following lines.
          VAR
            ProdOrderLine@1002 : Record 5406;
          // End of the lines.
    
          BEGIN
            ProdOrderLine.RESET;
            ProdOrderLine.SETFILTER(Status,'>=%1',ProdOrderLine.Status::Released);
    ...
    
    

    Zamjenski kôd

    ...
          END;
    
          LOCAL PROCEDURE CheckFindProdOrderLine@11(ProdOrderNo@1000 : Code[20];LineNo@1001 : Integer);
          BEGIN
            ProdOrderLine.RESET;
            ProdOrderLine.SETFILTER(Status,'>=%1',ProdOrderLine.Status::Released);
    ...
    
    

Preduvjeti

Da biste primijenili ovaj hitni popravak, morate imati instaliran neki od sljedećih proizvoda:

  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

              

Podaci o uklanjanju

Ovaj hitni popravak ne možete ukloniti.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

MICROSOFT I/ILI NJEGOVI DOBAVLJAČI NE DAJU NIKAKVE IZJAVE NITI JAMSTVA U POGLEDU PRIKLADNOSTI, POUZDANOSTI ILI TOČNOSTI INFORMACIJA SADRŽANIH U DOKUMENTIMA I POVEZANOJ GRAFICI OBJAVLJENOJ NA OVOM WEB-MJESTU ("MATERIJALI") U BILO KOJU SVRHU.

MATERIJALI MOGU SADRŽAVATI TEHNIČKE NETOČNOSTI ILI TIPOGRAFSKE POGREŠKE I MOGU SE REVIDIRATI U BILO KOJEM TRENUTKU BEZ PRETHODNE OBAVIJESTI. U NAJVEĆOJ MJERI DOPUŠTENOJ MJERODAVNIM ZAKONOM, MICROSOFT I/ILI NJEGOVI DOBAVLJAČI ODRIČU SE I ISKLJUČUJU SVE IZJAVE, JAMSTVA I UVJETE, BILO IZRIČITE, IMPLICIRANE ILI ZAKONSKE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA IZJAVE, JAMSTVA ILI UVJETE VLASNIŠTVA, NEPOVREDIVOSTI, ZADOVOLJAVAJUĆEG STANJA ILI KVALITETE, UTRŽIVOSTI I PRIKLADNOSTI ZA POSEBNU SVRHU U VEZI S MATERIJALIMA.