Rakenduses Microsoft Dynamics NAV saate ootamatult konteerida uue ostutellimuse väljundi olemasolevale tootmistellimusele, kasutades mõnda muud üksust

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

Kiiresti avaldatud artiklid annavad teavet otse Microsofti tugiteenuste organisatsioonist. Siin sisalduv teave luuakse vastuseks esilekerkivatele või ainulaadsetele teemadele või täiendatakse muud teabebaasi teavet.

See artikkel kehtib Microsoft Dynamics NAV-i kohta kõigis riikides ja kõigis keele lokaadides.

Sümptomid

Rakenduses Microsoft Dynamics NAV saate ootamatult postitada uue ostutellimuse väljundi olemasolevale tootmistellimusele mõne muu kauba abil.

See probleem ilmneb järgmistes toodetes:

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

Lahendus

Kiirparanduse teave

Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.

            
          

Installiteave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid selleks, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.

Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.

  • Muudetava objekti muutmisõigus.
  • Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.

                
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.

Koodi muudatused

Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.
Selle kiirparanduse rakendamiseks tehke järgmist.

  1. Muutke tabeli Osturida (39) väljade koodi järgmiselt.
    Olemasolev kood 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
    ...
    
    

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

    Olemasolev kood 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
    ...
    
    

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

    Olemasolev kood 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..),
    ...
    
    

    Asenduskood 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..),
    ...
    
    

    Olemasolev kood 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;
    ...
    
    

    Asenduskood 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. Muutke üksuse Jnl.-Check reakoodis (21) globaalmuutujate koodi järgmiselt.
    Olemasolev kood

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

    Asenduskood

    ...
            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. Muutke koodi funktsioonis RunCheck üksuse Jnl.-Check rea koodiplokis (21) järgmiselt.
    Olemasolev kood 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
    ...
    
    

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

    Olemasolev kood 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");
    ...
    
    

    Asenduskood 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. Muutke koodi funktsiooni CheckFindProdOrderLine üksuse Jnl.-Check rea koodiplokis (21) järgmiselt.
    Olemasolev kood

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

    Asenduskood

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

Eeltingimused

Selle kiirparanduse rakendamiseks peab teil olema installitud üks järgmistest toodetest:

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

              

Eemaldamisteave

Seda kiirparandust ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

MICROSOFT JA/VÕI TEMA TARNIJAD EI ANNA MITTE MINGIL EESMÄRGIL MITTE MINGISUGUSEID AVALDUSI EGA GARANTIISID SELLEL VEEBISAIDIL AVALDATUD DOKUMENTIDES JA NENDEGA SEOTUD GRAAFIKAS ("MATERJALID") SISALDUVA TEABE SOBIVUSE, USALDUSVÄÄRSUSE EGA TÄPSUSE KOHTA.

MATERJALID VÕIVAD SISALDADA TEHNILISI EBATÄPSUSI VÕI KIRJAVIGU NING NEID VÕIB IGAL AJAL ETTE TEATAMATA LÄBI VAADATA. KOHALDATAVATE SEADUSTEGA LUBATUD MAKSIMAALSES ULATUSES LOOBUVAD MICROSOFT JA/VÕI TEMA TARNIJAD KÕIKIDEST AVALDUSTEST, GARANTIIDEST JA TINGIMUSTEST, OLENEMATA SELLEST, KAS NEED ON SÕNASELGED, KAUDSED VÕI SEADUSJÄRGSED, SEALHULGAS, KUID MITTE AINULT, OMANDIÕIGUSEGA SEOTUD AVALDUSED, GARANTIID VÕI TINGIMUSED, MITTERIKKUMISED, RAHULDAVAD TINGIMUSED VÕI KVALITEET, KAUBASTATAVUS JA SOBIVUS MATERJALIDE OSAS.