Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
Datum per Skript übernehmen
 Moderiert von: acronaut Produkt: Adobe Acrobat Pro Extended V9  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
Ralle.M..
Member
 

Eintragen seit: 27 Nov 2014
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 28 Nov 2014 23:48

Text übernehmen

Antworten
Hallo liebe Forenmitglieder.
Ich habe für mich ein unlösbares Problem.
Ich versuche es einmal so genau wie möglich zu beschreiben.

Ich habe die Textfelder mit folgenden Namen.
Montag, Dienstag, Mittwoch, Donnerstag, Freitag.
In dem Textfeld (Montag) trage ich ein Datum ein. (dd.mm.yy).
Nun möchte ich über ein Schaltflächenfeld mit Namen (Aktualisieren),
unter Schaltflächen Eigenschaften, Aktionen, Maustaste loslassen, Java Skript ausführen, folgende Skript starten.

//--------------------------------------------------------
var strStart = this.getField("Montag").value;
if(strStart.length)
{
  var dateStart = util.scand("dd.mm.yyyy",strStart);
  var oneDay = 24 * 60 * 60 * 1000;
  var dueMillis = dateStart.getTime() + 1 * oneDay;
  var Dinstag = new Date(dueMillis);
  event.value = util.printd("dd.mm.yyyy",Dienstag);
}
else
  event.value = "NA";
//--------------------------------------------------------
var strStart = this.getField("Montag").value;
if(strStart.length)
{
  var dateStart = util.scand("ddd, dd.mm.yyyy",strStart);
  var oneDay = 24 * 60 * 60 * 1000;
  var dueMillis = dateStart.getTime() + 2 * oneDay;
  var Mittwoch = new Date(dueMillis);
  event.value = util.printd("ddd, dd.mm.yyyy",Mittwoch);
}
else
  event.value = "NA";
//--------------------------------------------------------

Naja, usw. bis Freitag.

Es funktioniert nur leider nicht. Warum nicht?
Hat einer von euch eine Idee? Oder eventuell wie man das Skript vereinfachen kann?

Ich danke euch jetzt schon im Voraus, ich bin für dieses Unternehmen anscheinend zu dämlich.

Gruß Ralf

simse179
Member
 

Eintragen seit: 29 Jul 2014
Herkunft:  
Berichte: 51
Status:  Offline
 Geschrieben: 1 Dez 2014 12:33

Text übernehmen

Antworten
Hallo Ralf,

Du schreibst gar nicht, was eigentlich passieren soll.
Dem Code nach schätze ich: Du schreibst bei Montag ein Datum rein (wer garantiert, dass dieser Tag auch wirklich ein Montag ist?), und willst dann die Tage bis Freitag ausgefüllt bekommen? Diese Woche würde dann also das stehen?

1.12.2014    2.12.2014    3.12.2014    4.12.2014    5.12.2014  

-> Du hast bei "var Dinstag" nen Rechtschreibfehler.
-> Lade doch am besten Deine Testdatei hoch, dann sieht man gleich, was genau nicht geht

VG, Simone

Ralle.M..
Member
 

Eintragen seit: 27 Nov 2014
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 1 Dez 2014 17:04

Text übernehmen

Antworten
Wichtig ist folgendes,
Ich trage beim Montag ein Datum ein. Natürlich könnte ich jetzt unter der Option Textfeld bearbeiten, Berechnung… Das hier bei Dienstag einfügen,

//--------------------------------------------------------
var strStart = this.getField("Montag").value;
if(strStart.length)
{
  var dateStart = util.scand("ddd, dd.mm.yyyy",strStart);
  var oneDay = 24 * 60 * 60 * 1000;
  var dueMillis = dateStart.getTime() + 1 * oneDay;
  var Dinstag = new Date(dueMillis);
  event.value = util.printd("ddd, dd.mm.yyyy",Dienstag);
}
else
  event.value = "NA";
//--------------------------------------------------------

und beim Mittwoch, würde ich das Einfügen…

//--------------------------------------------------------
var strStart = this.getField("Montag").value;
if(strStart.length)
{
  var dateStart = util.scand("ddd, dd.mm.yyyy",strStart);
  var oneDay = 24 * 60 * 60 * 1000;
  var dueMillis = dateStart.getTime() + 2 * oneDay;
  var Mittwoch = new Date(dueMillis);
  event.value = util.printd("ddd, dd.mm.yyyy",Mittwoch);
}
else
  event.value = "NA";
//--------------------------------------------------------

usw. für die restlichen Wochentage. Das Textfeld würde also bei jeder Aktion erneut aktualisiert werden.
Das ganze hat also einen kleinen Haken. Möchte ich aus irgendwelchen Gründen den Donnerstag und den Freitag nicht haben, wird an dieser Stelle obwohl ich gerade das Datum gelöscht hatte, wieder hergestellt. Das möchte ich aber nicht. Daher kam mir dann der Gedanke, dass sich alle Scripts untereinander schreibe, und als Auslöser ein Schaltflächenfeld mit dem Namen Aktualisieren verwende. Hierdurch wäre es mir dann möglich, nicht gewollte Datumseinträge wie zum Beispiel Donnerstag und Freitag zu entfernen, ohne dass diese wiederhergestellt werden.

Also ich möchte über ein Schaltflächenfeld mit Namen (Aktualisieren),
unter Schaltflächen Eigenschaften, Aktionen, Maustaste loslassen, Java Skript ausführen, das Skript starten. Wahrscheinlich ist das Skript sogar noch falsch geschrieben und könnte eventuell vereinfacht werden.
 
Dass das angegebene Datum unter Montag auch wirklich ein Montag ist sehe ich alleine schon an der Formatierung   ddd, dd.mm.yyyy. Also setzen wir einfach mal voraus dass in dem Textfeld Montag auch wirklich ein Montag enthalten ist. Natürlich wäre es schön wenn sich bei Montag ein Reiter Kombinationsfeld befände das einen Kalender aufruft. Damit könnte ich natürlich jederzeit gezielt ein Datum beginnend mit Montag aussuchen.
 
Ich hoffe, dass ich mich jetzt einigermaßen verständlich ausgedrückt habe.
Aber ich finde es schon mal ganz toll, das du dich überhaupt mit meinem Problem beschäftigt hast, dafür schon mal Danke.
 
Gruß Ralf

Letzte Änderung am 1 Dez 2014 19:49 von Ralle.M..

simse179
Member
 

Eintragen seit: 29 Jul 2014
Herkunft:  
Berichte: 51
Status:  Offline
 Geschrieben: 3 Dez 2014 08:04

Text übernehmen

Antworten
Hallo Ralf,

schau mal, ob mein pdf in etwa dem entspricht, was Du meinst. Habs bisschen arg klein angelegt, aber Du kannst es ja vergrößern ;)

Viele Grüße,

Simone

Anlage: test_datumswoche.pdf (53 Mal aufgenommen)

Ralle.M..
Member
 

Eintragen seit: 27 Nov 2014
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 3 Dez 2014 17:22

Text übernehmen

Antworten
Erst einmal 1000 Dank, und eine ganze Lawine hinterher. Absolut perfekt, aber, wo, oder an welcher Stelle habe ich einen Fehler eingebaut? Naja, ich drucke mir die beiden Skripte einmal aus und vergleichen sie miteinander.

Eventuell kannst du mir bei dem nächsten Problem auch noch helfen.
Die Sache mit der Aktualisierung über einen Button bleibt. Zusätzlich soll der Montag aus gelesen werden um in ein neues Textfeld namens Kalenderwoche, die Kalenderwoche die im Textfeld Montag eingetragen wurde darzustellen. Naja, wie ich das bewerkstelligen sollte, weiß ich sowieso nicht. Null Dunst..…. es wäre schön wenn du auch für dieses Problem noch eine Lösung parat hättest. Ich zumindest nicht:(.

Gruß Ralf

Letzte Änderung am 3 Dez 2014 17:24 von Ralle.M..

Ralle.M..
Member
 

Eintragen seit: 27 Nov 2014
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 3 Dez 2014 22:08

Text übernehmen

Antworten
Das Aktualisieren funktioniert leider nicht ???      Was ist falsch ???



Gruß
Ralf

Anlage: Stundennachweise KW 49 Dezember 2014.pdf (46 Mal aufgenommen)

simse179
Member
 

Eintragen seit: 29 Jul 2014
Herkunft:  
Berichte: 51
Status:  Offline
 Geschrieben: 4 Dez 2014 10:28

Text übernehmen

Antworten
Hallo Ralf,

falsch ist da nichts, nur wenn Du das Datum mit
var dateStart = util.scand("ddd, dd.mm.yyyy",strStart);

einliest, muss man anscheinend auch eine vierstellige Jahreszahl eingeben.
Zumindest bei mir füllt er dann die anderen Felder korrekt aus ;)

Zum Thema Kalenderwoche schau mal auf dieser Seite, da wird das Skript dazu beschrieben: http://www.salesianer.de/util/kalwoch.html

VG, Simone

Ralle.M..
Member
 

Eintragen seit: 27 Nov 2014
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 6 Dez 2014 10:38

Text übernehmen

Antworten

[code][/code]

Letzte Änderung am 6 Dez 2014 11:29 von Ralle.M..

Ralle.M..
Member
 

Eintragen seit: 27 Nov 2014
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 6 Dez 2014 11:15

Text übernehmen

Antworten
Erst einmal hallo zusammen, es klappt jetzt auch bei mir.
Naja, ich habe ja das nachfolgende Skript.

//--------------------------------------------------------
var strStart = this.getField("Montag").value;
if(strStart.length)
{
var dateStart = util.scand("ddd, dd.mm.yy",strStart);
var oneDay = 24 * 60 * 60 * 1000;

var dueMillis = dateStart.getTime() + 1 * oneDay;
var Dienstag = new Date(dueMillis);
this.getField("Dienstag").value = util.printd("dd.mm.yy",Dienstag);

var dueMillis = dateStart.getTime() + 2 * oneDay;
var Mittwoch = new Date(dueMillis);
this.getField("Mittwoch").value = util.printd("dd.mm.yy",Mittwoch);

var dueMillis = dateStart.getTime() + 3 * oneDay;
var Donnerstag = new Date(dueMillis);
this.getField("Donnerstag").value = util.printd("dd.mm.yy",Donnerstag);

var dueMillis = dateStart.getTime() + 4 * oneDay;
var Freitag = new Date(dueMillis);
this.getField("Freitag").value = util.printd("dd.mm.yy",Freitag);
}
//-----------------------------

Jetzt ist mir nur nicht ganz klar wie ich das nachfolgende Skript
dass sich auf der Seite http://www.salesianer.de/util/kalwoch.html
befand, in das bestehende Skript einfüge. In meinem Muster
Stundennachweise KW 49 Dezember 2014.pdf habe ich bereits das Textfeld
Text2 in KW umbenannt. Wenn ich das jetzt richtig verstehe, muss zuerst
das Textfeld Montag aus gelesen werden, dann muss das Berechnungskript
ausgeführt werden, und das Ergebnis soll dann in das Textfeld KW
eingetragen werden. Aber wie??? Ihr wisst ja, ich bin ein absoluter Laie.

//--------------------------------------------------------
Datum=new Date(j,m-1,t);
DoDat=donnerstag(Datum);
kwjahr=DoDat.getFullYear();
DoKW1=donnerstag(new Date(kwjahr,0,4));
kw=Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/86400000/7)
function donnerstag(datum) {
var Do=new Date();
Do.setTime(datum.getTime() + (3-((datum.getDay()+6) % 7)) * 86400000);
return Do;
}
//--------------------------------------------------------

Soweit so gut. In diesem Skript steht noch nicht wo er das Datum ein gelesen
wird (Textfeld Montag) und wohin die errechnete Kalenderwoche eingetragen
werden soll, nämlich in das Textfeld KW.
Wenn ihr jetzt dafür auch noch eine Lösung hättet, wäre das einfach genial.

Gruß Ralf

Letzte Änderung am 6 Dez 2014 11:31 von Ralle.M..

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 27 Dez 2014 07:49

Text übernehmen

Antworten
Hallo Ralf,

du weißt, dass in http://www.acronaut.de/forum14/5634.html ein Lösungsweg aufgezeigt wird. Dieser Hinweis ist für Mitlesende.

vg armine


 Uhrzeit 21:52





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1135 Sekunden (32% DB + 68% PHP). 18 verarbeitete Abfragen.