"आइटम जर्नल पंक्ति [पंक्ति संख्या] का उपयोग एक आयाम किसी त्रुटि के कारण है" त्रुटि संदेश जब आप एक से अधिक आयाम रेखा एक वेयरहाउस पुनः वर्गीकरण जर्नल में Microsoft Dynamics नेविगेशन 2009 सर्विस पैक 1 में पोस्ट


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

लक्षण


आप एक वेयरहाउस पुनः वर्गीकरण जर्नल में Microsoft Dynamics नेविगेशन 2009 सर्विस पैक 1 (SP1) में निर्दिष्ट आयाम है जो एक से अधिक पंक्ति पोस्ट करते समय, आपको निम्न के जैसा एक त्रुटि संदेश प्राप्त होता है:
एक आयाम में आइटम जर्नल पंक्ति पंक्ति क्रमांक का उपयोग किसी त्रुटि के कारण है। आइटम आइटम का नामके लिए आयाम कोड क्षेत्र के लिए एक आयाम मान कोड का चयन करें।

कारण


यह समस्या होती है क्योंकि आप के अन्य वेयरहाउस पुनः वर्गीकरण जर्नल लाइन आयाम बनाते हैं एक वेयरहाउस पुनः वर्गीकरण जर्नल पंक्ति, पंक्ति संख्या CreateItemJnlLine फ़ंक्शन का उपयोग करता है। फ़ंक्शन के अंत तक लाइन संख्या अद्यतन नहीं है। क्योंकि आयाम करने के लिए पुराने संदर्भ पंक्ति संख्या, आयाम नहीं मिली बाद में।

समाधान


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

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

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


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

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

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

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

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


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

कोड परिवर्तन

नोट यदि आप को लागू करने से पहले हमेशा परीक्षण कोड एक नियंत्रित वातावरण में फिक्सेस अपने उत्पादन कंप्यूटर्स के लिए हल करता है।
इस समस्या को हल करने के लिए, Whse में CreateItemJnlLine फ़ंक्शन में कोड परिवर्तित करें। Jnl.-पालन करता के रूप में पंजीकृत करें बैच codeunit (7304):

मौजूदा कोड
WhseItemTrkgLine.SETCURRENTKEY(  "Source ID","Source Type","Source Subtype","Source Batch Name",
"Source Prod. Order Line","Source Ref. No.","Location Code");
WhseItemTrkgLine.SETRANGE("Source Type",DATABASE::"Warehouse Journal Line");
WhseItemTrkgLine.SETRANGE("Source ID",WhseJnlLine2."Journal Batch Name");
WhseItemTrkgLine.SETRANGE("Source Batch Name",WhseJnlLine2."Journal Template Name");
WhseItemTrkgLine.SETRANGE("Source Ref. No.",WhseJnlLine2."Line No.");
WhseItemTrkgLine.SETRANGE("Location Code",WhseJnlLine2."Location Code");
IF WhseItemTrkgLine.FINDSET THEN BEGIN
ItemJnlLine.INIT;
ItemJnlLine.VALIDATE("Entry Type",ItemJnlLine."Entry Type"::Transfer);
WITH WhseJnlLine2 DO BEGIN
REPEAT
IF ((WhseItemTrkgLine."New Serial No." <> WhseItemTrkgLine."Serial No.") OR
(WhseItemTrkgLine."New Lot No." <> WhseItemTrkgLine."Lot No.") OR
(WhseItemTrkgLine."New Expiration Date" <> WhseItemTrkgLine."Expiration Date")) THEN BEGIN
CreateReservEntry.CreateReservEntryFor(
DATABASE::"Item Journal Line",
ItemJnlLine."Entry Type",
'',
'',
0,
"Line No.",
WhseItemTrkgLine."Qty. per Unit of Measure",
ABS(WhseItemTrkgLine."Qty. to Handle (Base)"),
WhseItemTrkgLine."Serial No.",
WhseItemTrkgLine."Lot No.");
CreateReservEntry.SetNewSerialLotNo(WhseItemTrkgLine."New Serial No.",WhseItemTrkgLine."New Lot No.");
CreateReservEntry.SetDates(WhseItemTrkgLine."Warranty Date",WhseItemTrkgLine."Expiration Date");
CreateReservEntry.SetNewExpirationDate(WhseItemTrkgLine."New Expiration Date");
CreateReservEntry.CreateEntry(
"Item No.",
"Variant Code",
"Location Code",
Description,
0D,
0D,
0,
ReservEntry."Reservation Status"::Prospect);
QtyToHandleBase += ABS(WhseItemTrkgLine."Qty. to Handle (Base)");
END;
UNTIL WhseItemTrkgLine.NEXT = 0;
IF QtyToHandleBase <> 0 THEN BEGIN
ItemJnlLine."Document No." := "Whse. Document No.";
ItemJnlLine.VALIDATE("Posting Date", "Registering Date");
ItemJnlLine.VALIDATE("Item No.", "Item No.");
ItemJnlLine.VALIDATE("Variant Code","Variant Code");
ItemJnlLine.VALIDATE("Location Code","Location Code");
ItemJnlLine.VALIDATE("Unit of Measure Code", "Unit of Measure Code");
ItemJnlLine.VALIDATE("Quantity (Base)", QtyToHandleBase);
ItemJnlLine.Description := Description;
ItemJnlLine."Source Type" := ItemJnlLine."Source Type"::Item;
ItemJnlLine."Source No." := "Item No.";
ItemJnlLine."Source Code" := "Source Code";
ItemJnlLine."Reason Code" := "Reason Code";

//Delete the following line.
ItemJnlLine."Line No." := "Line No.";

END;
END;
END;
प्रतिस्थापन कोड
WhseItemTrkgLine.SETCURRENTKEY(  "Source ID","Source Type","Source Subtype","Source Batch Name",
"Source Prod. Order Line","Source Ref. No.","Location Code");
WhseItemTrkgLine.SETRANGE("Source Type",DATABASE::"Warehouse Journal Line");
WhseItemTrkgLine.SETRANGE("Source ID",WhseJnlLine2."Journal Batch Name");
WhseItemTrkgLine.SETRANGE("Source Batch Name",WhseJnlLine2."Journal Template Name");
WhseItemTrkgLine.SETRANGE("Source Ref. No.",WhseJnlLine2."Line No.");
WhseItemTrkgLine.SETRANGE("Location Code",WhseJnlLine2."Location Code");
IF WhseItemTrkgLine.FINDSET THEN BEGIN
ItemJnlLine.INIT;

//Add the following line.
ItemJnlLine."Line No." := WhseJnlLine2."Line No.";

ItemJnlLine.VALIDATE("Entry Type",ItemJnlLine."Entry Type"::Transfer);
WITH WhseJnlLine2 DO BEGIN
REPEAT
IF ((WhseItemTrkgLine."New Serial No." <> WhseItemTrkgLine."Serial No.") OR
(WhseItemTrkgLine."New Lot No." <> WhseItemTrkgLine."Lot No.") OR
(WhseItemTrkgLine."New Expiration Date" <> WhseItemTrkgLine."Expiration Date")) THEN BEGIN
CreateReservEntry.CreateReservEntryFor(
DATABASE::"Item Journal Line",
ItemJnlLine."Entry Type",
'',
'',
0,
"Line No.",
WhseItemTrkgLine."Qty. per Unit of Measure",
ABS(WhseItemTrkgLine."Qty. to Handle (Base)"),
WhseItemTrkgLine."Serial No.",
WhseItemTrkgLine."Lot No.");
CreateReservEntry.SetNewSerialLotNo(WhseItemTrkgLine."New Serial No.",WhseItemTrkgLine."New Lot No.");
CreateReservEntry.SetDates(WhseItemTrkgLine."Warranty Date",WhseItemTrkgLine."Expiration Date");
CreateReservEntry.SetNewExpirationDate(WhseItemTrkgLine."New Expiration Date");
CreateReservEntry.CreateEntry(
"Item No.",
"Variant Code",
"Location Code",
Description,
0D,
0D,
0,
ReservEntry."Reservation Status"::Prospect);
QtyToHandleBase += ABS(WhseItemTrkgLine."Qty. to Handle (Base)");
END;
UNTIL WhseItemTrkgLine.NEXT = 0;
IF QtyToHandleBase <> 0 THEN BEGIN
ItemJnlLine."Document No." := "Whse. Document No.";
ItemJnlLine.VALIDATE("Posting Date", "Registering Date");
ItemJnlLine.VALIDATE("Item No.", "Item No.");
ItemJnlLine.VALIDATE("Variant Code","Variant Code");
ItemJnlLine.VALIDATE("Location Code","Location Code");
ItemJnlLine.VALIDATE("Unit of Measure Code", "Unit of Measure Code");
ItemJnlLine.VALIDATE("Quantity (Base)", QtyToHandleBase);
ItemJnlLine.Description := Description;
ItemJnlLine."Source Type" := ItemJnlLine."Source Type"::Item;
ItemJnlLine."Source No." := "Item No.";
ItemJnlLine."Source Code" := "Source Code";
ItemJnlLine."Reason Code" := "Reason Code";
END;
END;
END;


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

यदि आप Microsoft Dynamics नेविगेशन 2009 सर्विस पैक इस हॉटफिक्स को लागू करने के लिए 1 स्थापित होना आवश्यक है।

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

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

स्थिति


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