Posts Tagged ‘ Dynamics AX

Formda CTRL veya Shift ile seçilmiş kayıtlarda işlem yapmak

Merhaba.

Axaptada grid üzerinde CTRL veya shift ile çoklu seçim yapılabilir.

Bu özelliği kullandığım bir örneği sizinle paylaşıyorum.

Öreneğimizde seçilen kayıtları bir buton aracılığıyla artan numara atanacak.

Öncelikle eklediğimiz butonun propertisinden MultiSelecet  = Yes yapıyoruz.

daha  sonra  click() metodundan   preNumbering() metodnu çağırıyoruz.

Element.preNumbering();

preNumbering() metodumuz inceleyelim ;

void preNumbering()
{
    CustInvoiceJour localCustInvoiceJour;

    boolean         isPreExist;
;
    isPreExist = false;
    localCustInvoiceJour = CustInvoiceJour_ds.getFirst(1); // çoklu seçim varsa içinde dolanıp  PreInvoiceId dolu olan varsa  uyarı verdiriyoruz

   <!--more-->

 if(localCustInvoiceJour)
    {
        while (localCustInvoiceJour)
        {
            if(localCustInvoiceJour.PreInvoiceId)
            {
                isPreExist = true;
            }
            localCustInvoiceJour = CustInvoiceJour_ds.getNext();
        }
    }
    else // eğer çoklu seçim yapılmamış tek satır seçilmişse burası çalışıyor
    {
         if(CustInvoiceJour.PreInvoiceId)
            {
                isPreExist = true;
            }
  �
    }
    if(isPreExist) // eğer PreInvoiceIddolu olan bir kayıt varsa  uyarı veriyoruz
    {
       if(box::yesNo("Seçilen kayıtlarda matbu numara var, değiştirmek istiyor musunuz?",  dialogbutton::Yes) == dialogbutton::Yes)
       {

           // dolu olmasına rağmen değiştirmek isterse
            element.dialogPreNumbering();
       }
    }
    else // PreInvoiceId  eğer dolu değilse diyaloğumuzu çağırıyoruz
    {
        element.dialogPreNumbering();
    }
}

şidide  dialogPreNumbering() metodumuza bakalım

void dialogPreNumbering()
{
    dialog                  d = new Dialog("Numara başlangıcı");
    dialogField             dfPrefix;
    dialogField             dfSufix;

    DTSeries                Prefix;
    DTStartingNum           Sufix;
    CustInvoiceJour         localCustInvoiceJour;
    CustInvoiceJour         upCustInvoiceJour;
;
    d.addGroup().columns(2);
    dfPrefix = d.addField(typeId(DTSeries),"Seri");
    dfSufix  = d.addField(typeId(DTStartingNum), "Başlangıç");

    if(d.run())
    {
        Prefix      = dfPrefix.value();
        Sufix       = dfSufix.value();

        localCustInvoiceJour = CustInvoiceJour_ds.getFirst(1);

        if(localCustInvoiceJour) // yine seçilen kayıtlarda dolanıp gerekli updateişlemini yapıyoruz.
        {
            while (localCustInvoiceJour)
            {
                ttsbegin;
                upCustInvoiceJour = CustInvoiceJour::findRecId(localCustInvoiceJour.RecId,true);
                upCustInvoiceJour.PreInvoiceId = strfmt("%1%2",Prefix,Sufix);
                upCustInvoiceJour.update();
                ttscommit;

                Sufix += 1;

                localCustInvoiceJour = CustInvoiceJour_ds.getNext();
            }
        }
        else
        {
                ttsbegin;
                upCustInvoiceJour = CustInvoiceJour::findRecId(CustInvoiceJour.RecId,true);
                upCustInvoiceJour.PreInvoiceId = strfmt("%1%2",Prefix,Sufix);
                upCustInvoiceJour.update();
                ttscommit;
      �
        }
    }
  �
    CustInvoiceJour_ds.executeQuery(); // formu tazeledik update işlemleri artık görünür halde

}

Selamlar.

Raporda Resource image kullanmak

Merhaba

Yaptığım bir raporda durumlara göre farklı iconlar göstermem istendi.

Personele verilen zimmetlerin takibi için hazırladığım raporda şöyle bir istek vardı.

Eğer pozisyona verilmesi gereken zimmet personele verilmişse yeşil ikon,

Eğer pozisyona verilmesi gereken zimmet personele verilmemişse kırmızı ikon,

Eğer pozisyona verilmesi gerekmeyen bir zimmet personele verilmişse sarı ikon,

Bunun için benin bulduğum çözümse öncelikle bir metodla resource lardan gerekli ikonu almak .

public  FilePath showResource(str _tip)
{
    #AOT
    ResourceNode resourceNode;
    FilePath filePathLogo;
    ;

Read more

Axaptada Bir Alana Girilen Karakterlerin Kontrolu

Merhaba

Bir string alanınız var. Bu alana bazı karakterlerin girilmesini istemiyorsunuz strFind() metodunu kullanabilirsiniz.

Öreneğin ben bir alana rakam girilmesini istemiyorum.

İlgili alanın tablosunda alanın validatefield() metoduna şu kontrolu yazarsak istediğimizi elde etmiş oluruz.

Read more

Edit metod örneği

Merhaba

Edit metodların bir  çok kullanım alanı  vardır. Biride bir formda kayıtları seçtirmek için noyes edit metodu yazmaktır.

bu metodla alınan kayıtları bir map  veya set’ e atayıp kullanabilirsiniz.

örnek kodlar  şöyledir.

classDecleration

map         oMark ;

init

oMark = new map(types::String,types::Integer);

Read more

Telefon numarası kontrolu

Merhaba

Bü gün lazım oldu bir telefon numarası kontrolu yazdım.

Basit bir kontrol yaptım telefon numarasının  uzunluğu ve sayılardan oluşmasını denetliyor

Metod şöyle:

Read more

Page 4 of 41234