Posts

Showing posts from February, 2017

Azure migration sample code

using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; using System.Data.OleDb; using Microsoft.SqlServer.Server; using Microsoft.SqlServer.Management.Smo; using System.Data.Odbc; namespace AzureApplication {     class Program     {         static void Main(string[] args)         {             //Microsoft.SqlServer.Server srv;             //srv = new Microsoft.SqlServer.Server();             ////Reference the AdventureWorks2012 database               //Database db;             //db = srv.Databases["AdventureWorks2012"];             ////Create a new database that is to be destination database.               //Database dbCopy;             //dbCopy = new Database(srv, "AdventureWorks2012Copy");             //dbCopy.Create();             ////Define a Transfer object and set the required options and properties.               //Transfe

mobile app testing in ms crm path/url

https://mtc9063.crm8.dynamics.com//nga/main.htm?org=armanino&server=https://dem531.crm8.dynamics.com/

coding standards

Critical Items Statement: Xrm.Internal. Example:  'Xrm.Internal.openDialog'. Description: 'Xrm.Internal.openDialog' references an undocumented feature of the internal Dynamics CRM client object model. This technique is unsupported in all versions of Dynamics CRM. Remove or replace with a supported API provided in the Xrm.Page client object model. Guideline: Xrm.Utility.openWebResource("new_webResourcename.htm", null, 300,300); Statement: Xrm.DialogOptions. Example:  'new Xrm.DialogOptions()'. Description: 'new Xrm.DialogOptions()' references an undocumented feature of the internal Dynamics CRM client object model. This technique is unsupported in all versions of Dynamics CRM. Remove or replace with a supported API provided in the Xrm.Page client object model. Guildeline: according to your scenario use the supported   Xrm.Utility.openWebResource Statement : openStdWin(url, "", features) Comments : '

Dynamically Generating Button On Crm Form

///http://missdynamicscrm.blogspot.in/2015/06/create-button-in-crm-form-javascript.html function btncal() {     createButton(id, defaultText, intWidth, onClickEventFunctionName); } function createButton(id, defaultText, intWidth, onClickEventFunctionName) {     debugger;     var btn = document.createElement("BUTTON");     // Create a <button> element, you can also use input,but need to set type to button     var t = document.createTextNode(defaultText);     btn.appendChild(t);     btn.className = "ms-crm-Button";     btn.id = id;     if (intWidth != null) {         btn.style.width = intWidth + "px";     }     else {         //defaulted width         btn.style.width = "100%";     }     btn.onmouseover = onCRMBtnMouseHover;     btn.onmouseout = onCRMBtnMouseOut;     btn.onclick = onClickEventFunctionName;     return btn; } //use this for creating a button with hovering style like CRM has function onCRMBtnM

Disassociating Relationship Between Two Records

//disassociatingRelationshipBetweenTwoRecords function disassociatingRelationship() {     //debugger;     if (confirm("Do You Want To Diassociate Records"))     {         var Id1 = Xrm.Page.getAttribute("nist_lookup").getValue();         var idValue = Id1[0].id;         var Id2 = Xrm.Page.data.entity.getId();         XrmSvcToolkit.disassociate({             entity1Id: idValue,             entity1Name: "Account",             entity2Id: Id2,             entity2Name: "nist_crudexample",             relationshipName: "nist_nist_crudexample_account",             async: false,             successCallback: function () {                 alert("The records should be disassociated.");             },             errorCallback: function (error) {                 alert(error + "error occured");             }         });     }     }

Converting Option set into CheckBox

function Form_onload() {     var optionset = document.getElementById("optionset_schema_name");     var multiline = document.getElementById("multiline_schema_name");     if (optionset != null && multiline != null) {         optionset.style.display = "none";            //"none" represents override of existing, the optionset field is overrided         var pdiv = document.createElement('div');    //Create an element         pdiv.style = 'overflow-y:auto; height:100px; border:2px #6699cc solid; background-color:#ffffff;';         //overflow y represents vertical scroll bar for options if options are more which will display if options are more.         optionset.parentNode.appendChild(pdiv);         // Convert option set to check box         for (var i = 1; i < optionset.options.length; i++) {             var OptionSetItems = optionset.options[i];             if (!IsChecked(OptionSetItems.text, multiline))

When to use a workflow instead of a plug-in

When to use a workflow instead of a plug-in? Most operations that can be accomplished by using workflows can also be accomplished by using plug-ins. However, you should use workflow processes instead of plug-ins when: Changes in the business logic must be performed by people who are not developers, or the changes should not be dependent on the availability of a developer to do the work. When custom workflow activities are defined as Workflow .NET assemblies, a person who is not a developer can use Microsoft Dynamics CRM to define the conditions when the custom actions are performed and the parameters that will be passed to the assembly. You need the ability to let users apply your workflow logic manually. With workflow processes, users can trigger the processing of workflow rules by clicking Run Workflow on the form or from a grid. XAML workflows aren’t supported in Microsoft Dynamics CRM Online. XAML workflows for on-premises Microsoft Dynamics CRM.

Difference between plugin and workflow

Plugin is not intend to fire or execute logic while timeout or subscription with recursive. Plugin supports all most every message other than creation, status change, and assignment, attribute change and deletion. Plug-inis not bound by the features and logic patterns that the workflow editor supports. Elevations on privilege which the process is execute on behalf of another user but in workflow users they can create their own. We can’t stop plugin process execution like work flow stops using stop workflow step. We can’t execute plugin process either manually or on demand. Only developers can implement the plugin. Plugin support both offline, online and on-premise which means sandbox. Immediate effect on result. Needs a synchronous action to happen before or after an event occur. Can be triggering either child pipeline or parent pipeline.What is the difference plugin and workflow? Plugin is not intend to fire or execute logic while timeout or subscription with recursive. P

difference between Rollup and Calculated fields

https://community.dynamics.com/crm/f/117/t/197801 Rollup  - a Rollup Field is calculated using asynchronous jobs - Calculated Fields, Rollup Fields are actually virtual fields that are NOT stored in the database. -Only available using a single directly related 1:N entity -Rollup using other rollup fields is not supported rollup field onchange will not run any script and plugin wrkflow -Complex calculated fields cannot be used in rollups -Rollup fields are used to perform record level aggregation from related records. -Rollup Fields do not support all data types -Rollup fields are only available for Whole Number, Decimal Number, Date & Time, and Currency fields -Rollup Fields  support  MIN,MAX,SUM,COUNT Opertions -Every 12 hours RollUp field will update automatically and also we can manually update the RollUp Filed -more than 100 roll fields not to be supported. Calculated -Updates to these fields won't trigger workflow updates -Fields are only available for re