Projektzeit Rückerfassung

Allgemeine Diskussionen um die ERP Software AvERP

Moderator: SYNERPY

Antworten
cncmonster
Beiträge: 10
Registriert: Do Aug 22, 2013 9:26 pm

Projektzeit Rückerfassung

Beitrag von cncmonster »

Hallo,

ich beschäftige mich schon ein Paar Tage mit Projekten in AvERP habe dabei ein Problem bei der Rückerfassung von Projektzeiten.

Es wurde ein Projekt mit 5 Positionen angelegt. Jede Position hat einen Mitarbeiter und sicherheitshalber habe ich auch eine beteiligte Person angelegt.
Jede Position hat den Status "ausgelöst" und das Startdatum liegt am heutigen Tag.
Wenn ich "Betriebsdatenerfassung / Projektzeit-Rückerfassung" starte, dann ist bei "Startbereite Positionen" keinen Position angeführt.

Entferne ich den Haken bei "Nur startbereite Positionen anzeigen", dann tauchen bei "alle Positionen" meine Projekt-Positionen auf.
Ich kann sie von dort auch starten, aber wenn ich im Tab "2. Stoppen" versuche die Aufzeichnung zu stoppen kommt folgender Fehler:

Errcode: -303
ErrorMessage:
Dynamic SQL Error
SQL error code = -303
conversion error from string "0,85"
Component: TIB_Query (Universal)
SQL.Text: UPDATE BPROJPOCUR SET STATUS = '2', ZEIT = :nZEIT WHERE ID = :BPROJPOCUR_ID AND BSM_ID = 6


Was muss erfüllt sein, damit eine Position startbereit ist?
Was führt zum Fehler beim Beenden?

In der Demo-Datenbank ist es das selbe. Es erscheint weder eine startbereite Position, noch kann ich eine gestartete Aufzeichnung beenden.
Habe AvERP2013.05, 6.1.0.0 installiert.

MfG
Daniel
6.1.0.0, GDB-Version: AvERP2013.05
UliS
Beiträge: 400
Registriert: Fr Mai 26, 2006 3:44 pm
Wohnort: Velbert-Langenberg

Re: Projektzeit Rückerfassung

Beitrag von UliS »

Conversion Error from String '0,85' für die Zeit in
SQL.Text: UPDATE BPROJPOCUR SET STATUS = '2', ZEIT = :nZEIT WHERE ID = :BPROJPOCUR_ID AND BSM_ID = 6

Hier fehlt das Umsetzen des Dezimal-Trenners ","-Komma auf den Dezimal-Trenner "."-Punkt wie fürs englisch eingestellte SQL-notwendig.

Ursache: Entweder Fehler im Pascal-Script der Maske BBDEPROJ, dort wird nZEIT aber ordentlich mit StrToFloat in einen Fließkomma-Wert gewandelt????

Oder es liegt in der verwendete Version 6.1.0.0, die unter besonderen Umständen einen Dezimal-Trenner falsch umsetzt????

(AvERP 6.1.0.0 ist nach meiner Info noch nicht im Release, vielleicht einmal kurz mit AvERP.exe Version 4.2.5.106 probieren?)
Gruß U.Schmidt

Wenn ich weiß, wo ich suchen muß ist OpenSource besser als jede Dokumentation
aktuelle Erkenntnisse mit:
Software-Version 6.11.5
FDB 2023.02 / 2024 FB04 schon mal installiert
cncmonster
Beiträge: 10
Registriert: Do Aug 22, 2013 9:26 pm

Re: Projektzeit Rückerfassung

Beitrag von cncmonster »

Hallo UliS,

es lag am Pascal Script.
Habe die Scripts vorher noch nie bearbeitet. Bis ich mal herausgefunden habe wie ich vom ObjectInspector zum Script komme sind schon einige Stunden vergangen. Eine minimale Hilfe dafür wäre nicht schlecht gewesen.

Für alle die es auch noch nicht wissen:

Im Designer mit Editieren das Formular öffnen.
Rechte Maustaste im Formular -> ObjectInspector
Rechte Maustaste im ObjectInspektor -> gewünschtes Pascal Script auswählen.

In der Zeile 41 in PROC0008 stand:
MyQuery.ParamByName('nZEIT',Lb_RestMinuten.caption);

das ist meiner Meinung nach falsch, denn davor wird folgendes gesetzt:
nZeit := StrToFloat(Lb_RestMinuten.caption);

Habe die Zeile wie folgt abgeändert und damit läuft es jetzt:
MyQuery.ParamByName('nZEIT',nZeit);

Das Problem mit den startbereiten Positionen habe ich aber immer noch.
Wann wird eine Projektposition startbereit?

MfG
Daniel
6.1.0.0, GDB-Version: AvERP2013.05
UliS
Beiträge: 400
Registriert: Fr Mai 26, 2006 3:44 pm
Wohnort: Velbert-Langenberg

Re: Projektzeit Rückerfassung

Beitrag von UliS »

cncmonster hat geschrieben: Habe die Scripts vorher noch nie bearbeitet. Bis ich mal herausgefunden habe wie ich vom ObjectInspector zum Script komme sind schon einige Stunden vergangen. Eine minimale Hilfe dafür wäre nicht schlecht gewesen.

Für alle die es auch noch nicht wissen:

Im Designer mit Editieren das Formular öffnen.
Rechte Maustaste im Formular -> ObjectInspector
Rechte Maustaste im ObjectInspektor -> gewünschtes Pascal Script auswählen.
Alle Achtung, ohne Programmier-Schulung rauszufinden, wie der Designer zu bedienen ist :lol:

Sprengt nach meiner Meinung das Level dieses Forums.

Dann gleich weiter zur Frage Was soll mit :"Nur startbereite Funktionen erreicht werden"
Fragen wir den Designer, Klicken auf die Checkbox
Öffnen den ObjektInspektor und wissen, das es sich um CHK_STARTBEREIT handelt.

Ressource-File unter Masken gespeichert und nach CHK_STARTBEREIT gesucht

Code: Alles auswählen

 '    if (CHK_STARTBEREIT.checked) then'
      '    begin'
      
        #9#9'  q_2.SQL.Text := q_2.SQL.Text + '#39' AND A.TODO_JN = :SJA AND A.' +
        'VORG_FERTIG = :SJA '#39';'
Im ObjectInspector auf q_2 positioniert findet
SELECT A.* FROM V_BBDEPROJ A

IB-pert bemüht zeigt das TODO_JN aus BROJPO
und VORG_FERTIG als SELECT FERTIG FROM P_BPROJPO_VORG ermittelt wird.

Als SYSDBA BPROJPO aufrufen zeigt nach Klicken auf Ausführen, das es sich tatsächlich um E_TODO_JN handelt.
AvERPedia sagt dazu:
"Das Feld Ausführen kennzeichnet eine aktive Projektposition. "

Die Procedure P_BPROJPO_VORG prüft ob die Vorgänger-Pos Fertig ist.

Zusammengefasst,
eine Position ist dann startbereit, wenn Aktiv und der Vorgänger Fertig ist.

Hätte wir es auch einfacher haben können??
Leider zeigt AvERPedia zu BBDEPROJ bur die Maske ohne weiter Erläuterungen...
Gruß U.Schmidt

Wenn ich weiß, wo ich suchen muß ist OpenSource besser als jede Dokumentation
aktuelle Erkenntnisse mit:
Software-Version 6.11.5
FDB 2023.02 / 2024 FB04 schon mal installiert
cncmonster
Beiträge: 10
Registriert: Do Aug 22, 2013 9:26 pm

Re: Projektzeit Rückerfassung

Beitrag von cncmonster »

Problem ist nur, dass das nicht funktioniert.
Der Vorgänger ist fertig und die Position sowie das gesamte Projekt sind als aktiv gekennzeichnet und dennoch erscheint in der Liste nichts.

Jetzt habe ich auch herausgefunden wie das mit dem Projekt stoppen genau funktioniert.

Ich hatte bis jetzt das Problem, dass bei mehr als einem gestarteten Prozess keiner mehr gestoppt werden konnte.
Nun habe ich herausgefunden warum:
Die Zeit muss genau so verteilt werden, dass keine Restzeit mehr überbleibt, dann auf Beenden gehen und die Prozesse sind gestoppt.

Das Problem mit der falschen Variablen-Zuweisung hatte ich auch beim Fertig-Button.
So wie es aussieht funktioniert das Ganze jetzt, außer eben die startbereiten Positionen.

Gestern bekam ich aber einmal eine Fehlermeldung beim Stoppen wegen zu hoher Projektzeit. Leider habe ich keinen Screenshot gemacht. Bis jetzt konnte ich den Fehler auch nicht mehr reproduzieren.
6.1.0.0, GDB-Version: AvERP2013.05
Antworten