คุณพบว่าการชําระเงินล่วงหน้าที่ลงรายการบัญชีแล้วยังคงเปิดอยู่หลังจากที่คุณลงรายการบัญชีใบแจ้งหนี้สุดท้ายสําหรับใบสั่งขายหรือสําหรับใบสั่งซื้อใน Microsoft Dynamics NAV 2009 R2 เวอร์ชันยุโรปตะวันออกที่มีการนํา 2546442 โปรแกรมแก้ไขด่วนและ 2672643 โปรแกรมแก้ไขด่วนไปใช้

นำไปใช้กับ
Microsoft Dynamics NAV 2009 R2

บทความนี้ใช้กับ Microsoft Dynamics NAV สําหรับภูมิภาคยุโรปตะวันออก (EE)

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้ใน Microsoft Dynamics NAV 2009 R2 เวอร์ชันยุโรปตะวันออก:

  • คุณใช้ 2546442 โปรแกรมแก้ไขด่วนและ 2672643 โปรแกรมแก้ไขด่วน
  • คุณสร้างการชําระเงินล่วงหน้าสําหรับใบสั่งขายหรือใบสั่งซื้อ
  • คุณลงรายการบัญชีส่วนหนึ่งของยอดการชําระเงินล่วงหน้า
  • คุณลงรายการบัญชีส่วนที่เหลือของยอดการชําระเงินล่วงหน้า
  • คุณลงรายการบัญชีใบแจ้งหนี้สุดท้ายสําหรับใบสั่งขายหรือสําหรับใบสั่งซื้อ

ในสถานการณ์นี้ คุณพบว่าการชําระเงินล่วงหน้าที่ลงรายการบัญชีแล้วยังคงเปิดอยู่ อย่างไรก็ตาม ควรปิดการชําระเงินล่วงหน้าที่ลงรายการบัญชีแล้ว
  สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ 2672643 โปรแกรมแก้ไขด่วน ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความใน Microsoft Knowledge Base:

2672643 ข้อความแสดงข้อผิดพลาด "มีจํานวนการชําระเงินล่วงหน้าที่ไม่ได้โพสต์ไว้บนใบสั่ง [หมายเลข]" เมื่อคุณลงรายการบัญชีการจัดส่งบางส่วนสําหรับใบสั่งขายใน Microsoft Dynamics NAV 2009 R2 เวอร์ชันยุโรปตะวันออก สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ 2546442 การแก้ไขด่วน ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2546442 ข้อความแสดงข้อผิดพลาด "มีจํานวนการชําระเงินล่วงหน้าที่ไม่ได้โพสต์ไว้บนใบสั่ง [หมายเลขคําสั่งซื้อ]" เมื่อคุณลงรายการบัญชีใบแจ้งหนี้สุดท้ายในสถานการณ์การชําระเงินล่วงหน้าใน Microsoft Dynamics NAV 2009 เวอร์ชันยุโรปตะวันออก

การแก้ปัญหา

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

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

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

            
          

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

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

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

เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้

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

  • สิทธิ์ในการปรับเปลี่ยนสําหรับวัตถุที่คุณจะเปลี่ยนแปลง
  • สิทธิ์ Execute สําหรับวัตถุ System Object ID 5210 และสําหรับวัตถุ System Object ID 9015

                
หมายเหตุ คุณไม่มีสิทธิ์ในที่เก็บข้อมูล เว้นแต่คุณจะต้องดําเนินการซ่อมแซมข้อมูล

การเปลี่ยนแปลงโค้ด

หมายเหตุ ทดสอบการแก้ไขรหัสเสมอในสภาพแวดล้อมที่ควบคุมก่อนที่คุณจะนําการแก้ไขไปใช้กับคอมพิวเตอร์การผลิตของคุณ
เมื่อต้องการแก้ไขปัญหานี้ ให้ทําตามขั้นตอนต่อไปนี้:

  1. เปลี่ยนรหัสในฟังก์ชัน CalcLinkedPmtAmountToApply ในโค้ดโค้ด Sales-Post Advances codeunit (26585) เมื่อต้องการทำสิ่งนี้ ให้ทำตามขั้นตอนเหล่านี้:

    1. เพิ่มตัวแปรส่วนกลาง แล้วระบุตัวแปรดังนี้:

      • ชื่อ: SumAmountToApply
      • ชนิดข้อมูล: ทศนิยม
    2. เปลี่ยนรหัสดังนี้:
      รหัสที่มีอยู่ 1

      ...
      IF TotalAmountToApply = 0 THEN
      EXIT;
      SetCurrencyPrecision(LetterLine."Currency Code");
      ...
      

      รหัสทดแทน 1

      ...
      
      // Add the following line. 
      SumAmountToApply := SumAmountToApply + TotalAmountToApply;
      
      IF TotalAmountToApply = 0 THEN
      EXIT;
      SetCurrencyPrecision(LetterLine."Currency Code");
      ...
      

      รหัสที่มีอยู่ 2

      ...
      TotAmt := TotAmt + TotalAmountToApply *
      Link.Amount / (CustLedgEntry.Amount - CustLedgEntry."Remaining Amount to Link") *
      (CustLedgEntry."Remaining Amount" - CustLedgEntry."Remaining Amount to Link") /
      
      // Delete the following lines. 
      (LetterLine."Amount Linked" - LetterLine."Amount Deducted" + TotalAmountToApply);
      AmountToApply := ROUND(TotAmt,Currency."Amount Rounding Precision") - TotAmtRnded;
      // End of the deleted lines.
      
      TotAmtRnded := TotAmtRnded + AmountToApply;
      ...
      

      รหัสทดแทน 2

      ...
      TotAmt := TotAmt + TotalAmountToApply *
      Link.Amount / (CustLedgEntry.Amount - CustLedgEntry."Remaining Amount to Link") *
      (CustLedgEntry."Remaining Amount" - CustLedgEntry."Remaining Amount to Link") /
      
      // Add the following lines. 
      (LetterLine."Amount Linked" - LetterLine."Amount Deducted" + SumAmountToApply); 
      AmountToApply := TotAmt - TotAmtRnded;
      // End of the added lines. 
      
      TotAmtRnded := TotAmtRnded + AmountToApply;
      ...
      
  2. เปลี่ยนรหัสในฟังก์ชัน CalcLinkedPmtAmountToApply ในโค้ดโค้ด Purchase-Post Advances codeunit (26586) เมื่อต้องการทำสิ่งนี้ ให้ทำตามขั้นตอนเหล่านี้:

    1. เพิ่มตัวแปรส่วนกลาง แล้วระบุตัวแปรดังนี้:

      • ชื่อ: SumAmountToApply
      • ชนิดข้อมูล: ทศนิยม
    2. เปลี่ยนรหัสดังนี้:
      รหัสที่มีอยู่ 1

      ...
      IF TotalAmountToApply = 0 THEN
      EXIT;
      
      SetCurrencyPrecision(LetterLine."Currency Code");
      Link.SETRANGE("Entry Type",Link."Entry Type"::"Link To Letter");
      Link.SETRANGE("Document No.",LetterLine."Letter No.");
      ...
      

      รหัสทดแทน 1

      ...
      IF TotalAmountToApply = 0 THEN
      EXIT;
      
      // Add the following line. 
      SumAmountToApply := SumAmountToApply + TotalAmountToApply;
      
      SetCurrencyPrecision(LetterLine."Currency Code");
      Link.SETRANGE("Entry Type",Link."Entry Type"::"Link To Letter");
      Link.SETRANGE("Document No.",LetterLine."Letter No.");
      ...
      

      รหัสที่มีอยู่ 2

      ...
      TotAmt := TotAmt + TotalAmountToApply *
      Link.Amount / (VendLedgEntry.Amount - VendLedgEntry."Remaining Amount to Link") *
      (VendLedgEntry."Remaining Amount" - VendLedgEntry."Remaining Amount to Link") /
      
      // Delete the following lines. 
      (LetterLine."Amount Linked" - LetterLine."Amount Deducted" + TotalAmountToApply);
      AmountToApply := ROUND(TotAmt,Currency."Amount Rounding Precision") - TotAmtRnded;
      // End of the deleted lines.
      
      TotAmtRnded := TotAmtRnded + AmountToApply;
      ...
      

      รหัสทดแทน 2

      ...
      TotAmt := TotAmt + TotalAmountToApply *
      Link.Amount / (VendLedgEntry.Amount - VendLedgEntry."Remaining Amount to Link") *
      (VendLedgEntry."Remaining Amount" - VendLedgEntry."Remaining Amount to Link") /
      
      // Add the following lines. 
      (LetterLine."Amount Linked" - LetterLine."Amount Deducted" + SumAmountToApply);
      AmountToApply := TotAmt - TotAmtRnded;
      // End of the added lines. 
      
      TotAmtRnded := TotAmtRnded + AmountToApply;
      ...
      

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

คุณต้องมี Microsoft Dynamics NAV 2009 R2 รุ่นยุโรปตะวันออกติดตั้งอยู่เพื่อใช้โปรแกรมแก้ไขด่วนนี้

ลบข้อมูลออก

คุณไม่สามารถลบโปรแกรมแก้ไขด่วนนี้ได้

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

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