Dynamics 365 Business Central: แนวทางการ Refactor ใน AL Programming

ในการพัฒนา Extension ด้วยภาษา AL (Application Language) บนแพลตฟอร์ม Dynamics 365 Business Central (D365BC) นักพัฒนาจำเป็นต้องให้ความสำคัญกับคุณภาพของโค้ดในระยะยาว หนึ่งในแนวทางที่ช่วยให้โค้ดมีคุณภาพสูงคือการทำ Refactor หรือการปรับปรุงโครงสร้างของโค้ดเดิมให้ดีขึ้น

⚙️ Refactoring is essential to improving code readability, maintainability, and extensibility—without changing its output.

การ Refactor ไม่ได้หมายถึงการเปลี่ยนผลลัพธ์หรือหน้าที่การทำงานของโปรแกรม แต่เป็นการปรับโครงสร้างภายในของโค้ดให้มีความชัดเจนมากขึ้น ช่วยให้โค้ดอ่านง่าย แก้ไขได้สะดวก และพร้อมรองรับการต่อยอดในอนาคต โดยเฉพาะในภาษา AL ที่มักเกี่ยวข้องกับ Business Logic ที่ซับซ้อนและเปลี่ยนแปลงอยู่เสมอ

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

รูปแบบการใช้งาน Refactor ในภาษา AL

Refactor ใน AL มีหลายเทคนิคที่สามารถนำมาใช้ได้กับ Codeunit, Page, Report หรือแม้แต่ Enum/Interface โดยเฉพาะในโครงสร้างที่ต้องพัฒนาแบบ Extension

เทคนิคยอดนิยมที่ควรรู้

เทคนิค Refactorแนวคิดหลักเหมาะกับสถานการณ์
Extract Procedureแยกโค้ดย่อยออกมาเป็นฟังก์ชันใหม่ เพื่อเพิ่มความชัดเจนและลดขนาดโค้ดเมื่อ Procedure ยาวเกินไปหรือทำหลายหน้าที่
Rename Symbolเปลี่ยนชื่อฟังก์ชัน ตัวแปร หรือ Record ให้สื่อความหมายชัดเจนปรับปรุงความเข้าใจของทีมพัฒนา ลดข้อผิดพลาดจากการตีความผิด
Replace Magic Numberแทนค่าตัวเลข/ข้อความที่ไม่สื่อความหมาย ด้วย Constant หรือ Enumเช่น จาก if Status = 3if Status = Status::Released
Simplify Conditionalsลดความซับซ้อนของเงื่อนไข if-else ด้วยการใช้ exit, case, หรือย้ายเงื่อนไขเมื่อโค้ดมีหลายระดับของเงื่อนไขซ้อนกัน
Move Method to Codeunitแยก Business Logic ออกจาก UI เช่น Page หรือ Report ไปไว้ใน Codeunitลดภาระของ UI object และเพิ่มความสามารถในการทดสอบ
Split Large Methodแบ่งฟังก์ชันใหญ่ให้เป็นหลายส่วนย่อยที่ชัดเจนช่วยให้โค้ดอ่านง่าย และรองรับ Unit Test ได้ดีขึ้น

ตัวอย่างการ Refactor

การ Refactor ควรเริ่มจากปัญหาที่พบในโค้ดจริง ตัวอย่างนี้มาจากฟังก์ชันที่ใช้สร้างหรืออัปเดตข้อมูลในตาราง "Item Unit of Measure" ซึ่งถูกใช้กันอย่างแพร่หลายในการจัดการหน่วยสินค้าใน Business Central

โค้ดต้นฉบับ (Before Refactor)

procedure InsertItemUnitOfMeasure(pCode: Code[20]; pItemNo: Code[20]; QtyPerUOM: Decimal)
var
    ItemUOM, InsertItemUOM: Record "Item Unit of Measure";
    Item: Record Item;
    UnitofMeasure: Record "Unit of Measure";
begin
    if pCode = '' then
        Error('Unit of Measure Code cannot be empty.');

    if pItemNo = '' then
        Error('Item No. cannot be empty.');

    ItemUOM.Reset();
    ItemUOM.SetRange("Item No.", pItemNo);
    ItemUOM.SetRange(Code, pCode);
    if ItemUOM.FindFirst() then begin
        ItemUOM.Validate("Qty. per Unit of Measure", QtyPerUOM);
        ItemUOM.Modify();
    end else begin
        InsertItemUOM.Init();
        InsertItemUOM.Validate("Code", pCode);
        InsertItemUOM.Validate("Item No.", pItemNo);
        InsertItemUOM.Insert(true);
        InsertItemUOM.Validate("Qty. per Unit of Measure", QtyPerUOM);
        InsertItemUOM.Modify();
    end;
end;

โค้ดที่ผ่านการ Refactor (After Refactor)

 procedure InsertItemUnitOfMeasure(pCode: Code[20]; pItemNo: Code[20]; QtyPerUOM: Decimal)
    begin
        ValidateInput(pCode, pItemNo);

        if TryUpdateExistingUOM(pCode, pItemNo, QtyPerUOM) then
            exit;

        InsertNewItemUOM(pCode, pItemNo, QtyPerUOM);
    end;

    local procedure ValidateInput(pCode: Code[20]; pItemNo: Code[20])
    var
        Item: Record Item;
        UOM: Record "Unit of Measure";
    begin
        if pCode = '' then
            Error('Unit of Measure Code cannot be empty.');

        if pItemNo = '' then
            Error('Item No. cannot be empty.');
    end;

    local procedure TryUpdateExistingUOM(pCode: Code[20]; pItemNo: Code[20]; QtyPerUOM: Decimal): Boolean
    var
        ExistingUOM: Record "Item Unit of Measure";
    begin
        ExistingUOM.SetRange("Item No.", pItemNo);
        ExistingUOM.SetRange(Code, pCode);
        if ExistingUOM.FindFirst() then begin
            ExistingUOM.Validate("Qty. per Unit of Measure", QtyPerUOM);
            ExistingUOM.Modify();
            exit(true);
        end;

        exit(false);
    end;

    local procedure InsertNewItemUOM(pCode: Code[20]; pItemNo: Code[20]; QtyPerUOM: Decimal)
    var
        NewUOM: Record "Item Unit of Measure";
    begin
        NewUOM.Init();
        NewUOM.Validate("Item No.", pItemNo);
        NewUOM.Validate(Code, pCode);
        NewUOM.Validate("Qty. per Unit of Measure", QtyPerUOM);
        NewUOM.Insert(true);
    end;

สรุป (Summary)

การทำ Refactor ในภาษา AL Programming ไม่ใช่เพียงการจัดระเบียบโค้ดให้ดูดีขึ้นเท่านั้น แต่คือกระบวนการที่มีเป้าหมายเพื่อ

  • เพิ่มความชัดเจน (Readability) ให้โค้ดอ่านง่าย เข้าใจไว
  • ลดความซับซ้อน (Maintainability) แก้ไขและดูแลในระยะยาวได้ง่ายขึ้น
  • รองรับการขยายฟีเจอร์ (Extensibility) ในอนาคตโดยไม่กระทบโค้ดเดิม
  • ช่วยในการทดสอบ (Testability) โดยแยก Logic ออกเป็นฟังก์ชันย่อยได้

เมื่อโค้ดมีโครงสร้างที่ดีจากการ Refactor แล้ว จะช่วยให้สามารถพัฒนา ปรับปรุง และตรวจสอบคุณภาพได้อย่างมีประสิทธิภาพมากยิ่งขึ้น โดยเฉพาะในระบบ Business Central ที่ต้องการความแม่นยำ เสถียร และสามารถต่อยอดได้ในทุกเวอร์ชันของ Extension.

Dynamics 365 Business Central: Deleted Objects ใน Business Central 2025 Release Wave 1 (v26)

Microsoft ได้เริ่มกระบวนการ housekeeping ภายใน Business Central โดยเฉพาะใน เวอร์ชัน 2025 Release Wave 1 (v26) ซึ่งมีการลบ table และ field จำนวนมากที่เคยถูก mark ว่า Obsolete::Removed มาแล้วตั้งแต่เวอร์ชันก่อนหน้า

การลบในครั้งนี้ไม่ได้เป็นแค่การลดขนาด database แต่เป็นส่วนหนึ่งของ วิสัยทัศน์ระยะยาว ที่มุ่งเน้นความเป็นระเบียบ ยืดหยุ่น และง่ายต่อการดูแลรักษาระบบ

รายการที่ถูกลบ (What’s deleted?)

  • ลบ มากกว่า 150 tables และ fields
  • มีผลกับ Base Application (W1 + Localized Apps) และ first-party apps ของ Microsoft
  • ข้อมูลที่ถูกลบอยู่ในสถานะ Obsolete::Removed มานานกว่าหนึ่ง major release

📌 หมายเหตุจาก Microsoft

หากพบว่า File ID = 0 และ Field Name = * หมายถึงลบ ทุก field ภายใน table หรือ table extension และลบไฟล์ออกจาก repository ด้วย

เป้าหมายของการ clean-up

การลบครั้งนี้มีเป้าหมายที่ชัดเจน เพื่อสนับสนุน 3 แนวทางสำคัญของ roadmap Business Central

เป้าหมายรายละเอียด
⚡ Performanceลบ schema ที่ไม่ใช้งาน เพิ่มความเร็วในการ query และประมวลผล
🌍 Unified Base Appรวมฐานโค้ดของหลายประเทศ เช่น SE, DK, CZ, IN, IS ให้ใช้ Base Application เดียวกัน
🧼 Streamlined Codebaseโค้ดสะอาด ลดบั๊ก ลดความซับซ้อนในการดูแลระยะยาว

Clean-up Cycle

Microsoft ประกาศใช้ clean-up cycle ทุก ๆ 5 major releases
ซึ่งหมายความว่า object ที่อยู่ในสถานะ Obsolete::Removed เกิน 1 major version จะมีสิทธิ์ถูกลบใน release รอบถัดไป

ดูรายการทั้งหมดได้ที่นี่
👉 Deleted objects in BC 2025 Release Wave 1 (v26)

Dynamics 365 Business Central: การใช้งาน DecimalPlaces Property ใน AL Programming

DecimalPlaces เป็น Property ใน AL Programming ที่ใช้กำหนดจำนวนตำแหน่งทศนิยมสำหรับการแสดงผลข้อมูลประเภท Decimal หรือจำนวนเงิน (Amount) ใน Page หรือ Field Properties โดยสามารถกำหนดได้ทั้งจำนวนทศนิยมขั้นต่ำ (Minimum) และสูงสุด (Maximum)

Syntax และรูปแบบการใช้งาน

รูปแบบของ DecimalPlaces มีดังนี้

DecimalPlaces = MinDecimals : MaxDecimals;

MinDecimals: จำนวนทศนิยมขั้นต่ำที่ต้องการให้แสดง

MaxDecimals: จำนวนทศนิยมสูงสุดที่อนุญาตให้แสดง

ตัวอย่าง

DecimalPlaces = 0 : 2;

ตัวอย่างนี้หมายความว่า

  • จะแสดงตำแหน่งทศนิยมขั้นต่ำคือ 0 (ไม่มีจุดทศนิยม)
  • จะแสดงตำแหน่งทศนิยมสูงสุดไม่เกิน 2 ตำแหน่ง

การใช้งานใน Field Properties

DecimalPlaces มักถูกใช้ใน Field บน Table หรือ Page เพื่อกำหนดรูปแบบการแสดงผลข้อมูล เช่น จำนวนเงิน หรือค่าคำนวณที่เกี่ยวข้องกับเลขทศนิยม

ตัวอย่างใน Table

table 50100 "Custom Table"
{
    fields
    {
        field(1; "Unit Price"; Decimal)
        {
            DecimalPlaces = 2 : 2;
        }
        field(2; "Discount Rate"; Decimal)
        {
            DecimalPlaces = 0 : 4;
        }
    }
}

Unit Price จะแสดงตำแหน่งทศนิยมที่แน่นอนคือ 2 ตำแหน่ง

Discount Rate สามารถแสดงทศนิยมได้ตั้งแต่ 0 ถึง 4 ตำแหน่ง

ตัวอย่างใน Page

page 50100 "Custom Page"
{
    SourceTable = "Custom Table";
    layout
    {
        area(content)
        {
            field("Unit Price"; rec."Unit Price")
            {
                DecimalPlaces = 2 : 2;
            }
            field("Discount Rate"; rec."Discount Rate")
            {
                DecimalPlaces = 0 : 4;
            }
        }
    }
}

ในกรณีนี้ DecimalPlaces จะควบคุมการแสดงผลข้อมูลบน Page ที่เชื่อมต่อกับ Table ข้างต้น

ข้อจำกัด

  • หากตั้ง MinDecimals และ MaxDecimals เท่ากัน ค่าใน Field จะไม่สามารถเปลี่ยนจำนวนทศนิยมได้
  • ไม่สามารถใช้กับ Data Types อื่นนอกจาก Decimal

สรุป

DecimalPlaces เป็น Property สำคัญที่ช่วยควบคุมการแสดงผลข้อมูลแบบทศนิยมใน AL Programming ไม่ว่าจะเป็นข้อมูลที่เกี่ยวกับจำนวนเงิน อัตราภาษี หรือเปอร์เซ็นต์ การใช้งาน DecimalPlaces อย่างเหมาะสมจะช่วยเพิ่มความแม่นยำและความชัดเจนในระบบ Dynamics 365 Business Central

Dynamics 365 Business Central: การใช้งาน Hide Payment Method Code ในหน้า General Ledger Setup

ใน Dynamics 365 Business Central, การตั้งค่า General Ledger Setup เป็นขั้นตอนสำคัญสำหรับการกำหนดค่าบัญชีแยกประเภททั่วไปขององค์กรของคุณ. บางครั้งองค์กรอาจต้องการซ่อนฟิลด์ Payment Method Code เพื่อป้องกันไม่ให้ผู้ใช้บางคนเห็นหรือแก้ไขข้อมูลนี้ บทความนี้จะอธิบายวิธีการซ่อน Payment Method Code อย่างละเอียด พร้อมยกตัวอย่างการใช้งาน.

  • ไปที่ไอคอน ค้นหา (รูปแว่นขยาย) ที่มุมบนขวา
  • พิมพ์ “General Ledger Setup” และเลือกจากผลการค้นหา

ตั้งค่าฟิลด์ “Hide Payment Method Code”

ในหน้า General Ledger Setup ค้นหาฟิลด์ “Hide Payment Method Code”

ตั้งค่าเป็น False หรือ No เพื่อแสดงฟิลด์ “Payment Method Code” ตามปกติ

ตัวอย่างเอกสาร Sales Order

ตัวอย่างเอกสาร Purchase Order

ตั้งค่าเป็น True หรือ Yes เพื่อซ่อนฟิลด์ “Payment Method Code” จากหน้าเพจและเอกสารต่าง ๆ

ตัวอย่างเอกสาร Sales Order

ตัวอย่างการทำงาน Source Code หน้า Sales Order

ตัวอย่างเอกสาร Purchase Order

ตัวอย่างการทำงาน Source Code หน้า Purchase Order

สรุป

ฟิลด์ “Hide Payment Method Code” ในหน้า General Ledger Setup ถูกใช้เพื่อควบคุมการแสดงผลของฟิลด์ “Payment Method Code” ภายในระบบ การตั้งค่านี้ช่วยให้คุณสามารถปรับแต่งการทำงานของระบบให้เหมาะสมกับความต้องการขององค์กร ลดความซับซ้อน และป้องกันข้อผิดพลาดที่อาจเกิดขึ้นจากการป้อนข้อมูลที่ไม่ถูกต้อง

Dynamics 365 Business Central: การแสดงข้อมูลจากตาราง (Viewing Table Data)

การแสดงข้อมูลจากตารางใน Dynamics 365 Business Central เป็นกระบวนการที่สำคัญสำหรับนักพัฒนาและผู้ดูแลระบบ ในการตรวจสอบและดีบักข้อมูลในระบบ ข้อมูลจากตารางสามารถแสดงได้ผ่าน Web Client หรือ Visual Studio Code ซึ่งมีข้อจำกัดและวิธีการใช้งานที่ต้องทราบดังนี้

การแสดงข้อมูลผ่าน Web Client

คุณสามารถดูข้อมูลในตารางได้ง่าย ๆ โดยการเพิ่มพารามิเตอร์ ?table=<TableID> ลงใน URL ของ Business Central เช่น

https://businesscentral.dynamics.com/?table=18

ตัวอย่างนี้จะเปิดตาราง Customer (Table ID: 18) ซึ่งแสดงข้อมูลทั้งหมดในตาราง

นอกจากนี้ หากต้องการดูข้อมูลในบริษัทที่เจาะจง เช่น “CRONUS Inc.” คุณสามารถใช้ URL ดังนี้

https://businesscentral.dynamics.com/?company=CRONUS%20Inc.&table=18

URL นี้จะแสดงข้อมูลของตาราง Customer ในบริษัท “CRONUS Inc.”

การแสดงข้อมูลผ่าน AL Project ใน Visual Studio Code

ในสภาพแวดล้อมการพัฒนา นักพัฒนาสามารถตั้งค่าไฟล์ launch.json เพื่อแสดงข้อมูลตารางโดยอัตโนมัติเมื่อทำการ Publish หรือ Debug โครงการ AL โดยใช้ค่า startupObjectType และ startupObjectId ดังนี้:

{
    "startupObjectType": "table",
    "startupObjectId": 18
}

การตั้งค่านี้จะทำให้ตาราง Customer ปรากฏขึ้นเมื่อทำการรันหรือดีบักโปรเจกต์ใน Visual Studio Code

ข้อจำกัด (Constraints)

การแสดงข้อมูลจากตารางใน Business Central มีข้อจำกัดหลายประการที่ต้องทราบ ได้แก่

  1. โหมด Read-Only: ตารางจะแสดงในโหมดอ่านอย่างเดียว ผู้ใช้ไม่สามารถแก้ไข เพิ่ม หรือลบข้อมูลได้โดยตรงจาก Web Client
  2. สิทธิ์การเข้าถึง: ผู้ใช้ต้องมีสิทธิ์ Read บนตารางที่ต้องการดูข้อมูล และสิทธิ์ Execution บน System Object 1350 (Run table)
  3. ไม่สามารถแสดงตารางเสมือน (Virtual Tables) หรือตารางระบบบางรายการ

ตัวอย่างตารางที่ไม่สามารถแสดงได้

IDName
2000000170Configuration Package File
2000000173Data Sensitivity
2000000100Debugger Breakpoint
2000000103Debugger Watch
2000000130Device
2000000114Document Service
2000000190Entitlement Set
2000000191Entitlement
2000000180MediaSet
2000000181Media
2000000195Membership Entitlement
2000000162Nav App Capabilities
2000000152Nav App Data Archive
2000000161Application Dependency (*Nav App Dependencies)
2000000150Application Object Metadata (*Nav App Object Metadata)
2000000163Nav App Object Prerequisites
2000000142Application Resource (*Nav App Resource)
2000000151Installed Application (*Nav App TenantApp)
2000000160Published Application (*Nav App)
2000000071Object Metadata
2000000079Object Tracking
2000000001Object
2000000198Page Documentation
2000000186Profile Page Metadata
2000000082Report Layout
2000000065Send To Program
2000000112Server Instance
2000000066Style Sheet
2000000197Token Cache
2000000081Upgrade Blob Storage
2000000121User Property
2000000076Web Service
2000000194Webhook Notification
2000000199Webhook Subscription

ตารางเหล่านี้ไม่สามารถแสดงข้อมูลได้ผ่านทาง Web Client หรือ Visual Studio Code

สรุป

การแสดงข้อมูลจากตารางใน Dynamics 365 Business Central เป็นกระบวนการที่สำคัญในการตรวจสอบและดีบักข้อมูล โดยต้องทราบถึงข้อจำกัดและสิทธิ์การเข้าถึงเพื่อให้สามารถใช้งานได้อย่างถูกต้องและมีประสิทธิภาพ.

Dynamics 365 Business Central: วิธีปิดการใช้งาน Personalization

ใน Dynamics 365 Business Central การปิดการใช้งานการปรับแต่ง (Personalization) ช่วยให้ระบบมีความสม่ำเสมอในการใช้งาน และป้องกันไม่ให้ผู้ใช้ปรับแต่งหน้าจอโดยไม่จำเป็น

ขั้นตอนในการปิดการปรับแต่ง

1. เข้าสู่ระบบและค้นหา Profiles: เริ่มต้นด้วยการเข้าสู่ระบบ Dynamics 365 Business Central และใช้ฟังก์ชัน “Tell Me” เพื่อค้นหา “Profiles”.

2. เลือกโปรไฟล์: เลือกโปรไฟล์ที่ต้องการปิดการปรับแต่งจากรายการโปรไฟล์ที่แสดง.

3. ปิดการปรับแต่ง: ภายในหน้าโปรไฟล์ที่เลือก ให้คลิกที่ “Disable personalization” ภายใต้ส่วน “Additional Settings”.

4. ผลลัพธ์: หลังจากการปิดใช้งาน ผู้ใช้ที่ถูกกำหนดให้ใช้โปรไฟล์นั้นจะไม่เห็นปุ่ม “Personalize” อีกต่อไป ทำให้การใช้งานเป็นไปในทิศทางเดียวกันสำหรับผู้ใช้ทุกคน.

วิธีการดู Role ที่ตั้งค่าในระบบ

  • คลิกที่ไอคอน My Settings (รูปเฟือง) ที่มุมขวาบนของหน้าจอ.
  • ในหน้า My Settings คุณจะเห็นข้อมูลเกี่ยวกับ Role Center ที่ถูกตั้งค่าให้กับผู้ใช้งานปัจจุบัน.

การปิดการปรับแต่งนี้เป็นวิธีที่ง่ายและมีประสิทธิภาพในการควบคุมการเข้าถึงและการปรับแต่งระบบสำหรับผู้ใช้งานในองค์กร โดยการกำหนดค่าผ่านหน้า Profiles สามารถทำได้ง่ายและรวดเร็วตามขั้นตอนที่ได้อธิบายไว้

Dynamics 365 Business Central: การตั้งค่าและใช้งาน Copy Customer Name to Entries

ใน Dynamics 365 Business Central มีฟังก์ชันที่สำคัญและช่วยให้การทำงานมีประสิทธิภาพมากขึ้น คือ การตั้งค่า Copy Customer Name to Entries ในหน้า Sales & Receivables Setup ซึ่งช่วยให้ระบบคัดลอกชื่อของลูกค้าไปยังรายการทางบัญชีต่างๆ เช่น Customer Ledger Entries โดยอัตโนมัติ ซึ่งเป็นประโยชน์ในการติดตามและตรวจสอบข้อมูลได้ง่ายขึ้น ในบทความนี้ เราจะมาทำความเข้าใจและดูตัวอย่างการใช้งานของฟังก์ชันนี้อย่างละเอียด

1. การตั้งค่า Copy Customer Name to Entries

การตั้งค่า Copy Customer Name to Entries สามารถทำได้ง่ายๆ โดยทำตามขั้นตอนต่อไปนี้:


1. ไปที่หน้า Sales & Receivables Setup

เปิดหน้า Sales & Receivables Setup โดยใช้ฟังก์ชัน Search (กด Alt + Q) แล้วพิมพ์ “Sales & Receivables Setup” และเลือกหน้าที่ปรากฏขึ้น

2. เปิดการใช้งาน Copy Customer Name to Entries

ในหน้า Sales & Receivables Setup ให้ค้นหาตัวเลือก Copy Customer Name to Entries แล้วเลือกตัวเลือกนี้เพื่อเปิดใช้งาน ฟังก์ชันนี้จะทำให้ระบบคัดลอกชื่อของลูกค้าไปยังรายการบัญชีโดยอัตโนมัติเมื่อมีการบันทึกข้อมูล

2. การใช้งานก่อนและหลังเปิดใช้งาน Copy Customer Name to Entries

มาดูตัวอย่างเปรียบเทียบขั้นตอนการทำงานทั้งก่อนและหลังเปิดใช้งานฟังก์ชัน Copy Customer Name to Entries เพื่อให้เห็นถึงความแตกต่างและประโยชน์ที่ชัดเจน

ก่อนเปิดใช้งาน Copy Customer Name to Entries

1. สร้าง Sales Order

เปิดหน้า Sales Order และกรอกข้อมูลที่จำเป็น เช่น Customer No., Order Date, และ Amount

2. บันทึก Sales Order

หลังจากกรอกข้อมูลเสร็จเรียบร้อย กด Post เพื่อทำการบันทึกเอกสารและรายการที่เกี่ยวข้อง

3. ตรวจสอบ Customer Ledger Entries

เมื่อเปิดหน้า Customer Ledger Entries จะพบว่า ชื่อของลูกค้าจะไม่ถูกแสดงในรายการนี้ ผู้ใช้ต้องคัดลอกข้อมูลชื่อของลูกค้าไปยังรายการด้วยตนเอง

หลังเปิดใช้งาน Copy Customer Name to Entries

1. เปิดการใช้งาน Copy Customer Name to Entries

ไปที่หน้า Sales & Receivables Setup แล้วเลือกเปิดฟังก์ชัน Copy Customer Name to Entries

2. สร้างและบันทึก Sales Order

กรอกข้อมูลในหน้า Sales Order ตามปกติ เช่น Customer No., Order Date, และ Amount จากนั้นกด Post เพื่อบันทึกเอกสาร

3. ตรวจสอบ Customer Ledger Entries

เมื่อเปิดหน้า Customer Ledger Entries จะเห็นว่าชื่อของลูกค้าถูกคัดลอกและแสดงในรายการนี้โดยอัตโนมัติ ทำให้การติดตามข้อมูลเป็นไปได้อย่างครบถ้วนและแม่นยำ

สรุป

การใช้งานฟังก์ชัน Copy Customer Name to Entries ถือเป็นตัวช่วยที่สำคัญในการเพิ่มประสิทธิภาพการทำงานใน Dynamics 365 Business Central ช่วยให้คุณสามารถจัดการข้อมูลลูกค้าได้อย่างสะดวกและถูกต้องมากยิ่งขึ้น หวังว่าบทความนี้จะช่วยให้คุณเห็นถึงความสำคัญและประโยชน์ของฟังก์ชันนี้ในระบบของคุณ

Dynamics 365 Business Central: Disable Teaching Tips ใน Dynamics 365 BC ง่ายนิดเดียว

Teaching Tips ใน Dynamics 365 Business Central เป็นเครื่องมือช่วยผู้ใช้งานใหม่เข้าใจฟีเจอร์ต่างๆ อย่างรวดเร็ว อย่างไรก็ตาม ผู้ใช้งานที่มีประสบการณ์อาจต้องการปิดการใช้งานฟีเจอร์นี้เพื่อให้การทำงานเป็นไปอย่างราบรื่น บทความนี้จะอธิบายขั้นตอนการปิด Teaching Tips อย่างละเอียดทั้งในส่วนของผู้ใช้ทั่วไปและผู้ดูแลระบบ เพื่อให้สามารถใช้งานระบบได้อย่างมีประสิทธิภาพมากขึ้น

ขั้นตอนการปิด Teaching Tips

1. ปิดผ่าน My Settings:

เข้าไปที่ My Settings: คลิกที่ไอคอนโปรไฟล์มุมขวาบนของหน้าจอเพื่อเปิดเมนูการตั้งค่าส่วนตัว

เลือก My Settings: หลังจากคลิกจะเปิดหน้าต่างการตั้งค่าส่วนตัว

ปิด Teaching Tips: ในหน้าต่าง My Settings เลื่อนลงหาฟิลด์ที่ชื่อว่า “Teaching Tips” จากนั้นคลิกเพื่อปิด (สวิตช์จาก “Yes” ไปเป็น “No”)

2. ปิด Teaching Tips สำหรับผู้ใช้งานหลายคน (โดยผู้ดูแลระบบ):

เข้าไปที่ User Settings Card: ผู้ดูแลระบบสามารถกำหนดค่า Teaching Tips สำหรับผู้ใช้หลายๆ คนผ่านหน้า User Settings Card

เลือกผู้ใช้ที่ต้องการ: ภายในหน้า User Settings Card ให้ค้นหาและเลือกผู้ใช้ที่ต้องการแก้ไขการตั้งค่า

ปรับค่า Teaching Tips: ในฟิลด์ Teaching Tips ของผู้ใช้ที่เลือก ให้ตั้งค่าจาก “Yes” ไปเป็น “No” เพื่อปิดการแสดงผล Teaching Tips

การปิด Teaching Tips จะช่วยลดความยุ่งยากในการใช้งานและปรับปรุงประสบการณ์ให้ดียิ่งขึ้น เหมาะสำหรับผู้ใช้ที่คุ้นเคยกับระบบแล้ว

สรุป

การปิด Teaching Tips ใน Dynamics 365 Business Central สามารถทำได้ง่ายๆ โดยผ่าน My Settings สำหรับผู้ใช้ทั่วไป และผ่าน User Settings Card สำหรับผู้ดูแลระบบ การปิดคำแนะนำเหล่านี้ช่วยให้การทำงานบนระบบเป็นไปอย่างราบรื่น และลดการรบกวนในระหว่างการทำงาน