den benutzer namen speichern geändert von.

5. November 2008 17:36

Hallo ich habe eine Form erstell ... diese Form greift auf eine Tabelle drauf ...
Dieser Form soll dazu dienen Aktulen Status ein Zutragen ..
Die Felder und die Hinterlegung kein Problem.

Was ich möchte, ist:

Wenn jemand in dieser Form einen Feld ändert soll neben dem Feld leer Benutzer der gerade eingelogt ist eingetragen werden.

Wie kann ich es am einfachsten erledigen.

Re: den benutzer namen speichern geändert von.

5. November 2008 17:38

Wenn ich´s recht verstehe: nimm USERID

Re: den benutzer namen speichern geändert von.

5. November 2008 17:57

wo wie

Re: den benutzer namen speichern geändert von.

5. November 2008 18:07

du machst dir ein Feld mit einem passenden Namen und setzt in das OnValidate des Feldes, dessen Veränderer du protokollieren möchtest:
Code:
if xrec.FeldDessenVerändererProtokolliertWerdenSoll<>FeldDessenVerändererProtokolliertWerdenSoll then
  NameDeinesFeldes:=USERID;


Oder du sparst dir das und benutzt die Änderungsprotokollposten.

Re: den benutzer namen speichern geändert von.

6. November 2008 09:39

muss ich das feld in der tabelle anlegen.

oder auf der form als text box.

Re: den benutzer namen speichern geändert von.

6. November 2008 09:58

Du wolltest das doch speichern, oder nicht?

Re: den benutzer namen speichern geändert von.

6. November 2008 10:09

also ich habe 6 felder die jeder füllen soll der gerade damit arbeitet.

beispiel :

(felder) ------------------------(feld was der benutzer ändert)-----(feld wo der benutzer id stehen soll der das feld zu letzt geändert hat)
kunden name : ----------------------test kunde --------------------------------------[benutzer 1]
angebots erstellt: -------------------test angebot------------------------------------[benutzer 3]
vor ort termin gelegt: --------------test termin--------------------------------------[benutzer 1]
wunsch termin einbau: -------------test wunsch termin ----------------------------[benutzer 4]
Zuletzt geändert von nav4 am 6. November 2008 10:12, insgesamt 1-mal geändert.

Re: den benutzer namen speichern geändert von.

6. November 2008 10:11

Wie McClane schon schrieb, geht das ganze auch ohne Programmierung:
McClane hat geschrieben:Oder du sparst dir das und benutzt die Änderungsprotokollposten.

Vorteil: Es wird jede Änderung mit UserID, Datum, Uhrzeit, alter Wert, neuer Wert gespeichert.
Somit kann man sogar die Historie eines Datensatzes einsehen.

Spar dir die Mühe es zu programmieren und nutze einfach das Änderungsprotokoll.
Weiterer Vorteil: Es funktioniert für alle Tabellen in NAV.

Re: den benutzer namen speichern geändert von.

6. November 2008 10:13

Wenn du für mehrere Felder den Benutzer speichern willst, musst du auch genauso viele Felder zum Protokollieren der UserID anlegen. Oder du gehst, wie gesagt, über die Änderungsprotokollposten und richtest die Felder dort zum Überwachen ein.

Re: den benutzer namen speichern geändert von.

6. November 2008 10:43

timo wenn ich es wüste wie?

Re: den benutzer namen speichern geändert von.

6. November 2008 10:52

nav4 hat geschrieben:timo wenn ich es wüste wie?

Du findest die Änderungsprotokoll Einrichtung unter "Verwaltung" -> "Anwendung Einrichtung" -> "Allgemein" gleich an oberster Stelle.
Alternativ findest du es unter "Verwaltung" -> "IT-Verwaltung" -> "Allgemeine Einrichtung" ebenfalls an oberster Stelle.
Solltest du es dort nicht sehen können, ist es bei euch nicht lizensiert.
In dem Fall empfehle ich, dass ihr es über eueren Microsoft Partner nachlizensiert. Preis kann ich dir jetzt gerade nicht nennen, aber vielleicht ist jemand behilflich und schreibt hier die Granule-ID und den Preis.

Re: den benutzer namen speichern geändert von.

6. November 2008 10:57

Guten Morgen,

die Änderungsprotokollposten sind ein (kostenpflichtiges ?) separates Modul in der
Finanzbuchhaltung (Granule 3,080 Finanzbuchhaltung - Änderungsprotokoll)

Wenn lizensiert , dann gehe im Menü unter Verwaltung - Anwendung Einrichtung
Im Register Allgemein die Änderungsprotokollposten erstmal generell aktivieren.
Über den Button Einrichten - Tabellen kannst Du für jede Tabelle festlegen,
ob alle Felder oder einige Felder beim Anlegen, Bearbeiten und Löschen protokolliert werden sollen.

Aber Vorsicht, die Protokollierung geht zu Lasten der Performance, besonders wenn man
irgendwelche Buchblätter protokolliert.

Auswertung möglich über Report 509 möglich.

MfG
Christian

(Mist, Timo war wieder schneller, aber dafür hab ich wenigsten die Granule ID gewusst) :-)

Re: den benutzer namen speichern geändert von.

6. November 2008 11:12

Änderungsprotokoll man das ist ja super ... wusste ich nicht. Wieder mal was von Experten gelernt.

Kann ich denn die Daten der Änderungsprotokolle jeweils zu den einzelnen Feldern anzeigen.
In dem Ich es neben dem Feld ein Feld rein setze wo der letzte Benutzer Id rein kommet der das Feld geändert hat.

wie mache ich es so das die geschwindigkeit nicht darunter leidet wenn ich die form öffne.

Re: den benutzer namen speichern geändert von.

6. November 2008 12:08

Also wenn du wirklich das Feld mit der UserID anzeigen willst, ist es leichter es auszuprogrammieren.

Du müsstest eine neue Variable in der Tabelle anlegen (Text 250). Natürlich muss diese auch in der Form angezeigt werden. In der Tabelle musst du jetzt nur noch an dem richtigen Trigger (onModify,onValidate, etc. ...) diesen Code einfügen:

McClane hat geschrieben:
Code:
if xrec.FeldDessenVerändererProtokolliertWerdenSoll<>FeldDessenVerändererProtokolliertWerdenSoll then
  NameDeinesFeldes:=USERID;


USERID ist quasi eine "Standard"-Variable (wie zum Beispiel: TODAY). Sie ist dynamisch und man muss sie nicht anlegen.

Das ist finde ich, die einfachste Variante das ganze darzustellen. Überwachen ist mit Änderungsprotokollposten komfortabler.

Re: den benutzer namen speichern geändert von.

6. November 2008 13:34

ich habe wie du es gesagt hast.

ein neues feld in der tabelle erstellt. typ text 250
das feld auf die form gelegt.
bin in der tabelle auf das neue feld drauf gegangen und habe den code entsprechend eingefügt
in onvali.
if xrec.Auftragsbestätigung Erstellt<>Auftragsbestätigung Erstellt then
benutzerid:=USERID;

muss ich noch eine globale variable erstellen.????

fehler unbekante variable.

was mahe ich falsch.

Re: den benutzer namen speichern geändert von.

6. November 2008 13:49

Welche ist denn unbekannt

Re: den benutzer namen speichern geändert von.

6. November 2008 15:15

Auftragsbestätigung

Re: den benutzer namen speichern geändert von.

6. November 2008 15:21

Ich weiß auch wieso: Wenn du ein/e Variable/Feld hast, welches ein Leerzeichen besitzt, musst du ein " an den Anfang und das Ende setzten. Also:

Code:
IF xrec."Auftragsbestätigung Erstellt"<>"Auftragsbestätigung Erstellt" THEN
  benutzerid:=USERID;

Re: den benutzer namen speichern geändert von.

6. November 2008 18:01

dank euch habe ich es jetzt hin bekommen ...

ich habe insgesamt 10 felder für den die protokolierung benutzerid eingetragen werden soll.

muss ich für jedes feld in der tabelle einen feld anlegen ....

wird es nicht zu langsam?