Sie sind nicht angemeldet.

1

Montag, 22. Februar 2021, 15:20

Nur neusten Eintrag aus Kategorie in Brief via PHP

Guten Tag alle zusammen.

Ich versuche seit einigen Tagen über die PHP Schnittstelle immer nur den neusten Eintrag einer Kategorie auszulesen. Unabhängig von Quartal, Fall, allem. Mein PHP Script sieht so aus und funktioniert auch:

PHP-Quelltext

1
2
3
4
5
    $input '{Kategorie:ascii:absteigend:block}';
    $find ";";
    $pos strpos($input$find);
    $out substr($input0$pos);
    echo $out;



Die Frage, die ich gerne stellen möchte ist folgende: Gibt es da auch eine simplere Methode? Wir haben viele Briefe, bei denen eben genau dies benötigt wird. z.B. mit nur den neusten 1, 2, 3, n-ten Einträgen. Es kommt mir komisch vor, dass ich dafür selbst den String zerklopfen muss.

2

Dienstag, 23. Februar 2021, 08:25

Hallo,

in der Dynamic-View gibt es den Containertyp "Krankenblattfilter". Darin können Sie einfach die anzuzeigende Eintragsart wählen und zusätzlich anhaken "nur den jüngsten Eintrag anzeigen". Das ist deutlich einfacher und benötigt viel weniger Performance als php.

mfg
Uwe Streit

3

Mittwoch, 24. Februar 2021, 12:23

Vielleicht stehe ich auf dem Schlauch aber was hat denn DynamicView mit dem automatischen Substituieren von Briefen zu tun?

4

Mittwoch, 24. Februar 2021, 19:02

Hallo,

Herr Streit hat vermutlich angesichts des PHP Skrips an die Schnellinfo gedacht, wo solche Skripte hauptsächlich verwendet werden. Für die Briefe ist die Krankenblatt Kategorie erst mal nichts.

Haben Sie die Briefvariablen schon probiert, Handbuch Datenpflege, Seite 6 - 66,, zum Beispiel
{<eigene Textkategorie>[:Fall|:Zeit][: Datum][:Absteigend][:Titel][:Ascii][:Tagzahl#<Anzahl>]}

ich dachte es gäbe auch die Option "nur die aktuellsten Einträge", vielleicht war die Option aber auch gerade neu im Krankenblatt-Filter? ... bin nicht sicher ...

LG C.Schnell

5

Donnerstag, 25. Februar 2021, 08:28

Hallo,

Vielleicht stehe ich auf dem Schlauch aber was hat denn DynamicView mit dem automatischen Substituieren von Briefen zu tun?


sorry, habe nicht richtig gelesen.

Um im Brief den neuesten Eintrag einer Kategorie zu bekommen, müssen Sie die Variable mit den Optionen ":absteigend" und ":Tagzahl#1" kombinieren. Bei "absteigend" kommt der neueste Eintrag immer zuerst und mit "Tagzahl#1" wird nur einer angeboten.

mfg
Uwe Streit

6

Donnerstag, 25. Februar 2021, 11:13

Um im Brief den neuesten Eintrag einer Kategorie zu bekommen, müssen Sie die Variable mit den Optionen ":absteigend" und ":Tagzahl#1" kombinieren. Bei "absteigend" kommt der neueste Eintrag immer zuerst und mit "Tagzahl#1" wird nur einer angeboten.
Es tut mir leid aber das kann schlichtweg nicht stimmen und funktioniert bei mir auch nicht. Das Handbuch beschreibt Tagzahl ganz klar folgendermaßen:


Quellcode

1
:Tagzahl#<Anzahl Tage> Dieser Platzhalter beschreibt, wie viele Tage ausgehend vom aktuellen Datum rückwärts für die Ermittlung der Inhalte berücksichtigt werden sollen.



Und genau dies tut Tagzahl bei mir auch. Ich kann keine Nummer von Einträgen angeben, nur wie viele Tage er zurück gehen soll. Sage ich Tagzahl#365 bekomme ich nicht die neusten 365 Einträge, sondern alle Einträge des letzten Jahres ab heute.
-> Sehr interessant allerdings: Dieses Gerücht, dass Tagzahl für den letzten Eintrag in Verbindung mit "absteigend" gilt hat uns auch unser IT Dienstleister so mitgeteilt. Es stimmt allerdings nicht. Ich weiß nicht wo diese Fehlinformation zuerst aufgetreten ist aber Sie scheint die Runde zu machen.

7

Donnerstag, 25. Februar 2021, 11:19

Sorry, Sie haben Recht.
Sie müssen ":Maxzahl#1" verwenden.
Bei so vielen Parametern kann man schon mal durcheinander kommen. ;)

mfg
Uwe Streit

8

Donnerstag, 25. Februar 2021, 11:59

Sorry, Sie haben Recht.
Sie müssen ":Maxzahl#1" verwenden.
Bei so vielen Parametern kann man schon mal durcheinander kommen. ;)

mfg
Uwe Streit
Und jetzt kommen wir zu dem Dilemma vor dem ich schon vor einer Woche stand, weswegen das ganze PHP Gespiele anfing:

Maxzahl ist laut Dokumentation nur bei Aufträgen definiert. Verwende ich es bei eigenen Textkategorien passieren kuriose Dinge: Ich bekomme dann bei Maxzahl#1 den neusten Eintrag komplett, und dann immer die erste Zeile eines jeden Eintrags danach und eben nicht nur einen Eintrag.
Bei Maxzahl#2 bekomme ich 2 komplett, und dann vom rest immer die erste Zeile.
Bug oder Feature? Mo Version 1.121.11198 (Nur zur Info)

9

Donnerstag, 25. Februar 2021, 12:13





Zitat von »U.Streit«



Sorry, Sie haben Recht.
Sie müssen ":Maxzahl#1" verwenden.
Bei so vielen Parametern kann man schon mal durcheinander kommen. ;)

mfg
Uwe Streit
Und jetzt kommen wir zu dem Dilemma vor dem ich schon vor einer Woche stand, weswegen das ganze PHP Gespiele anfing:

Maxzahl ist laut Dokumentation nur bei Aufträgen definiert. Verwende ich es bei eigenen Textkategorien passieren kuriose Dinge: Ich bekomme dann bei Maxzahl#1 den neusten Eintrag komplett, und dann immer die erste Zeile eines jeden Eintrags danach und eben nicht nur einen Eintrag.
Bei Maxzahl#2 bekomme ich 2 komplett, und dann vom rest immer die erste Zeile.
Bug oder Feature? Mo Version 1.121.11198 (Nur zur Info)



Wie genau lautet denn die von Ihnen verwendete Variable?

10

Donnerstag, 25. Februar 2021, 12:20

Wie genau lautet denn die von Ihnen verwendete Variable?
Ich habe es ebenfalls in der simpelsten Form ausprobiert um Fehler Meinerseits zu vermeiden:

{OP_IOL:Maxzahl#1}

gibt mir aus meiner Textkategorie OP_IOL eben einen vollen Eintrag, und die ersten Zeilen aller anderer darauf folgender.

Gleiches passiert aber auch bei:

{OP_IOL:ascii:Absteigend:Maxzahl#1}


Ich hatte dann vermutet Maxzahl sei zu verwenden, wenn man 1,2, 3 detaillierte Einträge und den rest zusammengefast haben will und mich dann PHP zugewendet.

11

Donnerstag, 25. Februar 2021, 12:59

Ihre verwendete Variable ist korrekt. Wir konnten jetzt nachvollziehen, dass es unter bestimmten Umständen zu dem von Ihnen beschriebenen Phänomen kommt. Wir werden das mit dem kommenden Quartalsupdate korrigieren.

mfg
Uwe Streit

12

Donnerstag, 25. Februar 2021, 13:30

Wir werden das mit dem kommenden Quartalsupdate korrigieren.
Dann hatte ich ja doch einen Fehler gefunden. Vielen Dank für die Hilfe, wir freuen uns schon auf das Update :) :)

PS: Mein Chef meinte noch, dass so etwas wie "MaxZeile" auch interessant wäre, bei dem man die Menge an Zeilen pro Eintrag angeben könnte.

13

Donnerstag, 25. Februar 2021, 17:43

Noch ein paar Worte zu „MAXZEILE“

- wenn man jetzt nochmal an MAXZAHL ran muss, kann man vielleicht auch einen Schalter MAXZEILE gleich mitmachen.

MAXZEILE sollte die maximale Anzahl an Zeilen ausgeben, die im angesprochenen Eintrag gefunden werden. MAXZEILE#1 liefert die erste, #2 die ersten beiden usw.

Hintergrund:

Beim Dokumentieren von implantierten Linsen, werden in definierter Reihenfolge die Daten der Linse erfaßt - derzeit 5 Zeilen. Diese werden im nächsten Schritt zum Drucken eines Linsenpasses benötigt.
Weitere Zeilen wären manchmal sinnvoll, würden aber den Druckprozeß beeinflussen und werden deshalb nicht dokumentiert. MAXZEILE würde uns hier Freiheiten schaffen.
- Wann kommt ein schickes Augenarztmodul mit anwenderfreundlicher Phoropteranbindung, LAN-Anbindung der Nidek-Geräte und anderer Gadgets? -
Wer Interesse hat, dies gemeinsam weiter zu entwickeln, bitte bei mir melden!