Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Remy9999 am 20.09.10 - 11:44:25
Titel: Felder in diversen Datensätzen automatisch ändern
Beitrag von: Remy9999 am 20.09.10 - 11:44:25
Hallo,
ich schon wieder..
Ich versuche mich an einer Datenbank, bei der ich in einer Maske (Kundeneinheiten) die Kundennummern von diversen Kunden habe. Für jede Kundennummer gibt es in der Maske ein eigenes Feld, wobei nicht zwingend jedes Feld gefüllt ist, da nicht jeder Kunde alle Vorgaben erfüllt. Weiterhin haben alle diese Kunden (so denn vorhanden) jeweils einen eigenen Datensatz, der auch genau durch diese Kundennummer definiert ist.
Jetzt möchte ich durch eine Aktion in alle diese genau definierten Datensätze in ein Feld einen Wert schreiben, der in der Maske Kundeneinheiten als Sammelbegriff für diese Einheit definiert ist.
Habe das ganze über eine Aktion versucht -> _temp = KD_Eng_neu; @Command([OpenView];"Haupt";KD_alt1); @Command([EditDocument]); FIELD KD_Eng_neu := _temp; @Command([FileSave]); @Command([CloseWindow])... klappt aber nur bis zum ersten Dokument, d.h. das wird geöffnet, der Dateninhalt geschrieben, aber die Speicherung funtkioniert schon nicht mehr.
Da ich Script so gut wie gar nicht beherrsche - stehe ich ein wenig auf dem Schlauch. ???
Kann mir jemand einen Tipp geben??
Martin
Titel: Re: Felder in diversen Datensätzen automatisch ändern
Beitrag von: Mitch am 20.09.10 - 12:00:42
Bau dir einen Agenten. Das geht dann sogar über die "Einfachen Aktionen". Neuen Agenten erstellen, Namen vergeben, Aktion hinzufügen...
Ist sogar per Default alles so eingestellt wie du es brauchst.
Dann einfach die Dokumente in einer Ansicht markieren und den Agenten über das "Aktionen"-Menü starten.
Agenten danach wieder entfernen.
Äääh, so einfach natürlich nur wenn du einen festen Wert reinschreiben willst. Aber das willst du ja gar nicht, hatte ich überlesen.
Aber im Prinzip das gleiche: Einfache Aktion "@Formel ausführen" und das eingeben:
FIELD NeuesFeld := AltesFeld; @True
Titel: Re: Felder in diversen Datensätzen automatisch ändern
Beitrag von: Remy9999 am 20.09.10 - 13:16:06
Hallo,
gedacht hatte ich mir das auch so - das Problem ist aber, dass ich ja das Feld bei den verschiedenen Kunden, also in bis zu 6 Datensätzen ändern muss - und mein Problem ist, dass ich diese Datensätze ja über die Aktion nicht genau definieren kann.
Darum der Versuch, den Datensatz mit OpenView zu selektieren und dann das Feld zu ändern.
Martin
Titel: Re: Felder in diversen Datensätzen automatisch ändern
Beitrag von: Grischu am 20.09.10 - 14:30:10
Wie wäre es damit ?
Code
_temp := KD_Eng_neu;
unids:= @DbLookup("":"NoCache";"":"";"Haupt";KD_alt1;[RETURNDOCUMENTUNIQUEID]);
@For(i := 1; i < @Elements(unids); i := i + 1;@SetDocField(unids[i];KD_Eng_neu;_temp))
Hab ich nur so schnell zusammengeschrieben also bitte noch testen bevors auf die scharfe Datenbank geht :)
Titel: Re: Felder in diversen Datensätzen automatisch ändern
Beitrag von: Remy9999 am 21.09.10 - 09:28:16
mmhh, danke für den Tip mit dblookup - aber funzt irgendwie nicht.
Wahrscheinlich habe ich mich auch unklar ausgedrückt: - wie gesagt habe ich für jede KundenNr. ein eigenes Feld, mit unterschiedlichen Namen. Ich möchte aus der Maske heraus, z.B. den/die Kundensatz(e) KD_Eng_neu2 und KD_Eng_neu3 befüllen. Die dort enthaltenen Kundennummern haben jeweils noch einen eigenen Datensatz - und den finde ich nicht, bzw. kann den nicht editieren.