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.
Merhaba
Müşteri adatandırma adıyla yaptığım bir raporda kullandığım müşterinin belli kriterlere göre cirosunu hesaplayan query’ i paylaşıyorum. Burda Query kullanmamın asıl sebebi range olarak verilecek olan değerlerin bazen boşta gelebiliyor olması. Boş olma durumununda hesaplanması için query de if le kontroller yapmak zorunda kaldım.
Metodu çağıran kod şöyle:
element.sumCiro(CustTrans.AccountNum, CustTrans.OrderAccount, CustTrans.ETGSalesResponsible , CustTrans.ETGSalesUnitId);
Metodumuz şöyle:
void sumCiro(AccountNum _accountNum , CustAccount _custAccount , EmplId _emplId , smmSalesUnitId _unitId) { CustTrans custTrans; Query q; QueryRun qRun; QueryBuildDataSource qbdsCustTrans; QueryBuildRange qbrEmplID; QueryBuildRange qbrCustAccount; QueryBuildRange qbrAccountNum; QueryBuildRange qbrUnitId; ; Ciro = 0; q = new query(); qbdsCustTrans = q.addDataSource(tableNum(CustTrans)); qbdsCustTrans.addSelectionField(fieldNum(CustTrans, AmountMst), SelectionField::Sum); if(printAccountNum) { qbrAccountNum = qbdsCustTrans.addRange(fieldNum(CustTrans, AccountNum)); qbrAccountNum.value(sysQuery::value(_accountNum)); } if(printOrderAccount) { qbrCustAccount = qbdsCustTrans.addRange(fieldNum(CustTrans, OrderAccount)); qbrCustAccount.value(sysQuery::value(_custAccount)); } if(printSalesRes) { qbrEmplID = qbdsCustTrans.addRange(fieldNum(CustTrans, ETGSalesResponsible)); qbrEmplID.value(sysQuery::value(_emplId)); } if(printUnitID) { qbrUnitId = qbdsCustTrans.addRange(fieldNum(CustTrans, ETGSalesUnitId)); qbrUnitId.value(sysQuery::value(_unitId)); } qbdsCustTrans.addRange(fieldNum(CustTrans, ETGReversed)).value(sysQuery::value( ETGReverseType::No)); qbdsCustTrans.addRange(fieldNum(CustTrans, TransType)).value(sysQuery::valueNot( LedgerTransType::Settlement)); qbdsCustTrans.addRange(fieldnum(CustTrans, TransDate)).value(sysquery::range(startDate , endDate)); qbdsCustTrans.addRange(fieldnum(CustTrans, AmountMST)).value('( AmountMST > 0 )'); qRun = new QueryRun(q); while(qRun.next()) { custTrans = qRun.get(tableNum(CustTrans)); Ciro = CustTrans.AmountMST; } }
Selamlar.
Tarih: 16,17, 23, 24, 30 Eylül – 1,7,8, 14, 15, 21, 22, 28 Ekim – 4 Kasım 2011
Süre: 15 gün Eğitmen: Fatih Demirci Eğitim Hakkında: Bu eğitim, katılımcıları en temel düzeyden başlayarak Dynamics Ax içinde geliştirme yapabilecek seviyeye getirmeyi amaçlamaktadır. Eğitim süresince Dynamics AX geliştirici adayının gerçek ortamda karşılaşabileceği örnekler incelenerek hedefe yönelik çalışmalar yapılmaktadır. Katılımcı Profili: Dynamics AX geliştirici adayları Bu kursu bitirdiğinizde: Katılımcılar eğitim sonunda, Dynamics AX 2009 ile temel düzeyde kod geliştirme özelliklerini ve geliştirme ortamı yeteneklerini öğrenmiş olacaklardır. Bu seviye, katılımcıların geliştirmelerin büyük kısmının yapılabilmesi için yeterlidir. Ön Gereksinimler:
Ek olarak, tavsiye edilen ancak şart olmayan 280020 – Introduction to Microsoft Dynamics AX 2009 eğitimi faydalı olabilir. Eğitim İçeriği:
Ücrete dahil olanlar:
Eğitim Bedeli: 1800 USD + KDV / Kişi Yer: Datatraining (ETG), İnönü cad. Çetinkaya İş Merkezi No: 92 Kat:5 Kozyatağı / İstanbul Tel: 0(216) 380 60 00 Dil: Oturum Türkçe olarak sunulacaktır. Kayıt için: Handan Yazıcıoğlu (handan@datatraining.net) |
Merhaba
Label kodunun metnine ulaşmak için bu job örneğini kullanabilirsiniz.
static void retrieveLabel(Args args) { Syslabel label = new label("TR" ); //”En-us” Str someTxt; ; someTxt = strFmt( label.extractString( literalStr("@SYS92165") ) ); info(someTxt); }
Merhaba
Örneğin muşteriler formunda CTRL veya Shift tuşlarıyla birden çok kayıt seçebilirsiniz. Bazı durumlarda belli kritere uyan kayıtları seçili hale getirmek isteyebilirsiniz. Mesala para birimi dolardan farklı olan müşterileri seçip onların Id lerini görelim. CustTable formuna bir buton ekleyip click(); metoduna şu kodu yazalim.
void clicked() { CustTable custTableMark; CustTable buffer; ; while select custTableMark where custTableMark.Currency != "USD" // herhangi bir kriter verebilirsiniz { // datasource taki kayıtları işaretliyoruz // CTRL veya Shift ile seçmişiz gibi davranır custTable_ds.markRecord(custTableMark,1); // 0 ve 1 işaretlemeyi belirler } // DataSource'ta seçtiğimiz kayıtları dolanmak için bu kodu kullanabiliriz. for (buffer = custTable_ds.getFirst(true) ? custTable_ds.getFirst(true) : custTable_ds.cursor(); buffer; buffer = custTable_ds.getnext()) { info(buffer.AccountNum); } }
Selamlar.
Merhaba
Axapta editorunda sağ script menusu mevcut bazı uygulamalar mevcut. Sizde bu menuye kendi scriptlerinizi ekleyebilirsiniz.
Öreneğin benim geliştirmelerde kullandığım standart bir yorum satırı var. Şu şekilde ;
// <ETG – etg_fd > GN :002 T : 28.05.2011 A : Stok kartı düzeltmeleri
// <ETG – etg_fd > GN :002
Tanımı şöyle ;
// <ETG – /*Revizyon yapan*/> GN: /*Geliştirme no*/ T: /* Tarihi buraya yazıyoruz*/ A: /* açıklama*/Bu kodu Script menusune eklemek için EditorScript klasına şu metodu eklemeliyiz.
Merhaba,
Axaptada örneğin CustTable formunda sağ tıklayıp kayıt bilgileri derseniz aşağıdaki ekran açılır.
Yeniden adlandır butonu ile müşteri kodunu değiştirebilirsiniz. Ax bütün ilişkili tablolarda müşteri kodunu değiştirir. Bu işlem PrimaryKey olan diğer alanlar içinde gecerlidir. Farklı formlarda bu fonksiyonu kullanabilirsiniz. Ancak bu işlem tek bir kayıt için çalışır. Öreneğin siz bütün müşterilerin başında “M-” olsun istiyorsunuz bunu kodla yapmanız gerekir.
Örnek bir job yazalım:
Tarih: 6-7-8 Haziran 2011
Süre: 3 gün Hakkında: Toplam 3 iş günü sürecek bu eğitim, katılımcılara Microsoft Dynamics CRM 2011 özelleştirme ve yapılandırma konularında gerekli becerileri kazandıracaktır. |
Tarih: 13-14 Haziran 2011
Süre: 2 gün Hakkında: : Toplam 2 iş günü sürecek bu eğitim, katılımcılara Microsoft Dynamics CRM 2011 kurulum ve konfigurasyon konularında gerekli becerileri kazandıracaktır
Katılımcı Profili: Bu eğitim, Microsoft Dynamics CRM 2011 kurulum ve yapılandırılmasını yapacak, danışman, sistem entegretörü ve destek uzmanlarına yöneliktir. |
Pts | Sal | Çar | Per | Cum | Cts | Paz |
---|---|---|---|---|---|---|
« Eki | ||||||
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |