Autor Thema: Feldwerte per Formel kopieren(übernehmen)  (Gelesen 3881 mal)

Offline fiuman007

  • Aktives Mitglied
  • ***
  • Beiträge: 134
  • Geschlecht: Männlich
  • flumensis hypatia
Feldwerte per Formel kopieren(übernehmen)
« am: 21.02.05 - 17:15:30 »
Hi,

ich will Werte von einigen Feldern auf eine zweite Maske übertragen.
Ich kenne ja diese Standardfunktion "Übernehmen Werte aus aktuellem dokument".
Nun leider geht die in meinem Fall nicht, weil die Felder nicht gleich heißen.

Ich habe es schon mal mit Skript gemacht, aber da hatte ich Probleme dass er mir die neuen Dokumente nicht immer als Response gemacht hat.  Obwohl die makeresponse Methode eingebaut war. Wie auch immer....
Ich wollte fragen ob man per Formel auch die Feldwerte übertragen kann ?

Also ich habe jetzt einen Aktion-HotSpot mit der simplen ResponsFormel :

viewname := @Subset(@ViewTitle; -1);
@SetProfileField("tmpProfile"; "viewtitle"; viewname);
@PostedCommand([Compose];"Anfragen")


Ich würde jetzt da irgendwie noch was einbauen, was die Felder kopiert .....
« Letzte Änderung: 22.02.05 - 11:01:21 von fiuman007 »
fluminensis hypatia

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #1 am: 21.02.05 - 17:20:26 »
Die Felder müssen doch dafür überhaupt nicht gleich heissen  ... Du brauchst nur die Original-Feldnamen als Wert angeben.

Bernhard

Offline fiuman007

  • Aktives Mitglied
  • ***
  • Beiträge: 134
  • Geschlecht: Männlich
  • flumensis hypatia
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #2 am: 21.02.05 - 17:23:03 »
Ja bei dem LS.  Also habs da auch so gemacht.

............
docNew.Form = "Anfragen"
        docNew.BezeichnungAnfrage = docCurrent.Bezeichnung1
   docNew.ZeichnungAnfrage = docCurrent.Zeichnung1
   docNew.RevisionAnfrage = docCurrent.Rev1
   docNew.SpecAnfrage = docCurrent.Spec1

............


Aber wie mache ich so was in Formel ?


fluminensis hypatia

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #3 am: 21.02.05 - 17:24:52 »
Nö, nix mit LS, jedenfalls das von Dir erwähnte Response-Doc hat mit LS gar nichts zu tun, das ist so wie Bernhard sagt: Uebernehmen der Werte passiert über die Formel, die man für einen bestimmten Feldwert einträgt und damit müssen die Feldnamen im Parentdoc und im Responsedoc nicht übereinstimmen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline fiuman007

  • Aktives Mitglied
  • ***
  • Beiträge: 134
  • Geschlecht: Männlich
  • flumensis hypatia
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #4 am: 21.02.05 - 17:28:39 »
Sub Click(Source As Button)
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim uidocNew As NotesUIDocument
   Dim docCurrent As NotesDocument
   Dim docNew As Notesdocument
   
   Set uidoc = ws.CurrentDocument
   Set docCurrent = uidoc.Document
   Set db = session.CurrentDatabase
   Set docNew = New NotesDocument(db)  'Neues Dokument anlegen
   
   docNew.Form = "Anfragen"
   docNew.BezeichnungAnfrage = docCurrent.Bezeichnung1
   docNew.ZeichnungAnfrage = docCurrent.Zeichnung1
   docNew.RevisionAnfrage = docCurrent.Rev1
   docNew.SpecAnfrage = docCurrent.Spec1
   
   docNew.ProjectNo = docCurrent.ProjectNo
   docNew.Customer = docCurrent.Customer
   docNew.ProjectName = docCurrent.ProjectName
   docNew.Coordinator = docCurrent.Coordinator
   docNew.SIANo = docCurrent.SIANo
   docNew.ProductType = docCurrent.ProductType
   docNew.PONum = docCurrent.PONum
   docNew.CustDwgNo = docCurrent.CustDwgNo
   docNew.ILANo = docCurrent.ILANo
   docNew.MaterNo = docCurrent.MaterNr1
   
   
   Set uidocNew = ws.EditDocument(True, docNew)  'Dokument im Frontend öffnen
   Call uidocNew.Refresh 'Dokument aktualisieren
   
End Sub


Das ist doch LS oder ?

fluminensis hypatia

Glombi

  • Gast
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #5 am: 21.02.05 - 17:39:51 »
Zitat
Das ist doch LS oder ?
Der Verdacht drängt sich auf  ;D

Wo ist denn jetzt das Problem?

Andreas

Offline fiuman007

  • Aktives Mitglied
  • ***
  • Beiträge: 134
  • Geschlecht: Männlich
  • flumensis hypatia
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #6 am: 21.02.05 - 18:45:02 »
Da gibts ja auch keinen.
 :)
Hab jetzt bloß in einer anderen Datenbank das Problem, dass die HotSpot-Links ein Respone erzeugen müssen.
Deswegen wollte ich wissen wie das am Besten geht, dass ich paar Feldwerte auf andere Maske übertrage.  Mit der Formel

Nur den Vorgabewert einzugeben geht nicht, weil:

ich habe z.B. 10 Zeilen, und in jeder Zeile steht ein Feld.
Also habe ich Feld1,.... Feld10.
Auch in jeder Zeile habe ich den "bestellen" HotSpot.

Ich kann also für ein Feld in der "Bestellen"-Maske keinen festen Vorgabewert(feld) eingeben, weil ja mehrere existieren ....

Also muss ich bei jedem Aktion-HotSpot in der Formel irgendwie eingeben:
Feld1 = BestellFeld

und bei den restlichen 9 genauso ....

Hoffentlich hab ich das jetzt einigermaßen verständlich erklärt  :-\
« Letzte Änderung: 21.02.05 - 21:44:17 von fiuman007 »
fluminensis hypatia

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feldwerte per Formel kopieren(übertragen)
« Antwort #7 am: 22.02.05 - 00:10:02 »
Hoffentlich hab ich das jetzt einigermaßen verständlich erklärt

Nö. Ich könnte da jetzt nur ahnen, und dafür ist es mir echt zu spät.

Wie immer: Mehr Input, mehr Output.

Bernhard

Offline fiuman007

  • Aktives Mitglied
  • ***
  • Beiträge: 134
  • Geschlecht: Männlich
  • flumensis hypatia
Re: Feldwerte per Formel kopieren(übernehmen)
« Antwort #8 am: 22.02.05 - 00:35:53 »
Ok, dann versuche ich mehr input zu geben  :)

Also ich habe eine Maske, nennen wir die Maske 1.
In dieser Maske habe ich eine Tabelle mit 10 Zeilen und 2-3 Spalten.
Also in jeder Zeile ist ein Textfeld, wir geben denen die Namen von
Feld 1, Feld2, ..... , Feld 10. Die sind alle in einer Spalte.
Desweiteren befinden sich auch in jeder Zeile, aber in der 2. Spalte,
Aktion-HotSpots die auf eine 2. Maske leiten. Der geben wir den Namen Maske 2.

Ok. Die  Maske2 soll Response auf Maske1 sein. 
Das ist die Formel des HotSpots:

Code
viewname := @Subset(@ViewTitle; -1);
@SetProfileField("tmpProfile"; "viewtitle"; viewname);
@PostedCommand([Compose];"Maske2")

Was ich jetzt will, dass wenn ich ins Feld1 was reinschreibe und auf den HotSpot neben dem Feld1 klicke, dass ich auf die Maske2 komme und mir der Wert aus der Maske1, Feld1, übergeben wird.  Er soll dann in ein Feld (FeldM2) übergeben werden.

Früher, bei der großen DB, hab ich das mit dem LS gemacht, da hatte ich aber Probleme mit der makeresponse() Methode. Also hab ich mich entschieden das response per Formel zu machen.
Funktioniert mit der oberen Formel auch gut, nun dass eben das Wert nicht übergeben wird.

In der Maske2 ist diese Funktion "Werte übernehmen...." angeklickt.
Ich kann aber dem FeldM2 kein Vorgabewert geben, weil ich eben von Feld1....Feld10 habe.

Also, mein Grundgedanke ist, dass ich dann in jeder Zeile der Maske1, bei jedem HotSpot die Formel individuell ändere.

Also, die obere Formel, + Wertübergabe ( FeldM2 = Feld1) , bei der 2. Zeile dann eben (FeldM2 = Feld2 ) usw. .....

Also, ich denke jetzt ist es genauer erklärt ?  Oder Bernhard ?  ;)

So nun der output  :)
fluminensis hypatia

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Feldwerte per Formel kopieren(übernehmen)
« Antwort #9 am: 22.02.05 - 08:17:54 »
Dafür gibt es die verschiedensten Ansätze...

1. Mach Dir in die Hauptmaske ein Feld verstecktes "FeldX" (ich nenne es jetzt nicht FeldM2, um das Prinzip klar zu machen, dass man nicht die selben Flednamen bei der Übernahme braucht). Dann schreib in Deinen Hotspot:

FIELD FeldX := Feld1;
viewname := @Subset(@ViewTitle; -1);
@SetProfileField("tmpProfile"; "viewtitle"; viewname);
@PostedCommand([Compose];"Maske2")

und in FeldM2 in der Antwortmaske steht in der Formel (Wert für berechnete Felder, Vorgabewert für bearbeitbare) ganz einfach: FeldX (natürlich muss die Feldübernahme aktiviert sein).

2. Du übergibst Feldnamen oder Wert über eine INI- Variable (komplizierter, aber durchaus auch machbar):

@Environment( "ÜbergabeWert" ; Feld1 );
viewname := @Subset(@ViewTitle; -1);
@SetProfileField("tmpProfile"; "viewtitle"; viewname);
@PostedCommand([Compose];"Maske2")

und dann in der Formel von FeldM2:
@Environment( "ÜbergabeWert" )

oder mit dem Feldnamen:
@Environment( "ÜbergabeWert" ; "Feld1" );
viewname := @Subset(@ViewTitle; -1);
@SetProfileField("tmpProfile"; "viewtitle"; viewname);
@PostedCommand([Compose];"Maske2")

FeldM2:
_name := @Environment( "ÜbergabeWert" );
@GetField( _name );
(getField gibt es erst ab R6 und ob es schon beim Compose unterstützt wird, weiss ich nicht...)

Und wenn ich noch ein wenig nachdenke, fallen mir sicher noch gaaanz gaanz viele andere Möglichkeiten ein ;)

HTH
Tode

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline fiuman007

  • Aktives Mitglied
  • ***
  • Beiträge: 134
  • Geschlecht: Männlich
  • flumensis hypatia
Re: Feldwerte per Formel kopieren(übernehmen)
« Antwort #10 am: 22.02.05 - 11:01:06 »
Yeah, vielen Dank. Hab jetzt diese @Environment Formel genommen.  Funktioniert super gut.

Danke für die Unterstützung

MfG

fiuman

fluminensis hypatia

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz