Hello,

We would like to add the City of an Account in the Visit Scheduler container. How can that be achieved ?

Thank you

Sasori

Like 0

Like

8 comments

Hello team,

Any update on this ?

Sasori Oshigaki,

Hello,

This title is composed in the schema ActivitySectionGridRowViewModel and its method getScheduleItemTitle and if you want to change the title, you need to modify this method. Keep in mind that you cannot simply override schema ActivitySectionGridRowViewModel, you need to write a new nodule with a code similar to ActivitySectionGridRowViewModel with the exception of the needed method and connect your new schema to the base schemas similar to an old ActivitySectionGridRowViewModel

Hi Creatio,

I have managed to retreive the City Valye.

My last hurdle is how to set the retrieved city string value to a global attribute inside the ESQ, because as you know ESQ is aysnc.

 

This is the Global attribute:

attributes: {
		"CityNameEsq": {
		dataValueType: this.Terrasoft.DataValueType.TEXT,
		type: this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN
		}	
	},

This is the method:

getScheduleItemTitle: function() {
		    this.callParent(arguments);
			var title = this.get("Title");
			var account = this.get("Account");
			var accountGuid = this.get("Account").value;
 
				var recordId = this.get("Account").value;
					var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
						rootSchemaName: "Account"
					});
					esq.addColumn("City.Name", "CityName");
					esq.getEntity(recordId, function(result) {
						if (!result.success) {
							// For example, error processing/logging.
							this.showInformationDialog("Data query error");
							return;
						}
						this.set("CityNameEsq", result.entity.get("CityName"));

Sasori Oshigaki,



Here is a sample to get the result of an asynchronous function using Terrasoft.chain

getMyEntity: function(callback) {
    var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
        rootSchemaName: schemaName
    });
    ...
    esq.getEntity(recordId, function(response) {
        ...
        if (callback) {
            callback.call(this);
        }
    }, this)
},
globalMethod: function() {
    Terrasoft.chain(
        function(next) {
            this.getMyEntity(function() {
                next();
            });
        },
        function() {
            this.doAfterGettingEntity();
        },
        this
    );
}

Also, please check this article's getentity method to synchronous!



 

 

BR,

Bhoobalan Palanivelu.

Bhoobalan Palanivelu,

Thank you very much Bhoobalan. As always you help is much appreciated.

I am still not getting the wanted result.

Here is the entire module code

define("SasActivitySectionGridRowViewModel", ["ActivitySectionGridRowViewModel","ActivitySectionGridRowViewModelResources"
	],
		function() {
 
	/**
	 * @class Terrasoft.configuration.ActivitySectionGridRowViewModel
	 */
	Ext.define("Terrasoft.configuration.SasActivitySectionGridRowViewModel", {
		alternateClassName: "Terrasoft.SasActivitySectionGridRowViewModel",
        override: "Terrasoft.ActivitySectionGridRowViewModel",
	    attributes: {
					"CityNameEsq": {
						dataValueType: this.Terrasoft.DataValueType.TEXT,
						type: this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN
					}
 
				},
		/**
		 * ########## ######## ######### ######## # ##########.
		 * @return {String} ######## ######### ######## # ##########.
		 */	
		getScheduleItemTitle: function() {
			Terrasoft.chain(
			function(next) {
				this.GetCityName(function() {
					next();
				});
			},
				function() {
				this.getTitleInfo();
			},
			this
		);
		},
 
		GetCityName: function(callback)
		{
			debugger;
			var recordId = this.get("Account").value;
			var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
				rootSchemaName: "Account"
			});
			esq.addColumn("City.Name", "CityName");
			esq.getEntity(recordId, function(response) {
				if (!result.success) {
					this.showInformationDialog("Data query error");
					return;
				}
				this.set("CityNameEsq", result.entity.get("CityName"));
			}, this);
		},
 
		getTitleInfo: function()
		{
			var title = this.get("Title");
			var account = this.get("Account");
			var accountDisplayValue = (account) ? account.displayValue + ": " : "";
			return Ext.String.format("{0}{1}", accountDisplayValue, title,this.get("CityNameEsq"));
		}
 
	});
 
	return Terrasoft.SasActivitySectionGridRowViewModel;
});

What am in doing wrong here. Because i get

Sasori Oshigaki,



Can you please try to add in this method  getScheduleItemTitle: function()

 this.callParent(arguments);

 

Hi Bhoobalan,

Still getting the same result

after applying 

this.callParent(arguments);
	getScheduleItemTitle: function() {
			this.callParent(arguments);
			Terrasoft.chain(
			function(next) {
				this.GetCityName(function() {
					next();
				});
			},
				function() {
				this.getTitleInfo();
			},
			this
		);
 
		},

 

The esq async logic may be pretty complicated. if you have a debug mode enabled, please turn it off, this may fix the issue. If it, not the case, try to change the title in the method getScheduleItemTitle without using ESQ by setting some test value, maybe the problem isn't in the async logic but in the method itself.

Show all comments

Hi community,

To show conversion rate in dashboard we use sales pipeline. Is there a way to show conversion rate without sales pipeline. For example "To show conversion rate in leads between qualification to closed won". Is there a way to implement it. Also suggest best chart to do this.

Thanks in advance.

 

Regards,

Manideep Korni

Like 1

Like

2 comments

Hello Korni,

 

As I understand your need - you want the same info that the pipeline contains, but to be displayed in a different way. In the pipeline, the general data is just being calculated in a specific way. What you can do is create a new dashboard with the same calculation mechanism. The sales pipeline is just a classical view of this kind of chart with pre-calculations done in the background.

 

Please check the article below to see the details of how the formula should be built:

https://academy.creatio.com/docs/user/sales_tools/long_sales/sales_pipe…

 

Best Regards,

Dan

Hi Manideep, 



I always like to show the conversion rate as a metric. It's not possible with OOTB tools, but you can use the marketplace app below. 

 

Here you can simply do the calculation of conversion rate (however that might be in your case), then display it. 



https://marketplace.creatio.com/app/calculated-metrics-creatio 



Note: Currently this will only work on classic UI pages without development.

Show all comments

Hi community,

 

I want to implement "SalesPipeline" chart with custom column in lead section. By default it is tagged to the Column "Qualify status". But Iam using my own custom column "UsrLeadOpportunityStages" to define lead stages in my project. I can try with normal pipeline graph but also I want to implement the stage conversion rate, just like shown in the picture.

Is there a way implement.

Thanks in advance.



Regards,

Manideep Korni

Like 2

Like

4 comments

Hello,



I believe your business task could be achieved by this MarketPlace add-on,

Bogdan,



Thank you for your response. But this add-on will work only for opportunity section. But I need this implementation in leads section.

If there is any other alternative. Please let me know

Thank you.

Regards,

Manideep Korni

Korni Manideep Reddy,

 

The full sales pipeline doesn't have the option to choose the object to build the dashboard by. Your dashboard can only be created using the development tools. 

 

We've registered it in our R&D team backlog for consideration and implementation in the future application releases.

 

Thank you for helping us to improve our product.

Hi Bogdan,

I also had a similar idea and could not see this having been developed and available OOTB. 

BR,

Jacek

Show all comments

Hi Community,

 

I am trying to add a fixed filter like "Owner" in Activities to a custom section. Below is the code I added for the same:

initFixedFiltersConfig: function() {
				var fixedFilterConfig = {
					entitySchema: this.entitySchema,
					filters: [
						{
							name: "Owner",
							caption: this.get("Resources.Strings.OwnerFilterCaption"),
							addOwnerCaption: this.get("Resources.Strings.AddEmployeeFilterCaption"),
							hint: this.get("Resources.Strings.SelectEmployeeFilterHint"),
							columnName: "customSectionColumn",
							dataValueType: this.Terrasoft.DataValueType.LOOKUP,
							filter: BaseFiltersGenerateModule.OwnerFilter
						}
					]
				};
				this.set("FixedFilterConfig", fixedFilterConfig);
			}

I can see the filter getting added to the section. But the labels are not getting displayed. Below picture shows the default labels getting displayed.

I have added the captions OwnerFilterCaption("Employee"), AddEmployeeFilterCaption("Add Employee"), and SelectEmployeeFilterHint("Select Employee") to Localizable Strings for the section but when debugging the values are returned as undefined for this.get("Resources.Strings.OwnerFilterCaption").

Could anyone tell me what I am doing wrong and how to resolve the issue?

 

Like 0

Like

2 comments

Hi,

Here is an example on adding a custom fixed filter.

Case description:

You need to add a custom fixed filter by column Type to the Contact section.

 

Algorithm of realization:

  1. Create replacing client schema for your section.
  2. Create localizable strings which will contain captions of the filter and menu item.
  3. Create image which will contain image of the filter.
  4. Source code of the "ContactSectionV2" :

define("ContactSectionV2", [], function() {
    return {
        entitySchemaName: "Contact",
        methods: {
            initFixedFiltersConfig: function () {
                var fixedFilterConfig = {
                    entitySchema: "ContactType",
                    filters: [
                        {
                            name: "TypeFilter",
                            columnName: "Type",
                            referenceSchemaName: "ContactType",
                            caption: this.get("Resources.Strings.ContactTypeFilterCaption"),
                            dataValueType: this.Terrasoft.DataValueType.LOOKUP,
                            appendCurrentContactMenuItem: false,
                            addNewFilterCaption: this.get("Resources.Strings.SelectContactTypeCaption"),
                            hint: this.get("Resources.Strings.SelectContactTypeCaption"),
                            buttonImageConfig: this.get("Resources.Images.ContactTypeFilterImage")
                        }
                    ]
                };
                this.set("FixedFilterConfig", fixedFilterConfig);
            }
        }
    };
});

The result:

Dmytro Vovchenko,

Thank you for your response. I compared with the code above and changed  "addOwnerCaption" to "addNewFilterCaption" and it works now. 

 

 

Show all comments

Hello!



We have several details on Portal (e.g. Product price, Contract and some custom ones).

When portal user double clicks on the record, edit page is opened.

 

But this happens only on Dev environment. When we install package to Test, it is not possible to open edit page there.

What data should be added to the package in order to open edit page for detail records?



Thank you

Like 0

Like

3 comments

As we have found, there are 2 records for one CardSchemaUId in SysModuleEdit:



Select * from "SysModuleEdit"

where "PageCaption" LIKE '%Contracts%'



So, it is necessary to bind the record, that doesn't exist in Test environment. And to this for all pages that should be opened from details



Maybe someone will give better explanation, but this works



Kind regards,

Vladimir

Hello Vladimir, 



What you did is bind the SysModuleEdit record for the page supposed to open for the portal section which was missing before. 

That's necessary to make sure you bound data from this table along with data from SysSchema, SysModuleEntity, SysModuleEntityInPortal and SysModule to make sure that the portal section and it's pages are correctly transferred. 



Kind regards,

Roman

Hello Roman,



we've got new issue with this. Currently page is opened with double click on portal in our dev and test environment (with demo license)

But not opened on customer environment (with real license).

 

So, that means, that all bindings are done, but something still necessary to do.

Do you have exact manual how to add detail with edit page to the Portal?



Thank you!

Show all comments

hello all,

is it possible to add an editable/free writeable table or list in the account section?

Like 0

Like

1 comments

Hello Jeremy, 

 

You can add the chart for the Account's section record, it will be available once the record page is opened. It can be done through the Section wizard same way as you add a new column, just choose the needed page element.  

Also, you can create a chart for the section here:

Inserting the chart in the list view of the standard section, however, will require additional development. 

 

Best regards,

Anastasiia

Show all comments

Hello Creatio team,

I try to create a Visit Activity, and i set the start time and due time

When i click Save, and reopen the record the due time is not 20:00 ( as i specified) but 18:00 (1 hr later from start time).

This happens only for activites of category visit

Any idea how to solve this ?

Like 0

Like

2 comments

do you have your Time Zone Set for your Profile?

Hello Keith.

I dont believe this is a Time-Zone problem.

For the same user, if I choose Activity of category Task, everytih works as it should be. 

Thanks

Show all comments

Hi team,

When i Create a new Activity of Category Visit:

The Edit Page opens

I want that when creating new records of Activity/ Category Visit the Mini Page always opens:

Thank you team,

Sasori

 

Like 0

Like

1 comments

Hello, 

If you check in the section wizard you can see that mini pages are enabled for the activities, however, for the visit, it is blocked.

It's because for the visit you must fill in the visit rule option inside a module window. 

But, when you click on the "New" button you won't see a visit rule selection or mini page, that is done on purpose because the system cannot open two module windows at the time. If you want to see a rule selection, disable the mini page in the section wizard.

If you want to open a mini page then you need to set a default business rule and then try to open a mini page.

Show all comments

Hello Creatio team,

How can i activate the Section Wizard option for the followin detail:

This feature is deactivated in the PlanningAccountDetailV2 schema part of Field package

I need to activate the wizard for this task:

Deactivate the filter that filters the accounts based on the selected employee.

Like 0

Like

2 comments
Best reply

Hello Sasori,

 

In order to deactive the filter based on employee it is just needed to click on the cross sign, and you will see all the accounts.

 

Alternatively you can create a replacing view model for the schema PlanningAccountDetailV2 and modify the method getFilters according to your needs.

 define("PlanningAccountDetailV2", [],

    function() {

        return {

            entitySchemaName: "Account",

            attributes: {},

            methods: {

                getFilters: function() {

                     this.callParent(arguments);

                    var filters = this.sandbox.publish("GetSectionFilters");

                    if (!this.Ext.isEmpty(filters.filtersValue)) {

                        this.setFilter(filters.key, filters.filtersValue);

                    }

                }},

            diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/

        };

    }

);

 

As for the section wizard, this whole detail was created with code, so it would be not possible to enable it. But the first option by clicking the cross sign would be the more simple one.

 

Best regards,

Dariy

 

Hello Sasori,

 

In order to deactive the filter based on employee it is just needed to click on the cross sign, and you will see all the accounts.

 

Alternatively you can create a replacing view model for the schema PlanningAccountDetailV2 and modify the method getFilters according to your needs.

 define("PlanningAccountDetailV2", [],

    function() {

        return {

            entitySchemaName: "Account",

            attributes: {},

            methods: {

                getFilters: function() {

                     this.callParent(arguments);

                    var filters = this.sandbox.publish("GetSectionFilters");

                    if (!this.Ext.isEmpty(filters.filtersValue)) {

                        this.setFilter(filters.key, filters.filtersValue);

                    }

                }},

            diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/

        };

    }

);

 

As for the section wizard, this whole detail was created with code, so it would be not possible to enable it. But the first option by clicking the cross sign would be the more simple one.

 

Best regards,

Dariy

 

Thank you very much Dariy.

Show all comments

Hello Creatio team,

i am trying to open an existing record in Opportunities.

When i open the record it redirects to a new one.

Why is this happening ?

Like 0

Like

1 comments

Hi!

 

To investigate this behavior, we ask you to submit a request to our team via support@creatio.com or the Success Portal. 

 

We'll need to access the instance remotely in order to help.

 

Thank you for your cooperation!

Show all comments