Global bir findRecId() metodunu nasıl yazabiliriz

Merhaba

Ax ile yazılım yaparken bir çok kez RecId ye göre sorgulama yapmak zorunda kalmışsınızdır. Genelde Tablolarda findRecId() metodu bulunmaz. Ya direk select cümleciği yazarsınız veya tabloya  findRecId() metodu eklersiniz. Bu daha  iyi bir çözüm olur tabiki. Ancak global  klasına findRecId() metodu eklmek ve heryerden kullanmak daha pratik bir çözüm olabilir. Nasıl yazabileceğimize bakalım.

Herhangi bir tabloyu parametre olarak alabileceği için common kullanıyoruz.

static common findRecId(common _table,
                        RecId   _recId,
                        Boolean _forUpdate = false)
{

    ;
    if (_recId)
    {
        _table.selectForUpdate(_forUpdate);
        select firstonly _table
            where _table.RecId == _recId;
    }

    return _table;
}
Bu metodu Global klasına ekledikten sonra şu şekilde kullanabiliriz.
static void findRecId(Args _args)
{
    custtable ct;
    ;    ct = findRecId(ct ,5637144893); // kullanımı herhangi bir fonksiyonla aynı
    info(ct.AccountNum);
}Selamlar.
 
Comment are closed.