[Gelöst] Countdown beim Export

Bild Microsoft Dynamics NAV 3.xx
(ehem. Navision Attain)

[Gelöst] Countdown beim Export

Beitragvon John Wayne » 25. Februar 2009 12:05

Hallo

ich habe mal eine ich denke mal sehr Anspruchvolle Frage an euch :-D

also...

ist es möglich in einem Dataport beim Export ein Countdown in einem Dialog mitlaufen zu lassen,
z.B wenn ich sagen wir mal 90.000 Datensätze exportiere ist es möglich dann in einem Dialog anzuzeigen

noch ĂĽbrig: 32min 13sec

oder sowas in der art....????

gibt es für solch ein Vorhaben vielleicht schon ansätze oder Codeschnippsel.

Vielen Dank im Voraus

John
Zuletzt geändert von John Wayne am 26. Februar 2009 14:05, insgesamt 1-mal geändert.
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 25. Februar 2009 12:17

Ich habe es definitiv schon einmal gesehen. Ein Kollege hat etwas in der Richtung mal entwickelt. Ich schau da mal nach. Kann natĂĽrlich ein bisschen dauern... ;-)
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 25. Februar 2009 12:19

danke erstmal fĂĽr die schnelle antwort.
das wäre echt total nett wenn du mir ein paar tipps geben könntest, poste einfach mal alles was du finden kannst.
vielen vielen dank :-D
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 25. Februar 2009 12:39

Hier eine Funktion. Hier musst du dich wirklich durchwĂĽhlen.

Funktion:
Parameter:
Var Name DataType Subtype Length
Nein pStartDate Date
Nein pStartTime Time
Nein pActDate Date
Nein pActTime Time
Nein pPercent Decimal
Ja pEstEndDate Date
Ja pEstEndTime Time
Ja pEstDuration Text 30

Return Type: Time

Variables:
Name DataType Subtype Length
vStart Decimal
vTemp Decimal
vEnd Decimal
vActDuration Decimal
vEstDuration Decimal
vMilliSecsPerDay Decimal
vMilliSecsPerHour Decimal
vMilliSecsPerMinute Decimal
vDays Integer
vDateExpression Text 30
vDummyDiff Time
vRestOfDay Decimal
vStartDate Date
vEstDurationTime Decimal
vMilliSecondsPerUnit Decimal
i Integer

Inhalt der Funktion:
Code: Alles auswählen
vMilliSecsPerMinute := 60 * 1000;
vMilliSecsPerHour := 60 * vMilliSecsPerMinute;
vMilliSecsPerDay := 24 * vMilliSecsPerHour;
vDummyDiff := 000000T;

vStart := pStartTime - vDummyDiff;
vTemp := 0;
vStartDate := pStartDate;
WHILE vStartDate < pActDate DO BEGIN
  vTemp := vTemp + vMilliSecsPerDay;
  vStartDate := CALCDATE('+1T',vStartDate);
END;
vEnd := pActTime - vDummyDiff;
vEnd := vEnd + vTemp;

vActDuration := vEnd - vStart;
vEstDuration := ROUND(vActDuration * 100 / pPercent,1);
IF vEstDuration MOD 1000 >= 500 THEN
  vEstDuration := (vEstDuration DIV 1000 + 1) * 1000;

pEstDuration := '000';
vMilliSecondsPerUnit[1] := vMilliSecsPerHour;
vMilliSecondsPerUnit[2] := vMilliSecsPerMinute;
vMilliSecondsPerUnit[3] := 1000;
vEstDurationTime := vEstDuration;
i := 1;
WHILE i <= ARRAYLEN(vMilliSecondsPerUnit) DO BEGIN
  WHILE vEstDurationTime >= vMilliSecondsPerUnit[i] DO BEGIN
    pEstDuration := INCSTR(pEstDuration);
    vEstDurationTime := vEstDurationTime - vMilliSecondsPerUnit[i];
  END;
  IF i < 3 THEN
    pEstDuration := pEstDuration + ':00';
  i += 1;
END;

vDays := 0;
vRestOfDay := (235959T - pStartTime) + 1000;
IF vEstDuration < vRestOfDay THEN BEGIN
  pEstEndDate := pStartDate;
  pEstEndTime := pStartTime + vEstDuration;
END ELSE BEGIN
  vDays := vDays + 1;
  vEstDuration := vEstDuration - vRestOfDay;
  WHILE vEstDuration >= vMilliSecsPerDay DO BEGIN
    vDays := vDays + 1;
    vEstDuration := vEstDuration - vMilliSecsPerDay;
  END;
  IF vDays > 9999 THEN
    vDays := 9999;
  vDateExpression := '''' + STRSUBSTNO('+%1T',vDays) + '''';
  pEstEndDate := CALCDATE(vDateExpression,pStartDate);
  pEstEndTime := vDummyDiff + vEstDuration;
END;
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 25. Februar 2009 12:43

nicht schlecht.....
vielen dank fĂĽr deine BemĂĽhungen...
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 25. Februar 2009 14:06

Sag dann mal, ob es funktioniert hat. Und wenn ja, schreib hier ein [Gelöst] in den ersten Beitrag ;)
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 25. Februar 2009 16:13

hallo nochmal,

scheint soweit ganz gut zu klappen.
hapert nur noch an einer stelle, ich denke das es bei dem RĂĽckgabewert ist.
Die Fehlermeldung ist:

Text:= Time

Fehler bei Textkonvertierung.

Im code hab ich keine Stelle gefunden bei der dies zutreffen könnte deswegen gehe ich davon aus das es bei der Rückgabe ist.
Hast du evtl. noch eine Idee woran dies liegen könnte??

Danke nochmal fĂĽr deine Hilfe
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 25. Februar 2009 16:19

Der RĂĽckgabewert ist Time, aber im Code ist nirgendwo ein EXIT(WERT). Das bedeutet, es wird nichts zurĂĽckgegeben (auĂźer natĂĽrlich ĂĽber die Call-by-Reference-Variablen).
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 25. Februar 2009 16:44

also bist du der Meinung das der Fehler im code sein muss?
habe schonmal rĂĽbergeschaut konnte aber nichts finden die funktion ruf ich aber auch noch nicht auf...
bei euch läuft der code doch so wie du ihn gepostest hast oder... wo kann dann der fehler liegen ist schon komisch :?:

Danke fĂĽr deine schnelle Antwort
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 25. Februar 2009 17:03

Wenn du F11 drĂĽckst, versucht er ja zu kompilieren. Dann kommt die Fehlermeldung und danach sollte der Cursor auf die Stelle springen, wo er den Fehler vermutet.

Hast du ĂĽberprĂĽft, ob du alle Variablen und Parameter richtig eingerichtet hast?
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 26. Februar 2009 10:19

Guten Morgen,

ja ich habe alles geprüft die Vars. soltlen alle richtig sein, und beim kompilieren springt er nicht zu der Stelle sondern öffnet nur die Funktion.
was kann das nur sein...
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 26. Februar 2009 11:08

Wenn du kompilierst, wo genau bist du da? Am besten befindest du dich schon im Code, dann springt er auch meistens richtig rein. Was heißt "öffnet die Funktion"?
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 26. Februar 2009 11:25

also wenn ich komiliere stehe ich in dem code von meinem DataItem...
sobald er auf den Fehler läuft öffnet er den Allgemeinen Code vom Dataport wo kein code außer die funktion DurateTime steht.
Nachdem er dann den Allgemeinen Teil geöffnet hat ist der Cursor aber nicht mehr gesetzt es sei denn ich stand mit dem Cursor zuvor schon in der Funktion dann findet keine änderung statt und der Cursor steht wieder genau an der selben stelle nur nicht mehr im code vom Dataitem sondern im Allgemeinen TEil des Dataports.
Ist schwer zu schildern ich hoffe so kann man es verstehen :-)
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 26. Februar 2009 11:42

Schwer zu verstehen :P

Was ich glaube: Du verwendest Nav 3, wir hier Nav 4
Vielleicht funktioniert diese Funktion hier nicht:
Code: Alles auswählen
vStart := pStartTime - vDummyDiff;

vStart ist Dec, die beiden anderen Time. Erstell doch testweiĂźe mal ein Objekt und "stell die Szene" nach (Dec := Time - Time).

Was du auch machen könntest. Alles auskommentieren. Dann Zeile für Zeile einkommentieren ;)
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 26. Februar 2009 12:21

so habe es soweit hinbekommen aber könntest du mir evtl. einen aufruf der funktion zeigen ich kriege die parameter nicht übergeben.
Und falls du es im Kopf hast die aufschlĂĽsselung zu den Parametern.
Ich tippe mal.

pStartDate = heutiges Datum
pStartTime=jetzige Zeit
pActDate=hab ich auch heutiges Dat genommen ???
pActTime=jetzige Zeit???
pPercent=Status meiner Prozentanzeige???
pEstEndDate= kann ich ĂĽberhaupt nichts mit anfangen
pEstEndTime= hiermit auch nicht
pEstDuration= ????

wäre schön wenn du mal einen aufruf hättest vielleicht ja sogar mit erläuterung zu den Para's

Vielen Dank schonmal
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 26. Februar 2009 12:50

CalcEstEndTime(StartDate,StartTime,TODAY,TIME,Percent,EstEndDate,EstEndTime,EstDuration);

Erklärung:
pStartDate: StartDate := TODAY (die Variable StartDate wird beim ersten Start einmal mit dem aktuellen Datum gefĂĽllt, also das Startdatum)
pStartTime: StartTime := TIME (die Variable StartDate wird beim ersten STart einmal mit der aktuellen Zeit gefĂĽllt, also die Startzeit)
pActDate: TODAY (wird fĂĽr jede Zeile mit dem aktuellem Datum gefĂĽllt)
pActTime: TIME (wird fĂĽr jede Zeile mit der aktuellen Zeit gefĂĽllt)
pPercent: Percent (RĂĽckgabevariable)
pEstEndDate: EstEndDate (RĂĽckgabevariable)
pEstEndTime: EstEndTime (RĂĽckgabevariable)
pEstDuration: EstDuration (RĂĽckgabevariable)

Also du setzt bevor du das erste mal diese Funktion aufrufst die Variablen StartDate und StartTime mit TODAY und NOW. FĂĽr jede Zeile rufst du nun die Funktion auf. Du ĂĽbergibst damit die Startzeit (Date und Time) und die aktuelle Zeit (Date und Time). Die restlichen vier Parameter sind eher RĂĽckgabewerte. Du ĂĽbergibst sie und der Wert wird dann in diese Variablen reingeschrieben (damit kann man mehrere RĂĽckgabewerte definieren, das Verfahren heiĂźt Call by Reference).

Wie konntest du den Fehler nun lösen?
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Countdown beim Export

Beitragvon John Wayne » 26. Februar 2009 13:01

war ein ganz blöder fehler :oops: hatte gestern wenig zeit ... und nachdem ich alle vars eingetragen hatte, wollte ich speichern, ging nicht wegen dem Fehler.......

Alle Variablen waren komischerweise wieder auf den Standartwert zurückgesetzt gewesen (Integer) warum kann ich mir nicht erklähren, aber es lässt sich nun wenigstens kompiliert speichern. :-)

naja war halt ein komisches phenomän und den Fehler konvertfehler text zu time kann ich mir immer noch nicht erklähren das es wirklich nur integer gab, naja die hauptsache ist das es läuft:wink:

danke nochmal
John Wayne
 
Beiträge: 101
Registriert: 20. August 2008 16:11

Re: Countdown beim Export

Beitragvon Sebastian Pfliegel » 26. Februar 2009 13:55

Gerne doch ;)

Setz doch ein [Gelöst] in den ersten Beitrag von dir, damit die Suchenden das hier leichter finden.
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0


ZurĂĽck zu NAV 3.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast