Hello community,

 

I have a detail DocListInFinApp in Application Page and I want to add a fixed filter to the detail based on application current stage. Is there a way to add a fixed filter to the detail to only show specific documents.

 

I have implemented the following code to test the functionality

methods: {
			onEntityInitialized: function() {
 
				this.callParent(arguments);
                this.initFixedFiltersConfig();
			},
			// Initializes the fixed filters.
            initFixedFiltersConfig: function() {
                // Creating a Configuration Object.
                var fixedFilterConfig = {
                    // The schema of the section object is specified as an object schema for fixed filters. 
                    entitySchema: "DocListInFinApp",
                    // Array of filters.
                    filters: [
                        // Owner filter.
                        {
                            // The name of the filter.
                            name: "StageFilter",
                            // Filter header.
                            caption: "StageFilter",
                            // Filter the data from the [Owner] column.
                            columnName: "DocumentListStage",
                            // Current user contact is specified as default value.
                            // Value is received from the system setting.
                            defValue:"69CF135A-9D15-4500-A0D1-E553A7BD5620",
                            // The data type – lookup.
                            dataValueType: this.Terrasoft.DataValueType.LOOKUP,
                            // Filter.
                            filter: BaseFiltersGenerateModule.StageFilter
                        }
                    ]
                };
                // A link to the configurational object is assigned to the [FixedFilterConfig] column.
                this.set("FixedFilterConfig", fixedFilterConfig);
            }
		}

 

Like 0

Like

2 comments

Hello User1997,

 

There is no way to add the fixed filter in the detail using FixedFilterConfig, but you can add additional filtration to the detail records using the following example:

//details object
"Schema386de87bDetailfb4e174c": {
				"schemaName": "Schema386de87bDetail",
				"entitySchemaName": "Document",
				"filter": {
					"detailColumn": "UsrCase",
					"masterColumn": "Id"
				},
				"filterMethod": "CaseStatusFilter"
			}
...
//methods object
CaseStatusFilter: function() {
						var filterGroup = new this.Terrasoft.createFilterGroup();
						filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;
						filterGroup.add("ByCaseStatusFilter", this.Terrasoft.createColumnFilterWithParameter(
							this.Terrasoft.ComparisonType.EQUAL, "UsrAvailableCaseStatus", this.get("Status"))
						);
						return filterGroup;
					},

Such a filtration is used for example to list only email activities in the "Email" detail in the contact or account page. The logic is simple: add additional filtration to the already present detail filter. In the case above:

 

1) There was a lookup column added to the Documents object. The lookup column relates to Cases object.

2) There was another lookup column added to the Documents object. The lookup column relates to CaseStatus object.

3) The detail is created on the CasePage to list those documents that are connected to the case (Case column of the Document object is the same as the current case record opened. The detail object is also Document)

 4) Add additional filtration in the "filterMethod": "CaseStatusFilter" part to return only those documents that have the same value in the "UsrAvailableCaseStatus" lookup column (from step 2) as the current case status.

 

Hope this will fit your business logic.

 

Best regards,

Oscar

Oscar Dylan,

Thanks Oscar, 

The problem with this solution is that the filter must be visible to the user. Is there any way we can make the applied filter visible?

Show all comments

Hi Community,

 

Any idea how we can show the Case timeline tab in Portal Case?

 

Like 0

Like

1 comments

Hello Fulgen, 

 

There are no basic tools to add the timeline tab through the section wizard. The same relates to the portal case page. You will need to involve the development process to add the timeline tab to any page in the system but as for portal, there is not much reason to add it since this detail has multiple connections to other entities in the system. Apart from that, the portal users might not have the access rights for those entities. 

 

As of now, there is no ready to use examples of such implementation. 

But we have a corresponding query registered for our R&D team to consider implementing this functionality for portal users as well in the upcoming versions. I will add your case to this project to increase it's priority.

 

Best regards,

Anastasiia

Show all comments

Hi,

I tried to override the CaseInserting Event subprocess on a custom package.

I created a replacement object for the case entity and created a new subprocess for the "before inserting" event.

The new subprocess is not called the old one is called.

Like 0

Like

2 comments

Hi Stefano,

 

We would need to conduct a deeper analysis of the issue to provide you with a solution. Please write to us at support@creatio.com so we could help you.

 

Best regards,

Max.

Max,

Hi Max, I will write to support on monday

Show all comments

Is there a system table that can be queried to find out which section and/or detail run process menu(s) a process is found in?  Or any other way of doing this?

 

*Edit*  A query to find out what section(s) an object is a detail in would be quite helpful.

 

Thanks,

Like 1

Like

3 comments

Hi Gareth,

 

Thank you for reaching out!

 

This is the ProcessInModules table.

 

Also, there is no differentiation in Creatio between section and detail objects. So basically, an object is the same for a detail and a section. You could use the following script:

 

SELECT DISTINCT ss.Name , 
CASE 
WHEN EXISTS (SELECT 1 FROM  SysModule WHERE SysModuleEntityId IN (SELECT Id FROM SysModuleEntity WHERE SysEntitySchemaUId = ss.Uid)) THEN 'Section' 
WHEN EXISTS (SELECT 1 FROM  SysDetail WHERE EntitySchemaUId = ss.Uid) THEN 'Detail' 
else '' 
END AS "Section/Detail"
FROM SysSchema ss 
WHERE EXISTS SELECT 1 FROM  SysModule WHERE SysModuleEntityId IN (SELECT Id FROM SysModuleEntity WHERE SysEntitySchemaUId = ss.Uid) 
OR EXISTS
 (SELECT 1 FROM  SysDetail WHERE EntitySchemaUId = ss.Uid)
AND 
 ss.ManagerName = 'EntitySchemaManager'

 

Best regards,

Anastasiia

*Edit* The below queries return both active and inactive processes., at a glance I am not able see how to select active only.

 

The query we arrived at to list the processes in the run process menu of sections:

SELECT SM.Caption AS [Section Name], SS.Caption AS [Process Name] 
FROM ProcessInModules AS PIM 
JOIN SysModule AS SM ON PIM.SysModuleId = SM.Id 
JOIN SysSchema AS SS ON PIM.SysSchemaUId = SS.UId; 

And the query to list the processes in the run process menu of individual details:

SELECT SD.Caption AS [Detail Name], SS.Caption AS [Process Name] 
FROM ProcessInDetails AS PID 
JOIN SysDetail AS SD ON PID.SysDetailId = SD.Id 
JOIN SysSchema AS SS ON PID.SysSchemaUId = SS.UId; 

I would like to be able to say what sections a detail appears in, but would imagine this information to be buried deep in Creatio system tables.

 

If anyone can check the above queries I would be grateful!

Hi Gareth,

 

The queries you have written are correct. However, it's hard to check which details belong to which sections by a DB query as details are connected to a page in the page's schema. So you need to decode the schema's content and filter in it. Such a query is hard to build and it will take a long time for it to get executed.

 

Best regards,

Anastasiia

Show all comments

Hello community,

 

Can an organization (Legal Entity) be in an organizational portal structure and at the same time and in a system organizational structure?

If so, does Creatio provide an interface in which it can assign an organization (account) to an organizational structure of the system?

 

 

Like 0

Like

1 comments
Best reply

Hello,

 

Such logic was implemented only for portal users since the Self-service Portal was designed only for them and they could be from different companies (from the accounts section).

 

Best regards,

Bogdan

Hello,

 

Such logic was implemented only for portal users since the Self-service Portal was designed only for them and they could be from different companies (from the accounts section).

 

Best regards,

Bogdan

Show all comments

Hi all,



were trying to show the contact who was responsible for setting an opportunity at a certain stage of the DCM .



The base object of the dashboard is on Opportunity. So when we try to add the person who modified the opp, we try to look in available data on the object "Stage in opportunity". We are able to show when the stage started. But we cannot figure out how to select who did the change (Modified by). Any advice ?



Like 0

Like

1 comments

Hello Damien, 

 

In this particular case object "Opportunity" may have a lot of connected records with  "Stage in opportunity" object. In other words, the system doesn't know which value exactly should be displayed for the record and you can only display the number of it (Quantity column from your screenshot).

 

In order to achieve your business task there is a need to create a chart based on the "Stage in opportunity" object.

Hope it clarifies! 

 

Best regards,

Anastasiia

Show all comments

Hi Community,

 

Any idea on the below scenario:

 

1. In case processing tab, there is a reply functionality. We need to show the same in portal case processing tab. Any idea how we can achieve it?

Thank you.

 

 

Like 0

Like

2 comments

In PortalEmailMessageHistoryItemPageV2 file, these items were inserted. However it is hidden in the GUI. Any idea to which file it was removed so that we can insert it back.

 

Dear Fulgen,



The basic functionality does not support sending the emails from the portal case page, and therefore it is not possible to add the email activity to the detail from the portal. 

 

We will register your idea to R&D team to add this functionality in the future. 

 

Best regards,

Anastasiia 

Show all comments

We are having an issue with the BPMonline WordPress plugin not pulling information from our forms - instead sending them to an error page. We have isolated that the plugin is the issue as the forms work okay when the plugin is removed. 

 

Have upgrades been made to the plugin's compatibility with the Php 8.0 and/or WordPress Platform 5.9?

 

Please advise.

Like 0

Like

6 comments

Hello Jess,

 

Could you please tell us with what versions of PHP and WordPress the plugin did work?

 

Thank you,

Artem.

Pre-issue:

PHP: 7.4

Wordpress: 5.9.1



We are currently on:

PHP: 8.0

Wordpress: 5.9.2



We started having this issue on 3/9. We updated the platforms on 3/23. We have just gone in and tested - by turning the BPMonline plugin back on and we are still receiving a Wordpress "critical error" notice.

 

Thank you,

Jess

Artem,

Hi Artem, Making sure you saw my above response.

Thanks,

Jess

Artem,

Will you be able to assist here?

Artem,

I just messaged you directly regarding the above.  Hoping you can help or point me in the direction of someone who can.

Thanks,

Jess,

Do you know what the error is? If it is something like this:

Fatal error: Uncaught Error: Undefined constant "bpmRef"

Then it is because of how newer php versions treats constant string values. If you feel adventurous enough to edit the plugin (and if that is the error you're getting), you can fix it by doing the following (there are 3 lines to change, basically just enclosing some values in quotes). NOTE: only do this if you're comfortable editing the PHP code, doing something wrong can break your whole website. So proceed at your own risk. If this isn't something you're comfortable with, contact a PHP developer for help.

  1. In Wordpress to go Plugins -> Plugin Editor.
  2. Select "Forms-3rd-Party-Integration-Bpmonline-1.0.6" and make sure you have the "forms-3rdparty-integration.php" file selected.
  3. Go to line 611 and change this: 

    if(isset($_COOKIE[bpmRef])) {
  4. to this (notice quotes around bpmRef): 

    if(isset($_COOKIE["bpmRef"])) {
  5. Go to line 617 and change this:

    if(isset($_COOKIE[bpmHref])) {
  6. To this (notice quotes around bpmHref):

    if(isset($_COOKIE["bpmHref"])) {
  7. Go to line 623 and change this:

    if(isset($_COOKIE[bpmTrackingId])) {
  8. To this (notice quotes around bpmTrackingId):

    if(isset($_COOKIE["bpmTrackingId"])) {
  9. Save the file by clicking "Update file"

I don't know if you'll encounter other errors with the plugin code, but that will fix the error I mentioned above.

Ryan 

Show all comments

Hi Community,

 

Any idea how we can achieve below scenario:

 

1. We wanted to show below action in portal case.

 

2. Upon checking the codes, we found out that in PortalCaseSectionActionsDashboard those elements were removed.

 

3. We tried to create, replacing client module for PortalCaseSectionActionsDashboard and inserted back those removed elements. However it did'nt work.

 

Like 0

Like

4 comments

Hi Fulgen,

 

1) You need to add elements back to the diff using:

{
					"operation": "insert",
					"name": "CallMessageTab",
					"parentName": "Tabs",
					"propertyName": "tabs",
					"index": 1,
					"values": {
						"items": []
					}
				},
				{
					"operation": "insert",
					"name": "EmailMessageTab",
					"parentName": "Tabs",
					"propertyName": "tabs",
					"index": 2,
					"values": {
						"items": []
					}
				},
				{
					"operation": "insert",
					"name": "SocialMessageTab",
					"parentName": "Tabs",
					"propertyName": "tabs",
					"index": 3,
					"values": {
						"items": []
					}
				},

2) There are _getTabsVisibility, getExtraActionDashboadTabVisible and getEsnChannelVisible methods in the base SectionActionsDashboard module and they all contain the following check:

/**
				 * @private
				 */
				_getTabsVisibility: function() {
					return !this.Terrasoft.isCurrentUserSsp();
				},

Such methods should be also overridden and the logic of the check should be modified.

 

Best regards,

Oscar

Oscar Dylan,

 

Thank you Oscar actions are now showing.



How about the dashboard tab? I tried to re insert it also on my replacing client module but still it is not visible. Any idea please? Thank you 



Fulgen Ninofranco,

 

There is the initTabs method in the BaseActionsDashboard that removes this tab from the portal in this part of code:

if (!this.get("UseDashboard")) {
					var dashboardTabName = this.get("DashboardTabName");
					this.removeTab(dashboardTabName);
				}

Even if adding this tab in the diff it won't be displayed in the page because of this method. This method logic should be overridden and also you should check if the localizable string for the caption is added to the PortalCaseSectionActionsDashboard.

 

Best regards,

Oscar

 

 

Oscar Dylan,

 

Thank you Oscar, dashboard tab is now showing in Portal Case.

 

Do you have idea why default subject is not setting on Portal Case. I tried to debug the source code and breakpoint is not going to "setListenerEmailData" method in "EmailMessagePublisherPage.js". Any idea please? 

 

 

Show all comments

Hello community,

I am trying to understand the logic of why we can not add an organization (Account) to an organizational structure of the system. I have seen some of the documentation and tables that link to VwSysAdminUnit and VwSspAdminUnit but I can not find out why they are not displayed in the user interface the same as in the portal organizational structure.

Portal

System

Like 0

Like

1 comments

Hello,



Such logic was implemented only for portal users since the Self-service Portal was designed only for them and they could be from different companies (accounts).



Best regards,

Bogdan

Show all comments