Dynamics 365 Finance and Operations Date Effectiveness Nasıl Kullanılır?
Bu yazıda Date Effectiveness nedir ne işe yarar anlatmaya çalışacağım. İş uygulamaları tamamen veriye dayalı uygulamalardır. Bu verinin doğru ve tutarlı olması aynı zamanda kolay ve hızlı bir şekilde işlenebilmesi gerekir. Bu sebeple X++ veriyi yönetmek için birçok farklı özellik sunar bunlardan biri de Date Effectiveness dır. Eğer başlangıç ve bitiş tarihi veya zamanına ihtiyacı olan bir yapı varsa bu özellik sizin için bu tablonun verilerinin yönetilmesini kolaylaştırır. Hem veri girişinde hem de sorgulamasında birçok otomatik edilmiş özellik mevcuttur.
Örnek bir tabloya ekleyip nasıl kullanıldığını anlamaya çalışalım. Öncelikle eklemek istediğimiz tablonun Valid Time State Field Type özelliğini seçiyoruz. Burada ben Date seçtim UTCDateTime diğer seçenek eğer onu seçerseniz zamanı da eklemiş olursunuz. Seçimi yapınca otomatik olarak ValidTo ve ValidFrom alanları eklenecek.
Resim-1
Bu alanları indekse ekliyorum. İndeks özelliklerinden Alternate Key ve Valid Time State Key yes olarak seçiyorum. Valid Time State Mode NoGap seçtim yani başlangıç ve bitiş tarihleri arasında boşluk olamaz dedim. Diğer seçenek Gap. Sonra Tablo özelliklerinden Replacemet Key özelliğinde bu indeksi seçiyoruz.
Resim-2
Bu alanları forma ekliyorum
Resim-3
Çalıştırıp formun nasıl çalıştığını inceleyelim. Meal olarak ikinci bir kayıt girdiğimde otomatik olarak Expiration kısmına tarih atayıp kaydı bitirmiş olacak. Bu formda sadece aktif olan kayıtlar görünmekte.
Resim-4
Formda kayırların görünümünü Valid tiem State Auto Query kısmından ayarlayabilirsiniz.
Resim-5
Gelelim kod kısmına. Bu tipteki tabloları direk sorgulayamazsınız mutlaka ValidTimeState anahtar kelimesini kullanmalısınız. Bu örnekte renge olarak kullanmışım ama tek bir tarih içinde sorgu yapabilirsiniz.
Resim-6
Query için ise bu kodları kullanmalısınız.
Query::ValidTimeStateAsOfDate(asOfDate)
Query::ValidTimeStateDateRange(fromdate,todate)
Query::ValidTimeStateAsOfDatetime(asOfdate time)
Query::ValidTimeStateDateTimeRange(fromdatetime, todatetime)
Bu yazıda tarih kontrollü tablo nasıl yapılır ve kullanılır anlatmaya çalıştım. Bu özellikle olmadan da biz bunları yapabiliriz ama sistem bize bir standart ve kolaylık sağlıyor faydalanmak mantıklı olacaktır.
Selamlar.
www.fatihdemirci.net
TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, ValidTimeState, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM