Hi Community,

 

Is it feasible to replicate the functionality of Forecast section for a custom object and add its corresponding fields?

 

Any idea on replicating the functionality or any other way for achieving the same would be helpful.

 

Thanks,

Sivaranjani

Like 1

Like

2 comments

Hello, 

 

Unfortunately, we do not have that option. 

But we have registered it with our R&D team for review and implementation in future releases of the application.



Thank you for your help in improving our product.





Best regards,

Orkhan Gojaev

Very interesting idea indeed :)

Show all comments

Hi Creatio community,

 

I'm trying to set default folder filter for product selection page in order product detail. Whenever the user login, a default folder should be selected and those products should be visible.

 

I'm able to achieve this task in Product section page where I'm updating the 'SysProfileData' object based on the key (ProductSectionV2GridDataViewFilters) .

 

But in the  Product Catalogue page shown below, SysProfileData object is not updating while switching from one folder to other also there is no Key for it to update.

 

 

 

Any idea on how to set default folder filter for the Product selection page would be appreciated.



 

Thanks,

Sivaranjani

Like 0

Like

2 comments

Greetings,



Unfortunately, we are unable to see the pictures you have attached.

Could you kindly re-post them in the comment section? 

Mykhailo Zeleniuk,

Please find the images below.



In "Product Catalogue" the folder filter is not working.



Product section default folder filter is working.





How to set a folder filter default in Product Catalogue (Order section - Product detail).



BR,

Bhoobalan Palanivelu.

Show all comments

Having figured out how to do this I thought I would post the solution.

Sometimes the name of an uploaded file does not indicate what the contents are, the description is needed.  Out of the box this description is not displayed on an attachment timeline tile.  The steps to add the description follow.

The Creatio page on configuring the timeline is Timeline.  The scheme of things is roughly table 'TimelinePageSetting' configures the timeline for a section, while table 'TimelineTileSetting' is for configuring individual tiles.

Create two modules (Advanced settings > +Add), which I will call "UsrFileTimelineItemViewWithDescription" and "UsrFileTimelineItemViewModelWithDescription".

Add the following to "UsrFileTimelineItemViewWithDescription":

define("UsrFileTimelineItemViewModelWithDescription", ["UsrFileTimelineItemViewModelWithDescriptionResources", "FileTimelineItemViewModel"
      ],
      function() {
            Ext.define("Terrasoft.configuration.UsrFileTimelineItemViewModelWithDescription", {
                  alternateClassName: "Terrasoft.UsrFileTimelineItemViewModelWithDescription",
                  extend: "Terrasoft.FileTimelineItemViewModel",
            });
      }
);

Within this schema add a localizable string with the code "NotesLabel" ('Notes' being the name of the column within the table that holds attachments, the table name being the section name suffixed with "File", e.g., "OpprtunityFile") . Set the value to "Description", it will be the label of the field in the timeline.

Add the following to "UsrFileTimelineItemViewModelWithDescription":

define("UsrFileTimelineItemViewWithDescription", ["FileTimelineItemView"], function() {
      Ext.define("Terrasoft.configuration.UsrFileTimelineItemViewWithDescription", {
            extend: "Terrasoft.FileTimelineItemView",
            alternateClassName: "Terrasoft.UsrFileTimelineItemViewWithDescription",
            getBodyViewConfig: function() {
                  var bodyConfig = {
                        "name": "BodyContainer",
                        "itemType": Terrasoft.ViewItemType.CONTAINER,
                        "classes": {
                              "wrapClassName": ["timeline-item-body-container"]
                        },
                        "items": [
                              this.getTextWithLabelContainerViewConfig("Resources.Strings.NotesLabel", "Notes")
                        ]
                  };
                  var imagePreviewConfig = this.callParent(arguments);
                  bodyConfig.items.unshift(imagePreviewConfig);
                  return bodyConfig;
            }
      });
});

Execute the following SQL to obtain the current 'TimelineTileSetting' table 'Data' entry for attachments:

SELECT encode("Data", 'escape')
AS text_column
FROM "TimelineTileSetting"
WHERE "Name" = 'Files'

I used JSON Formatter to format the JSON output.

Change "viewClassName" and "viewModelClassName" to reflect the modules created earlier.

Add the following 'columns' configuration:

"columns":[{"columnName":"Notes","columnAlias": "Notes"}]

The JSON should now look along the lines of:

{
    "typeColumnValue":"529bc2f8-0ee0-df11-971b-001d60e938c6",
    "entitySchemaName":"##ReferenceSchemaName##File",
    "viewModelClassName":"Terrasoft.UsrFileTimelineItemViewModelWithDescription",
    "viewClassName":"Terrasoft.UsrFileTimelineItemViewWithDescription",
    "orderColumnName":"CreatedOn",
    "authorColumnName":"CreatedBy",
    "captionColumnName":"Name",
    "columns":[
        {
            "columnName":"Notes",
            "columnAlias":"Notes"
        }
    ]
}

I used Minify JSON to re-minify the JSON.

Update 'TimelineTileSetting' with the following query:

UPDATE "TimelineTileSetting"
SET "Data" = '{"typeColumnValue":"529bc2f8-0ee0-df11-971b-001d60e938c6","entitySchemaName":"##ReferenceSchemaName##File","viewModelClassName":"Terrasoft.UsrFileTimelineItemViewModelWithDescription","viewClassName":"Terrasoft.UsrFileTimelineItemViewWithDescription","orderColumnName":"CreatedOn","authorColumnName":"CreatedBy","captionColumnName":"Name","columns":[{"columnName":"Notes","columnAlias": "Notes"}]}'
WHERE "Name" = 'Files'

Refresh the browser cache, if necessary generating the source code for all schemas and compiling the app.

Like 1

Like

2 comments

A quick correction, the final UPDATE query 'Data' column is binary data, so the query should be:

UPDATE "TimelineTileSetting"
SET "Data" = decode('{"typeColumnValue":"529bc2f8-0ee0-df11-971b-001d60e938c6","entitySchemaName":"##ReferenceSchemaName##File","viewModelClassName":"Terrasoft.UsrFileTimelineItemViewModelWithDescription","viewClassName":"Terrasoft.UsrFileTimelineItemViewWithDescription","orderColumnName":"CreatedOn","authorColumnName":"CreatedBy","captionColumnName":"Name","columns":[{"columnName":"Notes","columnAlias": "Notes"}]}', 'escape')
WHERE "Name" = 'Files'

 

Nice! Thanks for sharing.

Ryan

Show all comments

I need to add the attachment 'Description' (the 'Notes' field of the attachment file 'OpportunityFile') to the Timeline tile for an attachment (Opportunities section).  I'm probably missing a step out, but if somebody can clarify this for me it would be much appreciated:

 

1) The Data for key 'OpportunityPageV2' of 'TimelinePageSetting':

select
"Key",
encode("Data",'escape') as "Data"
from "TimelinePageSetting"
    {
        "entityConfigKey":"59de07a7-28dd-4dc9-a106-a07cb9981423",
        "entitySchemaName":"OpportunityFile",
        "typeColumnName":"Type",
        "typeColumnValue":"529bc2f8-0ee0-df11-971b-001d60e938c6",
        "referenceColumnName":"Opportunity",
        "masterRecordColumnName":"Id"
    },

2) The edited entry for Id '59de07a7-28dd-4dc9-a106-a07cb9981423' of 'TimelineTileSetting':

select
"Id", 
"Name", 
encode("Data", 'escape') as "Data"
from "TimelineTileSetting"
{
    "typeColumnValue":"529bc2f8-0ee0-df11-971b-001d60e938c6",
    "entitySchemaName":"##ReferenceSchemaName##File",
    "viewModelClassName":"Terrasoft.FileTimelineItemViewModel",
    "viewClassName":"Terrasoft.UsrFileTimelineItemView",
    "orderColumnName":"CreatedOn",
    "authorColumnName":"CreatedBy",
    "captionColumnName":"Name",
    "messageColumnName":"Notes"
}

3) 'UsrFileTimelineItemView' is a new Module with source code copied from 'FileTimelineItemView' with the addition of the 'getMessageViewConfig' method copied from the example (note I am using the original viewModelClassName 'FileTimelineItemViewModel'):

 define("UsrFileTimelineItemView", ["BaseTimelineItemView"], function() {
	/**
	 * @class Terrasoft.configuration.FileTimelineItemView
	 * File timeline item view class.
	 */
	Ext.define("Terrasoft.configuration.UsrFileTimelineItemView", {
		extend: "Terrasoft.BaseTimelineItemView",
		alternateClassName: "Terrasoft.UsrFileTimelineItemView",
 
		// region Methods: Protected
 
		/**
		 * Returns file type icon view config.
		 * @protected
		 * @return {Object}
		 */
		getFileTypeIconConfig: function() {
			return {
				"name": "FileTypeIcon",
				"itemType": Terrasoft.ViewItemType.IMAGE,
				"getSrcMethod": "FileTypeSrc",
				"generator": "ImageCustomGeneratorV2.generateSimpleCustomImage",
				"onPhotoChange": Terrasoft.emptyFn,
				"classes": {
					"wrapClass": ["timeline-item-file-type-icon"]
				}
			};
		},
 
		/**
		 * Returns file preview image view config.
		 * @protected
		 * @return {Object}
		 */
		getFilePreviewImageConfig: function() {
			return {
				"name": "FilePreviewImage",
				"itemType": Terrasoft.ViewItemType.IMAGE,
				"getSrcMethod": "getPreviewImageSrc",
				"generator": "ImageCustomGeneratorV2.generateSimpleCustomImage",
				"onPhotoChange": Terrasoft.emptyFn,
				"classes": {
					"wrapClass": ["timeline-item-file-preview-image"]
				}
			};
		},
 
		/**
		 * @inheritdoc Terrasoft.BaseTimelineItemView#getCaptionViewConfig
		 * @protected
		 */
		getCaptionViewConfig: function() {
			var config = this.callParent(arguments);
			config.target = "_self";
			delete config.click;
			return config;
		},
 
		/**
		 * @inheritdoc Terrasoft.BaseTimelineItemView#getLeftHeaderViewConfig
		 * @protected
		 */
		getLeftHeaderViewConfig: function() {
			var leftHeaderConfig = this.callParent(arguments);
			leftHeaderConfig.items.splice(1, 0, this.getFileTypeIconConfig());
			return leftHeaderConfig;
		},
 
		/**
		 * @inheritdoc Terrasoft.BaseTimelineItemView#getBodyViewConfig
		 * @override
		 */
		getBodyViewConfig: function() {
			var bodyConfig = this.callParent(arguments);
			bodyConfig.controlConfig.visibilityHeight = 0;
			bodyConfig.visible = {
				"bindTo": "isFilePreviewImageVisible"
			};
			bodyConfig.items = [
				this.getFilePreviewImageConfig()
			];
			return bodyConfig;
		},
 
		// endregion
 
        // Redefined method returning the [Message] tile field configuration. 
        getMessageViewConfig: function() {
            // Receiving standard settings.
            var config = this.callParent(arguments);
            // Visibility setup. Visible if the tile is deployed.
            config.visible = {
                "bindTo": "IsExpanded"
            };
            return config;
        }
 
	});
});

 

Like 0

Like

1 comments

Hi all,



In Creatio 7, is there a way to nest a detail within a field group?



 

Like 0

Like

1 comments

Nevermind, I've found a solution by changing the parent name to the field group name.

 

				"operation": "insert",
				"name": "My Detail",
				"values": {
					"itemType": 2,
					"markerValue": "added-detail"
				},
				"parentName": "My Field Group",
				"propertyName": "items",
				"index": 1

 

Show all comments

Hello Community,

 

Our client has a case where he needs to upload a file secured with a password to the attachment details. He tried to upload that file file but with no success. Is there a way to keep that file in its encrypted format and be able to upload it?

 

Thank you,

Like 0

Like

2 comments

...

Hello Mariam,



You can make a password file in the archive and put the archive in the detail. At the moment there is no possibility to enter the password exactly inside Creatio. Perhaps this can be implemented by custom development.



Regards,

Anton

Show all comments

I use apps for Creation https://marketplace.creatio.com/app/data-binding-tool-creation

An error appears in the console after trying to link the column settings for a part. What could this be related to?

Like 0

Like

1 comments

Hello Vlad!

I have successfully bound list settings on CRM Creatio 8.0.8 using this add-on on my side. Please, provide more details so that we can reproduce your issue:

1. Which Creatio product and version do you use?

2. Did you save the list settings for all users before binding these settings? 3. List settings for which section or detail did you try to bind?

Show all comments

Question about secure access to the portal.

https://academy.creatio.com/docs/user/on_site_deployment/deployment_add…

According to the article, it is recommended to disable login for non-portal users on the portal server, which means that even the Supervisor will not be able to log in.

How to compile the portal application?

Like 0

Like

1 comments

Good day,

 

Thank you for your question.

In this case, we recommend treating the portal application as a node of the web farm.

So basically, you just do all of the changes on your main node, then just transfer compiled and ready-to-go main node to your portal node.

 

Here is a separate answer that describes the steps on deployment for web farms in greater detail - https://community.creatio.com/questions/haproxy-site-installation-horiz…

 

Thank you.

Show all comments

Hi, i  am trying to implement a timer countdown in a field of a section. can someone give any suggestion how we can setup a countdown timer. i am using 7.18 version. 

I can see in 8:0 update to add a countdown timer a component is added. but our requirement is to set countdown timer to a specific field. can someone help

Like 0

Like

3 comments

Hello,

 

Unfortunately, this is only available in the new UI. If you want to configure "countdown" you can update and configure according to this documentation: 

https://academy.creatio.com/docs/user/nocode_platform/element_setup_exa…



Best regards,

Orkhan Gojaev

Can we create any business processs to solve this issue.

Alok Kumar,

 

Unfortunately we do not have such examples, we recommend that you upgrade to a newer version. 



Best regards,

Orkhan Gojaev

Show all comments

Hello,

Our forms are not sending entries to Creatio since yesterday or early this morning.

Anyone having the same issue?

Like 0

Like

4 comments

Hello,

 

Could you please elaborate a bit on the issue you have? Is there any specific error while using the functionality?

Anastasiia Zhuravel, WordPress auto-updated to 6.2 from 6.1.1 last night and since then, the entries are stuck in my wordpress database and not going into Creatio. I'm using Gravity Forms and I'm not seeing any error message. I also tested another form we use in Drupal 7 and these work fine

Hi Christelle,



Thank you for bringing this issue to our attention.

The connector you are referring to is no longer supported. As such, we have removed it from the Marketplace.

We recommend setting up the integration using the following functionality instead:

 

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

 

https://academy.creatio.com/docs/user/setup_and_administration/base_int…

Christelle Samson,

 

Hi Christellle,

 

 

We have found a new way to integrate WordPress forms using WP engine version 6.2 and upper. Please take a look at the article below. I hope this solution will be helpful for you.

HOW TO CONNECT WORDPRESS FORMS TO CREATIO

 

Show all comments