Hatalı ve Yanlış girişleri engellemek ve Reguler Expressions

Müşteri ilişkilerini önemseyen bir firmada müşteri telefonları ve e posta adresleri büyük önem taşır.

Ve tablolarımızda kullandığımız ilgili alanların sadece zorunlu olması kullanıcılarımızı doğru bilgi girmesini sağlamaya yetmez.

Özellikle anlamsız bilgi girenler için ayrı bir paragraf açmalıyız çünkü bu konuda gerçekten yaratıcı bir millet olduğumuzu ifade etmeliyim. Bir müşterimizde CRM modülündeki telefon numaralarının ortalama olarak %30’u aynı numaralardan oluştuğuna şahit olmuştum. Muhtemelen e posta adresleri için de durum pek iç açıcı değildir. Ayrıca Türkiye’nin öne gelen kargo firmalarından birinde her kargo göndermemde TC kimlik numarası alanının varsayılan bir değer ile doldurulduğunu görüyorum. Bu tür girişler konumuzun biraz dışında, devam edelim…

Hatalı girişleri engellemek adına, daha kontrollü girişler sağlamak, daha doğru bilgi elde etmemizi sağlayabilir. Bu işlem için de Reguler Expressions ya da kısa adıyla Regex kullanmak çok faydalı olabilir. Regex, özetle bir alana girilecek olan olası bilgilerin formatını belirlemek için kullanılabilir. Buna terminolojide genellikle “maskeleme” denmektedir. Daha detaylı bilgi için tıklayınız.

konumuza dönersek; örneğin için Türkiye’deki sabit telefon numaraları için şehirler arası kodlar 02, 03 ya da 04 ile başlamaktdır. Batı illeri 02, orta kısım 03, doğu ise 04 olarak kodlanmıştır. Bunun haricinde tüm Türkiyede telefon numaraları toplam 11 hanedir. Şimdi bu bilgileri kontrol etmek için nasıl bir Regex kullanabiliriz?

Okumaya devam et

Kullanıcı arayüzlerinde amaca uygunluk ve olası hataları engelleme yaklaşımı

Merhaba.

Bir önceki yazımda fonksiyonalite ve basitleştirme yaklaşımı ile ilgili fikirlerimi paylaşmıştım. Okuyan arkadaşlarımdan olumlu yorumlar aldım, hepsine teşekkür ederek bir diğer konuyu paylaşmak istiyorum.

Yıllar önce ilk kişisel bilgisayarlarımızı aldığımızda Windows 95 kullanmaktaydık. Ve Windows 95 kurmak için disket kullanılmakta idi. Genç arkadaşlar muhtemelen inanamayacaklar ama her birisi sadece 1.44 MB kapasiteye sahip 40 (yazıyla kırk ! ) kadar disket kullanarak işletim sistemi yükleniyordu. Nostalji için Microsoft’un internet sitesinden Windows 95’in gereksinimlerini inceleyebilirsiniz.  Ayrıca Windows 95 nasıl birşeydi diye merak ediyorsanız şu resmi bir inceleyebilirsiniz:

Windows95

Şimdi sıkı durun; Windows 95’i kurmak için öncelike bilgisayarı başlatacak MS-DOS disketi oluşturmak, bu disketle bilgisayarı açmak (boot etmek), ilk Windows diskini takıp bu diskteki setup dosyasını bulmak, bulunan bu dosyayı çalıştırmak (run), sonraki adımlarda doğru sıra ile doğru disketleri takmak ve en sonunda da yine disketleri kullanarak tek tek driverları (ekran, anakart, eternet vb) yüklemek gerekiyordu. Tabi son işlem hariç tüm işlemler DOS ekranında (şu siyah ekran var ya, işte o) yapılyordu. Dolayısı ile Windows 95 kurmak sadece işletim sistemini kurmaktan çok daha fazlasını gerektiriyordu. Yani tam bir “bilgisayarcı çocuk” olmanız gerekmekte idi.

Bilgisayarcı çocuk (temsili resim)

Computer-Addict-copy

Okumaya devam et

Yazılım geliştirmede fonksiyonalite ve basitleştirme yaklaşımı

Hemen her konuda fonksiyonalite ile basitlik arasında bir ters orantı olduğunu söylemek mümkündür.

Örneğin çok amaçlı bir tornavida setinin karmaşıklığı tek bir iş yapan tornavidadan çok daha fazladır.

Karmaşıklık ise genellikle kullanım zorluğu ile eşgüdümlüdür. Dolayısı ile karmaşık bir aygıtın (tool) kullanılması da zordur.

multiScrew

Peki bir taraftan çok fonksiyonluluk bizim için gerekli iken kullanım kolaylığı da gerekiyorsa ne yapmalıyız? Sadece bu konuya yönelik çalışmalar yapan firmalar olduğunu elbette biliyoruz. İsviçre çakıları bu konudaki en iyi örneklerdendir. Ama yine de çok amaçlı bir İsviçre çakısının tüm fonksiyonlarını çok kolay gerçekleştirdiğini söylemek mümkün değildir.

Okumaya devam et

Windows 8 Retro style dizaynının ERP ve CRM ile ilgili gelecek tasarımları

Merhaba.

Windows 8 de tüm diğer Windows versiyonları gibi kimileri tarafından beğenildi, kimileri tarafından beğenilmedi. Windows 8 ile gelen bu moda genel olarak Retro olarak anılıyor. Bu arada Retro “Modası geçmiş birşeyin tekrar moda olması” anlamına gelmekte imiş.

Ben estetik olarak Windows 8’i beğenenlerdenim. Ayrıca karşı koymak bir işe yaramadığından kendi kendimi üzmenin de bir anlamı olmadığını düşünüyorum. Bununla birlikte 8.1 güncellemesini yükledim, bence daha güzel oldu, tavsiye ederim.

Gelelim konumuza; mevcut gidişata göre moda tuttu ve Microsoft bu tasarıma biraz daha yatırım yapacak gibi görünüyor.

Bir diğer blogdan alıntı yaparak ( zdNet.com/blog ) paylaştığım alttaki içeriği incelemenizi öneririrm.

Okumaya devam et

Ax 2012 – FastTabs nedir? ve FastTab ta Özet (FastTabSummary)

Merhaba,

Bugünki yazımda size görsellik olarak Ax 2012 de yeni eklenen bir özellikten ve ayrıntısından bahsetmek istiyorum.

Ax 2009 da browser’larda olduğu gibi sadece üstte olan tablar ekleyebiliyorduk. Ancak Ax 2012 de bize 4 farklı Tab ekleme yöntemi geldi. Bunlardan,

* Tabs (Bildiğimiz üstteki tablar)

* FastTabs(Açılıp, kapanan alt alta tablar)

* VerticalTabs(solda sabit tab başlıkları. sağ tarafta tabların içeriklerinin bulunduğu tab)

* IndexTabs (altta bulunan tablar)

Bu yazımda size FastTabs lardan bahsetmek istiyorum. Okumaya devam et

DialogFieldlarda Lookup Değiştirmek

Ax 2009 dokümanlarında karmaşık dialoglar yapmak yerine basit formlar kullanın şeklinde bir öneri yer almakta idi.

Bu nedenle de bir dialog’da fieldlardan birine lookup yazmak gerektiğinde hiç uğraşmayıp, bunun yerine basit bir form yapmak daha kullanışlı olmakta idi.

Ax 2012 ile pek çok güzel özellik eklenmiş ve en azından bahsettiğim konu için form yapmaya gerek kalmamış.

Alttaki örnekte DialogField’a runTime lookup eklemek ile ilgili örnek kodları bulabilirsiniz.

Faydalı olması temennisi ile.

Emre TÜFEKÇİ
İstanbul
www.atol.com.tr

Okumaya devam et

Ax 2012 Dialog Fieldlarda Replacement Key kullanımı

Malumunuz Ax 2012 yepyeni bir platform ile geldi ve bildiğimiz şeylerin pek çoğunu yeniden öğrenmemiz gerekti.

Bunlardan bir tanesi de ReplacementKey yapısı.

Eskiden hemen her tablo birbiri ile Extended Data Type’lar üzerinden ilişkilendirilmişken, Ax 2012’de çoğu tablo için RecId ilişkisi tercih edilmiş.

recId malumunuz Int64 tipindedir.

Bu bir bakıma iyi, bir bakıma kötü :

iyi tarafı; Indexler için Int64 kullanılması daha isabetlidir, join ederken Str alan yerine Int64 daha mantıklıdır vs

Kötü tarafı : Tablodaki dataya bakarak ne ile ilişkili olduğunu anlamak çok zorlaşmış olur, Formlarda ya da Dialog alanlarında RecId görünmesi çok çirkin olacaktır.

Okumaya devam et