ข้อความแสดงข้อผิดพลาด "ตารางที่ระบุ (บรรทัดสมุดรายวันทั่วไป) แตกต่างจากตารางที่ฟอร์มใช้ (คําสั่ง CBG)" เมื่อคุณเรียกใช้ฟังก์ชัน "แก้ไขสมุดรายวัน" ใน Microsoft Dynamics NAV 2009 เวอร์ชันภาษาดัตช์

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

บทความนี้ใช้กับ Microsoft Dynamics NAV สําหรับภาษาดัตช์ (nl) ภาษาท้องถิ่น

อาการ

เมื่อคุณเรียกใช้ฟังก์ชัน แก้ไขสมุดรายวัน ใน Microsoft Dynamics NAV 2009 เวอร์ชันดัตช์ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

หมายเหตุ

ตารางที่ระบุ (บรรทัดสมุดรายวันทั่วไป) แตกต่างจากตารางที่แบบฟอร์มใช้ (ใบแจ้งยอด CBG)

ปัญหานี้เกิดขึ้นในผลิตภัณฑ์ต่อไปนี้:

  • Microsoft Dynamics NAV 2009 R2 เวอร์ชันภาษาดัตช์
  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) เวอร์ชันภาษาดัตช์

      

การแก้ปัญหา

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

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

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

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

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

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

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

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

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

  • สิทธิ์ Execute สําหรับออบเจ็กต์ System Object ID 5210 และสําหรับรหัสออบเจ็กต์ของระบบ 9015

    วัตถุ

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

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

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

เมื่อต้องการแก้ไขปัญหานี้ ให้ทําตามขั้นตอนต่อไปนี้:

  1. เปลี่ยนรหัสในทริกเกอร์ OnOpenForm ในแบบฟอร์มสมุดรายวันธนาคาร/ระบบโอนเงิน (11400) ดังนี้:
    รหัสที่มีอยู่

    ...
    JnlSelected@1000000 : Boolean;
    BEGIN
    
    // Delete the following lines.
    GenJnlManagement.TemplateSelectionCBG(FORM::"Bank/Giro Journal",12,Rec,JnlSelected);
    IF NOT JnlSelected THEN
    ERROR('');
    
    GenJnlManagement.CheckTemplateNameCBG(GETRANGEMAX("Journal Template Name"));
    // End of the deleted lines.
    
    CurrForm."Account No.".VISIBLE("Account Type"="Account Type"::"Bank Account");
    CurrForm.Currency.VISIBLE("Account Type"="Account Type"::"Bank Account");
    ...
    

    รหัสทดแทน

    ...
    JnlSelected@1000000 : Boolean;
    BEGIN
    
    // Add the following lines.
    FILTERGROUP(2);
    JnlSelected := (GETFILTER("Journal Template Name") <> '');
    FILTERGROUP(0);
    IF NOT JnlSelected THEN BEGIN
    GenJnlManagement.TemplateSelectionCBG(FORM::"Bank/Giro Journal",12,Rec,JnlSelected);
    IF NOT JnlSelected THEN
    ERROR('');
    GenJnlManagement.CheckTemplateNameCBG(GETRANGEMAX("Journal Template Name"));
    END;
    // End of the added lines. 
    
    CurrForm."Account No.".VISIBLE("Account Type"="Account Type"::"Bank Account");
    CurrForm.Currency.VISIBLE("Account Type"="Account Type"::"Bank Account");
    ...
    
  2. เปลี่ยนรหัสในทริกเกอร์ OnOpenForm ในแบบฟอร์มสมุดรายวันเงินสด (11403) ดังนี้:
    รหัสที่มีอยู่

    ...
    JnlSelected@1000000 : Boolean;
    BEGIN
    
    // Delete the following lines.
    GenJnlManagement.TemplateSelectionCBG(FORM::"Cash Journal",11,Rec,JnlSelected);
    IF NOT JnlSelected THEN
    ERROR('');
    
    GenJnlManagement.CheckTemplateNameCBG(GETRANGEMAX("Journal Template Name"));
    // End of the deleted lines.
    
    CurrForm."Account No.".VISIBLE("Account Type"="Account Type"::"Bank Account" );
    CurrForm.Currency.VISIBLE("Account Type"="Account Type"::"Bank Account");
    ...
    

    รหัสทดแทน

    ...
    JnlSelected@1000000 : Boolean;
    BEGIN
    
    // Add the following lines.
    FILTERGROUP(2);
    JnlSelected := (GETFILTER("Journal Template Name") <> '');
    FILTERGROUP(0);
    IF NOT JnlSelected THEN BEGIN
    GenJnlManagement.TemplateSelectionCBG(FORM::"Cash Journal",11,Rec,JnlSelected);
    IF NOT JnlSelected THEN
    ERROR('');
    
    GenJnlManagement.CheckTemplateNameCBG(GETRANGEMAX("Journal Template Name"));
    END;
    // End of the added lines. 
    
    CurrForm."Account No.".VISIBLE("Account Type"="Account Type"::"Bank Account" );
    CurrForm.Currency.VISIBLE("Account Type"="Account Type"::"Bank Account");
    ...
    
  3. เปลี่ยนรหัสในทริกเกอร์ TemplateSelection ในโค้ดโค้ด unit GenJnlManagement (230) ดังนี้:
    รหัสที่มีอยู่

    ...
    JnlSelected := FORM.RUNMODAL(0,GenJnlTemplate) = ACTION::LookupOK;
    END;
    IF JnlSelected THEN BEGIN
    
    // Delete the following lines. 
    GenJnlLine.FILTERGROUP := 2;
    GenJnlLine.SETRANGE("Journal Template Name",GenJnlTemplate.Name);
    GenJnlLine.FILTERGROUP := 0;
    IF OpenFromBatch THEN BEGIN
    GenJnlLine."Journal Template Name" := '';
    FORM.RUN(GenJnlTemplate."Form ID",GenJnlLine);
    // End of the deleted lines.
    
    END;
    END;
    ...
    

    รหัสทดแทน

    ...
    JnlSelected := FORM.RUNMODAL(0,GenJnlTemplate) = ACTION::LookupOK;
    END;
    IF JnlSelected THEN BEGIN
    
    // Add the following lines. 
    IF (GenJnlTemplate."Form ID" = 11400) OR
    (GenJnlTemplate."Form ID" = 11403)
    THEN BEGIN
    CBGStatement.FILTERGROUP := 2;
    CBGStatement.SETRANGE("Journal Template Name",GenJnlTemplate.Name);
    CBGStatement.FILTERGROUP := 0;
    IF OpenFromBatch THEN BEGIN
    CBGStatement."Journal Template Name" := '';
    FORM.RUN(GenJnlTemplate."Form ID",CBGStatement);
    END;
    END ELSE BEGIN
    GenJnlLine.FILTERGROUP := 2;
    GenJnlLine.SETRANGE("Journal Template Name",GenJnlTemplate.Name);
    GenJnlLine.FILTERGROUP := 0;
    IF OpenFromBatch THEN BEGIN
    GenJnlLine."Journal Template Name" := '';
    FORM.RUN(GenJnlTemplate."Form ID",GenJnlLine);
    END;
    // End of the added lines.
    
    END;
    END;
    ...
    

          

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

คุณต้องติดตั้งผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่งต่อไปนี้เพื่อใช้โปรแกรมแก้ไขด่วนนี้:

  • Microsoft Dynamics NAV 2009 R2 เวอร์ชันภาษาดัตช์
  • Microsoft Dynamics NAV 2009 Service Pack 1 เวอร์ชันภาษาดัตช์

ลบข้อมูลออก

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

สถานะ

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

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