We are running out of space for buttons in the usual places.  We have removed the icons in the communications panel at the top of the Actions Dashboard (see this article).  Is there any way to add buttons back in?

I have tried adding a button setting 'parentName' to "CaseSectionActionsDashboardMainContainerContainer" without success.

Thanks,

Like 0

Like

3 comments

Please clarify your task: do you need to return the buttons that were removed from the Actions Dashboard or do you need to add some new buttons there? Maybe you could share some image of what it should look like?

Oscar Dylan,

We need to add some new buttons.  We have removed the facebook, telegram, message and other buttons (which are actually tabs I think) from the Actions Dashboard, is it at all possible though to put a 'Terrasoft.ViewItemType.BUTTON' in their place?

Gareth Osler,

 

It's not possible exactly in the tabs (you are right, Email, Call, Activity etc. on the actions dashobard are tabs), but there are elements like ActualDcmSchemaInformationButton button and PlaybookButton button that are inserted to the RightHeaderActionContainer element of the SectionActionsDashboard and you can use those as an example. Additionally to it, if you ran out of space on the page you can always add additional buttons to the "Actions" button (override the getActions method on the edit page schema) and call the logic needed from these buttons.

Show all comments

Hi community,

 

Hope all are keeping well!

 

Does anyone know if we can remove some of the sections from Mail panel as in the attached picture if we're not using

 

Please kindly advise what can be done

Many thanks

File attachments
Like 0

Like

1 comments
Best reply

Dear Minh, 



If you don't use some of these connections at all you can delete connection between activity and connected object in EntityConnection table. 



In case if you still want to use some of the connections from the list for other Activity Types you can try to override method responsible for forming this dropdown. 

In OOB it's defined in EntityConnectionLinksUtilities mixin. And loadEntityConnectionColumns is the method that loads these column.

The list is being formed with an ESQ and you can try to change the filter condition for it in overriden mixin.



Kind regards,

Roman

Dear Minh, 



If you don't use some of these connections at all you can delete connection between activity and connected object in EntityConnection table. 



In case if you still want to use some of the connections from the list for other Activity Types you can try to override method responsible for forming this dropdown. 

In OOB it's defined in EntityConnectionLinksUtilities mixin. And loadEntityConnectionColumns is the method that loads these column.

The list is being formed with an ESQ and you can try to change the filter condition for it in overriden mixin.



Kind regards,

Roman

Show all comments

Hello Creatio Community !

In want to bind a specific product , and its product features (ex Term,months , amount, Currency etc).Which are the objects involved in this process for successful binding ?

Like 0

Like

1 comments

Hi Perrika,



You can find all the necessary information in the corresponding article here and here.



Best regards,

Bogdan

 

Show all comments

Hello Creatio Community !

When recieving emails, I have to constantly click the "Synchronise Email", in order to keep recieving the emails. Is this some kind of bug, or update issue ? Because emails in the system should arrive constantly without  clicking the "Synchronise Email".

Like 0

Like

1 comments

Hello Petrika,

 

In order to resolve the said issue, could you please contact our support team?

Please send us an email at support@creatio.com.

 

Thank you,

Artem.

Show all comments

Hi Community,

 

We have this requirement from our client to redirect the Account Page to Account Section after 2 minutes. So basically on load on Account Page I will trigger a timer then after 2 minutes I will redirect it to Account Section. Any idea please? Thank

Like 0

Like

4 comments

Something like this could work:

onEntityInitialized: function() {
    this.callParent(arguments);
 
    var self = this;
    setTimeout(function() {
        self.sandbox.publish("PushHistoryState", { hash: "SectionModuleV2/AccountSectionV2" });
    }, 120000);
}

However, if the user is in the middle of changing the record it could leave things unsaved. Might be a good idea to check and save record before navigating away. 

Ryan

Ryan Farley,



Thank you Ryan. Maybe I need to check only the idle time. Do you have any idea how can I detect idle time in Edit page?

 

Fulgen Ninofranco,

You'd basically need to detect mouse or keyboard activity and reset your timer. Something like this (keep in mind none of this is tested, just ideas)

properties: {
    idleTime: 0,
    idleIntervalId: null
},
methods: {
    onEntityInitialized: function() {
        this.callParent(arguments);
 
        if (this.idleIntervalId) {
            clearInterval(this.idleIntervalId);
        }
 
        var self = this;
        this.idleTime = 0;
        this.idleIntervalId = setInterval(self.trackIdleTime, 60000);
 
        $(document).mousemove(function (e) {
            self.idleTime = 0;
        });
        $(document).keypress(function (e) {
            self.idleTime = 0;
        });
    },
 
    trackIdleTime: function() {
        this.idleTime++;
        if (this.idleTime >= 2) {
            // 2 mins idle, nav back to section
            this.sandbox.publish("PushHistoryState", { hash: "SectionModuleV2/AccountSectionV2" });
        }
    }
}

Again, none of that is tested, but that's the general idea - or something like that.

You'd probably need to call this at some point, maybe in the page's destroy method to stop the interval from checking:

clearInterval(this.idleIntervalId);
 
// and maybe these?
$(document).unbind("mousemove");
$(document).unbind("keypress");

Anyway, hope this gets you closer to implementing the task.

Ryan

Ryan Farley,

 

Thank you so much Ryan. This is working fine.

Show all comments

Hello community,

 

I need to filter a detail grid in order to show only a specific type of object.

To be more precise: the detail CI Users displays Contacts and Accounts...

Has anybody done anything similar and could you provide me with a code sample?

 

Thank you in advance, have a nice day

Like 0

Like

3 comments
Best reply

If you'd like to filter out the record, rather than just hide them, you can filter the detail using a filter method. I have outlined how to do that here: https://customerfx.com/article/filtering-a-detail-list-in-creatio-forme…

Ryan

Solved like this: 

methods: {
			prepareResponseCollectionItem: function(item) {
				var account = item.$Account && item.$Account.value; 
				debugger;
				if(account){
					item.customStyle = {
						"display":"none"
					}
				}
			}
		},

 

If you'd like to filter out the record, rather than just hide them, you can filter the detail using a filter method. I have outlined how to do that here: https://customerfx.com/article/filtering-a-detail-list-in-creatio-forme…

Ryan

Thank you Ryan!

Show all comments

Hi Community,

I have a requirement that an error message will populate once you save a record in details section with a record no which is already exists. The error message format is like "Settlement ID is already exists with record no 1001(where 1001 is the record no of parent record)".

Here is the code below that I have written.

define("AMDSchema09eec6a7Page", [], function() {
	return {
		entitySchemaName: "AMDSettlement",
		attributes: {},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			/*setValidationConfig: function() {
                // This calls the initialization of validators for the parent view model.
                this.callParent(arguments);
                this.addColumnValidator("AMDSettlementID", this.SettlementIDDuplicateValidator);
            },*/
			save: function(){
				var currentvalue = this.get("AMDSettlementID");
				var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "AMDSettlement" });
				esq.addColumn("AMDSettlementID");
				esq.addColumn("AMDClaims");
				esq.filters.add("AMDSettlementID", Terrasoft.createColumnFilterWithParameter(
  					Terrasoft.ComparisonType.EQUAL, "AMDSettlementID", currentvalue));
				esq.getEntityCollection(function(response) {
  					if (response && response.success) {
						console.log("Test ",response);
   						var result = response.collection.collection.length;
						if (result > 0)
							{Terrasoft.showErrorMessage("Settlement ID {result} already Exists");
							return false;}
						else{
							return true;}
						}
 					}, this);
				}
			},

So I need a syntax in "Terrasoft.showErrorMessage()" which will read the column value from the console page(read from rowConfig) . Below adding the picture of console page.

 

 

Best Regards,

Jagan

 

 

 

Like 0

Like

3 comments

Hi Jagan,

 

In your part of code:

Terrasoft.showErrorMessage("Settlement ID {result} already Exists")

you need to pass something to this {result} in the following manner (standard JavaScript):

Terrasoft.showErrorMessage(`Settlement ID ${result} already Exists`)

and the result should be formed according to your business task. If you need to understand what to pass to the result - debug the code, set the breakpoint before showing this error message and in the console itself check what is passed and how to get to the values needed. You will be able to find out what should be passed in the console directly.

 

Best regards,

Oscar

Hi.

 

In addition to the Oscar comment please as well read this post regarding async validation i think You would like to achieve:

 

https://community.creatio.com/questions/overriding-save-function

 

Best regards,

Marcin

Oscar Dylan,

Hi Oscar,

In the above code the error message is coming when you create a record with existing record no but if you create a record with different record no it is not getting saved. Could anyone help me what is wrong with the code.

 

Regards,

Jagan

Show all comments

Hi,



We would like to send a dashboard, monthly as pdf per email with a process. Any ideas how this can be done ?



Cheers,



Damien

Like 1

Like

2 comments

Hello Damien,

 

Unfortunately, there is no such functionality in our system to export dashboards in PDF format.



We have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority.  



Best regards,

Bogdan

Hello Bogdan,

Are you planning to add the functionality to export dashboards or reports to PDF format?

 

 

Show all comments

Hi Creatio Community

I have created a custom attachment object which is sitting in a detail.

While trying to use the "Process File" element in a business process, I am unable to see that "custom attachment object" in the "Which object to receive file from?" dropdown list.

I need to trigger a business process whenever a new file is added in that custom attachment object, and then use that file as an email attachment in the Send email element.

 

Can you help me figure out how can I read the files present in that custom attachment object in a business process?

 

Thank You.

 

Like 0

Like

1 comments

Hi Nisarg,

 

Please check this Marketplace solution. I believe it has the exact functionality you are looking for.

 

Best regards,

Bogdan 

Show all comments

Can someone help please?

 

Trying to add Invoice payment schedule from the marketplace, error in deployment - Dependent package "Passport" not found

2022-04-04 12:27:07,260 System.ApplicationException: Dependent package "Passport" not found
   at Terrasoft.Core.Packages.PackageDBStorage.SavePackageDependencies(Package package)
   at Terrasoft.Core.Packages.PackageDBStorage.SaveDependencies()
   at Terrasoft.Core.Packages.PackageDBStorage.Save(IPackageContentProvider packageContentProvider)
   at Terrasoft.Core.Applications.Packages.Operations.SystemPackageOperations.PackageDBStorageInternal.Save(IPackageContentProvider packageContentProvider)
   at Terrasoft.Core.Applications.Packages.Operations.SystemPackageOperations.Save(IEnumerable`1 packages, PackageInstallOptions options)
   at Terrasoft.Core.Applications.Packages.SystemPackageManager.Save(PackageInstallOptions installOptions)
   at Terrasoft.Core.Applications.Installation.AppInstaller.Install(String sourcePath, String destinationPath, PackageInstallOptions installOptions, IInstalledAppInfo installedAppInfo)
   at Terrasoft.Core.ServiceModelContract.PackageInstaller.AppInstallerServiceInternal.<>c__DisplayClass10_0.<InstallApp>b__0()
   at Terrasoft.Core.ServiceModelContract.PackageInstaller.BaseInstallerServiceInternal.InvokeWithLogging[TResult](Func`1 action)

https://marketplace.creatio.com/app/invoice-payment-schedule-creatio

 

Like 0

Like

6 comments

Hi Nicola,

 

What Creatio edition You have ?

 

This addon required one of Sales Enterprise or Sales Commerce according to marketplace link in tab Installation.

 

Best regards,

Marcin

Hi

 

bpmonline sales team, so I expect this should be correct?

Is anyone able to help, please?

Hi Nicola,

The app is only compatible with commerce and enterprise editions of Sales Creatio. Sales Creatio, team edition, doesn't have all of the required packages for the app's correct operation.

I'm confident we have an enterprise licence, how do I confirm this, I cannot find it in the application

Nicola Wall,

Hi Nicola!

I recommend you contact support so that they recheck your licenses and app type.

Show all comments