22 Mayıs 2017 Pazartesi

Form Açıldığında Talep Edilen Alanların İstenilen Şekilde Gelmesi

Sizden form açıldığında bazı alanların formda seçili gelmesi istenilirse;

Örneğin aşağıdaki formda Sebep kodunda birçok seçenek var fakat bu alanın DBTS-01 seçeneği form açıldığında gelsin istenildi.(Sebep kodu'nun seçilmesini ilgili yetkisini de kapatırsanız kişinin  diğer seçenekleri seçemeyip, formda gelen seçenekle devam eder)




Bunu yapmak için Formun methods kısmında init'ine aşağıdaki kodu ekliyoruz.
public void init()
{   
    super();

    SalesLine.ETGReasonCode =  "DBTS-01";
   
 }
 
Talep edilen sevk tarihini forma eklediğimde benim karşılaştığım sorun; sabit bir tarih geliyor(31.015.2015) gibi, bu alana yeni tarih girileceği için boş gelmesi gerekiyor.
Bu şekilde bir sorunla karşılaşırsanız tarih alanını boşaltmanız gerekiyor. Bunun için yine formun init'ine
public void init()
{   
    super();

    SalesLine.ETGReasonCode =  "DBTS-01";
    SalesLine.ShippingDateRequested =  datenull(); // init'e yeni eklediğimiz kısım

}

18 Mayıs 2017 Perşembe

Dynamics Ax Dialog ile Formda Güncelleme Yapma (2)


Bir önceki örnekte formun DataSource'u View ise Dialog ile güncellemenin nasıl yapılacağını incelemiştik.

Bu örneğimizde de güncellenecek formun DataSource'u Table olduğunda arasındaki küçük farktan bahsedelim.

Formun Design bölünden buton ekliyoruz ve click methoduna aşağıdaki kodu yazıyoruz;
void clicked()
{
    super();

    element.updateGCBNo();
}

Alttaki kodu da formun methods bölümüne yazıyoruz.
void updateGCBNo()
{
    
  Dialog                  d = new Dialog(strfmt("%1 için GCB No düzenle",           ATMDisTicHead.ATMDisTicID)); // üzerinde bulunan ihracat ref noyu formun başlığında gösterir

    DialogField             dlgETGGCBNo;
    DialogGroup             dlgGroup;
    ATMDisTicHead           DisTicHead;
    ;

    dlgGroup = d.addGroup("Düzenle");
    dlgGroup.widthMode(FormWidth::ColumnWidth);
    dlgETGGCBNo    = d.addField(typeid(ETGGCBNo), DisTicHead.ETGGCBNo, "GCB No");
    dlgETGGCBNo.value(AtmDisTicHead.ETGGCBNo);

    d.run();
    {
        if (d.closedOk())
        {
            {
                ttsbegin;

               if ( AtmDisTicHead )
                {
                    AtmDisTicHead.selectForUpdate(true);
                    AtmDisTicHead.ETGGCBNo = dlgETGGCBNo.value();
                    AtmDisTicHead.doUpdate();
                }
                ttscommit;

                ATMDisTicHead_ds.research(true);
            }
        }
    }
}

12 Mayıs 2017 Cuma

Dynamics Ax Dialog ile Formda Güncelleme Yapma




Dynamics Ax Dialog




Dialog ekranı üzerindeki alanların(DialogField) nasıl ezilebilebileceğini bir örnekle inceleyelim.

İstenilen alanın DataSource'u View ise;

View'in DataSource'undan ilgili Table'ın RecId'sini Fields'lerin içine atıyoruz.
RecId1 olarak gelir ben adını TransRecId olarak değiştirdim.




Sonra Dialog ekleyeceğim forma geliyoruz, bir buton ekleyip clicked metoduna;
 void clicked()
    {
      super();
       element.updateBankNegInstRecipient(); 
    }



updateBankNegInstRecipient metodunu da Formun Methods kısmına yazıyoruz.
 void updateBankNegInstRecipient()
{
    Dialog                  d = new Dialog("Faiz Oranı & Vade Tarihi düzenle");
    DialogField             dlgBankNegInstRecipientName;
    DialogField             dlgDueDate;
    DialogGroup             dlgGroup;
    LedgerJournalTrans   ledgerJournalTrans;
    ;

    dlgGroup = d.addGroup("Düzenle");
    dlgGroup.widthMode(FormWidth::ColumnWidth);
    dlgBankNegInstRecipientName    = d.addField(typeid(BankNegInstRecipientName), "Faiz Oranı");
    dlgBankNegInstRecipientName.value(DRTLedgerJournalTrans.BankNegInstRecipientName);

    dlgDueDate    = d.addField(typeid(DueDate), "Vade Tarihi");
    dlgDueDate.value(DRTLedgerJournalTrans.Due);

    d.run();
    {
        if (d.closedOk())
        {
            {
                ttsbegin;
              ledgerJournalTrans=ledgerJournalTrans::findRecId(DRTLedgerJournalTrans.TransRecId, true);

               if ( ledgerJournalTrans )
                {
                    ledgerJournalTrans.BankNegInstRecipientName = dlgBankNegInstRecipientName.value();
                    ledgerJournalTrans.Due = dlgDueDate.value();
                    ledgerJournalTrans.doUpdate();
                }
                ttscommit;

                DRTLedgerJournalTrans_ds.research(true);
            }
        }
    }
}


Total ciro

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