[gelöst] Javascript Client-Addin in BC21 OnPrem

11. April 2023 11:42

Hallo Zusammen,

kann mir bitte vielleicht jemand weiterhelfen.
Ich bin im Endspurt der Vorbereitungen Migration einer BC14 Lösung auf eine BC21 OnPrem Version.
Wir haben in BC14 ein selbstentwickeltes JavaScript Client-Addin im Einsatz
(um Bilder in einer PictureBox anzeigen zu lassen,
die Größe ist über x,y Werte sind als Parameter steuerbar).
In den angehängten Fotos ist der Aufbau zu sehen.
Es ist im Visual Studio ein Verweis auf die Microsoft.Dynamics.Framework.UI.Extensibility.dll der BC14 Version enthalten
und diese dll wird auch mitkopiert.
Rein in C# ist ja nur diese Interface Rumpf Klasse, der eigentliche Code ist ja in JavaScript.

Ich habe die Dateien aus Bild 5 in den x64 Ordner der BC21 Installation kopiert,
den x86 Ordner gibt es da ja nicht mehr, da es ja keinen ObjectDesigner mehr gibt.
Habe die Dateien also deswegen auch in mein AL Projekt kopiert, Bild 6.

In der BC21 Datenbank ist das Add-In natürlich in der Steuerelemente Addin Tabelle drin + Resource ist importiert.
Beim Kompilieren im BC21 VS Code Projekt kommt der Fehler Bild 7, und das liest sich so, als ob VS Code das Addin nicht finden kann.

Kann mir bitte jemand helfen was vielleicht nicht stimmt?
Danke

Viele Grüße
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Gollum83 am 27. April 2023 16:03, insgesamt 2-mal geändert.

Re: Javascript Client-Addin in BC21 OnPrem

11. April 2023 11:43

noch ein zusatz wegen der vielen bilder...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Javascript Client-Addin in BC21 OnPrem

11. April 2023 14:23

also entweder bin ich blind, oder ich blick nicht, wo hier ein Fehler in VS-Code per Screenshot aufgezeigt wurde

Re: Javascript Client-Addin in BC21 OnPrem

11. April 2023 14:31

sweikelt hat geschrieben:wo hier ein Fehler in VS-Code per Screenshot aufgezeigt wurde

Im zweiten Teil, das schwarze Bild :wink: .

Sind die Upgrades für die Add-ins von MS erfolgt?
https://learn.microsoft.com/en-us/dynam ... ol-add-ins

Re: Javascript Client-Addin in BC21 OnPrem

11. April 2023 15:03

danke, sorry, ich war zu langsam, genau das kleine schwarze bild, ich hänge aber hier den fehlercode rein:
c:\AL\ALProjectxxxx\Page\PagXXXXXXX.SalesRFQBOMList.al(16,39): error AL0417: Control add-in '"XXX.XX.JSUnivTextBoxAddIn"' not found

Re: Javascript Client-Addin in BC21 OnPrem

11. April 2023 15:05

Kowa danke für die Info.
Ich habe eine frische Cronus BC21 DB,
und für das eine eigene habe ich in der Page Steuerelemente Addins eine Zeile inkl. dem Token angelegt und die Ressource importiert

Re: Javascript Client-Addin in BC21 OnPrem

12. April 2023 15:09

jetzt bin ich es nochmal.

Wir haben auch in einigen Pages das Microsoft Control Add_in "Microsoft.Dynamics.Nav.Client.BusinessChart" im Einsatz.
Ich habe so eine alt Page durch den al Konverter gejagt, doch auch hier kommen Fehler.
Ich hänge zwei Bilder an mit der Page im Object Designer und dann zwei Bilder was der Konverter nach al migriert,
also einmal die Page und einmal eine Klassendeklaration für das .NET Translation file.
Beide werden vom Kompiler als fehlerhaft gekennzeichnet, nur weiß ich nicht warum.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Javascript Client-Addin in BC21 OnPrem

12. April 2023 15:11

gefunden wird das Control-Addin ja im Gegensatz zu meinem eigenen Addin,
aber anscheinend hat sich intern in dem DataPointClicked Trigger irgendetwas geändert.

Das Thema Client-Addins in der neuen Version ist mir echt ein Rätsel...
Kann mir vielleicht jemand bitte weiterhelfen? Danke
VG

Re: Javascript Client-Addin in BC21 OnPrem

27. April 2023 16:02

Hi Zusammen,

konnte nun beide Fälle klären:
-für eigene JavaScript Addins muss man von Visual Studio weggehen, also komplett von C# weg und kann das Add-In direkt in VS Code einbauen.
Die C# Interface Klasse muss man dann in al anlegen, und pro verwendeter jscript Funktion eine DummyFunktion in dieser al Datei anlegen.
Da gibts ein schönes Video auf youtube von vjeko

-beim Microsoft Chart Addin ist die Ursache richtig fies.
Es haben sich keine Aufrufe/Methoden geändert.
Aber das Addin arbeitet mit einer eigenen C# Klasse.
Und der al Konverter kann ja nur den BC14 Code lesen und verweist im DotNet.al auf eine falsche Klasse,
das hier ist die richtige Klasse.
Hab das auch nur herausgefunden, da ich von BC21 den Source Code der BaseApp nach Verwendung des Addins in einer Page abgesucht habe...
assembly("Microsoft.Dynamics.Nav.Client.BusinessChart")
{
Culture = 'neutral';
PublicKeyToken = '31bf3856ad364e35';

type("Microsoft.Dynamics.Nav.Client.BusinessChart.BusinessChartAddIn"; "Microsoft.Dynamics.Nav.Client.BusinessChart")
{
IsControlAddIn = true;
}
}