SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




InfoPath Tage Differenz

Unbeantwortet Dieser Beitrag hat 5 Antworten

Ohne Rang
8 Beiträge
Addi erstellt 23 Mai 2013 13:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo, ich bin dabei ein Urlaubsantragsformular in InfoPath und den zugehörigen Workflow zu erstellen. Mein Problem ist nun, ich habe ein Feld Urlaub "Von" und "Bis", hiervon muss ich die Different in Tagen errechnen. Am Besten in InfoPath direkt, damit der User ein Überblick über die verplanten Tage hat. Siehe Markierungen hier:

Ich bin wie in dieser Anleitung vorgegangen:

http://alecpojidaev.wordpress.com/2008/12/30/infopath-codeless-programming-walkthrough-2/

hier das fertige Formular:

[View:http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.35.39/dateCheck.zip:550:0]

Dies funktioniert einwandfrei! Aber nich wenn das Formular mit SharePoint verknüpft ist:

"Fehler in den Regeln oder im Code des Formulars. Die Anzahl der Regelaktionen oder die Anzahl der Aufrufe des OnAfterChange-Ereignisses für eine einzelne Aktualisierung in den Daten hat den Maximalwert überschritten.

Die Regeln oder der Code können eine Endlosschleife verursachen. Sie können dies verhindern, indem Sie sicherstellen, dass die Regelaktion oder der Ereignishandler keine Datenaktualisierungen vornimmt, die bewirken, dass erneut dieselbe Regelaktion oder derselbe Ereignishandler ausgeführt wird."

Anscheinend ist das Problem, dass auch wenn in InfoPath das Datumsfeld als "DateOnly" deklariert ist, die Zeit trotzdem mitgegeben wird!

Über eure Hilfe würde ich mich sehr freuen!

Viele Grüße

Adrian

 

Alle Antworten

Ohne Rang
8 Beiträge
Addi Als Antwort am 24 Mai 2013 09:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

kleine Aktualisierung:

Auch wenn man in einem Listenformular auf "Date" umstellt ist immer "DateTime" im Hintergrund, es wird nur nicht angezeigt!

mit "teilzeichenfolge-vor(>DateTime<; "T")" als Standardwert eines neuen Feldes hat man nun das Datum als String im Format YYYY-MM-DD. (DateTime hat ein "T" im String um die Zeit zu deklarieren).

 

Mit dieser Methode funktioniert auch wieder die Berechnung der Tage differenz..

 

Die Fehlermeldung bleibt bei bestimmten Aktionen aber vorhanden! Gibt es einen Maximalwert an durchzuführenden Aktionen? Kann man diesen erhöhen?

Ohne Rang
1 Beiträge
Fuly73 Als Antwort am 7 Juni 2013 10:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Adrian,

hast du hierzu schon eine Lösung gefunden? ich brauche in unseren Auftragsformular eine solche Berechnung um die Dringlichkeit zu bestimmen.

 

Liebe Grüße Axel

Ohne Rang
8 Beiträge
Addi Als Antwort am 7 Juni 2013 13:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Axel,

ja ich habe es jetzt mit einer Excel Tabelle gelöst. Besser da 1. Die Wochenenden wegfallen und man 2. die Feiertage rausnehmen kann. (Außerdem viel einfacher) Habe das ganze so übernommen, außer dass ich statt "substring-before(<feldname>, "T00:00:00")"  "substring-before(<feldname>, "T") benutzt habe, damit die Zeit einfach ignoriert wird und nicht 00:00:00 benötigt wird.

Hier der Link: http://devtipshub.blogspot.de/2012/01/sharepoint-2010-infopath-2010-excel.html

Viele Grüße

Ohne Rang
253 Beiträge
BBB Als Antwort am 27 Sept. 2016 09:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

der Post ist ja ein bisschen angestaubt... Aber trotzdem meine Frage: Funktioniert diese Vorgehensweise auch noch mit InfoPath 2013 in Verbindung mit Excel 2013 und SharePoint 2013? Denn ich bekomme als Anzahl der Urlaubstage immer eine 0 ausgegeben (ohne Fehlermeldung). Aber wenn ich das ganze, wie im Artikel beschrieben, teste funktioniert es.

Oder gibt's einen alternativen Weg um die Urlaubstage ohne Programmierung zu ermitteln (ohne WE & Feiertage)?

 

Vielen Dank und viele Grüße

BBB

Ohne Rang
8 Beiträge
Addi Als Antwort am 27 Sept. 2016 10:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="BBB"]

Hallo,

der Post ist ja ein bisschen angestaubt... Aber trotzdem meine Frage: Funktioniert diese Vorgehensweise auch noch mit InfoPath 2013 in Verbindung mit Excel 2013 und SharePoint 2013? Denn ich bekomme als Anzahl der Urlaubstage immer eine 0 ausgegeben (ohne Fehlermeldung). Aber wenn ich das ganze, wie im Artikel beschrieben, teste funktioniert es.

Oder gibt's einen alternativen Weg um die Urlaubstage ohne Programmierung zu ermitteln (ohne WE & Feiertage)?

 

Vielen Dank und viele Grüße

BBB

[/quote]

 

Hallo BBB,

 

ja allerdings etwas angestaubt.. habe es so wie in meinem letzten Post beschrieben mit der Excel Tabelle und SP 2010 realisiert, allerdings kann ich mich erinnern, dass es so mit SharePoint 2013 nicht funktioniert hat. Kann mir aber vorstellen dass man es mit ein wenig nacharbeit trotzdem zum Laufen bekommen kann.

 

Grüße

Addi