Autor Thema: Stationaries - Hat sich schon mal jemand mit dem Quatsch beschäftigt?  (Gelesen 4969 mal)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Ich habe hier das Problem, dass Stationaries verschwinden, sobald man ein Dokument aus Ihnen erstellt. Das ist wohl ein bekanntes Problem, siehe hier.

Aber ich wollte wissen, wieso das so ist, und habe mir den Code für "Mehr -> Neue Nachricht mit Vorlage..." mal angeschaut.
Und da habe ich fast die Krise bekommen:

Code
	Set collection = uiws.Picklistcollection(PICKLIST_CUSTOM, False, database.server, database.filepath, "Stationery", "Vorlage wählen", "Wählen Sie bitte eine Vorlage für das neue Memo.")
	If Not(collection Is Nothing) Then     '//User may have cancelled		
		Set noteCursorDoc = collection.getfirstdocument
		If Not noteCursorDoc Is Nothing Then
			Set noteUIEditDocument =  uiws.Editdocument(False, noteCursorDoc)
		End If
	End If

Das heisst: Diese Aktion öffnet einfach die Vorlage zum bearbeiten, und der Rest des "Vorlagen- Handlings" passiert in den Events der Maske. Dort wird also erst die "neue Kopie" erstellt und dafür gesorgt, dass nicht die Vorlage selbst verschwindet.

Das geht aber in vielen Fällen gründlich schief.
Warum in aller Welt wird hier nicht gleich eine Kopie des Dokuments erstellt und zum bearbeiten geöffnet?
Welchen tieferen Sinn macht sowas?
Hat jemand da schon mal dran rumgeschraubt?

Unglaublich...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Es ist nichts passiert; alles nur eine Übung. ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Argh: Ihr glaubt es nicht... Die arbeiten tatsächlich mit $VersionOpt = "6", um quasi beim speichern aus der Vorlage ein Memo zu machen... Nur wird das $VersionOpt im Code wenn man zwischenspeichert zu früh zurückgesetzt, so dass die Vorlage verschwindet...

*ohmmmmm*
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Ich bring' Dir heute aus Müllheim eine Vorratsflasche Baldrian mit!

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Es gibt zwei Gründe, weshalb ich niemals die Maildatenbank oder das Adressbuch anfassen würde.

Der zweite ist, dass es bestimmt keinen Spaß macht ...

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Ihr habt recht... Die Benutzer hier sind aber halt verwöhnt... Die wissen, dass man fast alles fixen kann, was IBM so verbrochen hat.
Fall irgendjemand jemals über diesen Thread stolpert, hier meine Bugfixes für dieses nervige Verhalten. Natürlich sind noch nicht alle Risiken und Nebenwirkungen geprüft, aber ich poste es trotzdem mal. In der Gemeinsamen Aktion "Werkzeuge\Neue Nachricht mit Vorlage..." und in den Aktionen in der Ansicht (Vorlage)|Stationary "Neu\Nachricht mit Vorlage..." und "Aktionen nur für Classic\mit Vorlage (Classic)" habe ich die Zeile
Code
Set noteUIEditDocument =  uiws.Editdocument(False, noteCursorDoc)
durch die folgenden Zeilen ersetzt:
Code
			Dim noteNewMemo As NotesDocument
			
			Set noteNewMemo = New NotesDocument( database )
			Call noteCursorDoc.CopyAllItems( noteNewMemo )
			Call noteNewMemo.RemoveItem("IsMailStationery")
			Call noteNewMemo.RemoveItem("MailStationeryName")
			
			Set noteUIEditDocument =  uiws.Editdocument(False, noteNewMemo)

Ausserdem im QueryOpenDocument der besagten Ansicht folgenden Code ergänzt:
Code
	Dim uiws As New NotesUIWorkspace	
	Dim noteUIEditDocument As NotesUIDocument
	Dim ses As New NotesSession
	Dim database As NotesDatabase
	Dim dc As NotesDocumentCollection
	Dim noteNewMemo As NotesDocument
	Dim noteCursorDoc As NotesDocument
	
	Set database = ses.CurrentDatabase
	
	If ses.GetEnvironmentString( "MailStEd" ) <> "2" Then
		Set dc = Source.Documents
		Set noteCursorDoc = dc.GetFirstDocument
		If Not noteCursorDoc Is Nothing Then
			Set noteNewMemo = New NotesDocument( database )
			Call noteCursorDoc.CopyAllItems( noteNewMemo )
			Call noteNewMemo.RemoveItem("IsMailStationery")
			Call noteNewMemo.RemoveItem("MailStationeryName")
			
			Set noteUIEditDocument =  uiws.Editdocument(True, noteNewMemo)
			Continue = False
		End If		
	End If

Damit sollte ich die meisten Fälle abgefangen haben...

Ja, ich weiss, dass es böse ist, in den Mailtemplates rumzufuhrwerken, aber der Kunde ist König ;-)
« Letzte Änderung: 26.09.12 - 10:26:45 von Tode »
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline it898ur

  • Senior Mitglied
  • ****
  • Beiträge: 478
Hallo,

ich pass diesen Codeteil nun schon seit Notes 5.x an und bin immer wieder fasziniert, dass IBM selbst in 8.5.3 diesen Unsinn nicht ändert. Zum Glück kann man den einmal ordentlich gemachten Code immer wieder mit Copy und Paste übernehmen.

Und ab einer gewissen Nutzeranzahl überwiegt die gesparte Supportzeit deutlich die investierte Entwicklerzeit !

Viele Grüße

André

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz