C# Parse String to GUID/ Cast to system.guid

0 comments


*Example Script

Guid.Parse(string input)

CRM 2011 Disable All Field In Section

0 comments


*Example Script
Purpose : To disable all field in the section.

function DisableSectionAttributes(SectionName) {
    function setFldDisabled(ctrl) {
        ctrl.setDisabled(true);
    }
    function setFldEnabled(ctrl) {
        ctrl.setDisabled(false);
    }
    var ctrlName = Xrm.Page.ui.controls.get();
    for (var i in ctrlName) {
        var ctrl = ctrlName[i];
        var ctrlSection = ctrl.getParent().getName();
        if (ctrlSection == SectionName) {
            setFldDisabled(ctrl);
        }
    }
}

Using section name to disable the field.

CRM 2011 Add Button With Click Action

0 comments


Add Button to Entity Ribbon 

Export the entity in question and open up customizations.xml. Add the following within the CustomActions tag…

01<CustomAction
02  Id="CA_MyFirstButton"
03  Location="Mscrm.Form.account.MainTab.Save.Controls._children"
04  Sequence="31">
05  <CommandUIDefinition>
06    <Button
07      Id="B_MyFirstButton"
08      Command="Mscrm.RunSomeJS"
09      LabelText="Button Label"
10      ToolTipTitle="Run Test Workflow"
11      ToolTipDescription="Runs the test workflow to see if this works"
12      TemplateAlias="o1"
13      Image16by16="/_imgs/ribbon/tools_16.png"
14      Image32by32="/_imgs/ribbon/tools_32.png" />
15  </CommandUIDefiniti

Location sets which area of the ribbon the button will appear on.
Sequence sets where within that ribbon it will appear.
LabelText sets the text which appears under the icon on the ribbon.
TemplateAlias (who knows!)

Create the click action 

Now we need to add the command Mscrm.RunSomeJS within the CommandDefinitions section.

01<CommandDefinition
02  Id="Mscrm.RunSomeJS">
03  <EnableRules>
04    <EnableRule Id="Mscrm.Enabled" />
05  </EnableRules>
06  <DisplayRules>
07    <DisplayRule Id="Mscrm.CanWriteAccount" />
08  </DisplayRules>
09  <Actions>
10    <JavaScriptFunction
11      FunctionName="TriggerWorkflow"
12      Library="$Webresource:isah_test">
13      <StringParameter
14        Value="{guid of account entity}" />
15      <StringParameter
16        Value="{7D78531A-23EB-4042-9626-1D80DFC10A8D}" />
17    </JavaScriptFunction>
18  </Actions>
19</CommandDefinition>

EnableRules sets if the button is greyed out on the toolbar (always enabled in this example)
DisplayRules sets if the button appears on the toolbar (if the user can write to the account entity in this example)
FunctionName sets the name of the function to run within the web resource
Library sets the name of the web resource JavaScript library to access
StringParameters in this case are the guid of the account entity (not used currently) and the guid of the workflow to trigger