Hello,

 

I am trying to add a new record in a detail inside to another one. The + button is missing even the object permission are configured for this role. (attach Creatio1.png)

 

When I change the detail with option "Make the list editable"  (attach Creatio2.png), the button is shown but the business rules and filters are not applied.  (attach Creatio3.png)

 

Any idea how to fix this issue?

Like 0

Like

4 comments
Best reply

Hello Denisa,

 

I would be happy to provide you with additional information regarding the database connections for the detail in question.

The detail must be connected to the SysModuleEntity record, which was added to the portal (SysModuleEntityInPortal table) to display for portal users.

Also, the detail must be connected to the SysModuleEntity record with no connection to the portal setting (SysModuleEntityInPortal table) to display for system users.



You have to create separate records  for details in the SysModuleEntity table:



1. The required connections for system users:

SysModuleEntity (Id column) - SysModuleEdit (SysModuleEntityId column).

2. The required connections for portal users :

SysModuleEntityInPortal (SysModuleEntityId column) - SysModuleEntity (Id column) - SysModuleEdit (SysModuleEntityId column).

 

By confirming the presence of these connections, you can ensure that the detail is properly configured to be displayed for both system users and portal users.

 

Best regards,

Kate

Hello!

 

It seems that you use the same detail for the main and portal page. To resolve the current issue, we recommend creating a separate detail for the portal page.

Here are the steps you can follow:

1) Go to the portal master wizard for your section.

2) Remove the existing detail from the portal edit page.

3) Create and add a new detail specifically designed for portal users in the detail section wizard, based on the existing object.

4) Add the new detail to the portal page.

5) Make sure to save the changes.

 

By creating a separate detail for the portal page, you can ensure that the issue you are experiencing is addressed and the users have the appropriate functionality.

 

Best regards,

Kate

Kate Karpik,

Hello Kate,

 

Thank you for your response. Your steps seems to be ok if the detail is related with section, because you have the possibility to have two section pages for full and portal and then relate full/portal detail schema in each page.

 

The issue I'm facing is with detail inside the detail. The system create only one page for the parent detail and if you have another detail inside the first one, even if you create two different details, the page of the parent detail is only one so the cardschema is the same for both full/portal of the child detail and the parent detail page is related only with one of them

Hello Denisa,

 

I would be happy to provide you with additional information regarding the database connections for the detail in question.

The detail must be connected to the SysModuleEntity record, which was added to the portal (SysModuleEntityInPortal table) to display for portal users.

Also, the detail must be connected to the SysModuleEntity record with no connection to the portal setting (SysModuleEntityInPortal table) to display for system users.



You have to create separate records  for details in the SysModuleEntity table:



1. The required connections for system users:

SysModuleEntity (Id column) - SysModuleEdit (SysModuleEntityId column).

2. The required connections for portal users :

SysModuleEntityInPortal (SysModuleEntityId column) - SysModuleEntity (Id column) - SysModuleEdit (SysModuleEntityId column).

 

By confirming the presence of these connections, you can ensure that the detail is properly configured to be displayed for both system users and portal users.

 

Best regards,

Kate

Kate Karpik,

 

Thanks for the detailed explanation, it worked out:)

 

The code in case that someone has the same issue:

-- 1. (Manual input) Change caption: with the caption of the new entity related with new detail
-- In my case the new object, the page and both details (full/portal) begin with ne same contain same caption. 
DECLARE @Caption as varchar(200) = 'Loan proposed terms and condition'
 
--2. (Manual input) Change Name: with the Name of the Parent Page of new detail 
DECLARE @CardSchemaUId uniqueidentifier = (
	SELECT	UId 
	FROM	SysSchema 
	WHERE	Name='FZSchema584f510ePage' 
)
-- 3. (Automatic) Get Uid of entityschema related to new detail
DECLARE @SysEntitySchemaUId uniqueidentifier = ( 
	SELECT	TOP 1 UId 
	FROM	dbo.SysSchema 
	WHERE	Caption like '%' + @Caption +'%' and ManagerName = 'EntitySchemaManager' 
)
 
-- 4. (Automatic) Insert if not exist on SysModuleEntityInPortal
INSERT INTO [dbo].[SysModuleEntityInPortal] ([Id], [CreatedOn], [CreatedById], [ModifiedOn], [ModifiedById], [ProcessListeners], [SysPortalId], [SysModuleEntityId])
SELECT	[Id] = NEWID(), [CreatedOn] = getDate(), [CreatedById]=CreatedById, [ModifiedOn] = getDate(), [ModifiedById]= CreatedById, [ProcessListeners]=0, 
		[SysPortalId] = 'C8565240-1DA3-4A68-BD4E-280F17B0D32E', [SysModuleEntityId] = SysModuleEntity.Id
FROM	(
			SELECT	id, [CreatedById], SysEntitySchemaUId
			FROM	dbo.SysModuleEntity
			WHERE	SysEntitySchemaUId = @SysEntitySchemaUId
		) SysModuleEntity		
		OUTER APPLY (
			SELECT	count (1) AS NR
			FROM	dbo.SysModuleEntityInPortal scp
					INNER JOIN dbo.SysModuleEntity sm ON scp.SysModuleEntityId = sm.Id
			WHERE	sm.SysEntitySchemaUId = @SysEntitySchemaUId
		) InSysPortal
WHERE	InSysPortal.NR IS NULL OR InSysPortal.NR = 0
 
-- 5. (Automatic) Insert if not exist on SysDetail
INSERT INTO [dbo].[SysDetail] ([Id], [CreatedOn], [CreatedById], [ModifiedOn], [ModifiedById], [ProcessListeners], [Caption], [DetailSchemaUId], [EntitySchemaUId])
SELECT	[Id] = NEWID(), [CreatedOn]= getDate(), [CreatedById], [ModifiedOn]= getDate(), [ModifiedById], [ProcessListeners], 
		[Caption] = SysSchema.Caption, [DetailSchemaUId] = SysSchema.Uid, [EntitySchemaUId] = @SysEntitySchemaUId
FROM	dbo.SysSchema 
WHERE	Caption like '%' + @Caption +'%' AND [Name] like '%Detail' AND ManagerName ='ClientUnitSchemaManager'
		AND Uid not in (Select [DetailSchemaUId] from SysDetail)
 
-- 6. (Automatic) Insert if not exist on SspPageDetail
INSERT INTO [dbo].[SspPageDetail] ([Id], [CreatedOn], [CreatedById], [ModifiedOn], [ModifiedById], [ProcessListeners], [CardSchemaUId], [EntitySchemaUId], [SysDetailId])
Select	[Id] = NEWID(), [CreatedOn]= getDate(), [CreatedById], [ModifiedOn]= getDate(), [ModifiedById], [ProcessListeners], 
		[CardSchemaUId] = @CardSchemaUId, [EntitySchemaUId] = SysDetail.EntitySchemaUId, [SysDetailId] = SysDetail.Id
FROM	SysDetail 
WHERE	EntitySchemaUId=@SysEntitySchemaUId and Caption like '%portal%'
		and Id not in ( Select SysDetailId FROM SspPageDetail )
 
-- 7. (Automatic) Insert if not exist on SysModuleEntity
INSERT INTO [dbo].[SysModuleEntity] ([Id], [CreatedOn], [CreatedById], [ModifiedOn], [ModifiedById], [TypeColumnUId], [ProcessListeners], [SysEntitySchemaUId])
SELECT	[Id] = NEWID(), [CreatedOn]= getDate(), [CreatedById], [ModifiedOn]= getDate(), [ModifiedById], [TypeColumnUId], [ProcessListeners], [SysEntitySchemaUId]
FROM	dbo.SysModuleEntity
WHERE	SysEntitySchemaUId = @SysEntitySchemaUId AND 
		(
			SELECT	count (1) 
			FROM	dbo.SysModuleEntity
			WHERE	SysEntitySchemaUId = @SysEntitySchemaUId
		) < 2
 
-- 8. (Automatic) Insert if not exist on SysModuleEdit also the new recored that was insertet on previos step
INSERT INTO [dbo].[SysModuleEdit] ([Id], [CreatedOn], [CreatedById], [ModifiedOn], [ModifiedById], [SysModuleEntityId], [TypeColumnValue], [UseModuleDetails], [Position], [HelpContextId], [ProcessListeners], [SysPageSchemaUId], [CardSchemaUId], [ActionKindCaption], [ActionKindName], [PageCaption], [MiniPageSchemaUId], [SearchRowSchemaUId], [MiniPageModes])
SELECT	TOP 1 [Id] = NEWID(), [CreatedOn] = getDate(), [CreatedById], [ModifiedOn] = getDate(), [ModifiedById], 
		[SysModuleEntityId] = new.SysModuleEntityId, [TypeColumnValue], [UseModuleDetails], [Position], [HelpContextId], [ProcessListeners]=0, [SysPageSchemaUId], [CardSchemaUId], [ActionKindCaption], [ActionKindName], [PageCaption], [MiniPageSchemaUId], [SearchRowSchemaUId], [MiniPageModes]
FROM	SysModuleEdit ref
		CROSS JOIN (
			SELECT	s.id as SysModuleEntityId
			FROM	SysModuleEntity s
					LEFT JOIN SysModuleEdit t On t.SysModuleEntityId = s.Id 
			WHERE	SysEntitySchemaUId = @SysEntitySchemaUId AND t.id IS NULL
		) new 
WHERE	ref.SysModuleEntityId in (
			SELECT	id
			FROM	dbo.SysModuleEntity
			WHERE	SysEntitySchemaUId = @SysEntitySchemaUId
		)

 

Show all comments

Hi Creatio!

I'm creating a Customer Portal and I am phasing an issue when I try to add DCM panel into page.

Cases workflow appear on the the section page :

But when I try to logg-in as user portal (role: All portal users) Cases workflow do not appear in the Customer Portal.



In the console log I receive "response status: 403 (SecurityException)".

Please what is your suggestion to fix this issue?

Thanks,

Like 2

Like

7 comments
Best reply

Hi all,

 

I want to share with you solution that Creatio support team helped me.

You have to check in object permissions if  "Portal Users" have permission to use  "SysDcmSettings" .

Hello Aurora,



Could you please let us know what portal license do you have on this local instance?



Also, could you please verify whether this DCM object is added to those lookups in order to be visible to portal users?

 

And one last question, does it appear on the portal the DCM for the cases section?

 

 

Hello,

I am having the same problem. I added the DCM object to both lookups, and I am also having an error in the console.



I check the DCM in the cases section, and I can see it.

Hello All!



Please check the following article for steps on how to add DCM to the portal: https://community.creatio.com/articles/enable-dcm-portal-users

 

In case you would still receive the error - please contact us on support@creatio.com

As I see it - this error is not the same for all and would require an individual approach.

 

Best Regards,

Dan

Bogdan,

Hello Bogdan,

The portal license that I am using in my local instance are as in the photo attached:

Is added object of Application Form (section) but not the case object (should be with the name "Application Form case in the Portal) :

Related to the last question DCM does not appear in the portal section (but as you can see to the image attached the section of the task appear but no the stages one).

Thanks,

Denis Bidukha,

Hi Denis, 

Images attached to the link are not clear.

And another question please , this solution is available for  the latest version of Creatio ?

(I am using Creatio  v8.0)

Thanks,

 

Aurora Leka,

 

 

Hi! The pictures are not representative anyway as they are made in Old UI. The information should be still relevant though. Please check if the specific portal user has required access rights and it the object has an "SSP available " checkbox checked.

 

If that did not help - please contact Support individually for investigation to be held

 

Best Regards,

Dan

Hi all,

 

I want to share with you solution that Creatio support team helped me.

You have to check in object permissions if  "Portal Users" have permission to use  "SysDcmSettings" .

Show all comments

Hello Creatio community,

 

I'm trying to debug a service deployed in another server. Which is the easiest way to debug a source code schema type? Currently I install all package updates and sometimes the database (to debug existing test cases) locally but this procedure is very time consuming.

 

Is there an easier way to debug a source code locally without the first procedure?

 

Regards,

Lirzae

Like 0

Like

1 comments

Hello,



Please find more infomation on server code debugging here.

 

Show all comments

Hello Creatio community,

I am using Creatio base method:

/**
 * Opens edit page for selected record.
 * @protected
 */
editCurrentRecord: function() {
	const primaryColumnValue = this.getPrimaryColumnValue();
	// ** ESQ Method
	var object = this.GetObjData(primaryColumnValue);
	// existing implementation
	this.closeMiniPage();	
	if (primaryColumnValue) {
		this.editRecord(primaryColumnValue);
	}
},

Before page redirection I want to get all object data using ESQ filter ("GetObjData" method). The problem is that ESQ is asynchronous and the main method doesn't wait for "GetObjData" method to finish.

 

How can I convert "GetObjData" to synchronous so the main method "editCurrentRecord" awaits the child method?

 

Regards,

Lirzae

Like 0

Like

1 comments

Hello,

if you want to make your methods work in a defined order, you need to use the Terrasoft.chain logic. More about it in this article.

Show all comments

Hello Creatio community,



We're trying to hide/show items in print section button based on specific conditions. The filter works fine in section page and edit page but it doesn't work when we try to open the edit page from the section page.



When we try to open the edit page from the section list the filter that we have made in both section and page doesn't apply and all the items in print button are displayed. Examples below.

 

1. Print button in section list

2. Print button when we open edit page (from reload)

3. Print button when edit page is open from application section list

 

Application page:

        preparePrintFormsMenuCollection: function (printForms) {
                this.callParent(arguments);
                printForms.eachKey(function (key, item) {
                    if(key =="ebd9e198-9d05-21b7-6d30-4f79eb6cf2ea")
                    {
                        item.set("Visible", true);
                    }
                    else{
                        item.set("Visible", false);
                    }
                }, this);
            },

Application section:

            isSectionPrintFormEnabled: function(reportId) {
                if (!this.isAnySelected()) {
                    return false;
                }
                if (this.isSingleSelected() && !this.get("SelectAllMode")) {
                    var applicationId = this.$ActiveRow;
                    if(reportId == "ebd9e198-9d05-21b7-6d30-4f79eb6cf2ea"){
                        return true;
                    }
                    return false;
                } else {
                    const reportCollection = this.get(this.moduleSectionPrintFormsCollectionName);
                    const report = reportCollection.get(reportId);
                    return (report && report.get("PrintFormType") !== Terrasoft.ConfigurationEnums.ReportType.Word) || !this.get("SelectAllMode");
                }
            }, 

The function "preparePrintFormsMenuCollection" is called every time the application page is opened. When the application page is opened from the section list (combined mode) the print button is not reloaded and keeps the older values.



How can we reload the items of the print button when the edit page is opened from section page?



Regards,

Lirzae

Like 0

Like

3 comments

Hello Lirzae,

You could try the following. When a row is selected in the section, retrieve the collections of printables for the section, then look through and set the Visible property based on the values of the selected row. Something like this: 

rowSelected: function(primaryColumnValue) {
    this.callParent(arguments);
 
    // get data for selected row
    var row = this.getGridData().get(primaryColumnValue)
 
    // get printables collection
    var reportCollection = this.get(this.moduleSectionPrintFormsCollectionName);
    Terrasoft.each(reportCollection, function(report) {
            if (row.get("UsrSomeField") == "Some Value" && report.get("Id") == "TheReportId") {
                report.set("Visible", false);
            }
            else {
                report.set("Visible", true);
            }
    }, this);
}

Note, I've not tried that before so not sure if it will work, but that is what I would attempt first. Also, the fields available in the "row" variable would depend on the column layout of the section. If you need to ensure a value is available, you'll want to add that to the section ESQ like this: 

initQueryColumns: function(esq) {
    this.callParent(arguments);
 
    if (!esq.columns.contains("UsrSomeField")) {
        esq.addColumn("UsrSomeField");
    }
}

Ryan

Ryan Farley,

 

I tried using "rowselected" method but this only works in section list page. When I try to open the edit page from section list the print button shows all the items.

The other method that I used "preparePrintFormsMenuCollection" is called when the edit page is opened but doesn't reload the print button items. 

 

Is there any other method that can reload print button items when the edit page is opened from the section list?

put the same code i mean the Follwoing code in section page as well and it will works fine

  preparePrintFormsMenuCollection: function (printForms) {
               this.callParent(arguments);
               printForms.eachKey(function (key, item) {
                   if(key =="ebd9e198-9d05-21b7-6d30-4f79eb6cf2ea")
                   {
                       item.set("Visible", true);
                   }
                   else{
                       item.set("Visible", false);
                   }
               }, this);
           },

Show all comments

Hello Creatio Community,



In our "Lending 7.18.4 Creatio Product" our team wants to call "Fill in product terms" from the server side.

How can we call this functionality (generate application parameters) from the server side?

 

Regards,

Lirzae

Like 0

Like

1 comments

Hello,

 

Could you please specify from where exactly would you like to call this function and the purpose of it? Is it from a different application by calling a specific URL/endpoint?

 

Best regards,

Dariy

Show all comments

In the word report that I have created I want to use the characters  « someWords here... ». By default creatio uses these characters to indicate a field name but in my case I have to use these characters on my document as normal characters.

I am using a formula in MS word that makes a sentence appear in my word report only if a specific field is not equal to 0

  • Here is the place I have written the formula that contains special characters (which are not indicating any field name)

 

  • The formula I used: 

Contract Clauses No[#AddTextIfNotEqual|0;words... « someWords here between these chars...  » words again... :#]

 

  • The result I get when report is printed:

words… \« someWords here between the special chars \» words again

 

As you can see Creatio reads these chars (« ») as special chars and adds slashes (\) before them. All I want to do is make these chars appear without the slashes before them.

 

Thanks in advance :)

 

Like 0

Like

1 comments

Hello,

As for now, unfortunately, there is no possibility to use word formulas in compose with printables and our R&D team has a problem regarding this functionality and we hope that it will be updated in one of future versions of the application. 

 

As for now you can try using this marketplace application that can fit your needs https://marketplace.bpmonline.com/app/excel-reports-builder-bpmonline.

Show all comments

Hello Creatio Community,

This happens in the Application Section. When i fill in the product terms and try to save the Application this pop up is shown. Meanwhile the object SysFinApplicationSpecRight doesnt exist at all in the database. How can I fix this problem ?

Regards

Like 0

Like

2 comments

Printscreen of Error Logs

 

Managed to solve the problem by re-compiling FinApplicationSpec

Show all comments

I am creating a report in creatio using MSWord plugin.

The report contains a main table that is connected to a detail (ParentTable).

Inside the row of ParentTable i have placed another table with specific filters (ChildTable1).

 

Example:

------------------------------

Row 1 - Text 1

      - Child Table 1 content

------------------------------

Row 2 - Text 2

      - Child Table 2 content

------------------------------

Row 3 - Text 3

      - Child Table 3 content

 

I have checked "Hide the table if it contains no data" for the child table.

When i try to download the report the whole table is hided because one of the ChildTables inside one row had no data.

Does Creatio Word Plugin offer this fetaure (To add report tables inside report tables)? 

Like 1

Like

1 comments

Hello,



I have discussed your case with the responsible R&D team. Unfortunately, as of now, there is no possibility to implement your business task and we do have the correspondent problem registered on our side. The R&D team is currently working on implementing this new functionality in one of the future releases of the application.



Thank you for helping us to make our application better.

Show all comments

Hello community,

 

I have developed a service in Creatio that will be called from third parties. The service is called successfully in postman but programmatically it doesn't work. The authentication works fine and returns status code 200 and the BPMCSRF cookie. When the third party tries to call the service it gives the following message "401 - Unauthorized: Access is denied due to invalid credentials."  How can we investigate this issue? Does Creatio offer a logging option so we can investigate the request and response or is there something else that we have forgotten during the implementation of this service?

Like 0

Like

1 comments

Hello,

 

Please try using OAuth authentication to work with your service.

More details on the academy website:

https://academy.creatio.com/docs/user/customization_tools/web_services/…

Show all comments