Eyl 5, 2014 - Formlar (Forms), X++    Yorum Yok

Dialog Ekranı

Ax 2012 üzerinde dialog ile işlemler yapmak için birden fazla yöntem bulunmaktadır. Bunların en basiti bir metod içerinde dialog alanlarının oluşturup dialog.run() metodunun çalıştırılmasıyla olur. Daha komplike dialog işlemleri için “RunBaseBatch”ten türetilen classlar yapılabilir. (RunBaseBatch in asıl amacı arka tarafta bir batch(toplu iş) işlemi çalıştırmak için kullanır. Ancak Ax 2012 de kullanılırlığı azalmıştır RunBaseBatch yerine Ax 2012 ile gelen SysOperation Framework classları kullanır. Bu iki yönetemede ilerki konularda bahsetmeye çalışacağız.)

Aşağıdaki örnekte örnek bir Job ile dialog nasıl çalıştırılır göstereceğiz. Bu işlemi bir butonun click methoduna yazarakta butonun tıklandığında ekrana dialog çıkarma işlemini yapabilirsiniz.

static void Erkn_DialogOrnek(Args _args)
{
    Dialog                  dialog;
    dialogfield             dfCustAccount;
    dialogfield             dfLineNum;
    dialogfield             dfIsActive;
    dialogfield             dfTransDate;
    CustAccount             custAcc;
    int                     lineNum;
    boolean                 isActivce;
    TransDate               transDate;

    dialog = new dialog("Örnek Dialog");
    //dialogDeğişkeni = dialog.addField(extendedTypeStr("Extended Data Type yazılır),"Etiket yazılır(Label)");
    dfCustAccount   = dialog.addField(extendedTypeStr(CustAccount),"Müşteri");
    dfLineNum       = dialog.addField(extendedTypeStr(integer),"Sıra No");
    dfIsActive      = dialog.addField(extendedTypeStr(NoYesId),"Aktif");
    dfTransDate     = dialog.addField(extendedTypeStr(TransDate),"İşlem Tarihi");

    //DialogDeğişkeni.Value("Varsayılan değer");
    dfTransDate.value(systemDateGet()); //Varsayılan değer atamak için kullanılır
    dfIsActive.value(NoYes::Yes);

    //dfIsActive.active(false); //active metodu alanı pasif hale getirerek müdahaleye kapatır.

    if(dialog.run())
    {
//Dialogdan gelen değerleri tutmak için aşağıdaki değişkenler kullanılır
        custAcc   = dfCustAccount.value();
        lineNum   = dfLineNum.value();
        isActivce = dfIsActive.value();
        transDate = dfTransDate.value();
    }
}

Dialogdan dönen değerleri tutmak için kullanılan değişkenleri formda “classDeclarationa” tanımlarsanız gelen değerleri formun her yerinde kullanabilirsiniz.

Erkan OĞUZ

Önceki Konu->

<- Sonraki Konu

Benzer yazılar

Yorum Yazın...