Autor Thema: Formular in dem mehrere Untersubstanzen via Script erstellt werden  (Gelesen 5377 mal)

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
Ich habe ein Formular in dem mehrere (unter)-Substanzen erfasst werden können. Dazu schrieb ein ehemaliger Kollege drei Scripts. Je einen für Add, Edit und Remove. Hierbei wird eine kleine Dialogbox geöffnet in der 4 Felder abgefüllt werden können. Mein Problem ist nun das eine Substanz bei der am Anfang noch nicht alle Felder abgefüllt wurden nicht mehr editiert werden kann. Scheinbar hat Notes ein Durcheinander unter den einzelnen Substanzen da diese nicht sauber getrennt werden.

Wie lässt sich dies lösen ohne bestehende Daten zu beinträchtigen?

Hier der Script der Add Funktion:

Sub Click(Source As Button)
   On Error Goto Errhandler
   
   Dim ss As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   ret = ws.DialogBox("frmContentDlg", True, True, False, True, False, False, "Substance Details")
   If ret = False Then Exit Sub
   
   doc.sEC_number = Evaluate({@Trim(sEC_number : "} & doc.dlgsEC_number(0) & {")}, doc)
   doc.sIUPAC = Evaluate({@Trim(sIUPAC : "} & doc.dlgsIUPAC(0) & {")}, doc)
   doc.sCAS_number = Evaluate({@Trim(sCAS_number : "} & doc.dlgsCAS_number(0) & {")}, doc)
   doc.Composition = Evaluate({@Trim(Composition : "} & doc.dlgComposition(0) & {")}, doc)
   
   If Isnumeric(doc.Volume(0)) Then
      calcVol = doc.Volume(0) / 100 * doc.dlgComposition(0)
      doc.sVolume = Evaluate({@Trim(sVolume : "} & Round(calcVol, 2) & {")}, doc)
   Else
      doc.sVolume = Evaluate({@Trim(sVolume : "0.00")}, doc)
   End If
   
   doc.dlgsEC_number = ""
   doc.dlgsIUPAC = ""
   doc.dlgsCAS_number = ""
   doc.dlgComposition = ""
   
   Exit Sub
   
Errhandler:
   Msgbox "Line " & Str(Erl) & " : Error " & Str(Err) & " - " & Error$
   End
   
End Sub

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Was verstehst du unter
Zitat
eine Substanz
  ???
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Doppelposting - und bei den Kollegen bereits beantwortet.

klaussal

  • Gast
Zitat
Was verstehst du unter...

Zitat
Umgangssprachlich steht das Wort oft synonym für einen chemischen Stoff im allgemeinen, in einem engeren Sinn der Chemie wird die Bezeichnung Substanz auf Stoffe in fester Form (Feststoffe) beschränkt, im Gegensatz zu Flüssigkeiten und Gasen.

In der Medizin und Pharmazie wird der Begriff v. a. angewandt für

Strukturen und Gewebe benutzt, die einheitlich aussehen, wie substantia nigra, substantia grisea
Stoffe, die eine Wirkung ausüben, etwa psychotrope Substanz, pharmazeutische Substanz (Arzneimittel, Pharmakon), toxische Substanz (Gift)
Häufig wird der Begriff Substanz auch im Sinne von „wichtige Stoffe“ verwendet, z. B. „etwas geht an die Substanz“. Dies bedeutet, (im stofflichen/medizinischen Sinne) dass die Vorräte aufgebraucht sind und nun die Grundlagen angegangen werden. Im psychologischen Sinne „geht etwas an die Substanz“, wenn die persönlichen Schutzmechanismen (Abwehr, Verdrängung...) nicht mehr greifen.

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
Doppelposting - und bei den Kollegen bereits beantwortet.
Sorry dachte ich erhalte so breitere Hilfe

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Hmmm, Du hast aber unsere Forumsregeln bei der Anmeldung akzeptiert?

Zitat
2.3 Crosspostings in mehreren Webforen oder Newsgroups
     Es verstößt gegen die gültige Netiquette von Newsgroups und Onlineforen, Probleme zeitnah in mehreren verschiedenen Webforen gleichzeitig zu posten.
Bitte entscheidet Euch deshalb zunächst, in welchem Forum Ihr Euer Problem posten wollt, bevor Ihr ein Thema einstellt.
Bekommt Ihr in diesem Forum keine befriedigende Antwort, so könnt Ihr die Frage einige Tage später gerne in einem weiteren Forum stellen - mit Querverweis und Link auf den ursprünglichen Beitrag.
Sollte es einmal Gründe dafür geben, ein Problem gleichzeitig in verschiedenen Foren einzustellen, so ist in jedem Forum ein Querverweis mit Link auf die jeweils anderen Forumsbeiträge zu erstellen.
Genauso sind gefundene Lösungen in den jeweiligen Foren als Querverweis mit Link einzustellen.
http://atnotes.de/projekte/bp/team/tmc/_forumsregeln/rules001.html#23
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
Nun die liest wohl kaum jemand oder?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Deswegen weisen wir ja notfalls auch nochmal explizit darauf hin  ;)

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
schon wieder was gelernt ;-)

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
Was verstehst du unter
Zitat
eine Substanz
  ???

Nun ist eigentlich egal ob Substanz oder Artikel. Möchte einfach in einem Formular via Script gewisse Substanzen/Artikel erfassen können. Diese sollen auch editiert oder gelöscht werden können. Weiter müssen sie vom mutterdockument abhängig sein. Ist alles da und funktioniert einwandfrei solange man alle 4 Felder abfüllt. sobald man jedoch eines leer lässt und im Nachhineni nochmals editieren möchte bekommt man ein Error

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Entweder alles in ein Feld packen und mit ~ und @word arbeiten. dann ist das Feld nie leer.
Oder mit einem "pseudoleerwert" arbeiten zum Beispiel #IstLeer# und diesen jeweils beim bearbeiten und bei der Anzeige durch einen "echten" Leerwert ersetzen. Eine andere Möglichkeit hast du für das was du erreichen willst nicht.

Und wenn du es richtig schön machen willst dann nimmst du für die Darstellung der Daten eine auf das Dokument selbst berechnete Ansicht. So wie zum Beispiel diese hier ...
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Ach ja. Nein, das was man da in der Ansicht sieht sind KEINE Antwortdokumente, sondern Felder aus dem Dokument in dem die Ansicht eingebettet ist.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Zitat
sondern Felder aus dem Dokument in dem die Ansicht eingebettet ist.
Du Fuchs, du  ;D ;D Sowas kann Notes doch gar nicht ... ;D ;D
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Doch das kann das. Werner Götz hat bewiesen das und wie das geht. Inklusive was man tun muss um diese Daten bearbeitbar zu machen und Änderungen sofort im zugrundeliegenden Dokument sichtbar zu machen. Ich bin da nur der Nutznieser einer genialen Vorarbeit.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
Das Formular sieht so aus:


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
@"Wolge": Das Bild haben wir schon im DominForum gesehen ;) Uns hast Du es bisher ja vorenthalten  ;)

@Thomas: Das geht schon anders (wenn man es so denn will) - auch abseits von Pseudoleerwerten (sondern richtigen), man muss nur richtig speichern (siehe Bild unten aus einer alten Datenbank von mir).
Ich würde das aber heute nicht mehr so machen. Ausserdem: Was man am Bild auch sehr gut sieht - man muss sich auch um den Zeilenumbruch selber kümmern. Wenn bei Wolges Maske der Rest wieder stimmen würde (und das ist ja nur das bescheuerte @Trim), dann kann bei einem längeren Text / einer grösseren Zahl / whatever die ganze Tabelle auseinanderbröseln.

Das bisherige Prinzip wie in "Wolges" DB verwendet ist eben ... schlecht.

Bernhard

PS: Im Thread im DominoForum hat sich jetzt herausgestellt, das "Wolge" (der hat die Forumsregeln immer noch nicht richtig gelesen) bestehenden LS-Code korrigieren soll, aber von LS keinerlei Ahnung hat. Damit ist das sowieso chancenlos. "Wolge", lass Dir ein "Training on the job" genehmigen ...
« Letzte Änderung: 14.08.08 - 17:26:32 von koehlerbv »

Offline wolge

  • Frischling
  • *
  • Beiträge: 7
hehehe gute idee ich schlag das mal meinem boss vor.. der wird sich freuen ;-P

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
@Thomas: Das geht schon anders (wenn man es so denn will) - auch abseits von Pseudoleerwerten (sondern richtigen), man muss nur richtig speichern (siehe Bild unten aus einer alten Datenbank von mir).
Du kannst in Multivalue Feldern NULL oder bei Text eben Leere Werte Speichern ohne das beim speichern der interne Trim zuschlägt? Wie???

Ich würde das aber heute nicht mehr so machen. Ausserdem: Was man am Bild auch sehr gut sieht - man muss sich auch um den Zeilenumbruch selber kümmern. Wenn bei Wolges Maske der Rest wieder stimmen würde (und das ist ja nur das bescheuerte @Trim), dann kann bei einem längeren Text / einer grösseren Zahl / whatever die ganze Tabelle auseinanderbröseln.
Welches Bild?
Deswegen ja der Ansatz mit der Ansicht. Da musst du dich um die Zeilenumbrüche eben nicht kümmern.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Sorry für das vergessene Bild - ich habe es nachgereicht (das ist ja wie mit Mail-Attachments  ;D)

Und natürlich kann man leere Elemente speichern. Man sollte es eben nur nicht mit @functions probieren - man kommt bei bestimmten Dingen eben sehr schnell an die Grenzen. Deswegen verstehe ich auch den Programmier vor "Wolge" nicht.

Das mit der Ansicht im Dokument ist natürlich die Alternative: Wie auch immer - ob stino embedded und abhängige Dokumente oder das Prinzip von Werner Götz oder ... Ruft natürlich andere Aufwände hervor (die ich heute aber lieber auf mich nehme).

Was "Wolges" letztes Posting angeht: Ich finde es immer wieder frappierend, wie manche Firmen und Organisationen Geld zum Fenster herausschmeissen. Ein oder zwei Monatsgehälter ihrer Leute werden eingespart, um andererseits viel grössere Mehrkosten zu haben oder eigentlich Geld auszugeben für nix (oder - meist - beides kombiniert).

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Also du hast ein Array mit folgenden Werten:
Arr(0) = "Ein Wert"
Arr(1) = "Anderer Wert"
Arr(2) = ""
Arr(3) = "Letzter Wert"

Und das übergibst du jetzt an ein Item.
und machst ein Doc.Save
Und anschließend hast du im gespeicherten Dokument ein Item mit 4 Werten stehen bei dem der dritte Wert nicht vorhanden ist? Kannst du das beweisen?

Bei mir kommt da immer ein Item mit 3 Werten raus weil er beim speichern den dritten Wert rausschmeist.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz