Applies ToDynamics NAV 2009

Tento článek se týká aplikace Microsoft Dynamics NAV pro všechna národní prostředí jazyka.

Příznaky

V produktu Microsoft Dynamics NAV při použití deníku požadavků vytvořit nákupní objednávku nebo pokud ručně vytvořit nákupní objednávku přímé dodávky a speciální objednávky v úvahu definované informace o související prodejní objednávky. Proto, popis, popis 2 a dodací adresu z hlavičky prodejní objednávky a řádky se neřídí až doložené zakoupili pořadí.K tomuto problému dochází v následujících produktů:

  • Aplikace Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

  • Aplikace Microsoft Dynamics NAV 2009 R2

Řešení

Informace o opravě hotfix

Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Však je určena pouze k odstranění problému popsaného v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat na další aktualizaci service pack produktu Microsoft Dynamics NAV 2009 nebo další verze produktu Microsoft Dynamics NAV, která obsahuje tuto opravu hotfix.Poznámka: Ve zvláštních případech poplatky, které jsou třeba obvykle zaplatit za telefonní hovory mohou být stornovány, jestliže pracovník technické podpory společnosti Microsoft Dynamics a souvisejících produktů Určuje, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.

Informace o instalaci

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci bez žádné záruky výslovně uvedené nebo odvozené. To zahrnuje, ale není omezen pouze na předpokládané záruky obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je předmětem ukázky a s nástroji, které slouží k vytvoření a ladění skriptu. Pracovníci podpory společnosti Microsoft mohou pomoci vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo vytvářet postupy podle vašich konkrétních požadavků.Poznámka: Před instalací této opravy hotfix ověřte, že všichni uživatelé klienta Microsoft Navision odhlášeni systému. To zahrnuje uživatele klienta Microsoft Navision Application Services (NAS). Je třeba klienta pouze uživatel přihlášený při implementaci opravy hotfix.Chcete-li implementovat tuto opravu hotfix, musí mít licenci vývojáře.Doporučujeme, aby uživatelský účet v okně přihlášení systému Windows nebo v okně přihlášení databáze přidělí "SUPER" ID role. Pokud uživatelský účet nelze přiřadit ID role "SUPER", musíte ověřit, že uživatelský účet má následující oprávnění:

  • Změnit oprávnění pro objekt, který budete měnit.

  • Oprávnění ke spuštění pro System Object ID 5210 objekt a System Object ID 9015 objekt.

Poznámka: Nemáte práva k úložištím dat. Pokud nebudete provádět opravu dat.

Změny kódu

Poznámka: Vždy otestujte opravy kódu v kontrolovaném prostředí před instalací opravy v provozních počítačích.Chcete-li vyřešit tento problém, postupujte takto:Poznámka: Přečtěte si kdy používat procedury (333), protože se liší pro Severoamerická verze W1. Obě jsou zde s klíčovými slovy pro zahájení a ukončení jednotlivých verzí.

  1. Změňte kód v tabulce Nákupní hlavička (38) takto:

    1. Přidejte následující globální textovou konstantu:Text051@1091: TextConst "ENU = %1 %2 nákupní objednávky musí být stejný jako prodejní objednávky %3.";

    2. Přidejte následující globální proměnné:

      • Název: NameAddressDetails; Datový typ: Text [512];

      • Název: NameAddressDetails2; Datový typ: Text [512];

    3. Přidáte následující funkce:CheckAndAddShipToAdd@46 (SalesHeader@1000: záznam 36; ShowError@1001: Boolean): Boolean;VAR PurchLine2@1002: Záznam 39;Přidejte následující kód pro funkci:

      IF ShowError THEN BEGIN  PurchLine2.RESET;  PurchLine2.SETRANGE("Document Type","Document Type"::Order);  PurchLine2.SETRANGE("Document No.","No.");  IF NOT PurchLine2.ISEMPTY THEN BEGIN    IF "Ship-to Name" <>SalesHeader."Ship-to Name" THEN      ERROR(Text051,FIELDCAPTION("Ship-to Name"),"No.",SalesHeader."No.");    IF "Ship-to Name 2" <>SalesHeader."Ship-to Name 2" THEN      ERROR(Text051,FIELDCAPTION("Ship-to Name 2"),"No.",SalesHeader."No.");    IF ("Ship-to Address" <>SalesHeader."Ship-to Address") THEN      ERROR(Text051,FIELDCAPTION("Ship-to Address"),"No.",SalesHeader."No.");    IF ("Ship-to Address 2" <> SalesHeader."Ship-to Address 2") THEN      ERROR(Text051,FIELDCAPTION("Ship-to Address 2"),"No.",SalesHeader."No.");    IF ("Ship-to Post Code" <>SalesHeader."Ship-to Post Code") THEN      ERROR(Text051,FIELDCAPTION("Ship-to Post Code"),"No.",SalesHeader."No.");    IF ("Ship-to City" <>SalesHeader."Ship-to City") THEN      ERROR(Text051,FIELDCAPTION("Ship-to City"),"No.",SalesHeader."No.");    IF ("Ship-to Contact" <>SalesHeader."Ship-to Contact") THEN      ERROR(Text051,FIELDCAPTION("Ship-to Contact"),"No.",SalesHeader."No.");  END ELSE BEGIN    // no purchase line exists    "Ship-to Name" := SalesHeader."Ship-to Name";    "Ship-to Name 2" := SalesHeader."Ship-to Name 2";    "Ship-to Address" := SalesHeader."Ship-to Address";    "Ship-to Address 2" := SalesHeader."Ship-to Address 2";    "Ship-to Post Code" := SalesHeader."Ship-to Post Code";    "Ship-to City" := SalesHeader."Ship-to City";    "Ship-to Contact" := SalesHeader."Ship-to Contact";  END;END ELSE BEGIN  NameAddressDetails :=    SalesHeader."Ship-to Name" + SalesHeader."Ship-to Name 2" +    SalesHeader."Ship-to Address" + SalesHeader."Ship-to Address 2" +    SalesHeader."Ship-to Post Code" + SalesHeader."Ship-to City" +    SalesHeader."Ship-to Contact";  IF NameAddressDetails2 = '' THEN    NameAddressDetails2 := NameAddressDetails;  EXIT(NameAddressDetails2 = NameAddressDetails);END;
    4. Přidáte následující funkce:DropShptSplOrderExists@48 (SalesHeader@1000: záznam 36): Boolean;VAR SalesLine2@1001: Záznam 37;Přidejte následující kód pro funkci:

      // returns TRUE if sales is either Drop Shipment of Special OrderSalesLine2.RESET;SalesLine2.SETRANGE("Document Type",SalesLine2."Document Type"::Order);SalesLine2.SETRANGE("Document No.",SalesHeader."No.");SalesLine2.SETRANGE("Drop Shipment",TRUE);IF NOT SalesLine2.ISEMPTY THEN  EXIT(TRUE);SalesLine2.SETRANGE("Drop Shipment");SalesLine2.SETRANGE("Special Order",TRUE);EXIT(NOT SalesLine2.ISEMPTY);
  2. Změňte kód ve funkci InsertReqWkshLine v sestavě Získat prodejní objednávky (698) takto:Existující kód

    ...    Quantity,    ROUND(SalesLine."Outstanding Quantity" * SalesLine."Qty. per Unit of Measure" / "Qty. per Unit of Measure",0.00001));  "Sales Order No." := SalesLine."Document No.";  "Sales Order Line No." := SalesLine."Line No.";  "Sell-to Customer No." := SalesLine."Sell-to Customer No.";  SalesHeader.GET(1,SalesLine."Document No.");  IF SpecOrder <>1 THEN    "Ship-to Code" := SalesHeader."Ship-to Code";  "Item Category Code" := SalesLine."Item Category Code";  Nonstock := SalesLine.Nonstock;  ...

    Změněný kód

    ...        Quantity,    ROUND(SalesLine."Outstanding Quantity" * SalesLine."Qty. per Unit of Measure" / "Qty. per Unit of Measure",0.00001));  "Sales Order No." := SalesLine."Document No.";  "Sales Order Line No." := SalesLine."Line No.";  "Sell-to Customer No." := SalesLine."Sell-to Customer No.";// Add the following lines.  Description := SalesLine.Description;  "Description 2" := SalesLine."Description 2";// End of the added lines.  SalesHeader.GET(1,SalesLine."Document No.");  IF SpecOrder <>1 THEN    "Ship-to Code" := SalesHeader."Ship-to Code";  "Item Category Code" := SalesLine."Item Category Code";  Nonstock := SalesLine.Nonstock;  ...
  3. Změňte kód ve funkci kódu v nák.-získat přímé dodávky kódová jednotka (76):Existující kód

    ...      IF RECORDLEVELLOCKING THEN    LOCKTABLE;  SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order);  TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No.");  TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code");  PurchLine.LOCKTABLE;  IF NOT RECORDLEVELLOCKING THEN    LOCKTABLE(TRUE,TRUE); // Only version check  SalesLine.LOCKTABLE;...      PurchLine."Document Type" := PurchLine."Document Type"::Order;      PurchLine."Document No." := "No.";      PurchLine."Line No." := NextLineNo;      CopyDocMgt.TransfldsFromSalesToPurchLine(SalesLine,PurchLine);      PurchLine.Description := SalesLine.Description;      PurchLine."Sales Order No." := SalesLine."Document No.";      PurchLine."Sales Order Line No." := SalesLine."Line No.";      PurchLine."Drop Shipment" := TRUE;      EVALUATE(PurchLine."Inbound Whse. Handling Time",'<0D>');      PurchLine.VALIDATE("Inbound Whse. Handling Time");    ...

    Změněný kód

    ...   IF RECORDLEVELLOCKING THEN    LOCKTABLE;  SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order);  TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No.");  TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code");// Add the following lines.  IF DropShptSplOrderExists(SalesHeader) THEN    CheckAndAddShipToAdd(SalesHeader,TRUE);// End of the added lines.  PurchLine.LOCKTABLE;  IF NOT RECORDLEVELLOCKING THEN    LOCKTABLE(TRUE,TRUE); // Only version check  SalesLine.LOCKTABLE;...      PurchLine."Document Type" := PurchLine."Document Type"::Order;      PurchLine."Document No." := "No.";      PurchLine."Line No." := NextLineNo;      CopyDocMgt.TransfldsFromSalesToPurchLine(SalesLine,PurchLine);      PurchLine.Description := SalesLine.Description;// Add the following line.      PurchLine."Description 2" := SalesLine."Description 2";// End of the added line.      PurchLine."Sales Order No." := SalesLine."Document No.";      PurchLine."Sales Order Line No." := SalesLine."Line No.";      PurchLine."Drop Shipment" := TRUE;      EVALUATE(PurchLine."Inbound Whse. Handling Time",'<0D>');      PurchLine.VALIDATE("Inbound Whse. Handling Time");          ...
  4. Změňte kód ve funkci GetDescriptionAndRcptName v ReqJnlManagement procedury (330) takto:Existující kód

    ...       ReqLine.Type::"G/L Account":        IF GLAcc.GET(ReqLine."No.") THEN          Description := GLAcc.Name        ELSE          Description := '';// Delete the following lines.      ReqLine.Type::Item:        IF Item.GET(ReqLine."No.") THEN          Description := Item.Description        ELSE          Description := '';// End of the deleted lines.    END;  END;IF ReqLine."Vendor No." = '' THEN  BuyFromVendorName := ''        ...

    Změněný kód

    ...         ReqLine.Type::"G/L Account":        IF GLAcc.GET(ReqLine."No.") THEN          Description := GLAcc.Name        ELSE          Description := '';    END;  END;IF ReqLine."Vendor No." = '' THEN  BuyFromVendorName := ''    ...
  5. Poznámka: Procedura (333) má jiný kód v celosvětové vs severoamerickou verzi. Použijte správný oddíl pro instalaci.Změnit kód v procedura začíná Severoamerická verze (333), sešitu požadavků.-vytvořit objednávky takto:

    1. Přidejte následující globální proměnnou:

      • Název: DropShptSpecialOrderExists;

      • Datový typ: Boolean;

    2. Přidejte následující místní proměnné ve funkci InsertPurchOrderLine:

      • Název: SalesHeader; Datový typ: Záznam (36);

      • Název: DropShptSplOrderDiffAddress; Datový typ: Boolean;

      • Název: CreateNewRecord; Datový typ: Boolean;

    3. Změňte kód ve funkci InsertPurchOrderLinetakto:Existující kód

      ...// Delete the following lines.WITH ReqLine2 DO BEGIN  IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN    EXIT;  IF NOT PurchasingCode.GET("Purchasing Code") THEN    PurchasingCode."Special Order" := FALSE;  IF (PurchasingCode."Special Order" AND      (PurchSetup."Combine Special Orders Default" =       PurchSetup."Combine Special Orders Default"::"Always Combine") AND      ((PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR       (PurchOrderHeader."Location Code" <> "Location Code") OR       (PurchOrderHeader."Currency Code" <>"Currency Code") OR       (PrevPurchCode <>"Purchasing Code"))) OR     (NOT PurchasingCode."Special Order" AND       ((PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR       (PurchOrderHeader."Location Code" <>"Location Code") OR       (PurchOrderHeader."Sell-to Customer No." <>"Sell-to Customer No.") OR       (PrevShipToCode <>"Ship-to Code") OR       (PurchOrderHeader."Order Address Code" <> "Order Address Code") OR       (PurchOrderHeader."Currency Code" <> "Currency Code") OR       (PrevPurchCode <>"Purchasing Code")))  THEN BEGIN    InsertHeader(ReqLine2);    LineCount := 0;    NextLineNo := 0;    PrevPurchCode := "Purchasing Code";    PrevShipToCode := "Ship-to Code";  END;  IF (PurchasingCode."Special Order") AND      (PurchSetup."Combine Special Orders Default" =      PurchSetup."Combine Special Orders Default"::"Never Combine") AND      ((PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR       (PurchOrderHeader."Location Code" <> "Location Code") OR       (PurchOrderHeader."Currency Code" <>"Currency Code") OR       (PrevPurchCode <> "Purchasing Code")) THEN BEGIN    InsertHeader(ReqLine2);  END;// End of the deleted lines.  LineCount := LineCount + 1;  IF NOT PlanningResiliency THEN    Window.UPDATE(4,LineCount);       ...

      Změněný kód

      ...// Add the following lines.WITH ReqLine2 DO BEGIN  IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN    EXIT;  DropShptSpecialOrderExists := FALSE;  IF SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.") THEN BEGIN    DropShptSpecialOrderExists := PurchOrderHeader.DropShptSplOrderExists(SalesHeader);    IF DropShptSpecialOrderExists THEN      DropShptSplOrderDiffAddress :=        NOT PurchOrderHeader.CheckAndAddShipToAdd(SalesHeader,FALSE);  END;  IF NOT PurchasingCode.GET("Purchasing Code") THEN    PurchasingCode."Special Order" := FALSE;  CreateNewRecord :=    (PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR    (PurchOrderHeader."Location Code" <> "Location Code") OR    (PurchOrderHeader."Currency Code" <> "Currency Code") OR    (PrevPurchCode <>"Purchasing Code") OR    DropShptSplOrderDiffAddress;  IF PurchasingCode."Special Order" AND CreateNewRecord THEN BEGIN    InsertHeader(ReqLine2);    IF PurchSetup."Combine Special Orders Default" =       PurchSetup."Combine Special Orders Default"::"Always Combine"    THEN BEGIN      LineCount := 0;      NextLineNo := 0;      PrevPurchCode := "Purchasing Code";      PrevShipToCode := "Ship-to Code";    END;  END;  IF NOT PurchasingCode."Special Order" AND     (CreateNewRecord OR     (PurchOrderHeader."Sell-to Customer No." <>"Sell-to Customer No.") OR     (PrevShipToCode <>"Ship-to Code") OR     (PurchOrderHeader."Order Address Code" <>"Order Address Code"))  THEN BEGIN    InsertHeader(ReqLine2);    LineCount := 0;    NextLineNo := 0;    PrevPurchCode := "Purchasing Code";    PrevShipToCode := "Ship-to Code";  END;// End of the added lines.  LineCount := LineCount + 1;  IF NOT PlanningResiliency THEN    Window.UPDATE(4,LineCount);       ...
    4. Změňte kód ve funkci InsertHeader takto:Přidejte následující místní proměnné:

      • Název: SalesHeader;

      • Datový typ: Záznam (36);

      Existující kód

      ...   WITH ReqLine2 DO BEGIN  OrderCounter := OrderCounter + 1;  IF NOT PlanningResiliency THEN    Window.UPDATE(3,OrderCounter);  PurchSetup.GET;  PurchSetup.TESTFIELD("Order Nos.");// Delete the following line.  CLEAR(PurchOrderHeader);// End of the deleted line.  PurchOrderHeader.INIT;  PurchOrderHeader."Document Type" := PurchOrderHeader."Document Type"::Order;  PurchOrderHeader."No." := '';...      PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");  END ELSE BEGIN    PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");    PurchOrderHeader.SetShipToForSpecOrder;  END;  PurchOrderHeader.MODIFY;  COMMIT;  IF RECORDLEVELLOCKING THEN    LOCKTABLE;  PurchOrderHeader.MARK(TRUE);END;      ...

      Změněný kód

      ...WITH ReqLine2 DO BEGIN  OrderCounter := OrderCounter + 1;  IF NOT PlanningResiliency THEN    Window.UPDATE(3,OrderCounter);  PurchSetup.GET;  PurchSetup.TESTFIELD("Order Nos.");  PurchOrderHeader.INIT;  PurchOrderHeader."Document Type" := PurchOrderHeader."Document Type"::Order;  PurchOrderHeader."No." := '';...      PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");  END ELSE BEGIN    PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");    PurchOrderHeader.SetShipToForSpecOrder;  END;// Add the following lines.  IF DropShptSpecialOrderExists THEN BEGIN    SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.");    PurchOrderHeader."Ship-to Name" := SalesHeader."Ship-to Name";    PurchOrderHeader."Ship-to Name 2" := SalesHeader."Ship-to Name 2";    PurchOrderHeader."Ship-to Address" := SalesHeader."Ship-to Address";    PurchOrderHeader."Ship-to Address 2" := SalesHeader."Ship-to Address 2";    PurchOrderHeader."Ship-to Post Code" := SalesHeader."Ship-to Post Code";    PurchOrderHeader."Ship-to City" := SalesHeader."Ship-to City";    PurchOrderHeader."Ship-to Contact" := SalesHeader."Ship-to Contact";  END;// End of the added lines.  PurchOrderHeader.MODIFY;  COMMIT;  IF RECORDLEVELLOCKING THEN    LOCKTABLE;  PurchOrderHeader.MARK(TRUE);END;       ...

    Pro proceduru začněte verze W1 (333), změňte kód v sešitu pož.-vytvořit objednávku takto:

    1. Přidejte následující globální proměnnou:

      • Název: DropShptSpecialOrderExists;

      • Datový typ: Boolean;

    2. Přidejte následující místní proměnné ve funkci InsertPurchOrderLine:

      • Název: SalesHeader; Datový typ: Záznam (36);

      • Název: DropShptSplOrderDiffAddress; Datový typ: Boolean;

    3. Změňte kód ve funkci InsertPurchOrderLinetakto:Existující kód

      ...   WITH ReqLine2 DO BEGIN  IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN    EXIT;  IF (PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR     (PurchOrderHeader."Sell-to Customer No."<> "Sell-to Customer No.") OR     (PrevShipToCode <> "Ship-to Code") OR     (PurchOrderHeader."Order Address Code" <>"Order Address Code") OR     (PurchOrderHeader."Currency Code" <>"Currency Code") OR// Delete the following line.     (PrevPurchCode <>"Purchasing Code")// End of the deleted line.  THEN BEGIN    InsertHeader(ReqLine2);    LineCount := 0;    NextLineNo := 0;    PrevPurchCode := "Purchasing Code";    PrevShipToCode := "Ship-to Code";  END; ...

      Změněný kód

      ...  WITH ReqLine2 DO BEGIN  IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN    EXIT;// Add the following lines.  DropShptSpecialOrderExists := FALSE;  IF SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.") THEN BEGIN    DropShptSpecialOrderExists := PurchOrderHeader.DropShptSplOrderExists(SalesHeader);    IF DropShptSpecialOrderExists THEN      DropShptSplOrderDiffAddress :=        NOT PurchOrderHeader.CheckAndAddShipToAdd(SalesHeader,FALSE);  END;// End of the added lines.   IF (PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR     (PurchOrderHeader."Sell-to Customer No."<> "Sell-to Customer No.") OR     (PrevShipToCode <> "Ship-to Code") OR     (PurchOrderHeader."Order Address Code" <>"Order Address Code") OR     (PurchOrderHeader."Currency Code" <>"Currency Code") OR// Add the following lines.     (PrevPurchCode <> "Purchasing Code") OR     (DropShptSplOrderDiffAddress)// End of the added lines.  THEN BEGIN    InsertHeader(ReqLine2);    LineCount := 0;    NextLineNo := 0;    PrevPurchCode := "Purchasing Code";    PrevShipToCode := "Ship-to Code";  END; ...
    4. Změňte kód ve funkci InsertHeader takto:Přidejte následující místní proměnné:

      • Název: SalesHeader;

      • Datový typ: Záznam (36);

      Existující kód

      ...    END ELSE BEGIN    PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");    PurchOrderHeader.SetShipToForSpecOrder;  END;  PurchOrderHeader.MODIFY;  COMMIT;  IF RECORDLEVELLOCKING THEN    LOCKTABLE;  PurchOrderHeader.MARK(TRUE);END;      ...

      Změněný kód

      ... END ELSE BEGIN    PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");    PurchOrderHeader.SetShipToForSpecOrder;  END;// Add the following lines.  IF DropShptSpecialOrderExists THEN BEGIN    IF SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.") THEN BEGIN    PurchOrderHeader."Ship-to Name" := SalesHeader."Ship-to Name";    PurchOrderHeader."Ship-to Name 2" := SalesHeader."Ship-to Name 2";    PurchOrderHeader."Ship-to Address" := SalesHeader."Ship-to Address";    PurchOrderHeader."Ship-to Address 2" := SalesHeader."Ship-to Address 2";    PurchOrderHeader."Ship-to Post Code" := SalesHeader."Ship-to Post Code";    PurchOrderHeader."Ship-to City" := SalesHeader."Ship-to City";    PurchOrderHeader."Ship-to Contact" := SalesHeader."Ship-to Contact";  END;// End of the added lines.  PurchOrderHeader.MODIFY;  COMMIT;  IF RECORDLEVELLOCKING THEN    LOCKTABLE;  PurchOrderHeader.MARK(TRUE);END;...
  6. Změňte kód ve funkci EnterPurchaseItemCrossRef v procedura Dist. integrace (5702) takto:Existující kód

    ...   IF Found THEN BEGIN      "Cross-Reference No." := ItemCrossReference."Cross-Reference No.";      "Unit of Measure (Cross Ref.)" := ItemCrossReference."Unit of Measure";      "Cross-Reference Type" := ItemCrossReference."Cross-Reference Type";// Delete the following lines.      IF ItemCrossReference.Description <>'' THEN BEGIN        Description := ItemCrossReference.Description;        "Description 2" := '';      END;    END ELSE BEGIN      "Cross-Reference No." := '';      "Cross-Reference Type" := "Cross-Reference Type"::" ";      "Cross-Reference Type No." := '';      IF "Variant Code" <>'' THEN BEGIN        ItemVariant.GET("No.","Variant Code");        Description := ItemVariant.Description;        "Description 2" := ItemVariant."Description 2";      END ELSE BEGIN        Item.GET("No.");        Description := Item.Description;        "Description 2" := Item."Description 2";      END;// End of the deleted lines.      GetItemTranslation;    END;  END;         ...

    Změněný kód

    ...       IF Found THEN BEGIN      "Cross-Reference No." := ItemCrossReference."Cross-Reference No.";      "Unit of Measure (Cross Ref.)" := ItemCrossReference."Unit of Measure";      "Cross-Reference Type" := ItemCrossReference."Cross-Reference Type";// Add the following lines.      "Cross-Reference Type No." := ItemCrossReference."Cross-Reference Type No.";    END ELSE BEGIN      "Cross-Reference No." := '';      "Cross-Reference Type" := "Cross-Reference Type"::" ";      "Cross-Reference Type No." := '';// End of the added lines.      GetItemTranslation;    END;  END;    ...
  7. Změňte kód ve funkci GetSpecialOrders v procedura Dist. integrace (5702) takto:Existující kód

    ...    IF RECORDLEVELLOCKING THEN    LOCKTABLE;  SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order);  TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No.");  TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code");// Delete the following line.  PurchHeader.SetShipToForSpecOrder;// End of the deleted line.  PurchLine.LOCKTABLE;  IF NOT RECORDLEVELLOCKING THEN    LOCKTABLE(TRUE,TRUE); // Only version check  SalesLine.LOCKTABLE;       ...

    Změněný kód

    ...    IF RECORDLEVELLOCKING THEN    LOCKTABLE;  SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order);  TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No.");  TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code");// Add the following lines.  IF DropShptSplOrderExists(SalesHeader) THEN    CheckAndAddShipToAdd(SalesHeader,TRUE);// End of the added lines.  PurchLine.LOCKTABLE;  IF NOT RECORDLEVELLOCKING THEN    LOCKTABLE(TRUE,TRUE); // Only version check  SalesLine.LOCKTABLE;    ...
  8. Změňte kód ve funkci TransfldsFromSalesToPurchLine v procedura Správce kopie dokumentu (6620) takto:Existující kód

    ...  "Expected Receipt Date" := FromSalesLine."Shipment Date";  "Bin Code" := FromSalesLine."Bin Code";  VALIDATE(Quantity,FromSalesLine."Outstanding Quantity");  VALIDATE("Return Reason Code",FromSalesLine."Return Reason Code");  VALIDATE("Direct Unit Cost");END;     ...

    Změněný kód

    ...  "Expected Receipt Date" := FromSalesLine."Shipment Date";  "Bin Code" := FromSalesLine."Bin Code";  VALIDATE(Quantity,FromSalesLine."Outstanding Quantity");  VALIDATE("Return Reason Code",FromSalesLine."Return Reason Code");  VALIDATE("Direct Unit Cost");// Add the following lines.  Description := FromSalesLine.Description;  "Description 2" := FromSalesLine."Description 2";// End of the added lines.END;       ...

Předpoklady

Musí mít jednu z následujících produktů nainstalovali tuto opravu hotfix:

  • Aplikace Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

  • Aplikace Microsoft Dynamics NAV 2009 R2

Informace o odinstalaci

Tato oprava hotfix nelze odebrat.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Odkazy

VSTF DynamicsNAV SE: 238210

Poznámka: Toto je článek "Rychlé publikování" vytvářen přímo v rámci odborné pomoci společnosti Microsoft. Informace obsažené v tomto dokumentu jsou poskytovány tak, jak je v reakci na vznikající problémy. V důsledku rychlosti v jeho zpřístupnění materiály, mohou obsahovat typografické chyby a mohou být upraveny kdykoli bez předchozího upozornění. Viz Podmínky použití pro další aspekty.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.