Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: skywook am 21.01.16 - 07:21:03

Titel: Feldnamen ändern
Beitrag von: skywook am 21.01.16 - 07:21:03
Hallo,

ist es möglich den Feldnamen zu ändern z.B. Feldname "Kundenname" in "KName".

Für einen Tipp wäre ich dankbar.
Titel: Re: Feldnamen ändern
Beitrag von: Peter Klett am 21.01.16 - 07:31:39
Du kannst den Feldnamen in einer Maske ändern, musst aber überall dort, wo der verwendet wurde, (Ansichten, Formeln, Scripte usw.) ebenfalls anpassen.

Im Designer kannst Du nach dem Feldnamen suchen, ich persönlich würde aber niemals Ersetzen verwenden ...

In den bestehenden Dokumenten bleibt das Feld (korrekt das Item) ebenfalls bestehen und muss z.B. mittels Agent angepasst werden.

FIELD KName := Kundenname;
FIELD Kundenname := @DeleteField
Titel: Re: Feldnamen ändern
Beitrag von: skywook am 21.01.16 - 09:42:29
Hallo,

sorry, ich meinte per Script.

Ich dachte vielleicht gibt es noch eine andere Möglichkeit als das Feld (Richttex) zu kopieren z.B. den Feldnamen ändern.
Titel: Re: Feldnamen ändern
Beitrag von: Peter Klett am 21.01.16 - 10:02:44
Was willst Du erreichen? Was soll wo warum geändert werden? Verstehe nur Bahnhof ...
Titel: Re: Feldnamen ändern
Beitrag von: umi am 21.01.16 - 10:42:46
Moin

via script müsste etwas wie

call document.replaceitemvalue("KName",document.getitemvalue("KundenName"))
call document.removeItem("KundenName")

funktionieren.
Titel: Re: Feldnamen ändern
Beitrag von: koehlerbv am 21.01.16 - 15:42:57
Obicht, ich lese oben "Richtext". Sooooo einfach geht das dann nicht, hier muss das Item umkopiert werden in das gleiche Dokument. Und: Grössere Inhalte werden in mehrere gleichnamige Items gesplittet, das ist insbesondere beim Removen des Items zu beachten (in einer Forall-Schleife solange GetFirstItem, bis dieses Nothing ist).

HTH,
Bernhard
Titel: Re: Feldnamen ändern
Beitrag von: skywook am 11.02.16 - 10:49:30
Hallo,

das Problem besteht darin. In einer Dokument gibt es zwei Richtextfelder: Ergebnis und Body.

Nun möchte ich den Inhalt des Feldes Ergebnis in das Feld Body kopieren (das Feld Body ist leer).

Wie kann ich das am einfachsten durchführen.

Felder kopieren geht doch immer nur von einem Dokument in ein anderes Dokument. Oder täusche ich mich da.
Titel: Re: Feldnamen ändern
Beitrag von: Peter Klett am 11.02.16 - 11:11:27
Call item.CopyItemToDocument (doc, "NeuerFeldname")

geht auch in das gleiche Dokument
Titel: Re: Feldnamen ändern
Beitrag von: pram am 11.02.16 - 11:22:08
Bei Richtext-Items muss man dies aber gut testen. Ich meine mich zu erinnern, dass dann im Zielfeld die Anhänge fehlen, wenn man das Quellfeld nach dem Kopieren löscht.

Gruß Roland
Titel: Re: Feldnamen ändern
Beitrag von: skywook am 11.02.16 - 14:32:17
Und einfach das Feld Ergebnis in Body umbenennen (vorher natürlich das Feld Body löschen).

Funktioniert so was?
Titel: Re: Feldnamen ändern
Beitrag von: koehlerbv am 11.02.16 - 15:04:13
Nein.

Es gibt ja keinerlei Zusammenhang zwischen dem Item "Ergebnis" in einem Dokument und dem Frontend-Designelement "Body" als Feld in Deiner Maske.

Bernhard
Titel: Re: Feldnamen ändern
Beitrag von: Andrew Harder am 11.02.16 - 15:05:39
Was Du suchst ist entweder
eine Methode in NotesDocument mit dem Namen "RenameItem"
oder eine Möglichkeit bei NotesItem die Eigenschaft "Name" zu setzen.

Beides geht nicht.
Titel: Re: Feldnamen ändern
Beitrag von: Flachmann am 12.02.16 - 13:34:11
Bei Richtext-Items muss man dies aber gut testen. Ich meine mich zu erinnern, dass dann im Zielfeld die Anhänge fehlen, wenn man das Quellfeld nach dem Kopieren löscht.
Ich habe damit auch schlechte Erfahrungen gemacht. Falls das ein einmaliger Vorgang sein sollte, würde ich eine neue temp. Form erstellen mit den neuen Feldern, also nur mit RT-Feld "Body" usw. und in der Default-Formel das alte Quellfeld eintragen.

Dann alle betroffenen Dokumente mit dieser Maske durchrechnen. Das funzt auf jeden Fall problemlos und es gehen keine Attachments usw. verloren. Das alte Quellfeld würde ich entweder als Leiche im Dokument lassen - stört ja i.a. nicht - oder mit @DeleteField in der temp. Form löschen.

Ist natürlich alles kein LotusScript®.   ;)