Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics CRM】【Xrm.Page】日付の取得と経過日数の設定

前回に引き続き、Xrm.Pageの利用です。

概要

今回は日付と時間フィールドからの値の取得と、経過日数の設定です。

特に小難しいところはないのですが、Dynamics CRMでは経過日数などの期間指定に整数フィールドのフォーマットを変更することで表現します。

整数フィールドには分単位で値を指定するため、Datetimeの計算結果として出力されるミリ秒を60000で割っています。

結果イメージ

開始日時と終了日時は[日付と時間]

所要時間は整数のフォーマットを[期間]に指定しています。

イベントは開始日時と終了日時のOnChangeイベントに設定。

値が無い場合などは0を返すようにしています。

f:id:sugimomoto:20151130214940p:plain

サンプル

function setUseTime(fromTimeField,toTimeField,resultField)
{
    var result;
    var fromTime = Xrm.Page.getAttribute(fromTimeField).getValue();
    var toTime = Xrm.Page.getAttribute(toTimeField).getValue();
    
    if(!(fromTime && toTime))
        result = 0;
    
    if(fromTime > toTime)
        result = 0;
    
    if(result != 0)
        result = (toTime - fromTime) / 60000;

    Xrm.Page.getAttribute(resultField).setValue(result);    
}