Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: BigB am 18.02.08 - 13:43:41
-
Hallo,
hier mal mein Problem....
Ich erstelle derzeit einen Medienverleih. Wenn ich ein neues Medium anlege, gibt der Eintragende die Anzahl der verfügbaren Medien an. Wenn nun eines der Exemplare ausgeliehen wird, soll in der Spalte "verfügbare Exemplare" der Wert geändert werden. Die Rechnung selbst klappt schon, nur habe ich keine Lösung gefunden, wie ich den entsprechenden Wert des dazugehörigen Mediums ändern kann. Das einzige was er macht ist ein neues Medium anzulegen.
Kann mir jemand helfen.....
Gruß Bennet
-
Einfach eine 1 von den verfügbaren Exemplaren subtrahieren.
-
Du änderst nichts in der Spalte sondern im Dokument...
Also einfach nur Plus oder Minus speichern und Fertig ist die Luzi.
-
Wie gesagt, die Rechnung klappt ja schon. Der errechnete Wert soll in der Spalte "verfügbare Exemplare", des dazugehörigen Mediums überschrieben werden. Ich habe eine extra Maske für den Verleih von Medien. Wenn ich diese Maske speichere, dann berechnet er die noch verfügbaren Exemplare im Hintergrund.
Gruß Bennet
-
Die Spalte holt sich doch den Wert aus dem Dokument.
Jetzt versteh ich nur noch Bahnhof.... :-:
-
view.refresh ?
-
... oder
Call notesUIWorkspace.ViewRefresh
Axel
-
Guten Morgen.....
Ich habe in der Maske "Neues Medium" jetzt ein weiteres Feld vorhandene Medien angelegt. Dieses Feld wird beim Anlegen eines neuen Mediums mit der gleichen Zahl gefüllt wie "verfügbare Exemplare" (das ist die Gesamtanzahl der zur Verfügung stehenden Medien). Das Eintragen bis hier hin funktioniert.
Nun kommt der Verleih eines Mediums. Wenn ich hier den Film oder jedes andere Medium ausgewählt habe und das ganze speichern will, dann soll (diese Berechnung klappt auch) den Wert der "vorhanden Medien" um einen Wert reduzieren. Das ganze soll aber automatisch passieren und nicht durch den User oder einen Admin gemacht werden müssen.
Wie kann ich das Dokument ändern ohne es händisch zu öffnen und zu editieren....
Gruß Bennet
-
Ganz ehrlich: ich werde daraus nicht schlau.
-
So ganz schlau werde ich da auch nicht.
Aber nach Befragung meiner Kristallkugel vermute ich mal folgendes. Es soll in einer Ansicht ein Eintrag markiert werden und dort dann über eine Aktion gesagt werden, dass das Medium ausgeliehen wurde. Dabei soll dann die Anzahl (welche auch immer) um eins veringert werden.
Wenn dem so ist, dan greifst du am besten über Backend-Methoden auf das Dokument zu.
Stichworte wären hier: NotesDatabase.UnprocessedDocuments, NotesDocumentCollection, NotesDocument.
Je besser und genauer das Problem beschrieben wird um so besser sind die Lösungen und um so höher ist auch die Bereitschaft sich mit dem Problem zu beschäftigen.
Axel
-
Aber nach Befragung meiner Kristallkugel vermute ich mal folgendes.
Ich habe eben nur eine städt. Kristallkugel.
Die ist nicht so gut wie eine in der freien Wirtschaft. ;D
-
Es tut mir leid, ich weiß aber nicht wie ich den Fehler besser beschreiben soll, da ich erst angefangen habe in Notes zu programmieren.
Die einzige Möglichkeit die ich noch sehe, ich gebe euch das Projekt, damit ihr das ganze seht.
Gruß Bennet
-
Ah ja, jetzt wird's klarer.
Du brauchst von der Picklist beim Medium buchen als Rückgabe die UNID (DocumentUniqueID) des Dokumentes. Am besten machst du dir dazu eine versteckte Spalte in der entsprechenden Ansicht. Dann kannst du dir mit @GetDocField die Infos aus den entsprechenden Feldern des ausgewählten Dokumentes zugreifen. Die UNID des Dokumentes legst du dir am besten temporär in ein verstecktes Feld, damit du bei "Buchen" nochmal darauf zugreifen kannst. Hier holst du dir dann wieder mit @GetDocField die Anzahl, berechnest diese und schreibst sie mit @SetDocField wieder zurück.
Ich hoffe du kommst mit meiner Kurzbeschreibung einigermaßen klar.
Axel
-
Super, danke. Ich werde es gleich mal damit versuchen. Wenn ich nicht weiter komme, dann siehst du es ja ^^.
Gruß Bennet