วันพุธที่ 1 สิงหาคม พ.ศ. 2555

All About Form

Link Type: มีหลายๆ datasource ใน Form เดียว

Link ปกติ
Inner Join : เอาเฉพาะมี link
Outer Join : เอาที่ไม่มี Link ด้วย -> ตัวที่ไม่มี Link จะแสดง Recordใน Mater ที่ไม่มี Link ด้วย
Exist  Join : เอาเฉพาะตารางหลัก ที่มี link
Not Exist  Join : เอาเฉพาะตารางหลัก ที่ไม่มี link
Link พิเศษDelayed : default
Passive : ไว้ตอนเขียนโค้ดเอง
Active : ..

Dynalink เช่นตอนดู Transaction ของ Item

ในตัวอย่างนี้เขียนที่ Datasource ของฟอร์ม CustTrans เพื่อทำ DynaLink ใหม่

void init()
{
    Query   query;
    ;

    super();
    //  Clear Dynalink
    /*
    this.query().dataSourceNo(1).clearDynalinks();
    criteriaOpen = this.query().dataSourceNo(1).addRange(fieldnum(CustTrans,Closed));
    custTransDetails = new CustTransDetails(custTrans);
    */
    //

    // Cutomize Dynalink

    this.query().dataSourceNo(1).clearDynalinks();
    this.query().dataSourceTable(tablenum(CustTrans)).addDynalink(
                     fieldnum(CustTrans,AccountNum),
                     element.args().record(),
                     fieldnum(SalesTable,CustAccount));
    criteriaOpen = this.query().dataSourceNo(1).addRange(fieldnum(CustTrans,Closed));

    custTransDetails = new CustTransDetails(custTrans);
  ..





1 ความคิดเห็น:

  1. โครงสร้าง Method
    (parameter)

    Access modifier
    1. Public เป็น default ของ AX
    2. Protected เรียกใช้ได้ใน extended ที่ inherit subclass
    3. Private เรียกใช้ได้เฉพาะในคลาส

    super(); เรียกใช้ method parent ของ super class

    itemId parmItemId(ItemId _itemId =itemid)
    {
    ;
    itemId = _itemId;
    return itemId;
    }


    class child extends parent
    {

    }

    static method เรียกใช้เช่น EmplTable::find(“Pantep”).name

    final method คือไม่ให้ sub class ใช้งาน
    abtract method
    interface class


    Passing value
    AX call by value อยู่แล้ว คือค่าของตัวแปรจะไม่เปลี่ยนแปลงเมื่อถูก method เรียกใช้
    ส่วน call by reference โดย TmpTables

    AX สามารถ return หลายค่าได้โดยใช้ container
    container returnContainer(boolean isFind = true)
    {
    CustAccount custAccount;
    CustName custName;
    ;
    return [custAccount, custName];
    }

    การ optimize โดยใช้ server หน้า method















    Runbase Framework มีคลาสหลักๆ คือ
    1 Runbase
    2 RubbaseBatch
    3 RunbaseReport (is subclass of RunbaseBatch
    )

    Public container pack() ไว้ return ค่า macro
    public boolean Unpack(container packedClass) ไว้ initialize ค่าใน macro CurrentList

    dialog
    getFromDialog
    run

    ตอบลบ