ค่าในฟิลด์จำนวนต้นทุน (Expected)(ACY) และยอดต้นทุน (Actual)(ACY) ไม่ถูกต้องหลังจากที่ลงรายการบัญชีการจัดส่ง'เลิกทำ'ใน Microsoft Dynamics NAV

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2563303
บทความนี้นำไปใช้กับ Microsoft Dynamics NAV สำหรับตำแหน่งที่ตั้งภาษาทั้งหมด
อาการ
สมมติว่า คุณตั้งค่าการรายงานสกุลเงินเพิ่มเติมในเซ็ตอัพบัญชีแยกประเภททั่วไปในการจัดการด้านการเงินใน Microsoft Dynamics nav หลังจากที่คุณลงรายการบัญชีการจัดส่งการยกเลิก สังเกตว่า ค่าในเขตข้อมูลของยอดต้นทุน (Expected)(ACY)และยอดต้นทุน (Actual)(ACY)ไม่ถูกต้องในรายการบัญชีแยกประเภทสินค้า/รายการค่าสินค้าคงคลัง
ปัญหานี้เกิดขึ้นในผลิตภัณฑ์ต่อไปนี้:
  • Microsoft Dynamics NAV 2009 Service Pack ที่ 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 Service Pack ที่ 1 (SP1)
การแก้ไข

ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนจะพร้อมใช้งานได้ในขณะนี้จาก Microsoft อย่างไรก็ตาม มีเป้าหมายเพียงเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้ นำวิธีนี้ไปใช้กับระบบที่ประสบกับปัญหาที่เฉพาะเจาะจงเท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณจะไม่รุนแรงได้รับผลกระทบจากปัญหานี้ เราขอแนะนำให้ คุณรอ service pack ถัดไปของ Microsoft Dynamics NAV 2009 หรือ Microsoft Dynamics NAV เวอร์ชันถัดไปที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้

หมายเหตุ ในกรณีพิเศษ ค่าธรรมเนียมค่าใช้จ่ายสำหรับการสนับสนุนโทรศัพท์อาจถูกยกเลิกถ้า Technical Support Professional สำหรับ Microsoft Dynamics และผลิตภัณฑ์ที่เกี่ยวข้องตรวจพบว่าการปรับปรุงเฉพาะจะแก้ปัญหาของคุณ ค่าใช้จ่ายในการสนับสนุนตามปกติจะใช้กับคำถามและปัญหาในการสนับสนุนเพิ่มเติมซึ่งไม่สอดคล้องตามเกณฑ์สำหรับโปรแกรมปรับปรุงเฉพาะที่เกี่ยวข้อง



ข้อมูลการติดตั้ง

Microsoft ให้ตัวอย่างการเขียนโปรแกรมไว้สำหรับประกอบการอธิบายเท่านั้นโดยไม่มีการรับประกันไม่ว่าจะโดยชัดแจ้งหรือโดยนัย กรณีนี้รวมถึงแต่มิได้จำกัดเพียงแค่การการรับประกันโดยนัยเกี่ยวกับการจำหน่ายเป็นสินค้าหรือความเหมาะสำหรับวัตถุประสงค์เฉพาะ บทความนี้ตั้งสมมติฐานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่กำลังแสดงและคุ้นเคยกับเครื่องมือที่ใช้ใน การสร้างและแก้จุดบกพร่องของขั้นตอนการดำเนินการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการทำงานของกระบวนการเฉพาะได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้ฟังก์ชันการทำงานเพิ่มเติมหรือสร้างกระบวนงานเพื่อตอบสนองความต้องการเฉพาะของคุณ

หมายเหตุ ก่อนที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ โปรดตรวจสอบว่า ผู้ใช้ไคลเอนต์ของ Microsoft Navision ทั้งหมดเข้าสู่ระบบออกจากระบบ ข้อมูลนี้รวมถึงผู้ใช้ไคลเอ็นต์บริการแอพลิเคชัน Navision Microsoft (NAS) คุณควรไคลเอ็นต์เฉพาะผู้ใช้เข้าสู่ระบบเมื่อคุณใช้โปรแกรมแก้ไขด่วนนี้

เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมีสิทธิ์การใช้งานสำหรับนักพัฒนา

เราขอแนะนำว่า บัญชีผู้ใช้ ในหน้าต่างล็อกอินของ Windows หรือ ในหน้าต่างล็อกอินฐานข้อมูลสามารถกำหนดรหัสการเข้าถึงข้อมูล "ขั้นสูง" ถ้าบัญชีผู้ใช้ไม่สามารถกำหนดรหัสการบทบาท "SUPER" คุณต้องตรวจสอบว่า บัญชีผู้ใช้ที่มีสิทธิ์ต่อไปนี้:
  • ปรับเปลี่ยนสิทธิ์สำหรับออบเจ็กต์ที่คุณจะสามารถเปลี่ยน
  • ดำเนินการสิทธิ์ สำหรับวัตถุ5210 รหัสวัตถุของระบบและ สำหรับออบเจ็กต์ระบบ 9015 ID ของวัตถุ


หมายเหตุ คุณไม่จำเป็นต้องมีสิทธิ์ไปยังร้านค้าข้อมูลยกเว้นว่าคุณจำเป็นต้องซ่อมแซมข้อมูล

การเปลี่ยนแปลงรหัส

หมายเหตุ เสมอทดสอบรหัสแก้ไขในสภาพแวดล้อมการควบคุมก่อนที่คุณนำไปใช้แก้ไขปัญหากับคอมพิวเตอร์ของคุณผลิต
เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:
หมายเหตุ เนื่องจากรหัสจะแตกต่างกันสำหรับเวอร์ชันอเมริกาเหนือและเวอร์ชันทั่วโลก ล็อกการเปลี่ยนแปลงทั้งสองจะแสดงรายการภายใต้หัวข้อเฉพาะรุ่นทั่วโลกหรือเวอร์ชันอเมริกาเหนือ
  1. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันInsertValueEntryในการรายการสมุดรายวัน-ลงรายการบัญชีบรรทัดโค้ดยูนิต (22) ดัง:
    สำหรับเวอร์ชันทั่วโลกสำหรับ SP1 5.0 NAV ของ Dynamics Microsoft, Microsoft Dynamics NAV 2009, SP1 2009 นำทางของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009 R2
    รหัสที่มีอยู่
    ...         ELSE        InvoicedQty := ValueEntry."Valued Quantity";    END ELSE      InvoicedQty := ValueEntry."Invoiced Quantity";    CalcExpectedCost(      ItemLedgEntry."Entry No.",      InvoicedQty,      ItemLedgEntry.Quantity,      ValueEntry."Cost Amount (Expected)",      ValueEntry."Cost Amount (Expected) (ACY)",      ValueEntry."Sales Amount (Expected)",      ValueEntry."Purchase Amount (Expected)",      ItemLedgEntry.Quantity = ItemLedgEntry."Invoiced Quantity");// Delete the following lines.    IF (InvdValueEntry."Cost Amount (Expected)" <>0) AND (ValueEntry."Cost Amount (Expected)" <> 0) THEN      ValueEntry."Cost Amount (Expected)" :=       ValueEntry."Cost Amount (Expected)" - InvdValueEntry."Cost Amount (Expected)";    IF (InvdValueEntry."Cost Amount (Expected) (ACY)" <> 0) AND (ValueEntry."Cost Amount (Expected) (ACY)"<>0) THEN      ValueEntry."Cost Amount (Expected) (ACY)" :=        ValueEntry."Cost Amount (Expected) (ACY)" - InvdValueEntry."Cost Amount (Expected) (ACY)";// End of the deleted lines.  END;  IF ValueEntry.Inventoriable THEN    PostInventoryToGL(ValueEntry);  IF  ItemLedgEntry."Job No." <> '' THEN BEGIN...
    รหัสแทน
    ...       ELSE        InvoicedQty := ValueEntry."Valued Quantity";    END ELSE      InvoicedQty := ValueEntry."Invoiced Quantity";    CalcExpectedCost(// Add the following line.      ValueEntry,// End of the added line.      ItemLedgEntry."Entry No.",      InvoicedQty,      ItemLedgEntry.Quantity,      ValueEntry."Cost Amount (Expected)",      ValueEntry."Cost Amount (Expected) (ACY)",      ValueEntry."Sales Amount (Expected)",      ValueEntry."Purchase Amount (Expected)",      ItemLedgEntry.Quantity = ItemLedgEntry."Invoiced Quantity");  END;  IF ValueEntry.Inventoriable THEN    PostInventoryToGL(ValueEntry);  IF  ItemLedgEntry."Job No." <> '' THEN BEGIN...
    สำหรับเวอร์ชันอเมริกาเหนือสำหรับ SP1 5.0 NAV ของ Dynamics Microsoft, Microsoft Dynamics NAV 2009, SP1 2009 นำทางของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009 R2
    รหัสที่มีอยู่
    ...      ELSE        InvoicedQty := ValueEntry."Valued Quantity";    END ELSE      InvoicedQty := ValueEntry."Invoiced Quantity";    IF NOT Kitting THEN BEGIN      CalcExpectedCost(        ItemLedgEntry."Entry No.",        InvoicedQty,        ItemLedgEntry.Quantity,        ValueEntry."Cost Amount (Expected)",        ValueEntry."Cost Amount (Expected) (ACY)",        ValueEntry."Sales Amount (Expected)",        ValueEntry."Purchase Amount (Expected)",        ItemLedgEntry.Quantity = ItemLedgEntry."Invoiced Quantity");// Delete the following lines.      IF (InvdValueEntry."Cost Amount (Expected)" <>0) AND (ValueEntry."Cost Amount (Expected)" <>0) THEN        ValueEntry."Cost Amount (Expected)" :=         ValueEntry."Cost Amount (Expected)" - InvdValueEntry."Cost Amount (Expected)";      IF (InvdValueEntry."Cost Amount (Expected) (ACY)" <> 0) AND (ValueEntry."Cost Amount (Expected) (ACY)" <> 0) THEN        ValueEntry."Cost Amount (Expected) (ACY)" :=          ValueEntry."Cost Amount (Expected) (ACY)" - InvdValueEntry."Cost Amount (Expected) (ACY)";// End of the deleted lines.    END;  END;  IF ValueEntry.Inventoriable THEN    PostInventoryToGL(ValueEntry);  IF  ItemLedgEntry."Job No." <>'' THEN BEGIN  ...
    รหัสแทน
    ...      ELSE        InvoicedQty := ValueEntry."Valued Quantity";    END ELSE      InvoicedQty := ValueEntry."Invoiced Quantity";    IF NOT Kitting THEN BEGIN      CalcExpectedCost(// Add the following line.        ValueEntry,// End of the added line.        ItemLedgEntry."Entry No.",        InvoicedQty,        ItemLedgEntry.Quantity,        ValueEntry."Cost Amount (Expected)",        ValueEntry."Cost Amount (Expected) (ACY)",        ValueEntry."Sales Amount (Expected)",        ValueEntry."Purchase Amount (Expected)",        ItemLedgEntry.Quantity = ItemLedgEntry."Invoiced Quantity");    END;  END;  IF ValueEntry.Inventoriable THEN    PostInventoryToGL(ValueEntry);  IF  ItemLedgEntry."Job No."<>'' THEN BEGIN...
  2. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันCalcExpectedCostในการรายการสมุดรายวัน-ลงรายการบัญชีบรรทัดโค้ดยูนิต (22) ดัง:
    สำหรับรุ่นใหม่ทั่วโลกและสำหรับ SP1 5.0 NAV ของ Dynamics Microsoft, Microsoft Dynamics NAV 2009, SP1 2009 นำทางของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009 R2 รุ่นอเมริกาเหนือ
    รหัสที่อยู่ 1
    ...       LOCAL PROCEDURE CalcExpectedCost@60(ItemLedgEntryNo@1003 : Integer;InvoicedQty@1006 : Decimal;Quantity@1005 : Decimal;VAR ExpectedCost@1001 : Decimal;VAR ExpectedCostACY@1002 : Decimal;VAR ExpectedSalesAmt@1007 : Decimal;VAR ExpectedPurchAmt@1008 : Decimal;CalcReminder@1004 : Boolean);  ...
    รหัสแทนที่ 1
    ...      LOCAL PROCEDURE CalcExpectedCost@60(VAR InvdValueEntry@1009 : Record 5802;ItemLedgEntryNo@1003 : Integer;InvoicedQty@1006 : Decimal;Quantity@1005 : Decimal;VAR ExpectedCost@1001 : Decimal;VAR ExpectedCostACY@1002 : Decimal;VAR ExpectedSalesAmt@1007 : Decimal;VAR ExpectedPurchAmt@1008 : Decimal;CalcReminder@1004 : Boolean);...
    รหัสที่มีอยู่ 2 สำหรับ SP1 5.0 NAV ของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009
    ...          "Sales Amount (Expected)","Purchase Amount (Expected)");      ExpectedCost :=  -"Cost Amount (Expected)";      ExpectedCostACY := -"Cost Amount (Expected) (ACY)";      ExpectedSalesAmt := -"Sales Amount (Expected)";      ExpectedPurchAmt := -"Purchase Amount (Expected)";    END ELSE BEGIN      REPEAT        IF "Expected Cost" THEN BEGIN          ExpectedCost := ExpectedCost + "Cost Amount (Expected)";          ExpectedCostACY := ExpectedCostACY + "Cost Amount (Expected) (ACY)"         ...
    รหัสแทนที่ 2 สำหรับ SP1 5.0 NAV ของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009
    ...            "Sales Amount (Expected)","Purchase Amount (Expected)");      ExpectedCost :=  -"Cost Amount (Expected)";      ExpectedCostACY := -"Cost Amount (Expected) (ACY)";      ExpectedSalesAmt := -"Sales Amount (Expected)";      ExpectedPurchAmt := -"Purchase Amount (Expected)";// Add the following lines.    END ELSE      IF InvdValueEntry.Adjustment AND         (InvdValueEntry."Entry Type" = InvdValueEntry."Entry Type"::"Direct Cost")      THEN BEGIN        ExpectedCost := -InvdValueEntry."Cost Amount (Actual)";        ExpectedCostACY := -InvdValueEntry."Cost Amount (Actual) (ACY)";        IF NOT CalledFromAdjustment THEN BEGIN          ExpectedSalesAmt := -InvdValueEntry."Sales Amount (Actual)";          ExpectedPurchAmt := -InvdValueEntry."Purchase Amount (Actual)";        END// End of the added lines.    END ELSE BEGIN      REPEAT        IF "Expected Cost" THEN BEGIN          ExpectedCost := ExpectedCost + "Cost Amount (Expected)";          ExpectedCostACY := ExpectedCostACY + "Cost Amount (Expected) (ACY)";...
    รหัสที่มีอยู่ 3 สำหรับ SP1 2009 นำทางของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009 R2
    …IF FINDSET AND "Expected Cost" THEN  IF CalcReminder THEN BEGIN    CALCSUMS(         "Cost Amount (Expected)","Cost Amount (Expected) (ACY)",         "Sales Amount (Expected)","Purchase Amount (Expected)");    ExpectedCost :=  -"Cost Amount (Expected)";    ExpectedCostACY := -"Cost Amount (Expected) (ACY)";    IF NOT CalledFromAdjustment THEN BEGIN       ExpectedSalesAmt := -"Sales Amount (Expected)";       ExpectedPurchAmt := -"Purchase Amount (Expected)";    END  END ELSE BEGIN        REPEAT           IF "Expected Cost" THEN BEGIN             ExpectedCost := ExpectedCost + "Cost Amount (Expected)";             ExpectedCostACY := ExpectedCostACY + "Cost Amount (Expected) (ACY)";…
    รหัสแทนที่ 3 สำหรับ SP1 2009 นำทางของ Dynamics Microsoft และ Microsoft Dynamics NAV 2009 R2
    …IF FINDSET AND "Expected Cost" THEN  IF CalcReminder THEN BEGIN    CALCSUMS(         "Cost Amount (Expected)","Cost Amount (Expected) (ACY)",         "Sales Amount (Expected)","Purchase Amount (Expected)");    ExpectedCost :=  -"Cost Amount (Expected)";    ExpectedCostACY := -"Cost Amount (Expected) (ACY)";    IF NOT CalledFromAdjustment THEN BEGIN       ExpectedSalesAmt := -"Sales Amount (Expected)";       ExpectedPurchAmt := -"Purchase Amount (Expected)";    END         // Add the following lines.        END ELSE       IF InvdValueEntry.Adjustment AND          (InvdValueEntry."Entry Type" = InvdValueEntry."Entry Type"::"Direct Cost")       THEN BEGIN         ExpectedCost := -InvdValueEntry."Cost Amount (Actual)";         ExpectedCostACY := -InvdValueEntry."Cost Amount (Actual) (ACY)";         IF NOT CalledFromAdjustment THEN BEGIN           ExpectedSalesAmt := -InvdValueEntry."Sales Amount (Actual)";           ExpectedPurchAmt := -InvdValueEntry."Purchase Amount (Actual)";         END// End of the added lines.  END ELSE BEGIN       REPEAT            IF "Expected Cost" THEN BEGIN              ExpectedCost := ExpectedCost + "Cost Amount (Expected)";              ExpectedCostACY := ExpectedCostACY + "Cost Amount (Expected) (ACY)";…

ข้อกำหนดเบื้องต้น

คุณต้องมีเพื่อใช้โปรแกรมแก้ไขด่วนนี้การติดตั้งผลิตภัณฑ์ต่อไปนี้อย่างใดอย่างหนึ่ง:
  • Microsoft Dynamics NAV 2009 Service Pack ที่ 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 Service Pack ที่ 1 (SP1)


ข้อมูลการเอาออก

คุณไม่สามารถเอาโปรแกรมแก้ไขด่วนนี้
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลอ้างอิง
VSTF DynamicsNAV SE: 266892
หมายเหตุ นี่คือบทความ "เผยแพร่เร็ว" ที่สร้างขึ้นโดยตรงจากภายใน Microsoft สนับสนุนองค์กร ข้อมูลในที่นี้ให้ไว้ตามสภาพ เพื่อตอบสนองกับปัญหาที่เกิดขึ้นใหม่ เป็นผลมาจากความเร็วในการทำให้พร้อมใช้งาน วัสดุอาจรวมถึงข้อผิดพลาดการพิมพ์ผิด และอาจแก้ไขได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ดู เงื่อนไขการใช้งาน สำหรับข้อควรพิจารณาอื่น ๆ

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 2563303 - การตรวจสอบครั้งสุดท้าย: 07/25/2015 16:04:00 - ฉบับแก้ไข: 4.0

Microsoft Dynamics NAV 2009, Microsoft Dynamics NAV 5.0

  • kbqfe kbmbsmigrate kbmbscodefix kbsurveynew kbmt KB2563303 KbMtth
คำติชม