Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bikerboy am 19.10.07 - 12:41:34

Titel: @setfield vs. Field
Beitrag von: bikerboy am 19.10.07 - 12:41:34
Hallo ,

so liebe gemeinde ich wollte mir heute viel Tiparbeit sparen und habe ne kleine for-Schleife geschrieben

Code
_specialRights:= "createDocuments" : "deleteDocuments" : "createPrivateAgents" : "createPersonalFoldersViews" : "createSharedFoldersViews" : 
"createSharedFolders" : "createLoutsScriptJavaAgents" : "readPublicDocuments" : "writeDocuments" : "replicateOrCopyDocuments";

@For( n := 1 ; n<= @Elements(_specialRights) ; n := n + 1 ;
_pos := n;
_word := n + 2;
_fieldName := @Subset(@Subset(_specialRights;n);-1);
_value := @Word(_restData;"|~|";_word);
@Prompt([Ok];"Test";_value);
@If(_value = "true"; @SetField(_fieldName;".");"")
)



Mein Problem liegt nun darin, dass ich anstatt des @setfield den Wert mit Field setzten muss damit es im UI funzt, gibt es da ne Möglichkeit es zu ändern

EDIT: Ich war so frei, mal der besseren Lesbarkeit halber einen Umbruch zu organisieren. Bernhard
Titel: Re: @setfield vs. Field
Beitrag von: Kadlec am 19.10.07 - 14:58:24
Zwei Möglichkeiten.
1. Du setzt vor Deine Schleife ein FIELD _fieldName := _fieldName
2. Du schreibst anstelle von @SetField(_fieldName;".") einfach FIELD _fieldName := "."

Boris
Titel: Re: @setfield vs. Field
Beitrag von: bikerboy am 19.10.07 - 15:30:04
hmmmm

sucht er nicht nach einem Feld das _fieldName heisst ? Naja hab es jetzt auf die klassische weise umgesetzt, aber ich werde es bei gelegenheit mal ausprobieren.

Trotzdem danke
Titel: Re: @setfield vs. Field
Beitrag von: Kadlec am 19.10.07 - 15:56:56
Ups, Sorry hatte Deine Formel nicht richtig gelesen.
Der Feld Name muss ja in Gänsefüsschen in @SetField.

Probiere doch mal @SetField(@Char(x)+_fieldName+@Char(x),usw., wobei x entsprechend der Gänsefüsschen ist.
Titel: Re: @setfield vs. Field
Beitrag von: koehlerbv am 19.10.07 - 21:43:01
x wäre 34 ...

Aber das wäre syntaktisch falsch, da _fieldname ja bereits wie erforderlich ein String ist.

Was ich aber nicht verstehe, ist Roberts eigentliches Problem: Was stört Dich an @SetField? Fehlt Dir das Refresh im FrontEnd? Das wäre ein abschliessendes
@Command ([ViewRefreshFields])

Bernhard
Titel: Re: @setfield vs. Field
Beitrag von: bikerboy am 22.10.07 - 08:52:37
Ja das Refresh hatte ich drin, aber er hat es nicht umgesetzt, naja habe es jetzt folgendermaßen gemacht :

Code
_del1 := "|#|";
_del2 := "|~|";

_pos := @TextToNumber(@Word(pickPosition; "-";1));
@If(_pos = 0 ; _pos := 1;"" );
_data := @Subset(@Subset(posDataString;_pos); -1);

_restData := @Word(_data;_del1;2);

FIELD userName := @Word(_restData;_del2;1);
FIELD userType := @Word(_restData;_del2;2);
FIELD level := @Word(_restData;_del2;3);
FIELD activeRoles := @Explode(@Word(_restData;_del2;4);"*");
FIELD createDocuments := @If(@Word(_restData;_del2;5) = "true" ; ".";"");
FIELD deleteDocuments := @If(@Word(_restData;_del2;6) = "true" ; ".";"");
FIELD createPrivateAgents := @If( @Word(_restData;_del2;7) = "true" ; ".";"");
FIELD createPersonalFoldersViews := @If( @Word(_restData;_del2;8) = "true" ; ".";"");
FIELD createSharedFoldersViews := @If( @Word(_restData;_del2;9) = "true" ; ".";"");
FIELD createLotusScriptJavaAgents := @If( @Word(_restData;_del2;10) = "true" ; ".";"");
FIELD readPublicDocuments := @If( @Word(_restData;_del2;11) = "true" ; ".";"");
FIELD writePublicDocuments := @If( @Word(_restData;_del2;12) = "true" ; ".";"");
FIELD replicateOrCopyDocuments := @If( @Word(_restData;_del2;13) = "true" ; ".";"");