Autor Thema: Arbeitsumgebungen und Verbindungsdokumente per Script erstellen  (Gelesen 6429 mal)

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Hy,

ich such schon ne ganze Weile nach sowas. Hat da mal jmd. einen passenden Link.
Ich braucht kein fertiges Script, besser wär son Wink wie man das angeht.
Beschäftige mich als NEWBIE mit LN Script, programmieren generell ist aber kein Neuland.

Ich danke euch..

Grüße
Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Persönliches Adressbuch (lokale names.nsf) öffnen, neues Dokument erstellen, Form entsprechend setzen, Felder passend befüllen, speichern, fertig.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Das hatten wir vor gut 5 Jahren schon einmal http://atnotes.de/index.php?topic=447.msg2106#msg2106

Damit hast du schon mal einen Starting Point
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Hy,

ich danke euch... Das mit dem Form setzen hab ich auch gecheckt.. ist ja ähnlich bei der Formelsprache, da brauch ich auch ne Form.... Ich probiers mal aus und meld mich wenns nicht
klappt..

thanks

Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Zitat
Persönliches Adressbuch (lokale names.nsf) öffnen, neues Dokument erstellen, Form entsprechend setzen, Felder passend befüllen, speichern, fertig.

Okay... ich habe das mal getestet mit Teilen aus dem Script von eknori... nur er speichert nichts...
Das Problem scheint mir das ich nicht weis wie ich die Felder befüllen soll`?

Hier mal ein auszug...

Code
	'create a new location document in Form locations
	Set ndoc = New NotesDocument(db)
	ndoc.form = "Location"
	ndoc.Name = "Test"
	ndoc.LocationType = 1
	Call ndoc.Save (True,False,True)

ndoc. ist meine neue Arbeitsumgebung aber wenn ich dann nen Punkt mache seh ich keinen einzigen Eintrag von einem Feld den eine bestehende AU hat?

Was mach ich falsch?

Grüße
ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Zitat
wenn ich dann nen Punkt mache seh ich keinen einzigen Eintrag von einem Feld den eine bestehende AU hat?
Häääää?  ??? :-:
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Ich vermute mal, er meint die Box mit Eigenschaften und Methoden die aufpoppt wenn man mit einer Objektvariablen arbeitet.

In dieser Box werden generell keine Feldnamen angezeigt.

Okay... ich habe das mal getestet mit Teilen aus dem Script von eknori... nur er speichert nichts...
Das Problem scheint mir das ich nicht weis wie ich die Felder befüllen soll`?

Was heisst: er speichert nichts?

Anhand der bestehenden AUs kannst du doch ermitteln welche Felder wie gefüllt werden müssen, oder liege ich da falsch?


Axel
« Letzte Änderung: 21.03.07 - 16:34:13 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Hy... genau die meinte ich.. also muss ich mir die vorher rausschreiben.. können ja ne ganze menge werden...dennoch speichert er mir die neue AU ja nicht mal...

Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Legst du die AU auch in der richtigen DB an? Wie sieht denn die Anzahl der Dokumente aus? Erhöht die sich, wenn du eine AU anlegst?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Hi,

ja habs gecheckt sie erhöht sich... hier mal das ganze Teil bisher...

Code
Sub Click(Source As Button)
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim item As NotesItem
	Dim view As NotesView
	Dim form As NotesForm
	Dim PersonalAddressBook As String
	Dim ndoc As  NotesDocument
	
	'Get the personal address book from the notes.ini and remove any cascaded local address books
	PersonalAddressBook = Trim(s.GetEnvironmentString("Names",True))
	If Instr(PersonalAddressBook, ",") > 0 Then
		PersonalAddressBook = Left$(PersonalAddressBook, Instr(PersonalAddressBook, ",") -1)
	Else
		If Instr(PersonalAddressBook, ";") > 0 Then
			PersonalAddressBook = Left$(PersonalAddressBook, Instr(PersonalAddressBook, ";") -1)
		End If
	End If
	
	 'Get the personal address book, exit if cannot be opened
	Set db = s.GetDatabase("", PersonalAddressBook)	
	If db.IsOpen = False Then Goto FinishFunction
	
	Set view = db.GetView("Locations")
	Set form = db.GetForm("Location")
	
	'create a new location document in Form locations
	'Set ndoc = New NotesDocument(db)
	Set  ndoc = db.CreateDocument
	ndoc.form = "Location"		
	ndoc.Name = "Test"
	ndoc.LocationType = 1
	ndoc.Save True,False
		
	
FinishFunction:
	Set db = Nothing
	Set view = Nothing 
	Set ndoc = Nothing
	
End Sub



Grüße
Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Wenn Du Dir die View-Eigenschaften angeschaut hättest, wärst Du der Lösung schon näher. Dort wird nämlich als Auswahlkriterium
Code
SELECT Type = "Location"
angegeben.

=> Feld "Type" auch noch richtig befüllen und schon taucht die AU in der View auf.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Hy,

super ich danke euch für die Unterstützung, ich habs hinbekommen. Nur leider existiert noch ein kleiner Schönheitsfehler. Wenn ich ein VERBINDUNGSDOKUMENT per Script anlege und das Feld LanPortName auf "TCPIP" setze dann fragt er beim speichern:

"Die in Ihren Benutzervorgaben aktivierten Kommunikationsanschlüsse unterscheiden sich von denen, die in diesem Verbindungsdokument ausgewählt sind. Möchten Sie dieses Verbindungsdokument aktualisieren?"

Das sollte noch weg. Kann ich beim speichern sagen "alle Popups mit Nein beantworten?" oder soetwas ähnliches? Habt ihr da noch einen Tipp auf Lager?

Nachtrag:

Noch was.. Ist euch schonmal aufgefallen, dass nach einer Erstkonfig eines Clients viele Einträge in der Notes.ini noch nicht angelegt sind. Auch ein Neustart hilft hier nicht. Erst wenn man die Benutzervorgaben in Notes einmal geöffnet und wieder geschlossen hat wird zB. der Eintrag
Names =names.nsf in die Notes.ini geschrieben! Das ist natürlich ein Nachteil den man abfangen muss im Script oder gibts auch hier einen Workaround?

Grüße
Ben
« Letzte Änderung: 23.03.07 - 10:40:05 von Worn »
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Die "fehlende" NAMES-Variable in der NOTES.INI mußt du abfangen

 'Get the personal address book from the notes.ini and remove any cascaded local address books
PersonalAddressBook = Trim(s.GetEnvironmentString("Names",True))
If Trim(PersonalAddressBook)="" Then
PersonalAddressBook="names.nsf"
ElseIf Instr(PersonalAddressBook, ",") > 0 Then
PersonalAddressBook = Left$(PersonalAddressBook, Instr(PersonalAddressBook, ",") -1)
ElseIf Instr(PersonalAddressBook, ";") > 0 Then
PersonalAddressBook = Left$(PersonalAddressBook, Instr(PersonalAddressBook, ";") -1)
End If

Ein ComputeWithForm würde gut tun, um alle Default-Werte zu setzen, denn bisher ist die so erzeugte Arbeitsumgebung ja nichts wert, weil nicht einmal ein MailFile drinsteht.

Der LocationType muß ein String sein.
Der LocationType "1" ist eine reine Telefonverbindung (der Notes-Client wählt ein Modem, das am Notes-Server an einem COM-Port hängt, an). Telefone unterhalten sich normalerweise nicht per TCPIP. Du willst vermutlich eine Verbindung vom Typ "4" benutzen.

Es kann langwierig werden, wenn du uns nicht sagst, was du eigentlich damit bezwecken willst und wir unsere Ahnungen und Vermutungen in Codezeilenvorschläge umsetzen, deren Sinn du nur teilweise erahnst.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Hy,

sorry das ich mich erst jetzt melde. War im Urlaub. Ihr habt mir sehr geholfen. Gebracuht habe ich das damit eine eine DB machen kann wo der User ein paar Dinge auswählt und dann auf erstellen klickt und sich damit die entsprechenden Dokumente anlegen lassen. Hat bisher wurderbar funktioniert.

Also nochmals vielen Dank!

grüße
Ben

PS: Wie kann ich ein Thema auf erledigt setzen? Ansonsten bitte machen!
Wer für alles offen ist der kann ja nich ganz dicht sein!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz