Server Admin und Senior Entwickler
demandflow.deAnsehen
Abzeichen 7
Editor Frischling 10 × Eureka! Anfänger Enthusiast Reporter UnterstützerDas kann fies sein. Man beachte den vierten Parameter der Dokumentation dieser Funktion.<br>
$this->getSubtableValue($sub, $field, $row, $raw); <br>
Setzt man $raw auf true, dann bekommt man laut Doku den "rohen Wert" zurück.
Effektiv muss man das setzen, um bei Datumswerten die Uhrzeit mit zu bekommen.
Moin Moin,
das ist natürlich eine sehr individuelle Frage, da jeder Entwickler da eigene Präferenzen hat.
Wichtig ist jedoch vorneweg die Konsistenz.
Wenn ich zu einem bestehenden Projekt dazukomme dann analysiere ich die bisherigen Konventionen und führe diese weiter.
Wenn ich mit jemandem zusammen einen neuen Prozess entwickle dann spreche ich mich mit jener Person ab, sodass es konsistent ist.
Wenn ich jedoch alleine einen neuen Prozess entwickle mache ich es üblicherweise so:
Date...
Moin Tobias,
die Weiterleitung mit direktem Öffnen funktioniert nur von einem Benutzerschritt zum Nächsten. Wenn eine Systemaktivität dazwischen ist, dann ist das leider nicht möglich, da der gewünsche Schritt zu diesem Zeitpunkt noch nicht existiert.
Je nachdem wie viel Aufwand es Euch wert ist könnt Ihr die PDF via einer PHP-Dialogfunktion zur Laufzeit generieren, allerdings könnt Ihr dann nicht einfach die Systemaktivität benutzen sondern müsstet mit einem der mitgelieferten PHP-PDF-Li...
Moin!
Ich war mir zuerst kurz nicht sicher, ob Ihr die "inoffizielle" API von Chris Müller meint, einem JR Entwickler in privater Kapazität
Link hier
oder die offizielle Erweiterung aus der JR Repo,
Link hier
Persönlich kenne ich das Projekt, habe es aber nicht im Einsatz. Aber eine nette Sache, dass es angeboten wird.
Moin,
damit habe ich selbst gekämpft und die Lösung ist:
JR legt eine viel zu hart gecachte Kopie an in
Webverzeichnis/assets/cache/systemactions/NameDerSysAktivität
Wenn du die löschst, dann sollte sie neu generiert werden. Alternativ deine neue Version dort ablegen.
Moin Moin,
ich sehe zwei Sachen die du mal probieren könntest:
- Eigentlich brauchst du auf Dialogfunktionen kein save (außer du willst den neuen Zustand wirklich speichern). Wenn du das möchtest, probier mal bitte - und ich weiß wie doof das klingt - save zwei mal hintereinander aufzurufen. Wir haben damit tatsächlich schon so seltsame Verhalten gelöst bekommen.
- Die schönere Lösung ist eigentlich aber die Zeilen per JS zu kopieren, dann bekommen die User auch nicht den Ladebildsch...
Hallo,
ich würde es hier wahrscheinlich tatsächlich über die API machen. Der korrekte Weg den iframe zu befüllen ist folgendermaßen:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https:// . . ./api/rest/v2/application/jobarchive/archives/ARCHIVNAME/documents/" . $revId . "/file");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, C...
Moin,
welche JobRouterVersion fahrt ihr denn? Der phpfunctions-endpoint kam erst vor Kurzem dazu. In meinen JobRoutern existiert der zum Beispiel noch nicht.
Du kannst die verfügbaren Endpoints deines JR einsehen via
https://meinServer.de/jobrouter/api/rest/v2
Ich sehe den erst irgendwann ab den 2022er Versionen
Moin,
mein Verständnis ist, dass man mit
jQuery( '#meiniFrame' ).attr( 'src', function ( i, val ) { return val; });
das Element dazu überreden kann zu glauben, dass der source-Wert neu gesetzt wurde und damit den Inhalt neu lädt.
Ggfs muss man die Funktion etwas anpassen, damit der neue Link generiert wird oder so?
Ja, das ist möglich.
Via JS kann - zum Beispiel im onLoad - folgender Code aufgerufen werden:
$$('.jr-section-title.sectionName').each(function(element) {
$(element).stopObserving('click');
});
Moin,
es ist tatsächlich so, dass für Simulator-Schritte nicht alle Funktionen verfügbar sind und die Informationen teilweise in anderen DB-Tabellen geführt werden. REST-Sachen würde ich nicht versuchen auf Simulator-Prozesse zu fahren.
Zur eigentlichen Frage:
- Du hast zwei Möglichkeiten. Entweder tatsächlich via PHP oder sonstige Wege direkt in die Datenbank die step_status-Werte setzen. In einer Deiner anderen Fragen habe ich dazu glaube ich den Code gepostet.
- Du müsstest Nicht-Sim...
Hallo,
tatsächlich ist der einzige mir bekannte Weg, über ein Script-Feld im JobSelect zu gehen.
Grüße
Stefan
Hi,
vielleicht noch ein weiterer Ansatz als Ergänzung zu den Punkten von Jan:
Was passiert vor dem TTFB:
- DNS lookup: Mach mal intern einen DNS Lookup von einer ungecacheten Maschine und schau ob vielleicht Euer DNS intern aktuell Probleme macht. Dies würde sich wahrscheinlich aber noch auf weitere Dinge auswirken in Eurem Netz
- SSL handshake: Normalerweise unproblematisch aber wer weiß
- Webserver-Verarbeitung: Nutzt Ihr Redis oder irgendwelche erweiterten Caches, die erst abgefra...
Ja, habe ein Tag hinzugefügt und einen Edit
Moin,
wenn die Einträge in eine JobData geschrieben werden kann man theoretisch über die REST-API prüfen, ob eine Zeile existiert zu den neuen Benutzerdaten und dann den Schritt mit sowas wie
$sql = "UPDATE JRINCIDENTS SET status=0, step_status=99 WHERE workflowid=:wfid";
senden.
Alternativ kann man einen Schritt in Wiedervorlage schieben, der sich dann hin und wieder neu startet und mit einem Skript auf etwas prüft. Alternativ kann man einen Hilfsprozess schreiben der nur nach...
Aufgrund der Datenbakclients müssen Transaktionen auf externen Datenbanken selbst organisiert werden, also Regeln im Regelablauf speziell mit BEGIN TRANSACTION, COMMIT und ROLLBACK angelegt werden.
Problem: Wenn man in einem Schritt mehrere Regeln hat und die Regel mit der Transaktion auf die externe DB erfolgreich durchläuft (und man die Daten committed), aber eine der nachfolgenden Regeln Fehler verursacht, dann wird der JobRouter-Schritt zurückgerollt, die schon committete Transaktion a...
Wir benutzen häufiger folgende Funktion, welche wir im onLoad aufrufen
jQuery('div.subtable').css('overflow', 'hidden');
Hey,
Standard-Untertabellenansichten lassen sich von Haus aus leider - und jda, das ist leider wirklich so - nicht sortieren. Die Daten sind fest mit einer row-id verknüpft und so wie sie in der Datenbank im Hintergrund stehen werden sie angezeigt.
Zwei Möglichkeiten:
- Entweder, wenn du bei der Untertabellenansicht bleiben möchtest, dann musst du dir die Daten einmal raus ziehen per Javascript (oder auch via einer DIalogfunktion), musst sie programmatisch sortieren wie es beliebt und da...
Hey,
hast du mal versucht, dir die Dialog-XML aus der Datenbank zu ziehen und in dem Editor deiner Wahl zu analysieren? Kann es sein, dass es tatsächlich ein Feld gibt, welches dort nicht rein gehört? Es klingt erstmal so als ziehe er die Struktur und hat einen Fehler dabei, diese zu rendern da ein nicht valides Feld dabei ist.
Alternativ würde ich versuchen, mal einen neuen, leeren oder minimalen Dialog dem Schritt zuzuordnen und zu schauen, ob dieser geladen wird.
Grüße
Stefan
Hey,
wenn die Anforderungen an die PDFs zu komplex oder zu dynamisch werden dann umgehen wir die Einschränkungen von Word komplett und nutzen das mitgelieferte TCPDF, bauen das Layout beliebig komplex im PHP mit HTML auf, konvertieren das zu PDF und attachen es dan an das Anhangsfeld.
Grüße
Stefan
Hey Jan,
Dominic kam mir zuvor aber ja, es gibt noch ein verstecktes User-Feld, welches an dieser Stelle befüllt werden muss. Etwas fies:

Ich habe die andere Frage gelöscht. Welche JobRouter-Version ist es denn? Wir können schauen ob man am Montag mal einen Teams-Call macht und drauf schaut