Adding the Actions Dashboard to a Custom Section in Creatio

Many of the out of the box sections in Creatio have something at the top that is called the Actions Dashboard. This is what that looks like:

This component allows you to quickly create a call activity, a task, an email, etc, as well as view the next steps, or activities for the record. You can also add this to any custom section as well with a bit of code. Note, you’ll also want to make sure you’ve added Activities to your custom section already as well since this dashboard is tied to activities for the record. In the edit page for your custom section, you’ll want to add the following to the modules section of the code (if your page doesn’t have a “modules” section, just add one)

"modules": {
	"ActionsDashboardModule": {
		"config": {
			"isSchemaConfigInitialized": true,
			"schemaName": "SectionActionsDashboard",
			"useHistoryState": false,
			"parameters": {
				"viewModelConfig": {
					"entitySchemaName": "UsrMySection",
					"dashboardConfig": {
						"Activity": {
							"masterColumnName": "Id",
							"referenceColumnName": "UsrMySection"
						}
					}
				}
			}
		}
	}
}

You’ll need to change the entitySchemaName above from “UsrMySection” to the name of your section’s entity object. Also note, in the code above, the “Activity” block, this is where you indicate how the custom section is connected to the Activity object. You’ll specify here the name of the lookup on the Activity object for your custom section.

Now, we’ll need to add the following into the diff so it gets loaded on the page, exactly as is it below:

{
	"operation": "insert",
	"name": "ActionsDashboardModule",
	"parentName": "ActionDashboardContainer",
	"propertyName": "items",
	"values": {
		"classes": {wrapClassName: ["actions-dashboard-module"]},
		"itemType": this.Terrasoft.ViewItemType.MODULE
	}
}

That is all that is needed. However, since many of the actions in the actions dashboard are tied to some action with a contact, you can optionally add an attribute to the page so it knows what contact to use. Your custom section might have multiple contacts, or just a single one, but the actions dashboard won’t know where to find it. The call and task actions in the dashboard look for an attribute named “Contact” on the connected page. I’ll cover defaulting the “To” recipient of an email in the actions dashboard in a future post. If your section already has a column named “Contact” then it will find that. However, your custom section likely has a prefix for things and it will be named something like “UsrContact” (or maybe you want to get the contact from elsewhere). If this is the case, you can add an attribute like the following:

attributes: {
	// for the default contact for calls and tasks
	"Contact": {
		dataValueType: Terrasoft.DataValueType.CUSTOM_OBJECT,
		type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN
	}
}

Now, all you need to do is populate that attribute with a contact from your own contact field in the onEntityInitialized, like this:

onEntityInitialized: function() {
	this.callParent(arguments);
	this.set("Contact", this.get("UsrContact"));
}

That’s it. Now your section will have a functioning actions dashboard, just like many of the out of the box sections.

ABOUT THE AUTHOR

Ryan Farley

Ryan Farley is the Director of Development for Customer FX and creator of slxdeveloper.com. He's been blogging regularly about SalesLogix, now Infor CRM, since 2001 and believes in sharing with the community. His new passion for CRM is Creatio, formerly bpm'online. He loves C#, Javascript, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!

You have Successfully Subscribed!