Skip to main content

Command Palette

Search for a command to run...

How to Use Valid Time State Fields in Dynamics 365

Tarih aralığına göre kayıtlar tutmak

Updated
2 min readView as Markdown
How to Use Valid Time State Fields in Dynamics 365
B

Senior Dynamics 365 Developer

Bu yazımda Dynamics 365'te framework içerisinde gelen en sevdiğim konulardan olan Valid Time State’den bahsetmek istiyorum.

Bir tabloda ki kayıtları tarih aralığına göre tutmak istiyorsanız, ilgili tablonun özelliklerinden Valid Time State Field Type özelliğini aktif ediyoruz. Date seçersek tarih bazında UtcDateTime seçersek tarih ve saat bazında kayıtları tutacaktır.

Valid Time State Field Type Property

Bu özelliği açtıktan sonra ilgili tabloda ValidFrom ve ValidTo alanlarının otomatik olarak geldiğini göreceksiniz.

Table

Tablomuzda DateIdx adında bir Index yaratıyoruz. Tarih alanlarını index içerisine sürüklüyoruz. Tarih alanları dışında en az bir alan daha index’te yer alması gerekmektedir. Ayrıca Index üzerinde ki Valid Time State Key özelliğini Yes yapıyoruz.

Index

Son olarak tablomuzun özelliklerinden index’imizi seçiyoruz.

Table Properties

Ayrıca tablomuza sorgu yazarken örnek olması için find method’un kodlarını da paylaşıyorum.

public class ETGChippinPriceParameters extends common
{
    public static ETGChippinPriceParameters find(utcdatetime validDate = DateTimeUtil::getToday(DateTimeUtil::getUserPreferredTimeZone()),
                                                boolean _forUpdate = false)
    {
        ETGChippinPriceParameters etgChippinPriceParameters;

        if (validDate)
        {
            etgChippinPriceParameters.selectForUpdate(_forUpdate);

            select firstonly validtimestate(validDate) etgChippinPriceParameters
                where etgChippinPriceParameters.DateIdx == "";
        }

        return etgChippinPriceParameters;
    }

}

Bu tür tabloları güncellemek istediğinizde Valid Time State Update Mode belirtmeniz gerekiyor. Örnek kodu yine aşağıda belirttim.

table.validTimeStateUpdateMode(ValidTimeStateUpdate::Correction);

Ayrıca da tablomuzu bir forma ekledikten sonra DataSource üzerinde ki Valid Time State Auto Query ve Valid Time State Update özellikleri aktif hale gelecektir. Bu özellikler sayesinde bitiş tarihinin düzenlenebilir olmasını sağlayabilir, geçerliliğini kaybetse bile kayıtların formda gözükmesini isteyebilirsiniz.

Form DataSource Properties

Dynamics 365 FO Blog

Part 31 of 33

Microsoft Dynamics 365 for Finance and Operations ürünü ile ilgili yaptığım işler ve tecrübelerim

Up next

Dynamics 365 Email, phone create or edit

Mail, telefon eklemek yada güncellemek