2016-07-25 66 views
1

有什麼辦法來篩選日期時間控制創建新任務,電話,電子郵件,約會等隱藏的非工作時間在CRM 2011

我時,只顯示工作時間爲用戶配置工作時間1,日曆現在顯示正確的工作時間。但是,當用戶創建新任務時,顯示截止日期的控件顯示從上午12:00開始的所有時間。 2

有關如何根據先前定義的工作時間篩選該字段的任何建議?

回答

0

我終於找到了如何隱藏一些小時的日期和時間字段。就我而言,開始時間和結束時間是硬編碼的(從上午07:00到下午06:30)。

這是使魔法的JavaScript。

function InitializeDateTimeControls(){ 
    var scheduledendAttr = Xrm.Page.getAttribute('scheduledend'); 
    var scheduledstartAttr = Xrm.Page.getAttribute('scheduledstart'); 
    if(scheduledendAttr != null) 
    { 
     RemoveNotWorkingHours('scheduledend'); 
     SetActualDueDate('scheduledend'); 
    } 
    if(scheduledstartAttr != null) 
    { 
     RemoveNotWorkingHours('scheduledstart'); 
     SetActualDueDate('scheduledstart'); 
    } 
}; 

function RemoveNotWorkingHours(controlname) { 
    if(Xrm.Page.ui.getFormType() == 1) 
    { 

     var timetable = $("td[id^='" + controlname + "Time.']"); 

     timetable.each(function() { 

     var time = $(this)[0].innerText; 

     var hours = time.substring(0, time.indexOf(":")); 

     var mins = time.substring(time.indexOf(":") + 1, time.indexOf(":") + 3); 

     var am_pm = time.substring(time.indexOf(" ") + 1, time.indexOf(" ") + 3); 


     var fulltime = hours + ":" + mins + " " + am_pm; 


      var hourint = +hours; 
      if((hourint < 7 || hourint == 12) && am_pm == 'AM') 
      { 
       $(this).parent().remove(); 
      } 
      if((hourint > 6 && hourint != 12) && am_pm == 'PM') 
      { 
       $(this).parent().remove(); 
      } 


     }); 
    } 

}; 

function SetActualDueDate(controlname) 
{ 
    if(Xrm.Page.ui.getFormType() == 1) 
    { 
     var dueDate = Xrm.Page.data.entity.attributes.get(controlname); 
     var now = new Date(); 
     dueDate.setValue(now); 
    } 
} 
1

有沒有支持的方式來做到這一點。

不支持(從來不是一個好主意),你可以編寫一些JavaScript並操縱DOM來改變選擇列表值。

+0

感謝您的回答。我很擔心這一點。現在我知道,沒有一種支持的方式來實現它。 –

相關問題