11. Juni 2015 13:28
		
			
			Guten Tag zusammen,
ich habe folgendes Problem, gerne möchte ich im Formular eine Berechnung von Datümer erstellen.
Beispiel: 
Entität Anfrage: Ziel ist es eine Anfrage zu bearbeiten
Start Datum:  11.06.2015  15:00
End Datum:    13.06.2015  17:30
Gesamt Dauer: 2Tage, 2 Std, 30 Min 
dieses Feld muss in meinem Formular erstellt und berechnet werden, damit dieser die Gesamtdauer in Tagen Stunden und Minuten rechnet !!!!!!!!
Meine Frage an euch leutet jetzt, wie kann ich solch eine Berechnung vornehmen? 
Brauche ich für die Lösung ein JavaSkript? 
Neues Feld erstellen und berechnen? (Dann benötige ich eine Info welcher; Datentyp* Feldtyp* dafür benötigt wird)
Ich bin neu in der Branche und weiß mir leider nicht zu helfen.
Vielen Dank im Voraus schonmal für jede Hilfestellung.
Freundliche Grüße
			
		
	 
	
        
        12. Juni 2015 08:25
		
			
			Hallo Sgruno,
die beiden Datumsfelder (Start Date / End Date) solltest du ja bereits in deiner Anfrage haben, ansonsten diese beiden erstellen.
Für das ZielFeld würde ein TextFeld sich anbieten.
Dein JavaScript könnte so aussehen und sollte auf OnChange der beiden DateTime Felder reagieren, du überprüfst ja ob die Felder noch leer sind oder nicht.
var stdate=Xrm.Page.getAttribute("new_starttime").getValue();
var endate=Xrm.Page.getAttribute("new_finishtime").getValue();
if(stdate==null && endate==null)
 {
 return false;
 }
if(stdate==null)
 {
 return false;
 }
 if(endate==null)
 {
 return false;
 }
var st=stdate.getTime();
 var ed=endate.getTime();
 var sdiff=(ed-st);
 var h=(sdiff/60/1000);
 var p=parseInt(h);
 var tm=p.toString();
MINS_PER_YEAR = 24 * 365 * 60
    MINS_PER_MONTH = 24 * 30 * 60
    MINS_PER_WEEK = 24 * 7 * 60
    MINS_PER_DAY = 24 * 60
    minutes = newMinutes;
    years = Math.floor(minutes / MINS_PER_YEAR)
    minutes = minutes - years * MINS_PER_YEAR
    months = Math.floor(minutes / MINS_PER_MONTH)
    minutes = minutes - months * MINS_PER_MONTH
    weeks = Math.floor(minutes / MINS_PER_WEEK)
    minutes = minutes - weeks * MINS_PER_WEEK
    days = Math.floor(minutes / MINS_PER_DAY)
    minutes = minutes - days * MINS_PER_DAY
    var ergebnis =  years + " year(s) " + months + " month(s) " + weeks + " week(s) " + days + " day(s) " + minutes + " minute(s)"
     Xrm.Page.getAttribute("new_timespent").setValue(ergebnis);
Falls die DateTime Felder erst nach Abschluss deiner Anfrage gefüllt werden, könntest du ein Plugin schreiben.
Grüße
gE3z
			
		
	 
	
        
        12. Juni 2015 12:55
		
			
			Vielen Dank für deine Hilfe.
			
		
	 
	
	
	    
	        Powered by phpBB © phpBB Group.
		
		
		    phpBB Mobile / SEO by Artodia.