30. April 2012 09:01
Guten morgen,
ich steh momentan vor einer Frage...und zwar haben wir öfter mal hier, das ein neuer user in NAV angelegt wird.
Da das ein immer gleicher Ablauf einer Checkliste ist, haben wir überlegt diesen Vorgang nun zu automatisieren.
Ansich denke ich keine so schwere Sache, allerding nur wenn ich irgendwie Zugriff auf die Tabellen hätte, die dahinter liegen.
In folgenden Bereichen müssten Einträge gemacht werden:
- Zugriffsrechte
- Benutzer einrichten (z.B. Druckerzuordnung)
- Navigationsbereich einrichten (zuweisung was der User sieht)
Habe ich in den oben genannten Bereichen eine Tabelle auf die ich zugreifen kann, um dort Daten zu ergänzen.
Vielen Dank schonmal
Ciao
OcchiX
2. Mai 2012 10:16
Guten Morgen,
gibt es keine Möglichkeit mein oben beschriebenes Problem zu lösen?
Güße
OcchiX
2. Mai 2012 10:26
Hallo,
deine Anforderung betrifft mehrere Tabellen, und müsste in jedem Fall individuell für euch programmiert werden.
Gruß, Fiddi
2. Mai 2012 10:43
Hallo fiddi,
die Programmierung würde ich auf jeden Fall übernehmen können.
Was ich als Info bräuchte, wären die Tabellen. Konnte leider nix finden...
Ciao
OcchiX
2. Mai 2012 11:07
arbeitet ihr mit SQL-DB oder Native-DB, mit Windows-Usern oder NAV- Usern?
Die Drucker findest du in tabelle 78, Benutzer und Benutzerrechte im 2000000000er Bereich. Wenn du mit Windows Benutzern arbeitest, ist ein Wenig mehr zu tun, Ebenfalls, wenn ihr einen SQL-Server einsetzt.
Gruß, Fiddi
2. Mai 2012 11:16
OcchiX hat geschrieben:- Zugriffsrechte
- Benutzer einrichten (z.B. Druckerzuordnung)
- Navigationsbereich einrichten (zuweisung was der User sieht)
Für Native und DB-Anmeldung:
In der Tabelle 2000000002 "User" muss der neue Benutzer und Passwort angelegt werden.
In der Tabelle 2000000003 "Member Of" sind die Zugriffsrechte pro Nutzer.
In der Tabelle 78 "Printer Selection" ist die Druckerauswahl pro User.
In der Tabelle 2000000061 "User Menu Level" pro Benutzer unter "Benutzereinschränkg." die sichtbaren Bereiche im Navigationsbereich.
Wenn ich das umsetzen müsste, wäre mein Ansatz zu versuchen eine Art Kopierfunktion zu bauen.
Also unter Angabe des neuen Benutzers und Passworts noch einen Referenz-Benutzer anzugeben, von dem dann die Rechte und Einstellungen aus den oben angegeben Tabellen kopiert werden sollen.
mfg,
winfy
2. Mai 2012 11:27
In der Tabelle 2000000002 "User" muss der neue Benutzer und Passwort angelegt werden.
In der Tabelle 2000000003 "Member Of" sind die Zugriffsrechte pro Nutzer.
In der Tabelle 2000000061 "User Menu Level" pro Benutzer unter "Benutzereinschränkg." die sichtbaren Bereiche im Navigationsbereich.
das funktioniert aber nur bei DB-Usern, bei Windows Usern klappt das so nicht.
Gruß, Fiddi
2. Mai 2012 11:29
fiddi hat geschrieben:das funktioniert aber nur bei DB-Usern, bei Windows Usern klappt das so nicht.
Gruß, Fiddi
Ja, das meinte ich mit "Für Native und DB-Anmeldung:".
mfg,
winfy
2. Mai 2012 11:33
@fiddi
In der Tat arbeiten wir mit Windows-Usern und mit NAV-Usern...und mit einer SQL DB.
Im 20000000000er Bereich hab ich schon geschaut, auch mit dem Befehl "AllObj", konnte aber so auch nix finden.
@winfy
Okay...Tabelle "User" und "Member Of" und "Printer Selection" wären schonmal das was mir weiterhlefen würde.
Bei der "User Menu Level" hatte ich auch bereits reingeschaut, doch kann ich dort leider nix ersehen für den jeweiligen User.
Ein Beispiel wäre da(ID=A1; ID-Typ=Datenbank; Ebene=Benutzereinschränkg.; Objekt=*; Geändert=22.4.12) oder
(ID=Domain/User; ID-Typ=Windows; Ebene=Benutzereinschränkg.; Objekt=*; Geändert=22.4.12).
Wie kann ich dort die sichtbaren Bereiche bearbeiten?
Ciao
OcchiX
2. Mai 2012 11:40
OcchiX hat geschrieben:Wie kann ich dort die sichtbaren Bereiche bearbeiten?
Das ist im BLOB Feld gespeichert.
Ich würde das an deiner Stelle nicht versuchen zu bearbeiten, sondern wie oben schon vorgeschlagen von einem anderen Benutzer zu kopieren.
mfg,
winfy
2. Mai 2012 11:45
Nun in dem Blob- Feld "Objekt" steht die Konfiguration drin, du kannst Sie nur von einem anderen User kopieren.
Tabelle 2000000053 Windows Access Control
Tabelle 2000000054 Windows Login
enthalten die Informationen für Windows- Anmeldungen.
Damit kannst du aber keine SQL-Server- Benutzer (NAV- DB- Benutzer) anlegen, und auch die Synchronisierung zwischen NAV und SQL- Server nicht starten.
Gruß, Fiddi
2. Mai 2012 11:59
@winfy
okay, dann werde ich das mal mit dem einfachen kopieren des Blob-Fields versuchen.
@fiddi
Der SQL-User wird direkt auf der DB angelegt...es geht dann nurnoch um die Konfiguration des Users.
Nach dem das ganze aber Konfiguriert wurde, muss die "kleine" Sync durchgeführt werden.
Dies werde ich mal über die beiden Tabellen testen, die du mir gerade geschrieben hast.
Vielen Dank schonmal, ich denke damit kann ich erstmal arbeiten
Gebe hier auf jeden Fall nochmal eine Rückmeldung, sobald ich dahingehend was erreicht habe.
Ciao
OcchiX
2. Mai 2012 12:06
fiddi hat geschrieben:Nun in dem Blob- Feld "Objekt" steht die Konfiguration drin, du kannst Sie nur von einem anderen User kopieren.
Es soll wohl auch Programmierer geben die da hart reinschreiben, aber das würde ich auch nicht empfehlen.
Damit könnte man sich meiner Meinung nach auch die Datenbank verkorksen.
(Link)mfg,
winfy
29. Juni 2012 11:05
Hallo zusammen,
bin nach längerer Zeit nun endlich dazu gekommen das Programm zu schreiben.
Ich bekomme alles kopiert, auch in der Tabelle "User Menu Level" das Blob-Field.
Beim Testen des Logins sind aber leider alles Menüfelder für den User sichtbar.
Da ich eigentlich auch dagegen bin, das Blob-Field zu bearbeiten...weil wegen risiko wie von winfy betont...
Und weil ich auch erstmal garkeine ahnung davon hätte...
Gibts irgendwie jemanden hier, der sowas schon gemacht hat und mir evtl. noch ein tipp geben könnte?
Ciao
OcchiX
29. Juni 2012 13:14
Hallo Cristian,
wie hast du denn den Datensatz kopiert?
Falls du die Felder einzeln kopiert hast brauchst du bei BLOB-Feldern noch ein CALCFIELDS.
mfg,
winfy
29. Juni 2012 13:22
Falls du die Felder einzeln kopiert hast brauchst du bei BLOB-Feldern noch ein CALCFIELDS.
Wenn die NAV- Hilfe stimmt, benötigst du das auch bei Transferfields und wahrscheinlich auch bei der direkten Zuweisung des Records.
Gruß, fiddi
29. Juni 2012 13:31
fiddi hat geschrieben:Wenn die NAV- Hilfe stimmt, benötigst du das auch bei Transferfields und wahrscheinlich auch bei der direkten Zuweisung des Records.
Gruß, fiddi
Auch bei Record.COPY(FromRecord) ?
mfg,
winfy
29. Juni 2012 13:48
Auch bei Record.COPY(FromRecord) ?
Hab's nicht getestet.
Gruß, Fiddi
29. Juni 2012 13:51
fiddi hat geschrieben:Hab's nicht getestet.
Gruß, Fiddi
Klappt da auch ohne! Ich hatte das wohl bei mir im Kopf falsch abgespeichert.
Man braucht auch da ein CALCFIELDS, zumindestens als ich das gerade in unserer nativen TestDB getestet habe.
Testcode:
- Code:
RefUser:='MEIER';
NewUser:='SCHULZE';
IF USERMENULEVEL.GET(RefUser,USERMENULEVEL."ID Type"::Database,USERMENULEVEL.Level::"User Restrictions") THEN BEGIN
USERMENULEVEL.CALCFIELDS(Object); //braucht man wohl doch.
USERMENULEVEL2.COPY(USERMENULEVEL);
USERMENULEVEL2.ID := NewUser;
USERMENULEVEL2.INSERT;
END;
mfg,
winfy
29. Juni 2012 15:20
Hi,
ich mache ein TRANSFERFIELDS aber vorher auch das CALCFIELDS.
Ich sehe auch, das in dem Blob-Field ein "*" drin steht, das bedeutet für mich ja eigentlich, das diese Feld nun Inhalt hat.
Aber die Menüs vom RefUser und vom NewUser sind leider nicht identisch
- Code:
//NAV Menu einrichten
tblUserMenu.SETRANGE(tblUserMenu.ID,VergleichbarerWinUser);
IF tblUserMenu.FIND('-') THEN REPEAT
tblNeuesUserMenu.RESET;
tblNeuesUserMenu.INIT;
tblNeuesUserMenu.TRANSFERFIELDS(tblUserMenu);
tblNeuesUserMenu.ID := txtWinUserID;
tblUserMenu.CALCFIELDS(Object);
tblNeuesUserMenu.Object := tblUserMenu.Object;
tblNeuesUserMenu."ID Type" := tblUserMenu."ID Type"::Windows;
tblNeuesUserMenu.INSERT;
UNTIL tblUserMenu.NEXT=0;
Ciao
OcchiX
Zuletzt geändert von OcchiX am 29. Juni 2012 15:22, insgesamt 1-mal geändert.
29. Juni 2012 15:22
Habe es gerade bei mir getestet und bei mir hat es geklappt.
Hast du auch die Zeile mit "User Restrictions" kopiert?
mfg,
winfy
29. Juni 2012 15:25
ist denn bei meinem Quellcode irgendwas falsch?
29. Juni 2012 15:52
OcchiX hat geschrieben:ist denn bei meinem Quellcode irgendwas falsch?
Nein, dein Code klappt auch!
Ich habe den auch gerade bei mir getestet.
Hast du evtl. die Gross/Kleinschreibung bei der ID anders?
mfg,
winfy
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.