Dynamics 365 Business Central: การใช้งานฟังก์ชัน GetEnvironmentName ใน AL Programming

การเขียนโปรแกรมด้วยภาษา AL สำหรับ Dynamics 365 Business Central มีหลายฟังก์ชันที่ช่วยให้เราสามารถเข้าถึงข้อมูลของระบบที่กำลังทำงานอยู่ หนึ่งในฟังก์ชันที่มีประโยชน์มากคือ GetEnvironmentName() ซึ่งเป็นฟังก์ชันที่ใช้สำหรับดึงชื่อของ Environment ที่เรากำลังทำงานอยู่ เช่น Production, Sandbox หรือ Development Environment

คำอธิบายของฟังก์ชัน GetEnvironmentName()

ฟังก์ชัน GetEnvironmentName() เป็นส่วนหนึ่งของ Codeunit 457 "Environment Information" ที่ Microsoft ให้มาในระบบ Dynamics 365 Business Central ฟังก์ชันนี้จะทำการคืนค่าชื่อของ Environment ที่ระบบกำลังทำงานอยู่

procedure GetEnvironmentName(): Text

ผลลัพธ์: ฟังก์ชันนี้จะคืนค่าเป็น Text ซึ่งแสดงชื่อ Environment เช่น “Production”, “Sandbox” หรือชื่อที่กำหนดเอง

ประเภทข้อมูลที่คืนค่า: Text

ตัวอย่างการใช้งานฟังก์ชัน GetEnvironmentName()

เพื่อให้เข้าใจมากขึ้น เรามาดูตัวอย่างการใช้งาน GetEnvironmentName() ในการเขียนโค้ด AL

ตัวอย่างที่ 1: การแสดงชื่อ Environment

procedure ShowEnvironmentName()
var
    EnvInfo: Codeunit "Environment Information";
    EnvName: Text;
begin
    // ดึงชื่อ Environment
    EnvName := EnvInfo.GetEnvironmentName();
    // แสดงผลชื่อ Environment ในรูปแบบ Message Box
    Message('Current Environment: %1', EnvName);
end;

คำอธิบาย
ในตัวอย่างนี้ เราสร้างฟังก์ชัน ShowEnvironmentName() เพื่อดึงชื่อของ Environment ปัจจุบัน แล้วแสดงผลผ่าน Message โดยใช้ Codeunit "Environment Information" ในการเรียกใช้ฟังก์ชัน GetEnvironmentName()

ผลลัพธ์

  • หากระบบทำงานบน Production Environment จะขึ้นข้อความ:
    "Current Environment: Production"
  • หากเป็น Sandbox Environment จะขึ้นข้อความ:
    "Current Environment: Sandbox"

ตัวอย่างที่ 2: การตรวจสอบ Environment ก่อนการดำเนินการ

สมมติว่าเรามีฟังก์ชันที่ต้องการให้ทำงานเฉพาะใน Sandbox เท่านั้น เราสามารถใช้ GetEnvironmentName() เพื่อตรวจสอบ Environment ได้ดังนี้

procedure ValidateSandboxEnvironment()
var
    EnvInfo: Codeunit "Environment Information";
    EnvName: Text;
begin
    // ตรวจสอบชื่อ Environment
    EnvName := EnvInfo.GetEnvironmentName();
    if EnvName <> 'Sandbox' then
        Error('This feature is only available in Sandbox environment.');
    
    // ดำเนินการเฉพาะใน Sandbox เท่านั้น
    Message('Feature enabled for Sandbox.');
end;

คำอธิบาย
ในฟังก์ชัน ValidateSandboxEnvironment() เราตรวจสอบชื่อ Environment หากไม่ใช่ Sandbox จะขึ้นข้อความ Error เพื่อแจ้งเตือนผู้ใช้ หากเป็น Sandbox จะดำเนินการต่อไป

สรุป

การใช้ฟังก์ชัน GetEnvironmentName() ใน AL Programming ช่วยให้เราสามารถเขียนโค้ดที่ยืดหยุ่นและสามารถปรับการทำงานได้ตาม Environment ที่ใช้งานอยู่ ซึ่งเป็นประโยชน์อย่างมากสำหรับการพัฒนา Extension ที่ต้องการรองรับทั้ง Production และ Sandbox

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

หากคุณเป็นนักพัฒนาที่ทำงานกับ Microsoft Dynamics 365 Business Central คุณคงคุ้นเคยกับภาษา AL ซึ่งเป็นภาษาที่ใช้ในการพัฒนาและปรับแต่งระบบนี้ ในการเขียนโปรแกรม บางครั้งเราจำเป็นต้องทำงานกับค่าสัมบูรณ์ของตัวเลข เพื่อใช้ในการคำนวณต่าง ๆ ฟังก์ชัน Abs เป็นเครื่องมือสำคัญที่ช่วยให้เราหาค่าสัมบูรณ์ของตัวเลขได้อย่างง่ายดาย

Abs คืออะไร?

Abs ย่อมาจาก Absolute ซึ่งใช้ในการคืนค่า “ค่าสัมบูรณ์” ของตัวเลข กล่าวคือ ไม่ว่าตัวเลขนั้นจะเป็นบวกหรือลบ ผลลัพธ์ที่ได้จะเป็นตัวเลขบวกเสมอ

Abs(Number: Decimal): Decimal

Number: ตัวเลขที่ต้องการหาค่าสัมบูรณ์

Return Value: ค่าสัมบูรณ์ของตัวเลขที่ใส่เข้าไป

ตัวอย่างการใช้งาน Abs

เรามาดูตัวอย่างการสร้าง Procedure ที่ใช้ Abs กัน

ตัวอย่างที่ 1: หาค่า Abs ของจำนวนเต็ม

procedure GetAbsoluteValue(Number: Integer): Integer
var
    AbsoluteValue: Integer;
begin
    AbsoluteValue := Abs(Number);
    exit(AbsoluteValue);
end;

การใช้งาน

var
    Result: Integer;
begin
    Result := GetAbsoluteValue(-10);
    Message('The absolute value is %1', Result); // Output: The absolute value is 10
end;

ตัวอย่างที่ 2: หาค่า Abs ของจำนวนทศนิยม

procedure GetAbsoluteDecimal(Number: Decimal): Decimal
var
    AbsoluteValue: Decimal;
begin
    AbsoluteValue := Abs(Number);
    exit(AbsoluteValue);
end;

การใช้งาน

var
    Result: Decimal;
begin
    Result := GetAbsoluteDecimal(-15.75);
    Message('The absolute decimal value is %1', Result); // Output: The absolute decimal value is 15.75
end;

การนำไปประยุกต์ใช้

Abs มีประโยชน์อย่างมากในการคำนวณที่ต้องการค่าสัมบูรณ์ เช่น

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

ตัวอย่างการประยุกต์ใช้

procedure CalculateDistance(PointA: Decimal; PointB: Decimal): Decimal
var
    Distance: Decimal;
begin
    Distance := Abs(PointA - PointB);
    exit(Distance);
end;

การใช้งาน

var
    DistanceResult: Decimal;
begin
    DistanceResult := CalculateDistance(20.5, 10.25);
    Message('The distance is %1', DistanceResult); // Output: The distance is 10.25
end;

สรุป

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

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” ภายในระบบ การตั้งค่านี้ช่วยให้คุณสามารถปรับแต่งการทำงานของระบบให้เหมาะสมกับความต้องการขององค์กร ลดความซับซ้อน และป้องกันข้อผิดพลาดที่อาจเกิดขึ้นจากการป้อนข้อมูลที่ไม่ถูกต้อง