Autor Thema: Abfrage des form-Items funktioniert nicht zuverlässig  (Gelesen 4546 mal)

Offline JayDee

  • Senior Mitglied
  • ****
  • Beiträge: 408
Ein Problem, das schon lange auftritt, aber nur in einer Datenbank, es wirkt sich auf Ansichten und Search-Abfragen (Lotusscript > NotesDatabase.Search ist gemeint) aus. Ein Workaround ist zwar erfolgreich, aber ich wüsste gern wo es hier hakt, wo ich ansetzen könnte,  und ob noch jemand das Problem kennt.

Also:
Eine Ansicht oder eine db.Search-Abfrage findet Dokumente nicht, wenn das Form-Item 1:1 abgefragt wird:

form="xyz" & doc_ident="123"

Die Ansicht zeigt das Dokument so nicht an, ein db.Search(...) liefert eine Collection mit Count=0
Schreibt man die obige Auswahl- bzw. Suchformel aber wie folgt um:

@Contains(form;"xyz") & doc_ident="123"

dann ist alles i.O. , die Ansicht zeigt das Dokument an, db.Search liefert nun eine Collection mit Count=1.

Die Datenbank ist natürlich FT-indiziert, nur spielt das ja hier gar keine Rolle.
Die Datenbank enthält einige tausend Dokumente, und bevor der Workaround da war, wurden dann z.B. mal eben 800 Dokument einfach nicht angezeigt/gefunden.

Durch den funktionierenden Workaround gibt es kein akutes Problem mehr, aber irgendeinen Grund muss das Verhalten ja haben, ich würd es halt gern verstehen/lösen.
MfG,
Thomas

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #1 am: 22.01.18 - 13:58:53 »
Das Einzige, was ich mir vorstellen kann:

form enthält "xyz", " xyz" , "xyz "

Dann würde form= nur den ersten Fall zurückliefern.

@Contains liefert aber für alle Fälle Dolumente zurück.

Da beide Varianten CaseSensitive sind würde ich auch noch mit @Contains(@lowercase(form);"xyz") arbeiten, um auch noch diese Variante abzufangen.

Ich verwende schon seit ewigen zeiten @Contains
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #2 am: 22.01.18 - 14:10:46 »
Ich würde mir die Form-Items der Dokumente ansehen, die nicht mit Form = "xyz" gefunden werden, da ist bestimmt etwas krumm. Ein Form-Item ist ja nicht anders als irgendein anderes Item. NotesDatabase.Search nutze ich sehr intensiv und habe dieses Verhalten noch nie feststellen können. Allerdings beinhalten unsere Masken alle ein "Form"-Feld, und über dieses Feld bekommen alle Masken zwingend den gleichen Wert, z.B. bzgl. Groß-Kleinschreibung.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.871
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #3 am: 22.01.18 - 14:13:18 »
Ergänzend zu Ulrich: Schau Dir doch mal die Properties des betroffenen Dokumentes an und kopier Dir den Content des Items "Form" ... da siehst Du, was "wirklich" drin steht...
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 JayDee

  • Senior Mitglied
  • ****
  • Beiträge: 408
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #4 am: 22.01.18 - 14:48:50 »
Tja man muss das alles nur mal aufschreiben und schon kommen neue Eingebungen  ;)
Danke für eure Tipps.
Ich habe festgestellt, dass die Form-Items bei den Dokumenten, die nicht angezeigt/gefunden werden, vom Typ "Textlist" sind. Ändert man diesen mit scanEZ um auf "Text", ist das Problem sofort verschwunden.
Jetzt gilt es also zu klären, warum manche Dokumente hier einen anderen Typ haben...

Wir haben bislang prinzipiell kein Form-Feld in unseren Masken.
MfG,
Thomas

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #5 am: 22.01.18 - 15:44:27 »
dann sind diese Dokumente wahrscheinlich per Script oder Import erstellt worden, kann das sein ?
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline JayDee

  • Senior Mitglied
  • ****
  • Beiträge: 408
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #6 am: 22.01.18 - 15:51:39 »
Ja das ist so, eigentlich werden alle Dokumente aber per Script erstellt, es gibt da mehrere Wege, auch Importe. Stets wird aber in den Scripten doc.Form="xy" gesetzt.

Ergänzend zu meinen vorigen Ausführungen:
Es ist nicht so, dass alle Dokumente, deren Form-Item vom Typ "Textlist" ist, nicht gefunden werden. Die allermeisten werden gefunden.
Es ist aber so, dass die Dokumente, die nicht gefunden werden, stets ein Form-Item vom Typ "Textlist" haben.
MfG,
Thomas

Offline JayDee

  • Senior Mitglied
  • ****
  • Beiträge: 408
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #7 am: 23.01.18 - 07:45:13 »
Noch ein paar Ergänzungen.
Von ca. 24.000 Dokumenten insgesamt haben ca. 11.000 ein Form-Item vom Typ "Text List", die anderen "Text". Verglichen mit dieser großen Anzahl ist die Menge der Dokumente, die tatsächlich nicht gefunden würden, vergleichsweise gering.

Die Datenbank gibt es seit vielen Jahren, beide Varianten treten seit Anbeginn auf.

Was merkwürdig ist: Wenn der Typ des Form-Items "Text" ist (zu sehen über die Dokumenteigenschaften, wenn das Dokument in einer Ansicht fokussiert ist), so ändert sich diese Anzeige sofort auf "Text List", wenn man dasselbe Dokument im GUI offen hat. scanEZ zeigt an "Text".
MfG,
Thomas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #8 am: 23.01.18 - 08:18:25 »
Was merkwürdig ist: Wenn der Typ des Form-Items "Text" ist (zu sehen über die Dokumenteigenschaften, wenn das Dokument in einer Ansicht fokussiert ist), so ändert sich diese Anzeige sofort auf "Text List", wenn man dasselbe Dokument im GUI offen hat.
Das ist bei mir auch so, würde ich nicht überbewerten. Allerdings habe ich stichprobenartig kein Dokument gefunden, dass in der Ansicht schon den Datentyp Textliste hat, da sind alle Text.

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #9 am: 23.01.18 - 08:41:32 »
Denk bitte dran das in Notes ALLES listen sind, auch wenn die nur ein Element haben.

Kann es sein das ein solches Dokument, wenn mittels F9 ein Refresh gemacht wird im Edit Mode, dann zu Text geändert wird ?

Sprich das die Dokumente noch nie ein Refresh und Speicherung bekommen haben nach erstellung ?

Was passiert mit das Feld wenn es einmal in den UI bearbeitet und erneut gespeichert wird ?
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.871
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #10 am: 23.01.18 - 09:38:54 »
Also ich persönlich würde je eher auf das "Summary"- Flag des Feldes tippen als auf die Text List- Eigenschaft...
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 JayDee

  • Senior Mitglied
  • ****
  • Beiträge: 408
Re: Abfrage des form-Items funktioniert nicht zuverlässig
« Antwort #11 am: 23.01.18 - 09:56:22 »
Zitat
Denk bitte dran das in Notes ALLES listen sind, auch wenn die nur ein Element haben.
Klar.
Zitat
Kann es sein das ein solches Dokument, wenn mittels F9 ein Refresh gemacht wird im Edit Mode, dann zu Text geändert wird ?
Sprich das die Dokumente noch nie ein Refresh und Speicherung bekommen haben nach erstellung ?
Nein, das ist nicht der Fall.
Zitat
Was passiert mit das Feld wenn es einmal in den UI bearbeitet und erneut gespeichert wird ?
Nichts, keine Veränderung.

Zitat
Das ist bei mir auch so, würde ich nicht überbewerten. Allerdings habe ich stichprobenartig kein Dokument gefunden, dass in der Ansicht schon den Datentyp Textliste hat, da sind alle Text.
Stimmt. Hier verhalten sich tatsächlich alle Dokumente in allen Datenbanken offenbar gleich. s.o. v. Ronka "alles ist Liste".

Ich danke euch für eure Hinweise. Sobald ich hier etwas rausbekomme schreibe ich es hier ran.
MfG,
Thomas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz