Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: taurus66 am 16.12.08 - 17:05:40

Titel: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 16.12.08 - 17:05:40
Hallo zusammen,

helft mir doch mal bitte Licht in mein momentan dunkles Hirn zu bringen.  ???

Ich habe ein Profildokument "Profil" in dem ein Textfeld "IgnoreArtikel" existiert, wo Artikelnummern eingepflegt werden, die bei bestimmten Aktionen ignoriert werden sollen.
Die sind dort als Listfeld hinterlegt, also z.B. so: "123456":"98743":"3498579"

Wenn ich jetzt in eine Ansicht gehe, die nach den Artikelnummern sortiert ist, und dort mittels Agent die Formeln

IgnoreList := @GetProfileField("Profil";"IgnoreArtikel");
@If(Material=IgnoreList ; @SetField("Ignore" ;"1") ; "")

aufrufe, passiert gar nichts.

Rufe ich per Agent einfach nur die Formel

@If(Material="123456":"98743":"3498579" ; @SetField("Ignore" ;"1") ; "")

auf, wird in den entsprechenden Dokumenten wie gewünscht das Feld "Ignore" auf "1" gesetzt.

Wo ist mein Denkfehler?

Gruß,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: m3 am 16.12.08 - 17:12:19
Eine Designer-Hilfe hast Du aber schon installiert, oder? Dort steht nämlich zu @GetProfileField klar und deutlich:

Zitat
This function does not work in column, hide-when, section editor, or view selection formulas.
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: Axel am 16.12.08 - 19:13:06
Eine Designer-Hilfe hast Du aber schon installiert, oder? Dort steht nämlich zu @GetProfileField klar und deutlich:

Zitat
This function does not work in column, hide-when, section editor, or view selection formulas.

Martin,

@GetProfileField wird hier in einem Agenten aufgerufen und steht nicht in einer Spaltenformel etc. und da sollte das funktionieren.

@Bernd

Lass dir mal den Wert von IgnoreList anzeigen.

IgnoreList := @GetProfileField("Profil";"IgnoreArtikel");
@Prompt([OK]; ""; @Text(IgnoreList))

Axel

Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: atbits am 16.12.08 - 21:35:44
Ist das Feld "Ignore" Berechnet,
falls ja versuch es doch mal in der Ansicht mit
@Command( [ToolsRefreshSelectedDocs] )
bzw.
@Command( [ToolsRefreshAllDocs] )

Grüße David
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 17.12.08 - 10:48:08
Hallo zusammen,

@Martin
Den Hinweis hatte ich gelesen, daher war ich der Meinung, dass @GetProfileField eben in einem Agenten laufen sollte. Liege ich da falsch?

@Axel
Ja, sowas habe ich auch schon gemacht, ich erhalte dann eine Meldung mit der korrekten Liste
"123456":"98743":"3498579"

@David
Nein, das Feld ist nicht berechnet.

Gruß,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: atbits am 17.12.08 - 10:50:52
Hallo,

versuch doch mal

IgnoreList := @GetProfileField("Profil";"IgnoreArtikel");
@If(@IsMember(Material;IgnoreList) ; @SetField("Ignore" ;"1") ; "")

Grüße David
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: atbits am 17.12.08 - 10:54:29
Arbeitet der Agent auch auf allen gewählten Dokumenten?
In den Agenteneinstellungen konfigurierbar be Target???
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: m3 am 17.12.08 - 11:04:20
@Martin
Den Hinweis hatte ich gelesen, daher war ich der Meinung, dass @GetProfileField eben in einem Agenten laufen sollte. Liege ich da falsch?
Sorry, ICH habe mich verlesen. In dem Fall sollte es natürlich funktionieren.
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 17.12.08 - 11:53:36
Hallo zusammen,

@Martin
Ok, bin ja schon froh, dass ich wenigstens nichts überlesen habe  ;)
Was ja nicht heisst, dass das nicht noch kommen kann  :-[

@David
Nein, deine Version führt leider auch zu keinem Erfolg.
Als Ziel habe ich "Alle Dokumente in der Ansicht", das sollte ja i.O. sein.

Gruß,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: atbits am 17.12.08 - 12:08:23
Wie schauts mit

Code
IgnoreList := @GetProfileField("Profil";"IgnoreArtikel");
_ignore := @If(@IsMember(Material;IgnoreList) ; "1"; "");
FIELD Ignore := _ignore

aus?

Ach ja - und ich würde mal auf "Alle ausgewählten Dokumente" umstellen - und immr nur mit einem testen.
Auswahl nicht vergessen ;-)

tut das - Grüße David
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 17.12.08 - 15:23:56
Hallo David,

auch das nützt nichts  :-\

Gruß,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: gossifu am 17.12.08 - 15:30:12
Ist das Feld im Profildokument ein Mehrfachwertfeld?

mfg

Kjeld
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 18.12.08 - 10:51:22
Ist das Feld im Profildokument ein Mehrfachwertfeld?

Hi Kjeld,

nein, war es bisher nicht. Aber egal ob es es eins ist oder nicht, es ändert sich nichts am Ergebnis.

Gruß,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: Axel am 18.12.08 - 11:21:43
Hast du nach der Änderung das Profildokument neu angelegt?

Axel
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: Kristina am 18.12.08 - 11:26:35
Hallo Bernd

ich würde dem Hinweis von kjeld noch mal nachgehen
Und kontrollieren ob in deinem Feld auf dem profildokument wirklich eine Liste steht.

LG
Kristina
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 18.12.08 - 15:10:57
@Kjeld, Axel und Kristina

Ich mache ja fast alles was ihr sagt  :)

Ich habe das Feld auf Mehrfachwertfeld abgeändert, dann das Profildokument per Script gelöscht, kontrolliert, ob es wirklich weg ist und das Profildokument danach neu angelegt. Aber leider bringt auch das nichts.

Gruß,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: Kristina am 19.12.08 - 09:05:48
Guten morgen Bernd

und du hast wirklich eine Liste in deinem Profildokument stehen?

Gruss
Kristina
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: gossifu am 19.12.08 - 11:27:25
Profildokumente werden im Cache gespeichert. Hast Du Dein Profil gelöscht, den Client geschlossen und die Cache.ndk gelöscht und dann das Profil neu erstellt.
So wie auch Kristina sagt, kann es eigentlich nur an den Mehrfachwerten liegen, da bei einer fixen Liste alles klappt nur bei dem Feld nicht.
Und da es kein Mehrfachwertfeld gab, bekommst Du niemals, außer mit @Explode, eine Liste, die Du ignorieren könntest.
Deine Formel ist korrekt, Deine Werte sind falsch.

mfg

Kjeld
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: taurus66 am 14.01.09 - 08:57:11
@kristina und kjeld

Hallo Ihr beiden,

sorry für's späte Melden, aber ich hatte Urlaub und habe es doch tatsächlich geschafft, über zwei Wochen ohne "Online" auszukommen  :)
Was für eine Wohltat!

In diesem Sinn erst mal ein frohes neues Jahr, Gesundheit, Glück, Freude und natürlich Erfolg!

Zurück zum meinem Problem:
Ja, es ist eine Liste, aber selbst wenn es keine Liste wäre: Wenn ich nur einen Wert in dem Feld habe, funktioniert es auch nicht.
Ich habe jetzt mal das Profil gelöscht, Client geschlossen und nach Löschung Cache das Profil neu erstellt.
Keine Besserung.


Gruss,

Bernd
Titel: Re: Massenänderung in einer Ansicht funzt nicht
Beitrag von: Driri am 14.01.09 - 09:56:08
Ich würde mir mal alles Prompten lassen (Inhalt von IgnoreListe, Inhalt von Material, Ergebnis aus dem Vergleich Material=IgnoreList als 0 oder 1).