[GELÖST] Datumsfeld mit Tagesdatum versehen

26. Juni 2012 08:37

Hallo Leute,

ich möchte gerne ein Datumsfeld in einer Tabelle automatisch mit dem Tagesdatum und eventuell ein weiteres Feld mit dem Benutzernamen versehen wenn ein Datensatz eingefügt wird.
Kann ich das über die Properties oder muß das programmiert werden. Wir haben keine Entwickler Lizenz.

Hat jemand einen Tip für mich.

Danke
Zuletzt geändert von MichiB am 2. Juli 2012 09:24, insgesamt 1-mal geändert.

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 09:05

Hi,
über Properties hast du hier ziemlich sicher keine Chance.
Was du mal versuchen kannst ist mit dem ChangeLog zu arbeiten und dann über Flowfields die entsprechenden Werte abzufiltern.

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 09:49

Hallo,

eine Programmierung in den On Insert Trigger halte ich für das Einfachste. Sind zwei Zeilen Code inkl. Dokumentation eine halbe Stunde Arbeit.

P.S. die Variante mit dem ChangeLog finde ich auch nicht schlecht. Ich hätte ein bisschen Angst, ob das schnell genug ist.

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 11:14

m_schneider hat geschrieben: Sind zwei Zeilen Code inkl. Dokumentation eine halbe Stunde Arbeit.

Wenn die Tabellen an anderen Stellen im Code nicht mit INSERT(TRUE) angesprochen wird, wird der Trigger nicht durchlaufen. Die alle zu finden kann dann auch länger dauern, wenn keine Tools wie Object Manager im Einsatz sind, auch wenn die eigentliche Umarbeitung dann meist banal ist.

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 11:33

MichiB hat geschrieben:Wir haben keine Entwickler Lizenz.


Nur so als Erinnerung ;-)

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 11:48

Klappt alles nicht.

Einmal keine Entwickler - Lizenz.

Und mit einem Flowfield auf die Änderungsprotokollposten komme ich auch nicht hin. Der Primary Key ist eine Lfd.Nummer(Integer), in den Änderungprotokollposten Text-50. Da stößt die Kiste immer sauer auf.
Als alter Cobol Programmierer bin ich hier nur Autodidakt. Vielleicht habe ich ja etwas übersehen oder noch nicht kennengelernt.
Wenn jemand eine Idee hat bitte melden.
Zwischendurch schon einmal vielen Dank für Einsatz.

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 13:08

MichiB hat geschrieben:Und mit einem Flowfield auf die Änderungsprotokollposten komme ich auch nicht hin. Der Primary Key ist eine Lfd.Nummer(Integer), in den Änderungprotokollposten Text-50. Da stößt die Kiste immer sauer auf.

Da ist ein DateTime-Feld, da man dafür benutzen kann. Für die Artikeltabelle sähe das z.B so aus:
Lookup("Change Log Entry"."Date and Time" WHERE (Table No.=CONST(27),Primary Key Field 1 Value=FIELD(No.)))

Der PK hat mit dem Flowfield nichts zu tun, es muss lediglich einen Sekundärschlüssel geben, der den Wert bereitstellen kann. Den muss man ggf. anlegen, in diesem Fall aber nicht.
Wenn die Uhrzeit stört, kann die in der Format-Property der Form mit einer Formatierung ausgeblendet werden: <Day,2>.<Month,2>.<Year>

Rückwirkend für existierende klappt das aber mit dem Change Log nicht, falls man das nicht selber entsprechend betankt. Nach Flowfields kann auch nicht sortiert werden, wenn das benötigt wird, geht es so nicht.
Danjo hat geschrieben:
MichiB hat geschrieben:Wir haben keine Entwickler Lizenz.

Nur so als Erinnerung ;-)

Das war schon klar, aber es gibt ja Entwickler die eine haben und die man holen kann :wink: .

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 13:22

Vestehe ich nicht,

In der Tabelle habe ich als eindeutigen Key eine Lfd.Nr, alles andere kommt mehrfach vor.
Wie soll ich an das Datum aus der Tabelle 405 kommen?

Gruß

Re: Datumsfeld mit Tagesdatum versehen

26. Juni 2012 13:28

MichiB hat geschrieben:Vestehe ich nicht,

In der Tabelle habe ich als eindeutigen Key eine Lfd.Nr, alles andere kommt mehrfach vor.
Wie soll ich an das Datum aus der Tabelle 405 kommen?

Die 405 gehört zum Change Log selber, du braucht die Tabellennr. deiner eigenen Tabelle, die überwacht werden soll, im Feld Table No., und den oder die Primärschlüsselwert(e) aus dieser Tabelle. Darauf filtert dann das Flowfield ab und zeigt den Zeitstempel des ersten Datensatzes an, der ja beim Insert erzeugt wird (wenn das im Change Log Setup eingerichtet ist).

Re: Datumsfeld mit Tagesdatum versehen

27. Juni 2012 07:34

Das funktioniert nicht weil das eine Feld, die LfdNr. ein Integer Feld ist. Das andere in Tabelle 405 ist eine Text 50 Feld.
Beim Run mit der neuen Tabelle kommt ein Abbruch weil die Felder unterschiedliche Eigenschaften haben.

:-| :-|

Gruß

Re: Datumsfeld mit Tagesdatum versehen

27. Juni 2012 08:18

MichiB hat geschrieben:Das funktioniert nicht weil das eine Feld, die LfdNr. ein Integer Feld ist. Das andere in Tabelle 405 ist eine Text 50 Feld.
Beim Run mit der neuen Tabelle kommt ein Abbruch weil die Felder unterschiedliche Eigenschaften haben.
Gruß

In Navision gibt es einen FORMAT-Befehl. Bin mir nicht sicher, ob der auch in Flowfields funzt, aber ein Versuch ist es Wert.
Darf man fragen, um welche Tabelle es sich handelt?

Kowa hat geschrieben:
m_schneider hat geschrieben: Sind zwei Zeilen Code inkl. Dokumentation eine halbe Stunde Arbeit.

Wenn die Tabellen an anderen Stellen im Code nicht mit INSERT(TRUE) angesprochen wird, wird der Trigger nicht durchlaufen. Die alle zu finden kann dann auch länger dauern, wenn keine Tools wie Object Manager im Einsatz sind, auch wenn die eigentliche Umarbeitung dann meist banal ist.

Verhält sich mit dem Änderungsprotokoll ähnlich. Das bekommt auch nur Manuelle Änderungen mit. Und da muss ich die Stellen ebenso suchen.
Es kommt dabei immer darauf an, welche Art Tabelle man anpassen möchte.

Kowa hat geschrieben:
Danjo hat geschrieben:
MichiB hat geschrieben:Wir haben keine Entwickler Lizenz.

Nur so als Erinnerung ;-)

Das war schon klar, aber es gibt ja Entwickler die eine haben und die man holen kann :wink: .

Genau so war das gemeint.

Re: Datumsfeld mit Tagesdatum versehen

27. Juni 2012 13:50

m_schneider hat geschrieben:
MichiB hat geschrieben:Das funktioniert nicht weil das eine Feld, die LfdNr. ein Integer Feld ist. Das andere in Tabelle 405 ist eine Text 50 Feld.
Beim Run mit der neuen Tabelle kommt ein Abbruch weil die Felder unterschiedliche Eigenschaften haben.
Gruß

In Navision gibt es einen FORMAT-Befehl. Bin mir nicht sicher, ob der auch in Flowfields funzt, aber ein Versuch ist es Wert.

Tut er. Was ich da oben beschrieben habe, habe ich vorher getestet. Am besten das Beispiel für die Artikeltabelle in einem Testsystem einfach mal einbauen, Change Log für Artikel aktivieren , Client neu starten und einen neuen Artikel anlegen.

Re: Datumsfeld mit Tagesdatum versehen

27. Juni 2012 15:08

In den Properties des Datumsfeldes:
FieldClass: FlowField
CalcFormula: ???? Die Syntax würde mich wirklich interessieren.

Kann mir die mal bitte einer aufreiben.
Icha habe keine Ahnung wie dort den Format Befehl integrieren kann.

Gruß

Re: Datumsfeld mit Tagesdatum versehen

28. Juni 2012 01:04

Welche Nummer hat deine Tabelle und aus welchen Feldern besteht der Primärschlüssel?

Re: Datumsfeld mit Tagesdatum versehen

29. Juni 2012 14:37

Hallo,

Die Tabellenr. ist 50031 und der Key ist die Lfd.Nr.(Integer).

Gruß

Re: Datumsfeld mit Tagesdatum versehen

29. Juni 2012 17:29

MichiB hat geschrieben:Hallo,

Die Tabellenr. ist 50031 und der Key ist die Lfd.Nr.(Integer).

Ich ging bislang davon aus, dass mit Lfd.Nr. der PK der Änderungsprotokollposten gemeint ist.
Hier ist deine eigene Tabelle selber einer Postentabelle, da kommt man mit dem Änderungsprotokoll ohnehin so nicht weiter. Das ist dazu da, um bewusste Änderungen in Stammdaten und Belegen zu erfassen. Da sind die PK-Felder Codefelder, dafür kann man w.o. beschrieben ein Flowfield erstellen.
Posten entstehen automatisch beim Buchen ohne Zutun des Anwenders, fallen also nicht in dieses Schema. Es sind ja keine Änderungsposten vorhanden (von manuellen Eingaben in dieser Tabelle mal ausgenommen).

Da Änderungsprotokollposten aber in den meisten Unternehmen aus Platzgründen ohnehin häufiger gelöscht werden, ist das ganze so oder so keine allzu haltbare Lösung.

Re: Datumsfeld mit Tagesdatum versehen

1. Juli 2012 10:39

Kowa hat geschrieben:
Da Änderungsprotokollposten aber in den meisten Unternehmen aus Platzgründen ohnehin häufiger gelöscht werden, ist das ganze so oder so keine allzu haltbare Lösung.


Sag ich doch. Also eigenes Feld in dem OnInsert-Trigger oder den Code der die Tabelle befüllt.

Re: Datumsfeld mit Tagesdatum versehen

2. Juli 2012 09:23

Dann muss es halt so sein.

Ich danke allen vielmals für den Einsatz.

Re: [unGELÖST]Datumsfeld mit Tagesdatum versehen

2. Juli 2012 10:34

Warum hast du den Thread denn als "ungelöst" markiert?

Re: [unGELÖST]Datumsfeld mit Tagesdatum versehen

2. Juli 2012 14:48

Hallo,

unGelöst, weil wir keine Entwicklerlizenz haben.
Mit der weiteren Tabelle helfen wir uns, weil unser Lieferant uns ein unbrauchbares Paket und miserabel konvertierten Daten implementiert hat.
Aber das ist eine andere Geschichte, die auch hier im Forum nicht öffentlich machen möchte.

Gruß

Re: [unGELÖST]Datumsfeld mit Tagesdatum versehen

2. Juli 2012 15:01

weil wir keine Entwicklerlizenz haben.


Auch keinen Table-Designer? Der reicht u.U. dafür in der Tabelle 50031 das einzubauen, was du benötigst

Gruß, Fiddi

Re: [unGELÖST]Datumsfeld mit Tagesdatum versehen

2. Juli 2012 15:45

m_schneider hat geschrieben:Warum hast du den Thread denn als "ungelöst" markiert?
MichiB hat geschrieben:Hallo,

unGelöst, weil wir keine Entwicklerlizenz haben.
Mit der weiteren Tabelle helfen wir uns, weil unser Lieferant uns ein unbrauchbares Paket und miserabel konvertierten Daten implementiert hat.
Aber das ist eine andere Geschichte, die auch hier im Forum nicht öffentlich machen möchte.

Gruß

Ich habe mir erlaubt, den Titel dieses Themas dennoch auf [Gelöst] zu setzen, da zu dem Problem mehrere machbare Lösungsmöglichkeiten vorhanden sind.
Wer eine Entwickler-Lizenz sein eigen nennt, oder seinen Microsoft Partner damit beauftragt, bekommt mit der Beschreibung in diesem Thema genau das, was er braucht.