Domino 9 und frühere Versionen > Entwicklung

Agent - Felder ändern

(1/1)

Raimund:
Hi Entwickler!

Folgendes Problem:

Habe 3 Masken:
1. Firma - Dokument
2. Person - Rückantwort
3. Produkt - Rückantwort

Wenn ich jetzt in der Maske Firma den Firmennamen ändern will, so sollen alle Unterdokumente, welche auch den Firmennamen haben, geändert werden.

Momentan habe ich das so gelöst:

Agent: SetCompany

FIELD companyname:= @Environment( "Company");SELECT @All

Bedeutet im Klartext - ich muss alle Unterdokumente markieren und den Agensten ausführen. Funktioniert auch prima.

Gibt es jedoch eine Möglichkeit, dass automatisch alle Rückantworten des Hauptdokumentes, ohne alle markieren zu müssen, mit den neuen Firmennamen aktualisiert werden?

Vielen Dank

Gruß
Raimund

Axel:
Hi,

das ist kein großes Problem.

Erstelle innerhalb der Hauptmaske folgende Routine:

Sub UpdateResponseDoc(doc As NotesDocument)

Dim collection As NotesdocumentCollection
Dim responsedoc As NotesDocument
Dim i As Integer

Set collection = doc.Responses
For i = 1 To collection.Count
 Set responsedoc = collection.GetNthDocument(i)              
 responsedoc.Company = doc.Company
 Call responsedoc.Save(True, False)
Next

End Sub

Im QuerySave-Event rufst du die Routine dann auf

Call UpdateResponseDoc(Source.Document)

Ich hoffe das hilft dir weiter.

Axel

Raimund:
Hi Axel,

vielen Dank.
Werde es gleich ausprobieren.

Bin halt noch ein Anfänger  :'(

Gruß
Raimund

feel_x:

--- Zitat von: Axel am 08.07.02 - 10:10:46 ---Hi,

das ist kein großes Problem.

Erstelle innerhalb der Hauptmaske folgende Routine:

Sub UpdateResponseDoc(doc As NotesDocument)

Dim collection As NotesdocumentCollection
Dim responsedoc As NotesDocument
Dim i As Integer

Set collection = doc.Responses
For i = 1 To collection.Count
  Set responsedoc = collection.GetNthDocument(i)              
  responsedoc.Company = doc.Company
  Call responsedoc.Save(True, False)
Next

End Sub

Im QuerySave-Event rufst du die Routine dann auf

Call UpdateResponseDoc(Source.Document)

Ich hoffe das hilft dir weiter.

Axel

--- Ende Zitat ---


Hallo,
kann man diese Routine - genau umgekehrt - auch für die Änderung oder Aktualisieung des Hauptdokumentes bei Änderung des Unterdokumentes verwenden?
öffnen - aktualisieren - speichern würde reichen.

:)

ata:
... zur Korrektur des Hauptdokumentes würde ich mit @SetDocField arbeiten. Die DocID des Hauptdokumentes liegt ja vor...

ata

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln