[Gelöst] OnLoad-Code funktioniert nicht

26. Oktober 2010 11:44

Hallo Community,

unten stehenden Code habe ich im OnLoad-Ergeinis des Formulars von der Entität Telefonanruf eingestellt.
Es funktioniert so weit auch nur wenn ich einen Telefonanruf über die CRM-Symbolleiste in Outlook anlegen möchte kommt die Meldung "Zugriff verweigert".
Was ist hier das Problem?

Schöne Grüße

var today = new Date();
var cur_hour = today.getHours();
var cur_min = today.getMinutes();

today.setHours(cur_hour);
today.setMinutes(cur_min);

if (crmForm.FormType == 1)
{
crmForm.all.scheduledend.DataValue = today;
crmForm.all.actualdurationminutes.DataValue = 0;

// Check to confirm that the window.opener is present.
if (window.opener)
{
// Get the values of the parent form.
var oParentCrmForm = window.opener.document.all.crmForm;

if (oParentCrmForm && oParentCrmForm.ObjectTypeCode == 1)
{
var sAccountNummer = oParentCrmForm.all.accountnumber.DataValue;
crmForm.all.subject.DataValue = sAccountNummer + " - ";
}

// Check that you obtained the values of the parent form and
// that the parent form is an Anfrage.
if (oParentCrmForm && oParentCrmForm.ObjectTypeCode == 112)
{
var lookupItem = new Array;

// This will get the lookup for the attribute subjectid on the Anfrage form.
lookupItem = oParentCrmForm.all.subjectid.DataValue;

// If there is data in the field, show it in a series of alerts.
if (lookupItem[0] != null)
{
crmForm.all.sop_betreffbaumid.DataValue = lookupItem;
}
}
}
}
Zuletzt geändert von madschgal am 2. November 2010 10:23, insgesamt 1-mal geändert.

Re: OnLoad-Code funktioniert nicht

26. Oktober 2010 12:08

Hallo Martin,

ohne jetzt deinen Code genauer analysiert zu haben, würde ich einfach mit dem Befehl debugger; am Anfang des Scripts das Debugging einschalten. Wenn du dann noch mindestens VS 2008 auf deinem Rechner hast und im IE das Debugging erlaubst, steht einer einfachen Fehleranalyse nichts mehr im Weg.

Re: OnLoad-Code funktioniert nicht

27. Oktober 2010 11:01

Michael Sulz hat geschrieben:Hallo Martin,

ohne jetzt deinen Code genauer analysiert zu haben, würde ich einfach mit dem Befehl debugger; am Anfang des Scripts das Debugging einschalten. Wenn du dann noch mindestens VS 2008 auf deinem Rechner hast und im IE das Debugging erlaubst, steht einer einfachen Fehleranalyse nichts mehr im Weg.


Hallo Michael,

das Problem ist dieser Code (ohne Debugger ermittelt).
var oParentCrmForm = window.opener.document.all.crmForm;

Kannst du damit etwas anfangen?

Gruß

Re: OnLoad-Code funktioniert nicht

27. Oktober 2010 11:04

Hallo Martin,

du versuchst mit diesem Code, das CRM Formular zu ermitteln, das deine Telefonaktivität geöffnet hat. Da es in deinem Fall aber kein CRM Formular sondern der Outlook Client war, kommt es zu der von dir beschriebenen Fehlermeldung.

Re: OnLoad-Code funktioniert nicht

27. Oktober 2010 11:38

Hallo Michael,

wie ermittle ich ob ich beom OnLoad von Outlook oder von CRM komme?

Gruß

Re: OnLoad-Code funktioniert nicht

27. Oktober 2010 13:52

Hallo Martin,

zum Beispiel so:
Code:
if (IsOutlookClient())
{
 alert("You are using Microsoft Dynamics CRM for Outlook");
}
else
{
 alert("You are using the Web client");
}

Re: OnLoad-Code funktioniert nicht

27. Oktober 2010 15:01

Hallo Michael,

dein Tipp war soweit ganz gut nur muss ich erkennen ob ich von der CRM-Symbolleiste aus Outlook komme.
Ich wollte erreichen dass ich in meinem neune Fenster Werte aus dem aufrufenden Fenster anzeige
(z.B. Titel der Anfrage in einer neuen Aktivität (Fax) aus der Anfrage heraus anzeigen).
Dies funktioniert so weit auch alles einwandfrei ob Web oder Outlook.
Nur wenn ich die Aktivität z.B. Fax über die Symbolleiste in Outlook öffne kommt der Fehler.
Egal von wo aus sonst geht alles gut und super nur Symbolleiste nicht.

Was kann ich noch tun?

Gruß

Re: OnLoad-Code funktioniert nicht

28. Oktober 2010 15:34

Hallo Martin,

da bin ich leider auch überfragt. Ich würde einmal versuchen, mit Fiddler genauere Informationen über den Aufruf zu erhalten.