Posts Tagged ‘ Args

Parm metod ile nesneler arasında parametre göndermek

Merhaba

Ax’ta iki nesne arasında iletişimi args sınıfıyla sağladığımızdan bahsetmiştik. Bu makelede Args().Celler() metodunun bir kullanımını anlatacağım.

Şöyel bir istek olsun: Bir formum var içerisinde ItemId ve TransDate seçebildiğim iki alanım var. Bu alanlar herhangi bir tablodan gelmiyor. Direk form üzerinde oluştrulmuş alanlar. Ben bu iki alanı doldurduktan sonra bir butonla başka bir form açtırıyorum ve bu iki alanın değerini açtırdığım forma göndermek istiyorum.

Alan isimlerimiz  ItemIdField ve TransDateField  olsun.

Bunlar için birinci forma parm metodlar yazalım.

ItemId parmItemId()
{
    ;
    return ItemIdField.valueStr();
}
TransDate parmTransDate()
{
    ;
    return TransDateField.valueStr();
}

Buton ile açtırdığım ikinci formun init metoduna şöyle bir kod yazarsam bu iki değeri almış olurum.

Read more

InitFromCaller Metod Örneği

Merhaba

Rapora yazdığımız bu metod sayesinde gridden menuitem ile  çağırdığımız raporumuza o satırdaki id ye göre range eklemiş oluruz .

public void initFromCaller(Args _args)
{
    InventQualityOrderTable    _quality;
    QueryBuildDataSource  qbds;
    ;
    if (_args.caller())
    {
        if (! _args.record().RecId)
            throw error(strfmt(“@SYS22338″,funcname()));

Read more

Çağıran formdaişlem yapmak

Merhaba

Buton ile bir formdan başka bir forma geçtiğinizde diğer forma otomatik olarak önceki form nesne olarak aktarılır. Şöyle örnekleyelim. A formundan bir buton ile B formunu açtınız. B formunda bazı değişikler yapıp kapatırken A formunun bir metodunu çağırmak istiyoruz. Örneğin yenileme işlemi yapan bir metodunu çağıralım. Bu işlemi Args nesnei sayesinde yapabiliyoruz.

B formunun ClassDecleration metoduna şu değişken tenımını yapalım;

object callerForm;

B formunun init() metoduna şu kodu ekleyelim ;

callerForm = element.args().caller();

Artık A formu elimizde isteğimiz yerde bildiğimiz herhangi bir metodunu çağırabiliriz.

A formunda veri kaynağını güncelleyen bir metod olsun

void FDRefreshDS()
{
veriKaynagi_DS.executeQuery();
}

B formunun close() metoduna A formunun FDRefreshDS() metodunu çağıran bir kod ekleyelim.

callerform.FDRefreshDS();

Böylece açtığımız formdan bir önceki forma ulaşmış olduk.

Selamlar.