Zoeken in deze blog

donderdag 23 juli 2009

Expiratiedatum bepalen o.b.v. Aanvraagtype en Prioriteit

var caseTypeCodeName=crmForm.all.casetypecode.SelectedText;
var priorityCodeName=crmForm.all.prioritycode.SelectedText;

switch(priorityCodeName.toLowerCase())
{
case 'hoog':
switch(caseTypeCodeName.toLowerCase())
{
case 'incident':
crmForm.all.followupby.DataValue=getFollowUpDate(1);
break;
case 'vraag':
crmForm.all.followupby.DataValue=getFollowUpDate(2);
break;
case 'wijziging':
case 'nieuw':
crmForm.all.followupby.DataValue=getFollowUpDate(5);
break;
}
break;
case 'normaal':
switch(caseTypeCodeName.toLowerCase())
{
case 'incident':
case 'vraag':
crmForm.all.followupby.DataValue=getFollowUpDate(3);
break;
case 'wijziging':
case 'nieuw':
crmForm.all.followupby.DataValue=getFollowUpDate(10);
break;
}
break;
case 'laag':
switch(caseTypeCodeName.toLowerCase())
{
case 'incident':
case 'vraag':
crmForm.all.followupby.DataValue=getFollowUpDate(10);
break;
case 'wijziging':
case 'nieuw':
crmForm.all.followupby.DataValue=getFollowUpDate(20);
break;
}
break;
}

function getFollowUpDate(nrOfDays)
{
var weekday=new Array(7);
weekday[0]='sunday';
weekday[1]='monday';
weekday[2]='tuesday';
weekday[3]='wednesday';
weekday[4]='thursday';
weekday[5]='friday';
weekday[6]='saturday';
var date
if(!IsNull(crmForm.all.createdon) && !IsNull(crmForm.all.createdon.DataValue))
date=crmForm.all.createdon.DataValue;
else
date=new Date();
// Calculate the new followup date
var followupDate=new Date();
followupDate.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()+nrOfDays);
var followupDay=weekday[followupDate.getDay()];
// If followupday is on saterday or sunday, set the followupday to monday
if(followupDay=='saturday')
nrOfDays=2;
else if(followupDay=='sunday')
nrOfDays=1;
else
nrOfDays=0;
// Set the new followup date
date.setFullYear(followupDate.getFullYear(),followupDate.getMonth(),followupDate.getDate()+nrOfDays);
return date;
}

Tellen van het aantal notities in een aanvraag

//COUNT NUMBER OF NOTES
var totalNotes = getTotalNotes(crmForm.ObjectId);
setNoteTabName(totalNotes);

function setNoteTabName(count) {
    /* update note tab */
    if (crmForm.FormType != 1) {
        var cells = document.getElementsByTagName("A");

        for (var i = 0; i < cells.length; i++) {
            if (cells[i].innerText == "Opmerkingen") {
                if (count > 0) {
                        cells[i].innerText = "Opmerkingen (" + count + ")";
                        document.all.crmTabBar.style.width = "auto";
                }
                break;
            }
        }
    }
}

// Helper method to return the total notes associated with an object
function getTotalNotes(objectId) {
        // Define SOAP message
        var xml =
        [
        "<?xml version='1.0' encoding='utf-8'?>",
        "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" ",
        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ",
        "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">",
        GenerateAuthenticationHeader(),
        "<soap:Body>",
        "<RetrieveMultiple xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>",
        "<query xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' ",
        "xsi:type='q1:QueryExpression'>",
        "<q1:EntityName>annotation</q1:EntityName>",
        "<q1:ColumnSet xsi:type=\"q1:ColumnSet\"><q1:Attributes><q1:Attribute>createdon</q1:Attribute></q1:Attributes></q1:ColumnSet>",
        "<q1:Distinct>false</q1:Distinct><q1:Criteria><q1:FilterOperator>And</q1:FilterOperator>",
        "<q1:Conditions><q1:Condition><q1:AttributeName>objectid</q1:AttributeName><q1:Operator>Equal</q1:Operator>",
        "<q1:Values><q1:Value xsi:type=\"xsd:string\">",
        objectId,
        "</q1:Value></q1:Values></q1:Condition></q1:Conditions></q1:Criteria>",
        "</query>",
        "</RetrieveMultiple>",
        "</soap:Body>",
        "</soap:Envelope>"
        ].join("");
        var resultXml = executeSoapRequest("RetrieveMultiple", xml);
        return getMultipleNodeCount(resultXml, "q1:createdon");
}

// Helper method to execute a SOAP request
function executeSoapRequest(action, xml) {
    var actionUrl = "http://schemas.microsoft.com/crm/2007/WebServices/";
    actionUrl += action;

    var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
    xmlHttpRequest.setRequestHeader("SOAPAction", actionUrl);
    xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
    xmlHttpRequest.send(xml);

    var resultXml = xmlHttpRequest.responseXML;
    return resultXml;
}

// Helper method to return total # of nodes from XML
function getMultipleNodeCount(tree, el) {
    var e = null;
    e = tree.getElementsByTagName(el);
    return e.length;
}

Locatie automatisch vullen vanuit het veld Betreft bij toevoegen afspraak in CRM

Maak een workflow aan op de entiteit Afspraak die afgaat wanneer de afspraak toegevoegd wordt of wanneer het veld Locatie in de afspraak wordt gewijzigd.

Outlook synchronisatie van contactpersonen

Stap 1:
Maak een workflow op de entiteit Outlook synchronisatie die op de contactpersoonkaart een aantal-veld ophoogt met 1 wanneer een nieuw record in deze entiteit wordt aangemaakt of wanneer één van deze records van eigenaar veranderd.


Stap 2:
Zorg bij de lokale datagroepen in de Outlook client dat deze naar de nieuwe entiteit Outlook synchronisatie kijkt.

maandag 13 juli 2009

Getal opmaken met duizendtallen

if(crmForm.all.cov_landid_ba.DataValue != null)
{
LookupItem = crmForm.all.cov_landid_ba.DataValue;

if(LookupItem[0].name == 'België')
{
Ondernemingsnummer = crmForm.all.cov_ondernemingsnummer.DataValue;
Ondernemingsnummer = Ondernemingsnummer.replace(/[^+ 0-9]/g, "");

var Temp = Ondernemingsnummer.substr(0,4) + "." + Ondernemingsnummer.substr(4,3) + "." + Ondernemingsnummer.substr(7);

crmForm.all.cov_ondernemingsnummer.DataValue = "BE" + Temp;

if(Ondernemingsnummer.length != 10)
{
alert("Aantal cijfers in het veld Ondernemingsnummer is niet gelijk aan 10!");
}
}
}