Skip to content

Instantly share code, notes, and snippets.

using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Sdk.Query;
using System;
using System.ServiceModel.Description;
namespace MelTools
{
class getAllUsersPersonalViewsContainingField
@melamriD365
melamriD365 / sampleConsoleApp.cs
Created June 2, 2021 15:54
Dataverse Sample ConsoleApp Client (oAuth2.0)
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Tooling.Connector;
using System;
namespace MEA
{
class sampleConsoleApp
@melamriD365
melamriD365 / loadModernPanel.js
Last active October 31, 2022 10:17
First look at the multi-tab panel (sidePanes)
if (typeof (MEA) == "undefined") { MEA = {} };
if (typeof (MEA.Apps) == "undefined") { MEA.Apps = {} };
if (typeof (MEA.Apps.RD) == "undefined") { MEA.Apps.RD = {} };
MEA.Apps.RD = {
onLoad: async function () {
//Xrm.Panel.loadPanel("WebResources/mea_/Webpages/Youtube.html", "Panel 1");
var sidePanes = Xrm.App.sidePanes;
sidePanes.state = 0
@melamriD365
melamriD365 / AccountForm.js
Created September 20, 2022 21:52
Sample usage of the OnOutputChange event for model-driven app forms Client API
var MEA = window.MEA || {};
var accountForm = MEA.accountForm || {};
(function () {
this.OnLoad = function (onLoadContext) {
var formContext = onLoadContext.getFormContext();
var phoneControl = formContext.getControl('telephone1');
phoneControl.addOnOutputChange(this.OnOutputChangeHandler);
};
this.OnOutputChangeHandler = function (OnOutputChangeContext) {
@melamriD365
melamriD365 / AccountForm.js
Created September 12, 2022 14:06
Deep link a Model Driven App to open on a specific tab (form tab)
var MEA = window.MEA || {};
var accountForm = MEA.accountForm || {};
(function () {
this.OnLoad = function (onLoadContext) {
var formContext = onLoadContext.getFormContext();
var extraParameters = Xrm.Utility.getGlobalContext().getQueryStringParameters();
var tabName = extraParameters["tab_name"];
if(tabName != undefined){
var defaultTabObj = formContext.ui.tabs.get(tabName);
@melamriD365
melamriD365 / Activities.js
Created January 13, 2020 08:38
Dynamics365 CRM UCI get all activities (subgrid refresh)
function getActivities(executionContext) {
var formContext = executionContext.getFormContext();
//get current contact id;
var recordId = formContext.data.entity.getId();
var ActivitiesSubGridControl = formContext.getControl("ActivitiesSubGrid");
//recordId = recordId.replace("{", "").replace("}", "");
recordId = recordId.slice(1, -1);
var orConditionsList = [];
var orConditionsFetchXml = "";
@melamriD365
melamriD365 / Plg_ExecuteFetchXml.cs
Created March 16, 2022 19:01
Power Automate - Dataverse] How to execute a fetchXml query that includes options not supported by the List rows connector?
// <copyright file="Plg_ExecuteFetchXml.cs" company="">
// Copyright (c) 2022 All Rights Reserved
// </copyright>
// <author></author>
// <date>3/14/2022 2:38:36 PM</date>
// <summary>Implements the Plg_ExecuteFetchXml Plugin.</summary>
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
@melamriD365
melamriD365 / AccountForm.js
Last active March 2, 2022 11:43
OnChange events always called twice after new record creation (Bad Practice)
var MEA = window.MEA || {};
var accountForm = MEA.accountForm || {};
(function () {
this.OnLoad = function (onLoadContext) {
console.log("onLoad ....");
var formContext = onLoadContext.getFormContext();
formContext.getAttribute('telephone1').addOnChange(this.OnChangeHandler);
};
this.OnChangeHandler = function (onChangeContext) {
@melamriD365
melamriD365 / AccountForm.js
Created March 1, 2022 20:32
OnChange events always called twice after new record creation (Good Practice)
var MEA = window.MEA || {};
var accountForm = MEA.accountForm || {};
(function () {
this.OnLoad = function (onLoadContext) {
console.log("onLoad ....");
var eventArgs = onLoadContext.getEventArgs();
var formContext = onLoadContext.getFormContext();
if (eventArgs.getDataLoadState() == 1) {
formContext.getAttribute('telephone1').addOnChange(this.OnChangeHandler);
@melamriD365
melamriD365 / OptimisticConcurrencyForm.js
Created January 9, 2022 13:40
Optimistic Concurrency in Model-Driven Apps Forms.
//Optimistic Concurrency in Model-Driven Apps Forms
var MEA = window.MEA || {};
var OptimisticConcurrencyForm = MEA.OptimisticConcurrencyForm || {};
(function () {
var versionNumber = null;
var entityReference = null;
this.OnLoad = async function (executionContext) {
var eventArgs = executionContext.getEventArgs();
if (eventArgs.getDataLoadState() == 1) {