Rufen Sie den C # -Code von der Multifunktionsleiste JScript CRM Online 2011 auf

8

Ich brauche Code, der beim Klicken auf die Multifunktionsleisten-Schaltfläche einer Entität ausgeführt wird, die einige verwandte Daten aus CRM Online 2011 aktualisiert. Ich würde es vorziehen, nicht all diese Logik in JScript schreiben zu müssen. Gibt es eine Möglichkeit, C # -Code von JScript aufzurufen? Ich habe mir die JScript-Datei angesehen, die Microsoft von der Multifunktionsleiste verwendet, und sieht so aus:

%Vor%

Ich sehe einen RemoteCommand-Anruf, von dem ich annehme, dass er zu einer Webservice-Funktion zurückkehrt. Ich hoffe, so etwas zu machen. Kann ich meine eigenen Web-Service-Funktionen hinzufügen?

Ich konnte von JScript aus anrufen, um eine "Assign" -Nachricht für eine Entität als Test zu senden. Dies könnte potentiell mit einem Plugin-in funktionieren, aber es scheint seltsam, eine Nachricht für ein Ausführungsereignis zu senden, das tatsächlich nicht auftrat, nur um einen C # -Code auszuführen ("Assign", "Update", etc.), und ich tu 'nicht t eine Möglichkeit sehen, eigene Nachrichten zu erstellen.

    
Chad 23.02.2011, 13:30
quelle

5 Antworten

9

Sie können 2011 keine eigenen Web-Services hinzufügen oder eigene benutzerdefinierte Plug-in-Nachrichten erstellen. Der beste Weg, dies zu tun, ist:

  1. Richten Sie eine Entität ein, die ausschließlich zum Ausführen von benutzerdefiniertem Code auf dem Server existiert.
  2. Geben Sie ihm Attribute namens message name und eine weitere Eigenschaft, die Parameter in dem von Ihnen gewählten Format übergeben soll (XML, JSON, etc.)
  3. Erstellen Sie in Ihrem JavaScript eine Instanz dieser Entität, die die richtigen Parameter übergibt.
  4. Lassen Sie ein Plugin an die Create-Nachricht dieser Entität anhängen, und dann liest es die Parameter ein und führt den gewünschten benutzerdefinierten Code aus.

Wenn Sie zufällig nur eine Nachricht oder etwas anderes übergeben, wird es wahrscheinlich in den Augen von Microsoft nicht unterstützt, und es wäre schwer zu debuggen, wenn jemand anderes dieses System sehen müsste.

    
Matt 23.02.2011, 16:36
quelle
4

Es gibt eine andere Möglichkeit, zwei Optionen in das Formular einzufügen. Wenn Sie auf die benutzerdefinierte Schaltfläche klicken, die Sie in der Multifunktionsleiste erstellt haben, geben Sie die beiden Optionen true ein und führen Sie die save-Methode des Formulars in dem Plugin aus Überprüfen Sie, ob der Wert der beiden Optionen true ist, und führen Sie dann Ihre Codes aus. Setzen Sie danach den Wert für die beiden Optionen wieder auf false. Auch im Formular können Sie die beiden Optionen unsichtbar machen.

    
saeid 01.06.2011 06:59
quelle
1

Ich denke, das ist, was Sie suchen Ссылка

    
Nilesh 29.08.2011 05:40
quelle
1

ok, viele JavaScript-Logik zu schreiben ist ein chaotischer Gedanke, aber die Erstellung von js-Code, der die "echte" Logik über eine create-Operation (mehr oder weniger ein Befehlsmuster) auslöst, wird auch zu einer komplexen Lösung führen.

Je nach dem Grad der Komplexität und den Anforderungen (z. B. Ausführen einer Operation auf das Verhalten eines anderen Benutzers ist in js nicht möglich) würde ich immer einen reinen js-Ansatz bevorzugen. Um die Komplexität zu reduzieren, versuchen Sie eine Bibliothek, die Sie mit dem Kern funktional versorgt:

CrmRestKit

XrmServiceToolkit

Viel Spaß

Daniel

    
thuld 21.05.2012 16:19
quelle
0
___ qstnhdr ___ Rufen Sie den C # -Code von der Multifunktionsleiste JScript CRM Online 2011 auf ___ qstntxt ___

Ich brauche Code, der beim Klicken auf die Multifunktionsleisten-Schaltfläche einer Entität ausgeführt wird, die einige verwandte Daten aus CRM Online 2011 aktualisiert. Ich würde es vorziehen, nicht all diese Logik in JScript schreiben zu müssen. Gibt es eine Möglichkeit, C # -Code von JScript aufzurufen? Ich habe mir die JScript-Datei angesehen, die Microsoft von der Multifunktionsleiste verwendet, und sieht so aus:

%Vor%

Ich sehe einen RemoteCommand-Anruf, von dem ich annehme, dass er zu einer Webservice-Funktion zurückkehrt. Ich hoffe, so etwas zu machen. Kann ich meine eigenen Web-Service-Funktionen hinzufügen?

Ich konnte von JScript aus anrufen, um eine "Assign" -Nachricht für eine Entität als Test zu senden. Dies könnte potentiell mit einem Plugin-in funktionieren, aber es scheint seltsam, eine Nachricht für ein Ausführungsereignis zu senden, das tatsächlich nicht auftrat, nur um einen C # -Code auszuführen ("Assign", "Update", etc.), und ich tu 'nicht t eine Möglichkeit sehen, eigene Nachrichten zu erstellen.

    
___ answer6197398 ___

Es gibt eine andere Möglichkeit, zwei Optionen in das Formular einzufügen. Wenn Sie auf die benutzerdefinierte Schaltfläche klicken, die Sie in der Multifunktionsleiste erstellt haben, geben Sie die beiden Optionen true ein und führen Sie die save-Methode des Formulars in dem Plugin aus Überprüfen Sie, ob der Wert der beiden Optionen true ist, und führen Sie dann Ihre Codes aus. Setzen Sie danach den Wert für die beiden Optionen wieder auf false. Auch im Formular können Sie die beiden Optionen unsichtbar machen.

    
___ answer7226492 ___

Ich denke, das ist, was Sie suchen Ссылка

    
___ answer5093860 ___

Sie können 2011 keine eigenen Web-Services hinzufügen oder eigene benutzerdefinierte Plug-in-Nachrichten erstellen. Der beste Weg, dies zu tun, ist:

  1. Richten Sie eine Entität ein, die ausschließlich zum Ausführen von benutzerdefiniertem Code auf dem Server existiert.
  2. Geben Sie ihm Attribute namens message name und eine weitere Eigenschaft, die Parameter in dem von Ihnen gewählten Format übergeben soll (XML, JSON, etc.)
  3. Erstellen Sie in Ihrem JavaScript eine Instanz dieser Entität, die die richtigen Parameter übergibt.
  4. Lassen Sie ein Plugin an die Create-Nachricht dieser Entität anhängen, und dann liest es die Parameter ein und führt den gewünschten benutzerdefinierten Code aus.

Wenn Sie zufällig nur eine Nachricht oder etwas anderes übergeben, wird es wahrscheinlich in den Augen von Microsoft nicht unterstützt, und es wäre schwer zu debuggen, wenn jemand anderes dieses System sehen müsste.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123dynamicscrm ___ Microsoft Dynamics CRM ist ein mehrsprachiges Customer Relationship Management-Softwarepaket, das von Microsoft entwickelt wurde. Es wurde Unterstützung für Vertrieb, Marketing und Service eingebaut. Es kann als xRM-Plattform verwendet werden. ___ tag123dynamicscrm2011 ___ Microsoft Dynamics CRM ist ein mehrsprachiges Customer Relationship Management-Softwarepaket, das von Microsoft entwickelt wurde. Out-of-the-box konzentriert sich das Produkt hauptsächlich auf die Bereiche Vertrieb, Marketing und Service (Helpdesk), Microsoft hat jedoch Dynamics CRM als XRM-Plattform vermarktet und ermutigt Partner, sein eigenes (.NET-basiertes) Framework zu verwenden, um es anzupassen es um viele verschiedene Anforderungen zu erfüllen. ___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ answer10688845 ___

ok, viele JavaScript-Logik zu schreiben ist ein chaotischer Gedanke, aber die Erstellung von js-Code, der die "echte" Logik über eine create-Operation (mehr oder weniger ein Befehlsmuster) auslöst, wird auch zu einer komplexen Lösung führen.

Je nach dem Grad der Komplexität und den Anforderungen (z. B. Ausführen einer Operation auf das Verhalten eines anderen Benutzers ist in js nicht möglich) würde ich immer einen reinen js-Ansatz bevorzugen. Um die Komplexität zu reduzieren, versuchen Sie eine Bibliothek, die Sie mit dem Kern funktional versorgt:

CrmRestKit

XrmServiceToolkit

Viel Spaß

Daniel

    
___ antwort43317665 ___

Ich bin zu spät für die Party hier, aber um den Leuten, die sich mit diesem Thema für die neueste CRM-Version beschäftigen, etwas einfacher zu machen (weil es als crm online getaggt ist): Momentan gibt es etwas, das "Aktion" genannt wird, das genauso wie Workflow oder Geschäftsprozessablauf erstellt werden kann. Sie können Eingabe- und Ausgabeparameter für diese Aktion angeben. Hauptvorteile:

  • Sie können ein Plugin für diese Aktion registrieren, sodass Sie anstelle von jScript logic eine c # Logik

  • ausführen können
  • Sie können diese Aktion mit webAPI

  • aufrufen

Wie für CRM 2011, obwohl es bereits ziemlich veraltet ist - besser Ansatz als in der akzeptierten Aktion vorgeschlagen ist, Ihre Logik auf Post RetrieveMutliple Ihrer benutzerdefinierten Entität zu laufen, so dass Sie die Erstellung / Löschung von einigen magischen Aufzeichnungen (und Benutzer werden) muss nur Leseberechtigung für sie haben, nicht erstellen oder aktualisieren).

    
___ tag123dynamicscrmonline ___ Microsoft Dynamics CRM ist ein mehrsprachiges Customer Relationship Management-Softwarepaket, das von Microsoft entwickelt wurde. Es wurde Unterstützung für Vertrieb, Marketing und Service eingebaut. Dieses Tag ist für Dynamics CRM Online reserviert. ___
Pawel Gradecki 10.04.2017 07:58
quelle