Hi everyone,

Is there a way to group and organize workplaces in the left navigation pane?
For example, would it be possible to group Sales, Service, and Marketing under CRM?



Regards,
HindujaShiri

Like 0

Like

1 comments

Hello,
 

At the moment, such grouping is not possible, and there were no plans for such an implementation.
 

However, we appreciate your user experience feedback, and we have created a task to consider implementing this logic in future versions of the application.
 

Currently, there is already an option to set the order of workplaces in the workplace configuration panel to ensure logical distribution.
 

Thank you for helping us make our product better!

Show all comments

Hello,

Our customer has a requirement to log in using SSO via Microsoft 365, and I have a few questions regarding this.

 

  1. Does Creatio support SSO via Microsoft 365? I came across an article about setting up SSO via Microsoft Entra AD (https://academy.creatio.com/docs/8.x/setup-and-administration/administration/user-and-access-management/authentication/set-up-sso-via-azure-ad). In this case, is "Microsoft Entra AD" the same as "Microsoft 365"?
  2. For an on-site environment, is it necessary to set up the MS Exchange integration service (https://academy.creatio.com/docs/8.x/setup-and-administration/on-site-deployment/containerized-components/email-listener-synchronization-service) before configuring SSO via Microsoft Entra AD? What is the scope of the Email Listener Synchronization Service functionality?

 

Thank you in advance!

Like 0

Like

2 comments
Best reply

Hello,

 

Creatio supports Single Sign-On (SSO) via Microsoft 365. In this context, "Microsoft Entra AD" is indeed the same as "Microsoft 365" when referring to the SSO setup described in the article you referenced: Set up SSO via Microsoft Entra AD.

 

For your second question regarding an on-site environment: the MS Exchange integration service (Email Listener Synchronization Service) is not required for configuring SSO via Microsoft Entra AD. SSO and email synchronization are separate functionalities.

 

The Email Listener Synchronization Service specifically supports email-related tasks, such as synchronizing and sending emails within Creatio. It does not affect or play a role in SSO configuration.

Hello,

 

Creatio supports Single Sign-On (SSO) via Microsoft 365. In this context, "Microsoft Entra AD" is indeed the same as "Microsoft 365" when referring to the SSO setup described in the article you referenced: Set up SSO via Microsoft Entra AD.

 

For your second question regarding an on-site environment: the MS Exchange integration service (Email Listener Synchronization Service) is not required for configuring SSO via Microsoft Entra AD. SSO and email synchronization are separate functionalities.

 

The Email Listener Synchronization Service specifically supports email-related tasks, such as synchronizing and sending emails within Creatio. It does not affect or play a role in SSO configuration.

Dymytriy Vykhodets,

Thank you for the information.

Show all comments

Hi all, 

 

I get the same errors every evening at 23:00: "Account not found with IdentityId ''". and: "Client token request was raised an error.". It seems to have something to do with the mailbox, which is functioning properly. Anyone an idea?

Like 0

Like

2 comments

Hello!

 

The system message you are encountering is related to the out-of-the-box process “Lead Generation: Consistency Check.” This message occurs when the system cannot connect to the service to verify that all leads have been successfully entered.

You can disregard this message if you are not utilizing the Lead Generation functionality. The process executes even if the integration with services like Facebook or LinkedIn has not been configured.

If you prefer not to receive these messages, you can deactivate the “Lead Generation: Consistency Check” process in the process library.

Thank you for choosing Creatio!

Alina Yakovlieva,

Thanks. Will try!

Show all comments

I need to make a panel appear based on a dynamic entity, which could be Contact, Account...

 

And I also need to be able to have the reference of the names of the fields that are selected and add them to another entity, to form a detail list.

 

The reference (Code of the column, like "Name", "Description", "Type.Name"...) of the fields can be either from the main entity or related to an entity of a lookup as in the image below. (Contact.Account.Name).

 

I'm trying to do this, but if anyone knows if it's possible, I'm accepting help.

 

Like 1

Like

1 comments

Hello,

Can you give more details on your task? Why do you need a panel to appear, during what actions, for what purpose, and so on?

Show all comments

Hi, 

I am trying to add a new field in an activity's mini page, I added the field in the mini page as in the picture below:

I would like for the mini page to look:

But instead I get:

an I have to click the pencil to get the new field:

 

Like 0

Like

2 comments

Hello,

I recommend checking if this field was added only for edit mode. However, let us also explain the logic of displaying modes in more detail.
 

In the system, the fields used in mini-page are tied to a specific type of mini-page.

If the field is not tied to a specific type, the system recognizes such fields as common to all types (and the behavior of such fields is common to all types of mini-cards).

When configuring a mini-page, you must follow several rules.
 

1) If a field is used on one of the types of mini-cards, it must be in the same place in other types of mini-cards, or not be used on other mini-page.

2) You can not display a field from another type of page on the page, but in this case, the place where the field was located must:
2.1. be empty (see screenshots 1, 2).
2.2. can be filled with another field that is not used in other types of minimaps (see screenshots 1, 3).
 

3) If you move a field that is used in other types of mini page on any type of mini page, it will move to that location wherever it is used.
 

It is also possible to bind a field to a specific type of minimap, but the current option can only be implemented using the development tools. (In this case, the configured field will only be available in the type of card to which it is bound).

Halyna Parkhomenko,

I have added the field for all the modes and it's the same result

Show all comments

How to add a new component (for loading map in a specific field i.e.,Address etc..) in form page,Freedom UI

Like 0

Like

1 comments

This article shows how to load a map using an iFRAME component on a Freedom UI page, perhaps it will help: https://customerfx.com/article/embedding-an-iframe-on-a-creatio-freedom-ui-page/

Ryan

Show all comments

Hello,

 

Does anybody know if pdf version of Creatio guides (marketing, setup and administration and etc.) exists for the latest version of the platform? I found several, but all were for 7.1x releases

Like 0

Like

3 comments

Hello Artem, 

Thank you for your question. 

You can find all the necessary information under the following link to our Academy:

https://academy.creatio.com/docs/8.x/

On the right corner, you will have the opportunity to choose the version you need. 

Hanna Shevchenko,

Hello Hanna, 

 

Thanks for the answer. Are these guides accessible in pdf version?

Unfortunately, we do not have a PDF version of the guides available at this time. 

Show all comments

Hello Community,

 

I'm trying to use the "Apply Filter" function to filter a lookup value based on three parameters. The business rule works correctly when adding a new record and copy record; however, when editing an existing record, only one filter is being triggered (marked).

 

 

Has anyone encountered this issue, and is there a solution to ensure all filters are applied when editing a record?

Like 0

Like

0 comments
Show all comments

I need to draw editable JSON trees, to use that I've chosen this library - https://github.com/josdejong/jsoneditor; the idea is to draw trees inside a Terrasoft.ViewItemType.CONTAINER. 

 

My understanding was that to import this(or any other) library I need to create a module and put a define() {} inside it, and inside that goes the library code(jsoneditor.js contents in my case), so I ended up doing that:

define("UsrJsonEditor", [], function () { 
// jsoneditor.js contents
}

 

After that I'm importing that module to my page and trying to check if it works by doing this:

define("UsrCardOrders1Page", ["ProcessModuleUtilities", "UsrJsonEditor"], function(ProcessModuleUtilities, UsrJsonEditor) {
    return {
        ...
        methods: {
            initializeJsonEditor: function() {
                window.console.log("UsrJsonEditor: " + UsrJsonEditor);
                window.console.log("UsrJsonEditor.JSONEditor: " + UsrJsonEditor.JSONEditor);
            },
...
        }
    {
});


The initializeJsonEditor() function is called when the container is rendered.
This results in the following error:

Uncaught Error: Mismatched anonymous define() module: function () { return /******/ (function () { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 6545: /***/ (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ t: function () { return /* binding */ ContextMenu; } /* harmony export */ }); /* harmony import */ var _createAbsoluteAnchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1925); /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6237); /* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3057); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.construc…


I don't have enough experience with JS, but as I understand it the problem is that I've ended up with with the library's define() inside my own define(). Could someone tell if my approach is generally correct and what is that I'm doing wrong here?

Like 0

Like

5 comments
Best reply

You can load it via the CDN using requirejs. See my response on this thread: https://community.creatio.com/questions/how-include-external-js-file-creatio

Ryan

You can load it via the CDN using requirejs. See my response on this thread: https://community.creatio.com/questions/how-include-external-js-file-creatio

Ryan

Ryan Farley,

It works, thanks!

Aleksandrs Abarovičs,


What option worked for you?

I tried doing something like what was shown, but it gives me the following error: 

message: Error: Script error for "PdfLib", needed by: UsrClient1Page http://requirejs.org/docs/errors.html#scripterror

requirejs.config({
	paths: {
		PdfLib: 'https://cdn.jsdelivr.net/npm/pdf-lib/dist/pdf-lib.js'
	}
});
 
define("UsrClient1Page", ["PdfLib"], function (PdfLib) { });

Solem Khn,

Not completely sure, but I believe PDFLib has other dependencies that also need to be loaded and the require config needs special values for it to load correctly. Might want to look for some examples of loading PDFLib using require from a CDN.

Solem Khn,

I had a similar problem, in the console I noticed that requirejs was trying to load jsoneditor.min.js.js instead of jsoneditor.min.js 
Seems like requirejs automatically appends .js to the path defined in paths. So maybe your pdf-lib.js becomes pdf-lib.js.js.

I've ended up using this:

requirejs.config({
	paths: {
		css: 'https://cdnjs.cloudflare.com/ajax/libs/require-css/0.1.10/css.min',
    	JsonEditor: 'https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/10.1.2/jsoneditor.min',
    	JsonEditorCSS: 'https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/10.1.2/jsoneditor.min'
  	}
});
 
define("UsrCardOrders1Page", ["ProcessModuleUtilities", "JsonEditor", "css!JsonEditorCSS"], function (ProcessModuleUtilities, JsonEditor) {}


This way I'm getting jsoneditor.min.js instead of jsoneditor.min.js.js

Show all comments

Hi there

I implemeted custom UI component (OsmMapsModule) and injected it on Freedom Ui list page using this article Implement a custom UI component based on a Classic UI page | Creatio Academy

Now I need to get feedback from that component on the page to trigger some logic on Freedom UI, bu fail to do so. Here is my code.

define("ClvObjectMapModule", ["ClvObjectMapModuleResources", "@creatio-devkit/common", "Base7xViewElement", "MaskHelper", "ClvJsConsts", 
							  "ckeditor-base", "Leaflet", "css!Leaflet"], 
function(resources, sdk, Base7xViewElement, MaskHelper, ClvJsConsts) {
 
    /* Declare a "ClvObjectMapModule" class. */
    class ClvObjectMapModule extends Base7xViewElement {
 
		_mapRecordClickedId;
		get mapRecordClickedId() {
			return this._mapRecordClickedId;
		}
		set mapRecordClickedId(value) {
            this._mapRecordClickedId = value;
        }
		...
 
		// Here I make change and want it propagate to Freedom UI page.
 
		_clvOpenPage(config) {
			this.mapRecordClickedId = config.recordId;
		}
    }
 
    /* Register the component. */
    customElements.define('clv-objectmap', ClvObjectMapModule);
 
    /* Register a component as a visual element. */
    sdk.registerViewElement({
        type: 'clv.ObjectMap',
        selector: 'clv-objectmap',
        inputs: {
			mapRecordClickedId: {}
		},
		// This is not documented and I just guessed it might work like for example inputs work.
        outputs: {
			mapRecordClickedId: {}
		}
    });
 
    return Terrasoft.ClvObjectMapModule;
});
Like 1

Like

2 comments

And here is code in Freedom UI

"MapRecordClickedId": {
	"modelConfig": {}
},
...
{
	request: "crt.HandleViewModelAttributeChangeRequest",
	handler: async (request, next) => {
 
 
// I want this handler to be triggered but it just does not when I make changes in custom component
 
		if (request.attributeName === "MapRecordClickedId" && sdk.isGuid(request.value)) {
			const handlerChain = sdk.HandlerChainService.instance;
			await handlerChain.process({
				"type": 'crt.OpenPageRequest',
				"schemaName": "ClvObject_FormPage",
				"modelInitConfigs": [{
					"recordId": request.value,
					"action": sdk.ModelInPageAction.Edit
				}],
				$context: request.$context
			});
		}
 
		return next?.handle(request);
	}
},
...
{
	"operation": "insert",
	"name": "ClvObjectMap",
	"values": {
		"type": "clv.ObjectMap",
		"mapRecordClickedId": "$MapRecordClickedId",
		"styles": {
			"width": "-webkit-fill-available"
		}
	},
	"parentName": "ClvMapContainer",
	"propertyName": "items",
	"index": 0
}

Andrii Orlenko,

Unfortunately, it's really hard to understand where the issue is with such parts of the code. I can advise you debugging to see step by step where the data is missing or where the issue appears.

You may also create a new community question with a more general description of your needs to receive some examples.

Show all comments