Differenz in Monaten

Die Möglichkeiten und Tücken von Formularen
Antworten
Haegar55
Beiträge: 54
Registriert: 25.11.2012, 21:08

Differenz in Monaten

Beitrag von Haegar55 » 14.11.2014, 09:19

Hallo
Kann mir jemand einen Tipp geben, wie ich den Zeitbedarf in Monaten errechnen kann ich habe ein Start und ein Zieldatum. Die Formel für das errechnen habe ich. Mein Problem ist, ich weiß nicht wie ich das Jahr, und den Monat im LiveCycle Designer aus dem Datum extraieren kann.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Differenz in Monaten

Beitrag von armine » 14.11.2014, 10:28

Versuch mal:

form1.#subform[0].DateTimeField1::exit - (JavaScript, client)
xfa.host.messageBox("The value is: " + DateTimeField1.rawValue.split("-"), "Debugging", 3);

Der mittlere Wert ist die Zahl, die unserer Monatsnummerierung entspricht. JavaScript zählt aber ab 0 (Jan.).

vg armine

Haegar55
Beiträge: 54
Registriert: 25.11.2012, 21:08

Differenz in Monaten

Beitrag von Haegar55 » 14.11.2014, 11:10

OK, das klappt, aber wie bekomme ich nur den Monat, bzw das Jahr :? sorry ich bin ein totaler Java-Anfänger

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Differenz in Monaten

Beitrag von armine » 14.11.2014, 13:17


Haegar55
Beiträge: 54
Registriert: 25.11.2012, 21:08

Differenz in Monaten

Beitrag von Haegar55 » 14.11.2014, 15:17

Hallo

Jetzt habe ich es fast fertig, mir fehlt nur noch die Info wie ich eine Stringvariable in eine Zahl umwandele.

var Date1 = String("" + this.resolveNode("Date_Baubeginn").rawValue.split("-"), "Debugging", 3);
var Year1 = Date1[0] + Date1[1] + Date1[2] + Date1[3];
var Months1 = Date1[5] + Date1[6];
var Date2 = String("" + this.resolveNode("Date_Bauende").rawValue.split("-"), "Debugging", 3);
var Year2 = Date1[0] + Date1[1] + Date1[2] + Date1[3];
var Months2 = Date1[5] + Date1[6];

this.resolveNode("int_Bauzeit").rawValue = (Year2 - Year1 - 1) * 12 + Months2 + 12 - Months1;

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Differenz in Monaten

Beitrag von armine » 14.11.2014, 15:33

Hast du die Herzensgüte, deine Datei hochzuladen oder gehst du davon aus, dass sich Helfer mehr Mühe geben sollen?

Haegar55
Beiträge: 54
Registriert: 25.11.2012, 21:08

Differenz in Monaten

Beitrag von Haegar55 » 17.11.2014, 09:53

Sorry, hatte am Wochenende leider zuviel zu tun.
anbei die Datei.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Haegar55
Beiträge: 54
Registriert: 25.11.2012, 21:08

Differenz in Monaten

Beitrag von Haegar55 » 17.11.2014, 10:54

Ich hab es raus.
Ich hatte einen Fehler in der Formel,
Anbei der Code

function Monat() {
var result;

var Date1 = String("" + this.resolveNode("Date_Baubeginn").rawValue.split("-"), "Debugging", 3);
var Year1 = (Date1[0] + Date1[1] + Date1[2] + Date1[3]) * 1;
var Months1 = (Date1[5] + Date1[6]) * 1;
var Date2 = String("" + this.resolveNode("Date_Bauende").rawValue.split("-"), "Debugging", 3);
var Year2 = (Date2[0] + Date2[1] + Date2[2] + Date2[3]) * 1;
var Months2 = (Date2[5] + Date2[6]) * 1;
var Yeardiff = (Year2 - Year1);

if (Yeardiff == 0) {
result = (Months2 - Months1) + 1;
}

if (Yeardiff == 1) {
result = (12 - Months1) + 1 + Months2;
}

if (Yeardiff > 1) {
result = (12 - Months1) + 1 + Months2 + (Yeardiff - 1) * 12;
}

this.resolveNode("int_Bauzeit").rawValue = result;

:)

Haegar55
Beiträge: 54
Registriert: 25.11.2012, 21:08

Differenz in Monaten

Beitrag von Haegar55 » 19.11.2014, 10:35

Hallo
Ich habe ein Formular in dem der Abstand zwischen zwei Datumseingaben in Monaten errechnet wird.
Das funktioniert auch wunderbar, solange der User das Datum über die Box eingibt. Wir das Datum per Hand eingegeben, gibt es Probleme. Ich habe überprüft, das liegt an den unterschiedlichen Datumformaten Punkt oder Komma.
Kann ich den Benutzer zwingen das Datum in gewünschter Weise einzugeben, oder muss ich das Problem im Script abfangen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten