Hello, is it possible to post a feed in a section record, for example an opportunity record, and this feed is only visible to the @mentioned user, but not all the users who have read access to that opportunity record?
Unfortunately, it is not possible to restrict the visibility of feed messages to only specific users with tag through out-of-the-box tools in Creatio. Feed messages typically inherit the access rights of the record they are associated with, meaning anyone with access to the record can also see the feed.
However, you can manage access rights to feed messages by adjusting the permissions for the SocialMessage object. This object controls the visibility of comments and posts within the platform.
You can try to use a business process to manage the visibility of feed messages. By incorporating logic within the business process, you could create custom steps to control who can access the feed message based on conditions like user roles or specific user mentions.
Unfortunately, it is not possible to restrict the visibility of feed messages to only specific users with tag through out-of-the-box tools in Creatio. Feed messages typically inherit the access rights of the record they are associated with, meaning anyone with access to the record can also see the feed.
However, you can manage access rights to feed messages by adjusting the permissions for the SocialMessage object. This object controls the visibility of comments and posts within the platform.
You can try to use a business process to manage the visibility of feed messages. By incorporating logic within the business process, you could create custom steps to control who can access the feed message based on conditions like user roles or specific user mentions.
Add onEntityInitialized in the methods where you'll retrieve the value from the account using the record's Account and store it in the attribute:
onEntityInitialized: function(){this.callParent(arguments);
var account =this.get("Account");if(this.isAddMode()||!account){return;}
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName:"Account"});
esq.addColumn("UsrScore");
esq.getEntity(account.value, function (result){if(result.success){this.set("AccountScore", result.entity.values.UsrScore);}}, this);}
Lastly, you'll need to add an element to the diff bound to the attribute to display it on the page. Easily way to do this is to drag something not currently on the page, like ModifiedOn, then find it in the diff and change the name and bindTo (make sure you set it as disabled):
Add onEntityInitialized in the methods where you'll retrieve the value from the account using the record's Account and store it in the attribute:
onEntityInitialized: function(){this.callParent(arguments);
var account =this.get("Account");if(this.isAddMode()||!account){return;}
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName:"Account"});
esq.addColumn("UsrScore");
esq.getEntity(account.value, function (result){if(result.success){this.set("AccountScore", result.entity.values.UsrScore);}}, this);}
Lastly, you'll need to add an element to the diff bound to the attribute to display it on the page. Easily way to do this is to drag something not currently on the page, like ModifiedOn, then find it in the diff and change the name and bindTo (make sure you set it as disabled):
We have a need to use the string_agg function of Postgres in some backend code which runs SQL against the DB using the Select class, but this is not one of the standard available AggregationTypeStrict enum types. Is there a method for using arbitrary database aggregation functions such as string_agg in a Select class query construction? Or is this not possible with Creatio's Select class? If so, is the only other alternative to use the deprecated CustomQuery class?
I am not sure why CustomQuery is marked as deprecated - I believe it has been since 7.17.4. At the time of 7.17 I had discussions with Creatio and was told they were leaving CustomQuery in place and only certain removing DBExecutor functions, however, it's remained marked as deprecated since. I assume it isn't going anywhere and (hopefully) will continue to be safe to use despite being marked deprecated.
I am not sure why CustomQuery is marked as deprecated - I believe it has been since 7.17.4. At the time of 7.17 I had discussions with Creatio and was told they were leaving CustomQuery in place and only certain removing DBExecutor functions, however, it's remained marked as deprecated since. I assume it isn't going anywhere and (hopefully) will continue to be safe to use despite being marked deprecated.
Thanks Ryan, the other alternative I thought of in the meantime was to do the aggregation in C# on unaggregated data returned from the query, which isn't great but could work for low data volume situations (like the one I was dealing with). Good to hear that maybe CustomQuery isn't as deprecated as it seems then!
We are encountering this error when saving a business process in our local Creatio 8.1.3.6789 instance (PostgreSQL, SalesEnterprise + Marketing + ServiceEnterprise package):
Error occurred when saving: 23503: insert or update on table "SysLocalizableValue" violates foreign key constraint "FKYru8eiQRBeFoEfawvRwKSlCy2o"
The issue happens for all team members and seems related to missing schema or metadata.
Is this a known issue with this Creatio version? Any recommended fix or workaround?
It seems you don't have the corresponding record on the SysCulture table, try to enable the postgres log and get the insert or update that raises the error.
Allow me to clarify how the import process works. When importing data into Creatio, you are essentially transferring the information from your Excel file into the corresponding database table. Each detail in Creatio corresponds to a different object or database table. Therefore, during an import, data can be inserted into one table or object at a time.
Import to Contact/Accounts have custom core logic applied, but all other objects work with logic described above.
Hello, answer has been already provided , but we will duplicate it below for your convenience:
"Thank you for your question!
Allow me to clarify how the import process works. When importing data into Creatio, you are essentially transferring the information from your Excel file into the corresponding database table. Each detail in Creatio corresponds to a different object or database table. Therefore, during an import, data can be inserted into one table or object at a time.
Import to Contact/Accounts have custom core logic applied, but all other objects work with logic described above.
While importing the excel file, containing the Competitors list, we need that the competitors list, is assigned to this specific Opportunity '495 / Fast Works / Sale of Goods'
We want to obviously achieve this without manually adding the '495 / Fast Works / Sale of Goods' as a separate column for all the records of the excel.
Is there any example in the Code-Base, or any other workaround where this is achieved?
I am currently generating multiple report templates, some of these templates need to show list components attached to a record. For example, A loan application that has multiple collaterals attached to it or a payment schedule stored in a list component. How do I achieve this?
Hi. Newbie here, so bear with me. Best I start with an example --
We have 200+ users who are sales reps and 2 Admins.
Some of these sales reps are managers of a sub-set of other subordinate reps.
Now, a rep quits, and it's up to an admin (in another country BTW) to manually go in and reassign his dozens of opportunities to a new sales rep. This is a task his manager should be able to do, but can't (because only an admin can change other users' records).
This is just one example of a typical issue we run into, that could be fixed by giving "modify" rights to one user over certain other user's records -- or a "superuser" as exists in our other systems.
In Creatio, I am told only the individual rep can change his own "opportunities". His manager cannot. (The Admins of course can change everything about everyone, so logically we can not give admin rights to the managers.)
Is there a way around this? Perhaps the next release of Creatio will have some sort of granularity of "rights"?
Note, this often means you also need to setup object/record permissions for things based on these roles as well, instead of by users (so the permissions can be inherited by the managers of the role). For example, you could add record access permissions that if anyone in "sales" creates a record, that edit permissions is given to anyone in the "sales managers role".
Note, this often means you also need to setup object/record permissions for things based on these roles as well, instead of by users (so the permissions can be inherited by the managers of the role). For example, you could add record access permissions that if anyone in "sales" creates a record, that edit permissions is given to anyone in the "sales managers role".
Ok, Thanks -- that's kind of what I thought, with my rudimentary experience with roles (and Creatio in general).
So, applying this to our large sales organization ... Instead of implementing a single "sales" role, we would need to implement a "superuser" role, but for each sales division -- perhaps?
For example, we have 8 sales regions, like "Asia" and "Europe" and "South America". There are 30-50 sales reps in each region. We don't want all their "issues" trickling up to one admin, so as I mentioned we want a "SuperUser" in each region: "SuperUser-Asia", SuperUser-India" and so on. I guess these would be "management" roles in Creatio.
So, we would have to divide up the Sales Reps (users) into separate orgs (one for each region) so that their data would be visible to their SuperUser? Can I create separate orgs in Creatio, all living underneath the main Company org?
Thanks -- any suggestions you have are appreciated!
Yes, the roles are hierarchical. Each sub role inheriting the permissions of the roles before. You can have a role for sales, then sub roles for each division. Each division can have a managers role which could give them inherited permissions for the division they manage.
I will have to review this with our integrator. They are telling us that in the forthcoming release of Creatio, there are some enhancements to roles and permissions -- Are there any hints or documentation as to what this might be? We need to allow certain roles to be able to edit specific data but not all.
(For example, a salesman creates a customer account DuPont Paints and can assign it to a "master" account DuPont International. This is really something that his local manager admin should also able to do, but can't)
Given your extensive investment in Qlik and the need to integrate it with data from Creatio, we recommend using Creatio’s REST API over OData for this integration.
While both options are available, the REST API offers several key advantages:
1) Better performance: REST is more efficient and lightweight, especially when handling large datasets.
2) Greater flexibility: you can define exactly what data is needed and apply filtering or transformations before it's sent to Qlik.
3) While OData comes with various preconfigured options, REST allows you to easily customize the requests
OData can be used for basic, read-only access, but it's generally more rigid and less performant — especially when dealing with high-volume analytics scenarios like yours.
We have heavily invested in Qlik as our BI tool (and have hundreds of users). Our task is to connect finance data with the sales data we have in Creatio. We have an IT team that can set up the connection so I assume they are familiar with connectors like REST API, but would you recommend using ODate over REST API ?
Given your extensive investment in Qlik and the need to integrate it with data from Creatio, we recommend using Creatio’s REST API over OData for this integration.
While both options are available, the REST API offers several key advantages:
1) Better performance: REST is more efficient and lightweight, especially when handling large datasets.
2) Greater flexibility: you can define exactly what data is needed and apply filtering or transformations before it's sent to Qlik.
3) While OData comes with various preconfigured options, REST allows you to easily customize the requests
OData can be used for basic, read-only access, but it's generally more rigid and less performant — especially when dealing with high-volume analytics scenarios like yours.
(I'm not the dev that's going to do this, but ...)
If we create an OData connection with Qlik, are there already some methods in place so that Qlik automatically sees all data and tables in Creatio? Or do we need to build out methods to see specific data?
Or, perhaps it's worth buying a Creatio OData connector that has all this built out already? (If there is such a thing)
Actually, the better question around how the BI (in my case Qlik) works with the data --
When we build out the OData datasource that Qlik will connect to, we need to specify each table that should be "available" to Qlik, true? (There is no "include all tables" I assume.) Ideally, we want all data from all tables, then in Qlik we will do the filtering of which data is needed on each report.