Enterprise Portal’da AxGroup Lookup’ını Filtreleme

Ocak 28, 12 Yazan: akın

Enterprise Portal’da bildiğiniz gibi formları oluşturmak için sayfaya öncelikle Datasource daha sonra Axform ve o Axform’un içine Axgroup eklersiniz.

Daha sonra Axgroup’ın alanlarını seçerek bu formun güncelleme için mi yoksa yeni kayıt için mi kullanılacağını belirlersiniz.

Belirlediğiniz alanlarda bir Lookup var ise, sayfayı publish ettiğinizde bu lookup değeri dropdownlist olarak gözükecek ve siz değer seçmek için tıkladığınızda ise postback olup ajax ile gerçek değerleri getirecektir.

Bu gelen değerler aslında o EDT’deki tüm satırlardır. Bir noktada bu değerleri filtrelemek ve sayfaya göre getirmek isterseniz aşağıdaki adımları ve kodları kullanabilirsiniz..

Önce, Axform’un OnLookup özelliğine yazacağımız methodun ismini veriyoruz: OnLookup=”MainContact_Lookup”>

Daha sonra codebehind’a ise aşağıdaki kodu eklemeniz yeterli.

    protected void MainContact_Lookup(object sender, AxLookupEventArgs e)
    {

        try
        {
            AxLookup lookup = e.LookupControl;
            int _OBSRBOEPIncomeExpenseRequestTableNum = TableMetadata.TableNum(this.AxSession, "EmplTable");

            using (Proxy.SysDataSetBuilder sysDataSetBuilder = Microsoft.Dynamics.Framework.BusinessConnector.Proxy.SysDataSetBuilder.constructLookupDataSet(this.AxSession.AxaptaAdapter, TableMetadata.TableNum(this.AxSession, "EmplTable")))
            {
                lookup.LookupDataSet = new DataSet(this.AxSession, sysDataSetBuilder.toDataSet());
            }

            lookup.LookupDataSet.Init();

            using (Proxy.Query query = lookup.LookupDataSet.DataSetViews[0].MasterDataSource.query())
            {
                using (Proxy.QueryBuildDataSource datasource = query.dataSourceName("EmplTable"))
                {
                    TableMetadata handHeldMetaData = MetadataCache.GetTableMetadata(this.AxSession, _OBSRBOEPIncomeExpenseRequestTableNum);
                    TableDataFieldMetadata handHeldField = (TableDataFieldMetadata)handHeldMetaData.Fields.GetByName("EmplId");


                    using (Proxy.QueryBuildRange range = datasource.addRange(handHeldField.FieldId))
                    {
                        range.status = (int)Proxy.RangeStatus.Hidden;
                        range.value = "0000"; // filtrelenmek istenen deger
                    }

                }
            }
        }
        catch (Exception ex)
        {
            InfoWrite("Lookup olusturulurken hata olustu: " + ex.Message);
        }

    }

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Enterprise Portal’da Mevcut Context İle Sayfa Yönlendirmesi

Ocak 27, 12 Yazan: akın

Enterprise Portal’de bazen bir kaç adım içeren işlemler yapmanız gerekebilir. Bu durumda mevcut sayfada kayıt ettiğiniz veya kullandığınız verileri diğer sayfaya da aktarmanız gerekir.

Verileri diğer sayfaya aktarabilmek için öncelikle Axapta tarafında Web Url Menu Item oluşturmanız ve bu menünün hangi sayafaya yönleneceğiniz belirtmeniz gerekir.

Daha sonra Visual Studio’da code behind’da aşağıdaki kodu kullanmanız yeterli.

 AxTableContext context;
        AxUrlMenuItem menuItem;

        // Dataset'te mevcut olan satir alinir.
        row = AxDataSource1.GetDataSet().DataSetViews["smmBusRelTable"].GetCurrent();

        // Mevcut datasource satirindan context nesnesi yaratilir.
        context = AxTableContext.Create(row.GetDefaultTableDataKey(row.DataSetView.Metadata.RootDataSource));

        // Sayfayi acmak icin AxUrlMenuItem olusturulur.
        menuItem = new AxUrlMenuItem("OBSBrAddDeneme");

        // Olusturulan menu item'a context belirtilir.
        menuItem.MenuItemContext = context;

        // ve sayfa yonlendirmesi yapilir.
        Response.Redirect(menuItem.Url.OriginalString);

Geçiş yaptığınız sayfada ise artık bu contexti kullanabilirsniz.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Axapta Date Null Kontrolü

Ocak 23, 12 Yazan: akın

Axapta’da tarih alanlarında null değerler için sabit bir değer atanır. Bu alanın null olup olmadığını Global class’taki methodu kullanarak kontrol edebilirsiniz.

if (date == Global::datenull())

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

SEO

Ocak 21, 12 Yazan: akın

Sende mi SEO ile uğraşıyorsun diyenleriniz olabilir fakat SEO’nun tam olarak ne demek olduğunu ve yine bazı çalışmalarımın ışığında değişen dinamikleri paylaşınca sanırım bana hak vereceksiniz. Seo’nun açılımı Search Engine Optimization olup arama motorlarına ait robotik botlara yardımcı olmaktan başka birşey değildir.

Seo’nun ilk yıllarında bunun tamamen arama sonuçlarını manipüle etmek olduğu anlaşılıyordu fakat hiçbir zaman öyle olmadı. Google’ın algoritmalarında amaç yüksek puanlı sayfaları üst sıralarda çıkarmaktı. Yaklaşık 200 kriteri değerlendirerek sizin sayfalarınıza bir not verir ve arama sonuçlarındaki başarınız ortaya çıkardı. Anlayacağınız üzere Google milyarlarca sayfaya not vermiş durumda. Tabii ilk zamanlarda (5-6 yıl önce) bir sayfanın öne çıkmasındaki en büyük etmen popülerlikti. Bu durumda sizin sayfanızdan kaç kişi bahsemişse o kadar yukarıda oluyordunuz.

Uyanık kullanıcılar para karşılığı bu işi yapınca Google’da önlem almak zorunda kaldı. Neyseki son PANDA algoritması sayesinde oldukça başarılı oldu. Artık popülerlik değil; özgünlük, güncellik, sosyal medya başarısı gibi kriterler ortaya çıktı. Ayrıca Link Bait gibi bir kavram ortaya atıldı.

Google kısaca kullanıcıya ne kadar iyi bilgi verirsen o kadar öne çıkarsın diyor. Link Bait ise yazılarınızda video, resim.. vs gibi görsel marteryallerin yanında yeterli ölçüde yazı yazmanız gerektiğini anlatan bir terim.

SEO kavramı ikiye ayrılmış durumda. On-Page Seo ve Off-Page seo. On-Page Seo tamamen site üzerinde yapmanız gereken önemli değişiklilerdir. Mesela artık xhtml değilde html5 kullanmanız, W3C standartlarını tutturmanız, User friendly url kullanmanız gibi. Off-Page Seo ise tamamen arama sonuçlarını manipule etmenize yönelik çalışmalardır. Kesinlikle kaçınmalısınız. Bir kere bulaşırsanız sürekli devam etmelisiniz. Bir süre bırakmanız sitenizin hemen spam olarak algılanmasına sebep olacaktır.

Size tavsiyem iyi bir seo uzmanı ile sadece On-Page seo çalışması yapıp geriye kalan tüm enerjinizi kullanıcının daha çok yararlanmasına harcamalısınız.

Google sürekli algoritma değiştirdiği için son değişikliği de kendi tespitlerime dayanarak söylemek istiyorum. Son 2-3 senedir Google’ın en çok sevdiği sistem şüphesiz WordPress’ti fakat özellikle yabancı sitelerdeki gözlemlerim bunun değiştiğini söylüyor eğer Amerika’da başladıysa Türkiye’ye gelmesi yakındır.

WordPress sitelerin index sayıları ve başarılı tartışmasız çok iyiydi. Bunu bilen akıllı! site sahipleri hemen spam sitelerini WordPress olarak açmaya başladılar ve şu anda spam sitelerin neredeyse tamamı WordPress kullandığı için projelerinize wordpress ile başlamak akıl karı değil.

Eskisi kadar sevilmiyor. Custom code ve tasarımla yola başlamanız sizin için daha hayırlı olacaktır. Son olarak bu işi profesyonel olarak yapmayı düşünenlere şunu belirtmek istiyorum. Geçen sene Seo alanındaki ilk firmalardan bir tanesinin yıllık cirosu 100 mio $ olarak açıklandı.

Ülkemizde oldukça bakir olan bu sektöre girerseniz bir kaç sene içerisinde doğru iş yaptığınızı anlarsınız. Bu arada size hemen bir başlangıç noktası vereyim. Google her yeniliği önce Amerika’da yapıyor tutarsa diğer ülkelere uyguluyor. Bu durumda gözünüz sürekli Google Amerika’daki değişikliklerde olmalı.

Sen neden girmiyorsun diye aklınıza bir soru gelirse, şunu belirteyim kariyer hedefim çok farklı bir noktada..

 

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Kar 2: Çalışmak Güzeldir :)

Ocak 20, 12 Yazan: akın

 

müzik

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Kar 1 :)

Ocak 18, 12 Yazan: akın

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

:)

Ocak 11, 12 Yazan: akın

Uykusuz her gece bu soğuk “kahvede” : )

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Tespitler

Ocak 08, 12 Yazan: akın

Zaman zaman gözüme çarpan şeyler hakkında birşeyler yazdığımı blogumu takip eden kişiler biliyorlardır.

Zaman kısıtından dolayı sohbete girmeden aktarmak istediğim konuya giriyorum. Türk teknoloji kullanıcılarının çok büyük bir kısmı hayatlarını kolaylaştıracak ve düzene sokacak yazılımları kullanmıyorlar varsa yoksa oyun, sosyal medya veya instigram gibi eğlenmeye yönelik yazılımları kullanıyorlar.

Bunları gereksizdir demiyorum fakat ellerindeki cihazların daha etkileşimli kullanılabilmesi için eğlencenin dışında da kullanmalarını öneririm. Mesela bir iki gün önce App World’de dolaşırken finans konusundaki yazılımları inceliyordum.

Finans yazılımlarından kastım kişisel olarak harcamalarınızı kontrol edebileceğiniz, bütçeleme yapabileceğiniz yazılımlardan bahsediyorum. Yurtdışında oldukça yoğun olarak kullanılan bu yazılımlar Türkiye’de malesef kullanılmıyor. Bu yazılımlar günlük harcamalarınızı, faturalarınızı vs girerek gününde ödemenizi sağlıyorlar. Belli sürede para biriktirmeniz için harcamalarınızı düzenliyorlar. Ülkemizdeki bankacılık sisteminin oldukça gelişmiş olmasından dolayı bu yazılımların kullanımı gereksizleşebiliyor  fakat benim anlatmak istediğim konu bu değil tabii.

Finans yazılımlarına ek olarak diyet veya spor gibi sağlık yazılımları da olabilir ya da belli bir alışkanlığınızı sistemik olarak terketmenize yardımcı olacak (sigara gibi) yazılımlar da örnek verilebilir. (Eğitim, Okuma alışkanlığı vs..) Bu örnekler daha da arttırılabilir.

Kısaca bu yazımdan etkilenip telefonunu daha efektif kullanmak isteyenler, öncelikle kendilerini gözlemleyerek değiştirmek/geliştirmek istedikleri yönleri ile alakalı yazılımları App Storeları, Worldleri gezerek keşfedebilir telefonlarını asistanları olarak kullanabilirler.

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Kendine güvenen var mı?:)

Aralık 28, 11 Yazan: akın

 

http://grooveshark.com/#/s/Born+To+Die/4jjz7i?src=5

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email] 

Yağmur Güzeldir

Aralık 21, 11 Yazan: akın

Daha yağmurlar başlamadan en kalın kıyafetlerini giymişler. Hava kötü diye dışarı çıkmaya korkuyorlar. Planlarını iptal ediyorlar. Manzaranın ve havanın keyfini çıkarmıyorlar.

Aşağıdaki resmi bu sabah çektim terastayken. Sizce bu manzara kötü mü?

Yağmurlu Hava

[del.icio.us] [Facebook] [Fark] [Faves] [Furl] [Google] [MySpace] [MyWeb] [Newsvine] [Reddit] [Slashdot] [StumbleUpon] [Windows Live] [Yahoo!] [Email]