Hello community,

 

How can I filter the data of a field in a detail based on a parent's field value.

Example: From the contact list of a detail which contains a stage lookup and a contact lookup, I want to filter only the contacts that have the stage equal to the application stage (parent).

Like 0

Like

0 comments
Show all comments

I have a business process with a preconfigured page that collects a few pieces of data, creates some related entities and then opens an edit page for one of the created records.  Everything runs fine, but after process execution and after the record is loaded in the edit page, I get the message "another user has completed this task".  Nothing is set to run in the background and the process is not set to run as system user.

Any ideas on how to prevent this message from showing or what's causing it in the first place?

 

Thanks -Jeremy

Like 0

Like

1 comments

Jeremy, I have the same issue in 7.18 in a process calling subprocesses and all are for running in the front end. At the end I am opening a record created in the process with some information collected from existing records and from an auto-generated page.  Have you been able to solve this point?

It is not blocking but an extra click for the end user...

Thanks,

Franck

Show all comments

Hello!

 

I have a question regarding system operation permissions. My goal is to find out if the current user has a specific operation permission. In order to do that within a business process, I've used the template from the marketplace with success. I'd like to do the same in client-code, for example in the Javascript code of an object page – ultimately I want to show some specific buttons only if the current user has specific operation permissions.

 

How can I achieve this?

 

Kind regards

Kai

Like 0

Like

2 comments
Best reply

Hi Kai, 



you can use such code in onEntityInitialized method

RightUtilities.checkCanExecuteOperation({operation: "UsrYourOperationPermission"}, function(result) {
		this.set("UsrYourAttribute", result);
}, this);

Then use this Attribute in Business rules or anywhere else.



And use "RightUtilities" in page definition as well:

 

define("OpportunityPageV2", [ "RightUtilities"], function(RightUtilities) {...

Kind regards,

Vladimir

Hi Kai, 



you can use such code in onEntityInitialized method

RightUtilities.checkCanExecuteOperation({operation: "UsrYourOperationPermission"}, function(result) {
		this.set("UsrYourAttribute", result);
}, this);

Then use this Attribute in Business rules or anywhere else.



And use "RightUtilities" in page definition as well:

 

define("OpportunityPageV2", [ "RightUtilities"], function(RightUtilities) {...

Kind regards,

Vladimir

Vladimir Sokolov,

Great, thank you!

Show all comments

Hi Support,

 

On display of Account Page, we need to mask the last 4 digits of the mobile number field. Any idea how we can override the displaying part and put our custom logic to mask the last 4 digits? And masked 4 digits should not also affect the mobile number during saving.

 

Thank you.

Like 0

Like

0 comments
Show all comments

How to make a user access business processes without the ability to change anything?

 

The user should be able to view the settings of the process elements and flows, but not edit.

Like 0

Like

0 comments
Show all comments

Hello community,

 

Does Creatio offer a way to track the download of a document from the Attachment and Notes section.

i.e Every time the user clicks on the download attachment button the system saves an audit of this action eg the person who downloaded it, time etc.

 

Best regards

Like 0

Like

3 comments

It can be done with development. I'll outline the parts you'd need to create/change (but it's all untested so you'll need to fill in any gaps).

First, you'd need to create a custom configuration service, we'll say it is call UsrCustomFileService that has a function GetFile that takes two params string entitySchemaUId, string fileId. All the function needs to do is something like this: 

[OperationContract]
[WebGet(UriTemplate = "GetFile/{entitySchemaUId}/{fileId}")]
public Stream GetFile(string entitySchemaUId, string fileId) {
    // log the user and file for entitySchemaUId and fileId here
    // now return the file calling the out of the box file service, something like this: 
    var fileService = new FileService();
    return fileService.GetFile(entitySchemaUId, fileId);
}

Then, you'll need to replace the FileDetailV2 schema and override the getColumnLinkConfig function. You could copy the existing function. Basically, what you'd need to change is to take the result of Terrasoft.FileDownloader.getFileLink(this.entitySchema.uId, id) and replace in that string "FileService" with the name of your custom configuration service "UsrCustomFileService". 

Now, when a link is clicked, the link will call your custom configuration service, which can log the download, then return the file stream so the file downloads.

Ryan

Hello,



We have developed file download logging for Contact section. Single package ready for install, but not so ready as Marketplace solution yet. 



Send PM or email to vs@aviterra.lv if you are interested in



Kind regards,

Vladimir

Vladimir Sokolov,

 



Would love to see it as a marketplace solution - definitely has some useful application here :)

Show all comments

Hello community,

 

I wanted to add a few days to the calendar as non-working day (holiday). These holidays should appear in the calendar in gray. For example, if the user opens the list of activities in the calendar the days off will be displayed in gray. Does Creatio offer a way I can configure a specific day as a day off.

 

 

Like 0

Like

0 comments
Show all comments

Hi community,

 

I have a time column typed named Duration. In the execution of a business process I want to change the value of this attribute with the difference of two datetime parameters: enddate - startdate. Is there any way to perform this action or should I change the type of this column to type number.

Like 0

Like

0 comments
Show all comments

I need to invoke Creatio Rest API from a Business Process to take advantage of out-of-the-box functions available via Creatio API.

For example I need to create a copy of a given Project. I saw that the "copy" button of the user interface invoke this endopint: /0/rest/ProjectUtilitiesService/CopyProjectWithStructure

The payload is like {"projectId": "54df197d-7708-4c6d-8dea-778465bec49d"}.

The response is like {"errorInfo":null,"success":true,"nextPrcElReady":false,"queryId":null,"responseStatus":null,"rowsAffected":-1,"CreatedProjectId":"0198cd7d-75b4-4924-8b06-49e2acbcb8cf"}

I need to do the same thing of the "copy button" inside a business process so I configured a web service (standard Web Service section) setting the endpoint and Basic Authentication (Supervisor username with its password set in custom system settings).

When I try the web service I get an "Unauthorized" response:

How should the web service be set to be used "from Creatio to Creatio"?

Is there a better way to reach the same goal from Business Processes?

 

Thanks

Like 1

Like

2 comments
Best reply

Have you tried just calling the classes directly as classes? There's no need to call as a service since it's just a C# class that you can call directly. Or bypass the ProjectUtilitiesService, which is just a service wrapper around ProjectCopyManager and try calling that instead.

Something like (not tested):

var copyManager = new ProjectCopyManager(UserConnection);
copyManager.CopyProjectWithStructure(projectId);

Ryan

Have you tried just calling the classes directly as classes? There's no need to call as a service since it's just a C# class that you can call directly. Or bypass the ProjectUtilitiesService, which is just a service wrapper around ProjectCopyManager and try calling that instead.

Something like (not tested):

var copyManager = new ProjectCopyManager(UserConnection);
copyManager.CopyProjectWithStructure(projectId);

Ryan

Ryan Farley,

Thanks Ryan, it works; here's my code inside a script task:

var copyManager = new Terrasoft.Configuration.ProjectCopyManager(UserConnection);
Guid newProjectId = copyManager.CopyProjectWithStructure(projectId);

 

Show all comments

How would it be possible to save 'Connected to' schema as image or pdf? We need to save versions of Account relationship for history

 

Thank you!

Like 1

Like

1 comments

Just an idea, if you can get html2canvas to work as a module in Creatio, it can save part of the rendered HTML as an image. See https://html2canvas.hertzen.com

It's easy enough to use, something like

html2canvas(#divOfConnectedToElement).then((canvas) => {
    const base64image = canvas.toDataURL("image/png");
    window.location.href = base64image;
    // you could pass the bytes to a configuration service to save 
    // as attachment or use FileApiService
});

However, you'd likely need to wrap the html2canvas up in a module to use.

Ryan

Show all comments