Feldwerte von Maske zu Maske geben/holen

  • Guten Tag, <br />ich bin Neuling in der Entwicklung unter Notes. Bislang habe ich mit Delphi, VB und PHP div. Programme entwickelt. Nun habe ich eine Aufgabe in Notes realisieren sollen. Konkret geht es um eine Bestellverwaltung.<br /><br /> mein Problem: Ich habe einen Frame der u.a. eine Bestellkopfmaske anzeigt und eine Maske zur Erfassung der Bestellpositionen. Wie kann ich auf ein Feld der Bestellkopfmaske aus der Bestellpositionsmaske zugreifen ohne das die Werte in der Bestellkopfmaske bereits gespeichert sind?<br />Ich habe mir in der Positionsmaske ein Feld gemacht und darin als Vorgabewert den Feldnamen des gewünschten Sourcefeldes eingetragen. Das funktioniert aber nicht. Das Feld bleibt leer. Auch die weiteren Versuche mit @SetField, @GetDocField etc. waren nicht erfolgreich. Ich vermute es liegt daran das die Daten eben noch nicht gespeichert sind, oder? <br /><br />Ich würde mich über Hinweise sehr freuen. <br /><br />Vielen Dank für Eure Geduld mit mir. <br /><br />Klaus Dewald

  • <img alt="" src="file:///C:/Users/kd/AppData/Local/Temp/moz-screenshot-1.png" /><img alt="" src="file:///C:/Users/kd/AppData/Local/Temp/moz-screenshot-2.png" /><img alt="" src="file:///C:/Users/kd/AppData/Local/Temp/moz-screenshot-3.png" /><img alt="" src="file:///C:/Users/kd/AppData/Local/Temp/moz-screenshot-4.png" />Hallo Taurec,<br />
    vielen Dank f&uuml;r die schnelle R&uuml;ckantwort.<br />
    &amp;nbsp;Leider finde ich keine Option die mit dem Begriff &quot;&Uuml;bernahme von Feldwerten&quot; zu tun hat. Die Option &quot;Field Exchange&quot; ist aktiv. Lt.Hilfe ist das jedoch um Felder aus externen Anwendungen via OLE einbetten zu k&ouml;nnen. Wenn ich es richtig verstanden habe. Ansonsten sehen die Einstellungen beider Masken so aus:<br />
    <img height="494" width="358" alt="" src="http://www.dominoforum.de/uploads/newbb/Maske(1).jpg" /><br />
    <br />
    <br />
    Vielen Dank f&uuml;r weitere Hinweise.<br />
    <br />
    Klaus Dewald

  • dann meinst Du sicher &quot;Formeln &uuml;bernehmen Werte aus gew&auml;hltem Dokument&quot;. Das ist in beiden Masken aktiviert. Leider ohne Erfolg.<br />
    Noch eine Idee?<br />
    Danke<br />
    klaus Dewald

  • Hallo taurec,<br />
    <br />
    &gt;&gt; Das Hauptdokument muss daf&uuml;r gespeichert sein, <br />
    das habe ich bef&uuml;rchtet. Nur geht das in diesem&nbsp; Konstrukt nicht.<br />
    &gt;&gt; ansonsten kannst du es nur per Script oder Formelsprache f&uuml;llen<br />
    Ich arbeite hier nur mit der Formelsprache derzeit. Doch habe ich noch keine M&ouml;glichkeit gefunden wie man das machen k&ouml;nnte. Vom Prinzip her m&uuml;sste man den Wert doch in so etwas wie eine &uuml;bergreifende (globale) Variable packen und dann in der 2. Maske wieder abrufen.<br />
    Globale Variablen sind pfui, das wei&szlig; ich aus meiner Delphi Erfahrung. Leider finde ich auch in der Hilfe keinen Ansatz wie das zu l&ouml;sen w&auml;re.<br />
    <br />
    Hast Du dazu vielleicht einen Tipp - Sourcecodeschnipsel oder Link zu einem Tut. in dem das behandelt wird o.&auml;hnliches.<br />
    <br />
    Vielen Dank

  • ich habe nur den Eintrag &quot;eMail Maske &ouml;ffnen per Knopfdruck&quot; gefunden der etwas in die Richtung geht. Leider wird dort auch der Wert aus einem bereits gespeicherten Dokument entnommen und in den Empf&auml;nger eingetragen. Also eine etwas andere Situation.<br />
    <br />
    Werd ich mich wohl mal mit Lotusscript und den &quot;globalen Variablen&quot; auseinandersetzen m&uuml;ssen.<br />
    <br />
    Trotzdem erst mal vielen Dank f&uuml;r Deinen Hilfeversuch.<br />
    <br />
    Klaus

  • also denBefehl @UpdateContext... hab ich probiert. Keinerlei &Auml;nderungen. Die Scriptzeilen nicht, da diese, soweit ich das interpretieren kann, nur auf Mailverarbeitung beziehen.&nbsp; Und das ist nicht das was ich brauche.<br />
    <br />
    Vielen Dank &amp; gute Nacht<br />
    Klaus

  • Dann hast Du was nicht ganz richtig gemacht. Bei mir funktioniert das in mehreren Anwendungen problemlos.


    Du musst zunächst das Feld in eine Variable einlesen, dann das neue Dokument mit @command([Compose]; ...) anlegen, dann den @UpdateFormulaContext und zum Schluß mit FIELD xxx := die Variablen an die Felder wieder übergeben.
    So läuft das auch ohne das zuerst gespeichert werden muss.

  • Hallo Helmut,
    erst einmal Danke für den Tipp.
    Ich bin normalerweise auch immer sofort bei mir bei der Fehlersuche und meistens ist das auch richtig, doch hier scheint das nicht der Fall zu sein. Dein Hinweis funktioniert bei mir nicht. Ich habe hier einen Designer 8.5.1 und einen Notes Client 8.5.1. Hier habe ich keinen Domino Server sondern "spiele" lokal. Lt. den mir vorliegenden Büchern und der Hilfeddatei sollte das auch einwandfrei funktionieren. Aber es tuts leider nicht. Ich habe nun eine kleine Testanwendung mit nur 2 Masken einem Frame und einem Button gemacht. Gerne würde ich Euch, den Fachleuten, diese mal zur Einsichtnahme zur Verfügung stellen. mangels alter Notes Versionen kann ich das nicht "nach unten" testen. Ich vermute mittlerweile das hat was mit der 8.5 Version zu tun. In der Firma haben wir Domino 8.5.1 und Notes Client noch 8.5 FP1 mit Designer 8.5 FP1. Das Update auf 8.5.1 ist nur eine Frage von 2 - 3 Wochen. Ich muss mein Problem also unter 8.5.1 zum Leben erwecken können.


    Ich habe die Anwendung mal angehängt. Ich hoffe sie ist mit 28 KB nicht zu groß für das Forum.


    Vielen Dank für jede Hilfe
    Klaus

  • wow, das überrascht mich. Wie kann ich dann steuern das dieses neue Dokument nicht in einem neuen Fenster sondern in dem gewünschten Rahmen einer Rahmengruppe aufgeht? Das ist mir dann nicht ganz klar.


    Vielen Dank schon mal für Deine Hilfe.


    Gruß
    Klaus

  • Ein Tipp wäre nicht schlecht. Wie würde man das in Script lösen?


    Die Konstellation sieht eine Rahmengruppe mit einer Gliederung (links) und 4 horizontale Rahmen die unterschiedlich hoch sind, vor.
    Im obersten Rahmen werden Adressdaten angezeigt. Das funktioniert.
    Im zweiten Rahmen wird der Bestellkopf (Datum und Unique-ID als Bestell-Nr.) erzeugt und angezeigt. Der Rahmen ist also sehr schmal (2 Felder).
    Im dritten Rahmen gibt es ca. 10 Felder zur Erfassung von Artikeldaten. Diese werden gespeichert mit der dazu gehörigen ID aus dem zweiten Rahmen.
    Im untersten Rahmen ist eine Ansicht auf die Artikel die gerade erzeugt und gespeichert wurden und diese ID tragen.


    Wie schon mal gesagt. Ist eine kleine Bestellverwaltung für unsere IT um einen Überblick über Tinte und Toner zu bekommen. Nichts aufregendes. Aber vielleicht habt Ihr ja dazu auch Ideen.


    Viele Grüße
    Klaus

  • Benutz doch bitte mal die Suche.
    Dann findest du auch die Tips dazu wie man das in Script löst


    Allerdings finde ich das ganze mit den Rahmen immer noch sehr unübersichtlich.


    Zur Anzeige geht das ja vielleicht gerade noch, aber zum Bearbeiten oder Erfassen wirst du das vermutlich sehr bald von jedem um die Ohren gehauen bekommen, weil je nach Auflösung eine Erfassung nur teilweise, gar nicht oder nur mit viel Scrollen möglich sein wird.


    Eine Anzeige würde ich eben in einer einzigen Maske mit ner eingebetteten View und berechneten Feldern lösen.
    Und die Erfassung erfolgt in separaten Fenstern.


    Warum du das in soviele miteinander verknüpfte Dokumente aufteilen willst erschliesst sich mir da auch nicht.

  • Leider habe ich hier im Forum keine L&ouml;sung auf meine Fragen gefunden. Schade. 2 dicke W&auml;lzer in Verbindung mit ca. 60 Stunden Testen und Ausprobieren haben mir dann die L&ouml;sung meines simplen Problems gebracht. Ich bin schwer entt&auml;uscht &uuml;ber die Entwicklung in Notes. In Delphi w&auml;re so etwas in 5 Sekunden erledigt gewesen. Hier muss man umst&auml;ndlich mit Lostusscript sich die Daten suchen und dann auch noch den Platz suchen wo sie hin sollen. Na ja, ich hoffe das man mich in Zukunft von der Entwicklung verschont. <br />
    <br />
    taurec Danke f&uuml;r Deine M&uuml;he. Hier ist ein Bild wie sich die Frames darstellen. Vielleicht wird dann einiges klarer. <br />
    <br />
    <img height="598" width="989" src="http://www.dominoforum.de/uploads/newbb/Maske(2).jpg" alt="" /><br />
    <br />
    Damit die Ansicht unten nur die Artikel anzeigt die man gerade im 3. Frame erfasst, ben&ouml;tigte ich die Bestell-Nr. aus dem 2.Frame als Filterkriterium. Und diese Abfrage hat mich nun eine halbe Ewigkeit besch&auml;ftigt. <br />
    <br />
    Viele Gr&uuml;&szlig;e <br />
    KD<br />
    <br />

  • Das Problem ist hier weniger die angeblich umständliche Progarmmierweise von Notes, sondern einfach das zugrundeliegende Konzept.
    Denn ein Konzept sollte auch immer in Zusammenhang mit der Umgebung aufgebaut werden. Ich hatte dir dazu schon ein paar Anregungen in einer meiner Antworten gegeben.
    Hättest du diese angewandt, dann wäre dieser ganze Handstand der dich soviel Zeit gekostet hat nicht notwendig gewesen.


    Egal womit ich programmiere bzw entwickle: Jede Sprache/Entwicklungsplattform hat ihre Eigenheiten, Vor- und Nachteile, auf die ich beim Konzept einer Anwendung Rücksicht nehmen muss.
    Und nur weil das Konzept in einer anderen Sprache funktioniert und einfach zu realisieren ist, heisst das noch lange nicht, daß es in einer anderen genauso ist.


    Auch in Delphi gibt es Sachen wo man schier daran verzweifelt wie umständlich das dort gelöst ist, aber nur weil man es eben woanders einfacher kennt.
    Das gleiche problem wird ein erfahrener Notes Programmierer als Anfänger in Delphi haben, eben weil die Strukturen beider Umgebungen einfach komplett anders sind.


    Und zum Thema Lösung:


    Wie ich schon mal erwähnte brauche ich dafür keine Frames in Notes, sondern es reicht ganz einfach eine Maske mit einer eingebetteten Ansicht und dann muss ich nur noch zwischen den bestellpositionen und dem Hauptdokument minimal Daten übergeben.


    Allerdings wundert mich noch eines:
    Wie hast du denn den unteren Frame dazu bekommen nur die Bestellpositionen der aktuellen Bestellung anzuzeigen ? Dafür brauchst du ja genau die Technik der eingebetteten Ansicht, weil alles andere nicht wirklich funktioniert