CRM 2011 – Neue Forms und AutoSave
Wie viele von euch vielleicht schon mitbekommen habe, besitzen die neuen Forms, die mit RU12 eingeführt wurden, keinen Save-Button mehr sondern diese Formulare werden automatisch gespeichert. Die Frage die sich jetzt natürlich stellt ist, wann werden diese Forms automatisch gespeichert.
Anbei eine kleine Auflistung, wann die Formulare automatisch gespeichert werden.
- Automatisch alle 30 Sekunden
- Aktionen der Buttons wie Neu, Schließen, Qualifizieren, etc.
- Schließen des Formulars
- Massenbearbeitung
IFrame verzögert starten
Es kommt immer wieder vor, das die URl eines IFrames im Onload eines Formulares gesetzt werden soll, das IFrame aber nicht auf dem ersten Reiter angezeigt wird. In diesen Fällen darf die Zuweisung erst erfolgen, wenn tatsächlich der entsprechende Reiter angeklickt wird.
Um dies zu erreichen, kann einfach der folgende Code verwendet werden:
LoadFrame = function()
{
crmForm.all.IFRAME_myiframe.src='https://michaelsulz.wordpress.com';
}
document.getElementById(‚tab1Tab‘).onclick = LoadFrame;
Zuerst wird eine Funktion definiert, die das eigentliche zuweisen der URL übernimmt. Danach erfolgt dann der Aufruf der Funktion, in diesem Beispiel, wenn der 2. Tab gedrückt wird, da die Zählung der Tabs bei 0 beginnt.
Tabsprünge auf links nach rechts ändern
Dies kann natürlich auch durch ein entsprechendes Design der Site erreicht werden. Bei großen Formularen kann das untere Script aber durchaus hilfreich sein, falls man sich bei der Definition des Formulares vertan hat.
function OnCrmPageLoad()
{
ReArangeTabIndex();
}
function ReArangeTabIndex()
{
for( var i = 0 ; i < crmForm.all.length ; i++ )
{
var element = crmForm.all[ i ];
if (element.tabIndex)
{
if (element.className == "ms-crm-Hidden-NoBehavior" || element.tagName == "A")
{
continue;
}
element.tabIndex = 1000 + (i*10);
}
}
}
Farben im CRM
Hintergrundfarbe eines Feldes ändern
crmForm.all.sulz_testfeld.style.backgroundColor = 'FFFF99';
Textfarbe eines Feldes ändern
crmForm.all.sulz_testfeld.style.color = 'FFFF99';
Rahmenfarbe eines Feldes ändern
crmForm.all.sulz_testfeld.style.borderColor = 'FFFF99';
Hintergrundfarbe eines Abschnittes einfärben
In diesem Beispiel wird der Abschnitt mit dem Feld telphone2 rot eingefärbt.
crmForm.all.telephone2.parentElement.parentElement.parentElement.style.backgroundColor = 'red';
Komplette Farbe des Tabs ändern
document.all.tab0.style.backgroundColor = 'red';
Farbe des Reiters in der Übersicht ändern
crmForm.all.tab3Tab.style.backgroundColor="blue";
Farbe der Picklist-Einträge ändern
//ToDO: <Name des picklist Feldes> durch den Schema-Namen der Picklist ersetzen
Hintergrund des Formulares ändern
var list = crmForm.all.<Name des picklist Feldes>;//Picklisten beginnen bei 0! Hier werden der 2. bis 4. Eintrag geändert
var option1 = list.options[1];
var option2 = list.options[2];
var option3 = list.options[3];
document.all.areaForm.style.backgroundColor = 'yellow';
//Setzen der Hintergrundfarbe
option1.style.backgroundColor = „red“;
option2.style.backgroundColor = „green“;
option3.style.backgroundColor = „yellow“;
Formulargröße ändern
window.moveTo(0,0);
window.resizeTo(screen.availWidth, screen.availHeight);
Formular genau so groß machen, das alle Einträge auf dem ausgewählten Tab angezeigt werden, ohne das gescrollt werden muss
window.resizeBy(0, tab0.scrollHeight – tab0.clientHeight);
Arbeiten mit Tabs/Reitern
Focus auf einen bestimmten Tab setzen
crmForm.all.tab1Tab.click();
Titel eines Tabs zur Laufzeit ändern
Document.all.tab1Tab.innerText = „Neuer Name“;
Ausblenden eines TAB
crmForm.all.tab1Tab.style.display = „none“;
Komplette Farbe des Tabs ändern
document.all.tab0.style.backgroundColor = ‚red‘;
Farbe des Reiters in der Übersicht ändern
crmForm.all.tab3Tab.style.backgroundColor=’blue‘;
Alle Felder eines Tabs schreibschützen
var el=document.getElementById('Tab4');
function toggleDisabled(el) {
try {
el.disabled = el.disabled ? false : true;
}
catch(E){}
if (el.childNodes && el.childNodes.length > 0)
{
for (var x = 0; x < el.childNodes.length; x++)
{
toggleDisabled(el.childNodes[x]);
}
}
}
toggleDisabled(el);
Auf einen Tab über seinen Namen zugreifen
var tab = GetTab( "Notizen" );function GetTab( name )
{
var tabs = crmTabBar.getElementsByTagName("LI");
for( var i = 0 ; i < tabs.length ; i++ )
{
if( tabs[ i ].innerText == name )
return tabs[ i ];
}
return null;
}
beliebiges Formular anpassen
http://<servername:port>/<Organisationsname>/tools/formEditor/formEditor.aspx?formtype=main&objectTypeCode=<typecode>
Folgende Parameter müssen dabei angepasst werden:
<servername:port> durch den Namen des CRM-Servers und den Port der CRM Website
<Organisationsnamen> durch den Namen der Organisation
<typecode> durch den Type Code der Entität, deren Formular angepasst werden soll
Tastaturkürzel
Folgende Tastaturkürzel können in allen Formularen verwendet werden:
- Speichern – Strg + S
- Speichern und Schließen – Alt + S
- Speichern und Neu – Strg + Shift + S
- Löschen – Strg + D
- Schließen – ESC oder Alt + F4
- Ein- oder Ausblenden des Formularassitenten – Strg + Shift + F
- Zum nächsten Feld springen – Tab
- Zum vorherigen Feld springen – Shift + Tab
- Lookup Feld zum automatischen Ausfüllen anregen – Strg + Kopieren – Strg + C
- Ausschneiden + Strg + X
- Einfügen – Strg + V
- Alles markieren – Strg + A