Yerelleştirilebilir Çözüm Oluşturmak

Dynamics 365 içerisinde oluşturduğumuz birçok nesne için dil paketi ayarı yapabiliyoruz ama yazdığımız kodlarda özellikle JavaScipt içerisinde bunları yönetmek için ekstra kodlama yapmamız gerekiyordu. Ama localizable solutions mantığı ile artık JS dosyalarımıza RESX yani dil paketi tanımlayabiliyoruz.

Bunun için JS kodumuz içerisinde Xrm.Utility.getResourceString fonksiyonunu çağırmamız gerekmektedir. Aşağıdaki örnek kodda da görebileceğiniz üzere brs_messages diye isimlendirdiğim RESX nesnesi üzerinden dil karşılığını öğrenmek istediğim satırı çağırıyorum.

function showAlertDialogGetTextFromResource() {
    var alertStrings = {
        confirmButtonLabel: Xrm.Utility.getResourceString("brs_messages", "rConfirmButtonLabel"),
        text: Xrm.Utility.getResourceString("brs_messages", "rAwesome")
    };
    var alertOptions = {
        height: 300,
        width: 500
    };

    Xrm.Navigation.openAlertDialog(alertStrings, alertOptions);
}
Visual Studio ile RESX oluşturmak
Visual Studio ile RESX oluşturmak

RESX dosyasını Visual Studio ile kolayca üretebilirsiniz ama buradaki 2 tane püf noktası var;

Birinci püf noktası, RESX dosyasını isimlendirirken dil kodunu da vermeniz gerekmektedir. Yani İngilizce için brs_messages.1033.resx Türkçe için ise brs_messages.1055.resx diye dosya oluşturmanız gerekmektedir. ve bu dosyayı sisteme RESX olarak yüklemeniz gerekmektedir.
Diğer dil kodlarının listesi ise burada https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms912047(v=winembedded.10)?redirectedfrom=MSDN

RESX dosyasını Dynamics'e eklemek
RESX dosyasını Dynamics’e eklemek

İkinci olarak da bu dosyayı resx olarak yükledikten sonra JavaScript bağımlılıklarını ayarlamak. JS dosyasını sisteme yükledikten sonra Dependencies bölümünden RESX dosyalarını da seçmeniz gerekmekte.

JavaScript Dependencies
JavaScript Dependencies

İş Süreçlerinden Action çağırmak

Dynamics 365 üzerinde iş akışı yapmak yerine action yapmak her zaman bana daha mantıklı gelmiştir. Daha sonra bunu bir akışa bağlayarak aynı verimi alabilmekteyiz. Peki action bize ne avantaj sağlıyor derseniz hemen ilk aklıma gelen bazı ekstra özelliklerini sıralayayım;

  1. Action üzerinde çalışma süresince hafızada kalacak değişkenler tanımlayabiliyoruz.
  2. Giriş ve çıkış parametreleri tanımlayabiliyoruz.
  3. Action’ları dışarıdan parametre ile çağırabiliyoruz.

Bunlara eklenen bir yeni özelliği de sizlere tanıtmak istiyorum. Action Step olarak anılan bu özellik ile bir Action’ı iş süreci üzerinden çağırabiliyorsunuz.

Öncelikle action’ı dizayn ederken Action step olarak çalıştır seçeneğini işaretlemeniz gerekmekte.

Action step olarak çalıştır seçeneği
Action step olarak çalıştır seçeneği

İş sürecini dizayn ettiğimiz ekran üzerinden de bu action’ı eklemeniz gerekmekte.

Actin Step eklemek
Actin Step eklemek

Artık kullanıma hazır. Tek yapmanız gereken iş sürecinin üzerindeki çalıştır(execute) düğmesine basmak.

İş Süreci üzerinden Action çağırmak
İş Süreci üzerinden Action çağırmak

Ekrana girmemiz gereken parametleri listeleyen bir kutu çıkacak. İşte bu kadar…

Action parametreleri istiyor
Action parametreleri istiyor