Is there a functionality to allow users to search for contacts from an account page? Currently, you can only create a new contact. (Account page -> Contacts -> '+')
My use case is to, first search for a contact, and if it doesn't exist, create a new one. For example, "Configuration items"
There is no way to add existing contacts on this detail. The logic of application presupposes that the Account will be selected on a Contact page here http://prntscr.com/qn2vzm. After that the contact will appear on the detail on Account page.
If you still need to add the existing contacts on this detail, it will be necessary to create a new detail according to this development guide:
You need to mark this system setting as not cached (uncheck this checkbox):
And create a trigger on the database level on the SysAdminUnit table so to check if the Supervisor is logged in then the value for the setting should be modified (something like this):
CREATE TRIGGER [dbo].[SysAdmUnit_SysSettingValueTrigger]
ON [dbo].[SysAdminUnit]
AFTER UPDATE
AS
BEGIN
DECLARE @admin_unit_id as UNIQUEIDENTIFIER;
DECLARE @loggedin as BIT;
SELECT @admin_unit_id = inserted.Id FROM inserted;
SELECT @loggedin = inserted.LoggedIn FROM inserted;
IF @admin_unit_id ='7F3B869F-34F3-4F20-AB4D-7480A5FDF647' AND @loggedin ='true'
BEGIN
UPDATE SysSettingsValue SET IntegerValue =111 WHERE SysSettingsId ='F8520582-8161-4F36-A88D-028D3BDEFBDE'
END
END
where:
7F3B869F-34F3-4F20-AB4D-7480A5FDF647 - is an ID for the Supervisor user in the SysAdminUnit table
111 - value for the IntegerValue column in the SysSettingsValue table
A system setting is the best place for something like that. Normally, I'd use a Modify Data element in the process to write it back, but in current versions of Creatio the lookup to add columns to update causes a client-side error so you're unable to select columns.
However, you can set it with a script task. Let's assume your value is a string value and currently in a process parameter named "MyParameterValue". You'd add code something like this to read it from the parameter and set a system setting with a code of "UsrMySetting":
var val = Get<string>("MyParameterValue");
Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection, "UsrMySetting", val);
return true;
I'm doing this, but for some reason the updated value is not on the System Setting if I see it by the System Settings, but If I ask it on a process I get the updated number.
I try to explain better, I create a System Setting variable, and init it with a number, in the process I update the value of the system setting and use it for some task, but when I come back to Creatio System setting and open the System setting is just like I define it, no change, but If I ask its value from a process it's updated.
I think is something related with cache or whatever, did you know what could be wrong?
For example, the following sub process is called in a "Read collection of records" loop.
In the first image you can see, I get the value of the System Setting called "Incidencias Detectadas - Correlativo Histórico" and add 1 and stores it in a local parameter.
The initial value in the System setting is 1
In the next step of the sub process I did something with the value, and in the third element of the sub process I update the system setting using the updated value in step 1. ie the old number + 1
It works OK, it's fine!, but when I came to System Setting, it shows me the initial number, ie: 1 and it must be 800 to my example,
You can see the value still is one, but If I read the value from a process, it gives to me the correct value. WHAT'S WRONG?
Does your code set the system setting for the All employees role, or specifically for whichever user triggered the BP? Is there a way to choose this? The setting we are trying to set should be a single system setting for all users, but after running the BP, it appears to be creating a system settings value record for the user who runs the BP.
You can try to take an example of code from OOB application. The schema name is BaseMessageHistoryItemPage that is placed in the Message package. The functionality is developed for the Case page and works in the following way - you just click on the picture that is placed in the Email or Portal message to enlarge it.
I have a Zoom paid account and that the user's email address is the same as the CRM user entering an activity and the activity "Reporter". But the "Create Zoom meeting" is read-only, instead of editable. So the relevant user has been added to the Zoom Contacts detail in the Contact field of my Zoom account.
Two Questions:
Does the Zoom contact to Creatio user match need to be by email, by full name, or both?
Is the match based on the activity's Created by the user or the activity's Reporter?
To create an activity with the 'Create Zoom meeting' editable attribute, add the relevant user in the "Contact" field on the "Zoom Contacts" detail of your Zoom account.
The add-on automatically adds data to the "Zoom contacts" detail and matches this data with Creatio contacts by email.
If you find an empty "Contact" field in the records of the "Zoom contacts" detail, populate such field manually.
Note that matching is performed for the user who creates the activity (using the "Created by" field).
Sorry by my Creatio user email for the Created To field of the activity IS the same as a Zoom Users Management->user listed as a "Basic" type of contact. But Creatio activity form "Create Zoom Meeting" is always set to read only
The Creatio Zoom section is filled in with all of the information. Does the First name and last name have to exactly match a Zoom basic or licensed user? How can I find the matching UserID in the Zoom app to verify
Unfortunately, I was not able to find any ready-to-use examples but here is another Community Post that has pretty the same type of request and the recommendations on how to implement this kind of logic.
In the opportunity section, the customer field allows the choice between contact or company
Is it possible to show only the account?
I saw the code to manage the multilookup in the BaseOpportunityPage,
but I don't know if it is possible to customize it.
Scenario : We have 6 request type [created a new section - request] and for each type there is a printable assigned. So, whenever we open a request type and click on the printable, we get all the 6 printables drop down.
Question: Is there a way we can restrict showing all the printables expect for the type we have selected while creating the request?
Theoretically it is possible and to do that you will need to override the initCardPrintForms method on the edit page of your section. Please firstly see the basic method declaration in the PrintReportUtilities mixin.
There should be something like this in the edit page schema code:
//get the collection of all printables
var printMenuItems =this.get(this.moduleCardPrintFormsCollectionName);
printFormsMenuCollection.each(function(item){
item.set("Visible", {bindTo:"getPrintMenuItemVisible"});}, this);
and then declare the custom logic in the getPrintMenuItemVisible method
getPrintMenuItemVisible: function(reportId){//logic that returns true/false}
Or you can use the preparePrintFormsMenuCollection method in the mixin and call it in your schema code: