28 Ağustos 2018 Salı

Validate | Dynamics Ax

Belirlediğimiz tarihi ilişkili farklı tablodan kontrol edilerek kontrol ekleyebilirsiniz.

Örnek olarak ilişkisinin müşteri hesabı olduğu iki farklı tablodan birinin formunda datasource'daki ilgili alanın validate'ine aşağıdaki kodu yazarak işlem yaptırabilirsiniz.

public boolean validate() // MAA 27.08.2018
{
    boolean ret;

    ETGCustRiskLimitUpdate  CustRiskLimitUpdate;
    utcDateTime             dateTime;
    dateTime         = DateTimeUtil::addDays(DateTimeUtil::getSystemDateTime(), -90);// bugünden itibaren geçtiğimiz 90 günün tarihini alır.
  //   DRT_CustExplainTable    CustExplainTable = DRT_CustExplainTable::find(CustRiskLimitUpdate.AccountNum);

    ret = super();

      if(DRT_CustExplainTable::find(ETGCustRiskLimitUpdate.AccountNum).modifiedDateTime < dateTime // maa 27.08.2018
        &&  ETGCustomerRisk::find(ETGCustRiskLimitUpdate.AccountNum).CreditLimit < ETGCustRiskLimitUpdate.NewCreditMax
        &&  CustClassificationGroup::findGroup(CustTable::find(ETGCustRiskLimitUpdate.AccountNum).CustClassificationId).CustRiskLimit == NoYes::No) // müşteri sınıflandırma grubu
            {
                return checkfailed(strfmt("%1 carisinin müşteri detay açıklamaları alanını güncellemeniz gerekmektedir!", ETGCustRiskLimitUpdate.AccountNum));
            }

    return ret;
}
DRT_CustExplainTable tablosuyla ilişkisini kurabilmek için iki tablodaki tekil olan CustAccount'u kullanarak find yazıyoruz.
static DRT_CustExplainTable find(CustAccount   _custAccount,
                      boolean       _forUpdate = false) // MAA 13.08.2018
{
    DRT_CustExplainTable DRT_CustExplainTable;
    ;

    if (_custAccount)
    {
        if (_forUpdate)
            DRT_CustExplainTable.selectForUpdate(_forUpdate);

        select firstonly DRT_CustExplainTable
            where DRT_CustExplainTable.CustAccount == _custAccount;
    }
    return DRT_CustExplainTable;
}

Hiç yorum yok:

Yorum Gönder

Total ciro

static void MAA_SalesTableTotal(Args _args) { SalesTable SalesTable; utcDateTime dateTime; dateTime ...