The problem here is that the StoredProcedure class calls not stored procedures, but functions and it's so because of the fact that PostgreSQL supports stored procedures starting from 11 version. Currently there is no way to call a PostgreSQL procedure from a business process.
System users will come top to down while filling the form but since primary manager and secondary manager fields are required, they can't create record in Qualification and Awards detail first without filling the Primary manager and secondary manager fields.
How can we correct this that keeping the primary manager and secondary stakeholder required, it shouldn't restrict the user to create records in the details?
We usualy make such field required on specific stages. So, it is possible to fill the details, but not possible to save in next stage until the fields are filled in
It's not possible to proceed with adding data to details on the record page before filling in the required fields on this page, it's expected behavior and as of now it cannot be changed with basic system tools.
As mentioned by Vladimir, there is a workaround to make the fields required only on the specific stage of the record, so users will be able to fill in the details with data on the previous stage and on the next stage the fields will be required.
Please find more information about this functionality in the article below and connected articles:
the feedback case page (021/0/Nui/Feedback.aspx?vm=FeedbackModule&token=138ce645-68ad-48ee-a24b-b7fa7ed2822d&schemaName=CaseRatingFeedbackPage) appears always in english, on my creatio instance.
There are the localization strings in the client schema "CaseRatingFeedbackPage"
The feedback page is using your web browser settings to choose the appropriate language.
For example, if the browser language is set to English - the feedback page will be in English, if the user uses Russian - the page will open up in Russian, and so on.
I'll share here the answer that I provided regarding the approvals case so the community has access to this information as well.
In order to be able to use approvals in the mobile app you would need to follow these steps:
1) You need to run the 3 scripts that will be at the end of the message. This will enable some features needed for this functionality.
2) Then you need to flush (clear) the cache of the Redis server and restart the pool application of the site.
3) Before adding the approval detail to a section in the Mobile application wizard, you need to make sure that approvals are enabled for this section in the main Creatio site. In order to do that, you need to open the Section wizard at the desired section, and you will see the possibility to enable approvals for this section.
4) Then you can open the Mobile application wizard and open the desired workplace. There you can open the desired section, select "Details setup" and click on "New detail". There you will be able to select the Type, and here is where you can select the approval that you desire.
After that you can log out and log in at the mobile app, and verify the changes.
Unfortunately, we are unable to investigate this issue without having access to the instance. We have requested external access from you but never heard back. Kindly get back to us with the external access provided so that we could look into this.
the notifications weren't working because the feature UseMobilePushNotifications wasn't enabled. After activating it, I have tested the business process and I could succesfully receive a push notification.
I'll share here the answer that I provided regarding the approvals case so the community has access to this information as well.
In order to be able to use approvals in the mobile app you would need to follow these steps:
1) You need to run the 3 scripts that will be at the end of the message. This will enable some features needed for this functionality.
2) Then you need to flush (clear) the cache of the Redis server and restart the pool application of the site.
3) Before adding the approval detail to a section in the Mobile application wizard, you need to make sure that approvals are enabled for this section in the main Creatio site. In order to do that, you need to open the Section wizard at the desired section, and you will see the possibility to enable approvals for this section.
4) Then you can open the Mobile application wizard and open the desired workplace. There you can open the desired section, select "Details setup" and click on "New detail". There you will be able to select the Type, and here is where you can select the approval that you desire.
After that you can log out and log in at the mobile app, and verify the changes.
I have a requirement to restrict the user from uploading or deleting attachments once a particular date is reached. I have tried to remove access rights for attachment object in a business process but still the user is able to upload attachments.
You can create a sub-process on the correspondent object to restrict adding new records or deleting records based on some conditions. For example here is the code I created for the AccountFile records:
1) Created a sub-process:
2) Specified the following code in the "Methods" tab of the subprocess:
The logic in the code will compare the date\time value specified in the UsrRestrictUploadDateTime column of the main account record where the "Account attachments" detail is located, and it the current date and time is greater than the UsrRestrictUploadDateTime column value then the save and delete will fail:
As for deleting the file: custom exception doesn't work here and the standard message is returned:
Didn't figure out why, but it won't let deleting a record anyway. Also if this logic should be applied to specific users then you will also need to create an additional logic of checking if the current user (information on the user can be received from UserConnection) can or cannot add\delete files.
I am encountering the same issue. Did you find a solution to the problem ?
I would really appreciate it, thanks !
Best regards,
Jonathan
EDIT : I found a solution to the problem :
You must activate the mini page visualisation in the section wizard. Then, you can edit the mini page to display the important fields that you want. You should now be able to double click on the object box in the kanban view and jump to the related object !
Tested on the AccountPageV2 schema and it worked properly:
1) Enable the feature via the database:
DECLARE @allEmpoyeeGroupName nvarchar(max)='All employees';
DECLARE @featureName nvarchar(max)='CompleteCardLockout'
DECLARE @featureStatus bit =1;
IF (NOT EXISTS (SELECT NULL FROM Feature WHERE Code = @featureName))
BEGIN
INSERT INTO Feature (Name, Description, Code, ProcessListeners)
VALUES (@featureName, @featureName, @featureName, 0)
END
IF(EXISTS (SELECT NULL FROM AdminUnitFeatureState
WHERE FeatureId =(SELECT Id FROM Feature WHERE Code = @featureName) AND
SysAdminUnitId =(SELECT Id FROM SysAdminUnit WHERE Name = @allEmpoyeeGroupName)))
BEGIN
UPDATE AdminUnitFeatureState SET FeatureState = @featureStatus WHERE FeatureId =(SELECT Id FROM Feature WHERE Code = @featureName) AND
SysAdminUnitId =(SELECT Id FROM SysAdminUnit WHERE Name = @allEmpoyeeGroupName)
END
ELSE
BEGIN
INSERT INTO AdminUnitFeatureState (ProcessListeners, SysAdminUnitId, FeatureState, FeatureId) VALUES
(0,
(SELECT Id FROM SysAdminUnit WHERE Name = @allEmpoyeeGroupName),
@featureStatus,
(SELECT Id FROM Feature WHERE Code = @featureName))
END
2) In the AccountPageV2 added the following code to the diff array:
Tested on the AccountPageV2 schema and it worked properly:
1) Enable the feature via the database:
DECLARE @allEmpoyeeGroupName nvarchar(max)='All employees';
DECLARE @featureName nvarchar(max)='CompleteCardLockout'
DECLARE @featureStatus bit =1;
IF (NOT EXISTS (SELECT NULL FROM Feature WHERE Code = @featureName))
BEGIN
INSERT INTO Feature (Name, Description, Code, ProcessListeners)
VALUES (@featureName, @featureName, @featureName, 0)
END
IF(EXISTS (SELECT NULL FROM AdminUnitFeatureState
WHERE FeatureId =(SELECT Id FROM Feature WHERE Code = @featureName) AND
SysAdminUnitId =(SELECT Id FROM SysAdminUnit WHERE Name = @allEmpoyeeGroupName)))
BEGIN
UPDATE AdminUnitFeatureState SET FeatureState = @featureStatus WHERE FeatureId =(SELECT Id FROM Feature WHERE Code = @featureName) AND
SysAdminUnitId =(SELECT Id FROM SysAdminUnit WHERE Name = @allEmpoyeeGroupName)
END
ELSE
BEGIN
INSERT INTO AdminUnitFeatureState (ProcessListeners, SysAdminUnitId, FeatureState, FeatureId) VALUES
(0,
(SELECT Id FROM SysAdminUnit WHERE Name = @allEmpoyeeGroupName),
@featureStatus,
(SELECT Id FROM Feature WHERE Code = @featureName))
END
2) In the AccountPageV2 added the following code to the diff array:
I have tried this and able achieve my objective. Apparently what I was missing was, I have not added the code in diff array. Thank you so much for your time & effort.
we have Creatio Installed in our environment and confined to saving files in S3 instead of the database, now how I can get a stream of files saved in S3 inside the process script
I used the below code when I saved the file in the Database :
I'm trying to compile the code below from a package set as a a separate assembly but I'm getting the error attached even though the object mentioned on the error is part of the package.
What am I missing?
Thanks,
Jose
Error:
Object exists on package
Code generating the error:
using System;
using System.Collections.Generic;
using System.Linq;
using Terrasoft.Core;
using Terrasoft.Core.Entities;
using Terrasoft.Configuration;
public class UsrPPDRCorrespondenceHelper
{
private UserConnection UserConnection { get; }
public UsrPPDRCorrespondenceHelper(UserConnection userConnection) {
UserConnection = userConnection;
}
public Guid GetStatus(Guid corrId) {
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "UsrPPDRCorrespondence");
According to the error UsrPPDRCorrespondence is not located at the same folder (directory to which assembly files were exported) as the source code that is being compiled.