Şirket hesapları ve Crosscompany

Yıldız Hanım’ın sorusu üzerine:

Bildiğiniz üzere Dynamics AX’ta şirket hesapları üzerinden işlemler yapılmaktadır. Şirket hesapları aynı veritabanında ve aynı uygulamada birden fazla tüzel kişiliği yönetmemizi sağlar.
Ayrıca gerçek uygulamaya en yakın testleri yapabilmek için de şirket hesaplarını kullanabiliriz.

Dynamics AX’ta bir sorgu yazdığımızda, aksini belirtmediğimiz sürece tüm sorgulamalar oturumda seçilmiş olan şirket hesabında gerçekleştirilir. Yani bir diğer şirket hesabındaki veriler gösterilmez.

Bu ayrımı sağlamak için Ax’taki tabloların hemen hemen tamamında (User tablosu gibi bazı tablolar hariç) DataAreaId adında bir alan bulunur.

Ancak bazı durumlarda tüm şirket hesaplarındaki verileri görmek isteyebiliriz. Ya da bazı şirket hesaplarını seçip ilgili datayı görmek isteyebiliriz.
Bu durumda CrossCompany anahtar sözcüğü devreye girer.

Alttaki kodları incelerseniz crossCompany özelliğinin sorgularda nasıl kullanıldığını görebilirsiniz.

 

Okumaya devam et

Bir aydaki çalışma günlerininin sayısını bulmak

Bir aydaki hafta sonu günlerininin sayısını bulmak ile ilgili yazımın devamı olarak bu kez de bir aydaki çalışma günlerininin sayısını bulmak konusunu inceleyelim.

İlgili yazıda zaten tatilleri bulduğumuz için, ay içindeki çalışma günlerinin sayısını bulmak kolay olacak.

Burada önemli olan konulardan biri yine Cumartesi gününün durumudur. Bazı durumlarda cumartesi günü tatil sayılırken bazı durumlarda sayılmayabilir.

Ben burada bunu yine parametrik yaptım.

Aydaki toplam gün sayısından, tatil sayısını çıkarırsak kalan değer ilgili aydaki çalışma günlerininin sayısını bulmuş olacağız.

Okumaya devam et

Bir aydaki hafta sonu günlerininin sayısını bulmak

Eğer bordro ya da iş gücü planlama gibi bir konu ile ilgili çalışıyorsanız, bir ay içindeki çalışma günlerini, ya da tam tersi hafta sonu günlerini bulmanız gerekebilir. Bu gibi durumlarda alttaki gibi bir kod işinize yarayacaktır.

İlk çalışmamızda hafta sonlarını bulalım, bir sonrakinde ise bulduğumuz hafta sonu günlerinden faydalanarak çalışma günlerini bulabiliriz. Burada önemli olan konulardan biri Cumartesi gününün durumudur. Bazı durumlarda cumartesi günü tatil sayılırken bazı durumlarda sayılmayabilir. Ben burada bunu parametrik yaptım.

Bu kodu bu hali ile Classes Global’e eklerseniz kod içinden herhangi bir yerden rahatlıkla çağırabilirsiniz. Yeri gelmişken tekrar bahsetmiş olalım (bknz : Verilen tarihi en yakın hafta içine kaydırmak), kod içinde herhangi bir yerden çağırmak istediğiniz kodlar varsa bunları static metod olarak Global Classına ekleyebilrisiniz.

Okumaya devam et

.NET kütüphanelerini AX içinde kullanırken istisna yönetimi (Exception Handling)

Bir süre önce .NET veri tiplerinin AX içinden kullanılması ile ilgili bir yazı paylaşmıştım. İlgili yazıda herşeyin yolunda gittiğini varsaymıştık.

Elbette gerçek uygulamarda bu durum aynen gerçekleşmeyebilir. Örneğin bir değişkene bir değer atamak istediğinizde anlamsız bir hata alabilir ya da bir web servisi çağırdğınızda hiçbir cevap alamayabilirsiniz.

Ax içindeki istisna yönetimi (Exception Handling) varsayılan olarak Ax içindeki istisnaları yakalar ve gösterir. Eğer .NET ile ilgili istisnaları yakalanız gerekirse alttaki gibi bir kod bloğunu kullanabilirsiniz:

Okumaya devam et