Web-Elemente cRM 11

Hallo ich teste aktuell das neue cRM 11 auf Kompatibilität mit unserer Solution.

wir haben für unsere Außendienst-Mittarbeiter eine Art persönliches Dashboard gebastelt.
Das ist eine Ansicht, in der jedes AD-Gebiet ein Datensatz ist.
Für die Darstellung verschiedener Umsatzzahlen verwenden wir Web-Elemente in der Ansicht.
Mit der IE und VBS Darstellung war es möglich Berichte aus anderen Ansichten darzustellen.
Die Chromium Darstellung nutzt den vereinfachten Aufruf mit Parameter, dieser kann aber nur Berichte die für diese Ansicht erstellt wurden anzeigen?
Hab ich was übersehen?

Danke Thomas Richter

Hallo Herr Richter,

wenn Sie sich selbst Web-Elemente mit VBScript und HTML auf Basis des IE gebaut haben, dann können Sie diese analog so auch auf die neuen Edge (Chromium) Web-Elemente „umsetzen“.

Leider ist es für uns nicht zu vermeiden gewesen, dass wenn man hier gleichsam von einem Sonnensystem zum anderen reist, man sich mit ein paar geänderten Gepflogenheiten auf dem Zielplanten vertraut machen muss. :blush: Diese wären:

  • Edge (Chromium) kann kein VBScript, d.h. die Umsetzung der vorhandenen VBScript Codefragmente nach JavaScript ist eine essentielle Voraussetzung.
  • In JavaScript müssen die SDK Aufrufe explizit synchron getätigt werden, um eine sequentielle Abarbeitung des Scriptcodes sicherzustellen. (Stichwort: await)
  • Sie dürfen keine globalen Variablen nutzen, in denen Sie cRM Objekte gespeichert halten. Die Objekte müssen direkt „an Ort und Stelle“, wo sie gebraucht werden, geholt und anschließend auch wieder freigeben werden.
  • Die Freigabe erfolgt mit einem expliziten objekt.Dispose() Aufruf, das entspricht dem VBScript Equivalent von set ... = Nothing und muss ebenfalls spiegelbildlich zum Erzeugen der Objekte erfolgen.

Am besten schauen Sie sich einmal den Quellcode des „Umsatzentwicklung“ Web-Elements in Kontakte auf der Seite „Vertrieb > Sonstiges“ an. Da finden Sie alles was Sie brauchen (werden).

Da wird ein RecordSet erzeugt (es muss da - wie in VBScript auch - kein Zusammenhang zur aktuellen Ansicht bestehen), dieses dann über SetFilter... auf die gewünschten Datensätze
eingrenzen und dann per .PrintReport ein PNG erzeugen, das dann dargestellt wird. Alles wie in VBScript Web-Elementen auch. Im Falle des Beispiels wird ein Record Objekt genutzt, weil es beim konkreten Report um ein Umsatz-Chart geht, das sich aus den 1:N verknüpften Rechnungen speist. Sie sind da aber völlig frei!

Falls es noch Fragen gibt, einfach melden.

PS: den aufmerksamen Leser:innen wird nicht entgehen, dass in dem Beispiel die von mir gerade noch vollmundig geforderten Dispose Aufrufe ausgerechnet fehlen. :roll_eyes: :man_facepalming: Tja, auch wir sind nicht perfekt. :stuck_out_tongue_winking_eye: Wir werden das umgehend noch nachrüsten.

Hallo Herr Richter,

im cRM11 wurde auf die Chromium Engine umgestellt. Die bringt enorme Vorteile mit sich.

Hat zur Folge, dass die Dinge, die auf IE und VBS basieren für den cRM11 auf Java umgeschrieben werden müssen.

Wir kennen Ihr Leid, denn wir mussten unsere Info-Zentrale für den cRM 11 komplett neu entwickeln.

Beste Grüße
Frank

Ich möchte noch kurz ergänzen:

Es MUSS nicht JETZT kurzfristig umgestellt werden, es kann auch noch eine ganze Zeit lang (Microsoft hat den IE für Juni 2022 abgekündigt) mit der IE Variante einfach weitergearbeitet werden.

Aber es gibt, wie Dr. Wietzel schon geschrieben hat, viele Vorteile: aktuelle CSS Unterstützung, aktuelle Edge basierte Sicherheitspatches über Windows Updates, keine Erfordernis für Active (VBS) Scripting auf allen Clients den Pfad zur Solution in die vertrauenswürdigen Seiten der Internet-Settings aufnehmen zu müssen - und dies bei Solution Umzug oder manchen Windows Security Updates dann wieder neu nachziehen zu müssen, etc. D.h. mittelfristig sollte man das Thema angehen.

Hinsichtlich „Kompatibilität“ einer alten cRM 10, 9 oder älter Solution MUSS man jetzt nicht zwingend handeln, um überhaupt auf V11 gehen zu können.

image

Für die Ausgabe von Reports in einem Edge (Chromium) Web-Element ist das „showReport.html“ Web-Element eine super simpel anpassbar Blaupausen-Vorlage (siehe oben).

Danke für die schnelle und ausführliche Antwort. Wir werden dann in „aller Ruhe“ die Umsetzung von VBScript auf JavaScript angehen und solange mit der IE Variante weiterarbeiten.