या जब आप मैन्युअल रूप से एक खरीद आदेश Microsoft Dynamics नेविगेशन में बना एक क्रय आदेश बनाने के लिए माँग कार्यपत्रक का उपयोग करते हुए ड्रॉप शिपमेंट और विशेष क्रम विक्रय ऑर्डर पर निर्दिष्ट जानकारी पर विचार नहीं

लागू: Dynamics NAV 2009

यह आलेख Microsoft Dynamics नेविगेशन करने के लिए सभी भाषा स् थानों के लिए लागू होता है।

लक्षण


एक खरीद आदेश या जब आप मैन्युअल रूप से क्रय आदेश बनाने बनाने के लिए माँग कार्यपत्रक का उपयोग करते हुए Microsoft Dynamics नेविगेशन में, ड्रॉप शिपमेंट और विशेष ऑर्डर संबंधित विक्रय ऑर्डर पर निर्दिष्ट जानकारी करने पर विचार नहीं। इसलिए, विवरण, विवरण 2 और शिपिंग पते से विक्रय ऑर्डर शीर्ष लेख और पंक्ति नहीं का पालन करें pegged के माध्यम से खरीदी ऑर्डर।
यह समस्या निम्न उत्पादों में होती है:
  • Microsoft Dynamics नेविगेशन 2009 सर्विस पैक 1 (SP1)
  • Microsoft Dynamics नेविगेशन 2009 R2

समाधान


हॉटफिक्स जानकारी

अब एक समर्थित हॉटफिक्स Microsoft से उपलब्ध है। हालाँकि, यह केवल इस आलेख में वर्णित समस्या को ठीक करने के लिए अभिप्रेत है। यह जो इस विशिष्ट समस्या का अनुभव कर रहे हैं केवल उन्ही सिस्टमों पर लागू करें। यह हॉटफ़िक्स अतिरिक्त परीक्षण प्राप्त हो सकता है। इसलिए, अगर आप इस समस्या से बुरी तरह प्रभावित नहीं हैं, तो हम सुझाव देंगे कि आप अगले Microsoft Dynamics नेविगेशन 2009 सर्विस पैक या इस हॉटफ़िक्स वाले अगले Microsoft Dynamics नेविगेशन संस्करण के लिए प्रतीक्षा करें।

नोट विशेष मामलों में, निर्धारित करता है कोई विशिष्ट अद्यतन आपकी समस्या का निराकरण शुल्क जो सामान्यतया समर्थन कॉल किसी तकनीकी समर्थन विशेषज्ञ तो Microsoft Dynamics और संबंधित उत्पादों के लिए रद्द किया जा सकता है के लिए जाते हैं। अतिरिक्त समर्थन प्रश्नों और उन समस्याओं जो विशिष्ट में समस्याग्रस्त अद्यतन के योग्य नहीं सामान्य समर्थन शुल्क लागू होंगे।



स्थापना जानकारी

Microsoft प्रोग्रामिंग उदाहरण केवल चित्रण के लिए वारंटी के बिना, या तो व्यक्त या नहीं देता है। यह शामिल है, लेकिन करने के लिए, बिक्री या किसी विशेष उद्देश्य के लिए उपयुक्तता की अव्यक्त वॉरंटी तक सीमित नहीं है। यह आलेख मानता है कि आप वर्णन किया जा रहा है प्रोग्रामिंग भाषा के साथ और बनाने के लिए और प्रक्रियाएँ डीबग करने के लिए उपयोग किए जाने वाले उपकरणों के साथ परिचित हैं। Microsoft समर्थन इंजीनियर एक विशेष कार्यविधि की कार्यप्रणाली को समझाने में सहायता कर सकते हैं, लेकिन वे इन उदाहरणों कार्यक्षमता जोड़ देने या आपकी विशिष्ट आवश्यकताओं को पूरा करने के लिए कार्यविधियाँ कार्यप्रणालियों के लिए संशोधित नहीं करेंगे।

नोट इस हॉटफिक्स को स्थापित करने से पहले, सत्यापित करें कि सिस्टम बंद सभी Microsoft Navision क्लाइंट उपयोगकर्ता लॉग ऑन हैं। यह Microsoft Navision अनुप्रयोग सेवाओं (NAS) क्लाइंट उपयोगकर्ता शामिल हैं। आप इस हॉटफिक्स को लागू करते समय लॉग किया गया है केवल क्लाइंट उपयोगकर्ता होना चाहिए।

इस हॉटफिक्स को लागू करने के लिए, यदि आप कोई डेवलपर लाइसेंस होना आवश्यक है।

हम अनुशंसा करते हैं कि उस उपयोगकर्ता खाते को Windows लॉगिन विंडो में या डेटाबेस लॉगिन विंडो में "सुपर" भूमिका id असाइन किया उपयोगकर्ता खाता "सुपर" भूमिका ID असाइन नहीं किया जा सकता है, तो आप उपयोगकर्ता खाते को निम्न अनुमतियाँ हैं सत्यापित होना चाहिए:
  • संशोधित अनुमति ऑब्जेक्ट आप परिवर्तित हो जाएगा के लिए।
  • निष्पादन अनुमति सिस्टम ऑब्जेक्ट ID 5210 ऑब्जेक्ट और सिस्टम ऑब्जेक्ट ID 9015 ऑब्जेक्ट के लिए है।


नोट क्या आपके पास डेटा सुधार करने के लिए है जब तक कि डेटा संग्रह करने के लिए अधिकार के पास नहीं है।

कोड परिवर्तन

नोट यदि आप को लागू करने से पहले हमेशा परीक्षण कोड एक नियंत्रित वातावरण में फिक्सेस अपने उत्पादन कंप्यूटर्स के लिए हल करता है।
इस समस्या को हल करने के लिए, निम्न चरणों का पालन करें:
नोट उत्तरी अमेरिकन संस्करण W1 के लिए अलग है, क्योंकि कृपया जब आप codeunit (333), प्रवेश पढ़ें। दोनों यहाँ प्रारंभ और समाप्ति के प्रत्येक संस्करण के लिए टैग के साथ हैं।
  1. खरीदें शीर्ष लेख तालिका (38) में कोड निम्नानुसार परिवर्तन:
    1. निम्नलिखित वैश्विक पाठ स्थिर जोड़ें:
      Text051@1091: TextConst ' ENU = %1 ड क्रय आदेश %2 पर समान के रूप में %3 पर विक्रय क्रम में होना चाहिए.';
    2. निम्नलिखित वैश्विक चर जोड़ें:
      • नाम: NameAddressDetails; डेटा प्रकार: पाठ [512];
      • नाम: NameAddressDetails2; डेटा प्रकार: पाठ [512];
    3. निम्न कार्य जोड़ें:
      CheckAndAddShipToAdd@46 (SalesHeader@1000: रिकॉर्ड 36; ShowError@1001: बूलियन): बूलियन;

      प्रसरण PurchLine2@1002: रिकॉर्ड 39;
      फ़ंक्शन के लिए निम्न कोड जोड़ें:
      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. निम्न कार्य जोड़ें:
      DropShptSplOrderExists@48 (SalesHeader@1000: रिकॉर्ड 36): बूलियन;

      प्रसरण SalesLine2@1001: रिकॉर्ड 37;

      फ़ंक्शन के लिए निम्न कोड जोड़ें:
      // 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. विक्रय ऑर्डर प्राप्त रिपोर्ट (698) में InsertReqWkshLine फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
    मौजूदा कोड
    ...    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;
    ...
    प्रतिस्थापन कोड
    ...        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. में कोड फ़ंक्शन में कोड परिवर्तित करें Purch.-ड्रॉप Shpt. प्राप्त करें codeunit (76) बाद के रूप में:
    मौजूदा कोड
    ...      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");
    ...
    प्रतिस्थापन कोड
    ...   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. ReqJnlManagement codeunit (330) में GetDescriptionAndRcptName फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
    मौजूदा कोड
    ...       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 := ''
    ...
    प्रतिस्थापन कोड
    ...         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. नोट विश्वव्यापी संस्करण vs उत्तर अमेरिकन संस्करण में भिन्न कोड Codeunit (333) है। अपनी स्थापना के लिए सही अनुभाग का उपयोग करें।

    उत्तरी अमेरिकन संस्करण शुरू codeunit के लिए (333), कोड में परिवर्तित करें Req. Wksh.-ऑर्डर बनाएँ निम्नानुसार:
    1. निम्नलिखित वैश्विक चर जोड़ें:
      • नाम: DropShptSpecialOrderExists;
      • डेटा प्रकार: बूलियन;
    2. InsertPurchOrderLineफ़ंक्शन में निम्न स्थानीय चर जोड़ें:
      • नाम: SalesHeader; डेटा प्रकार: रिकॉर्ड (36);
      • नाम: DropShptSplOrderDiffAddress; डेटा प्रकार: बूलियन;
      • नाम: CreateNewRecord; डेटा प्रकार: बूलियन;
    3. InsertPurchOrderLineफ़ंक्शन में कोड निम्नानुसार परिवर्तन:
      मौजूदा कोड
      ...// 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);
      ...
      प्रतिस्थापन कोड
      ...// 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. InsertHeader फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
      निम्न स्थानीय चर जोड़ें:
      • नाम: SalesHeader;
      • डेटा प्रकार: रिकॉर्ड (36);
      मौजूदा कोड
      ...   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;
      ...
      प्रतिस्थापन कोड
      ...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;
      ...
    W1 संस्करण शुरू codeunit के लिए (333), कोड में परिवर्तित करें Req. Wksh.-ऑर्डर बनाएँ निम्नानुसार:
    1. निम्नलिखित वैश्विक चर जोड़ें:
      • नाम: DropShptSpecialOrderExists;
      • डेटा प्रकार: बूलियन;
    2. InsertPurchOrderLineफ़ंक्शन में निम्न स्थानीय चर जोड़ें:
      • नाम: SalesHeader; डेटा प्रकार: रिकॉर्ड (36);
      • नाम: DropShptSplOrderDiffAddress; डेटा प्रकार: बूलियन;
    3. InsertPurchOrderLineफ़ंक्शन में कोड निम्नानुसार परिवर्तन:
      मौजूदा कोड
      ...   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;
      ...
      प्रतिस्थापन कोड
      ...  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. InsertHeader फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
      निम्न स्थानीय चर जोड़ें:
      • नाम: SalesHeader;
      • डेटा प्रकार: रिकॉर्ड (36);
      मौजूदा कोड
      ...    END ELSE BEGIN
      PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code");
      PurchOrderHeader.SetShipToForSpecOrder;
      END;

      PurchOrderHeader.MODIFY;
      COMMIT;
      IF RECORDLEVELLOCKING THEN
      LOCKTABLE;
      PurchOrderHeader.MARK(TRUE);
      END;
      ...
      प्रतिस्थापन कोड
      ... 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. Dist. एकीकरण codeunit (5702) में EnterPurchaseItemCrossRef फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
    मौजूदा कोड
    ...   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;
    ...
    प्रतिस्थापन कोड
    ...       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. Dist. एकीकरण codeunit (5702) में GetSpecialOrders फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
    मौजूदा कोड
    ...    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;
    ...
    प्रतिस्थापन कोड
    ...    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. प्रतिलिपि दस्तावेज़ Mgt. codeunit (6620) में TransfldsFromSalesToPurchLine फ़ंक्शन में कोड निम्नानुसार परिवर्तन:
    मौजूदा कोड
    ...  "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;
    ...
    प्रतिस्थापन कोड
    ...  "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;
    ...

पूर्व-आवश्यकताएँ

आप इस हॉटफिक्स को लागू करने के लिए स्थापित निम्न उत्पादों में से कोई एक होना चाहिए:
  • Microsoft Dynamics नेविगेशन 2009 सर्विस पैक 1 (SP1)
  • Microsoft Dynamics नेविगेशन 2009 R2


निष्कासन जानकारी

आपको यह हॉटफ़िक्स नहीं निकाल सकते।

स्थिति


Microsoft ने पुष्टि की है कि यह "इन पर लागू" खण्ड में सूचीबद्ध Microsoft उत्पादों में एक समस्या है.

संदर्भ


VSTF DynamicsNAV पयोग करता: 238210
नोट यह एक "प्रकाशित फ़ास्ट" आलेख Microsoft समर्थन संगठन के अंदर से सीधे बनाया गया है। यहाँ शामिल जानकारी के रूप में प्रदान की गई है-emerging समस्याओं के प्रत्युत्तर में है। इसे उपलब्ध करने में गति, के परिणाम सामग्री typographical त्रुटियाँ शामिल हो सकते हैं और नोटिस के बिना किसी भी समय संशोधित किया जा सकता है। अन्य विचार के लिए उपयोग की शर्तें देखें।