We use Creatio 7.18.

I am trying to setup a FastReport as part of which I am trying to populate a table with Reportees of the current user.

I used below to get current user id, but it returns “Supervisor” user (reference - https://community.creatio.com/questions/terrasoftsysvaluecurrentuservalue-equivalent-c).

Can anyone help with the correct way to get Current user Id in Source Code for Data Provider class to setup FastReport?

 

var appConnection = HttpContext.Current.Application["AppConnection"] as AppConnection;

var currentUser = appConnection.SystemUserConnection.CurrentUser;

var userId = currentUser.Id;

Like 0

Like

2 comments

App connection always returns "Supervisor" since this user is a system operations user. If you need to get the current user who manually triggered report generation and the custom code you need to use the same approach but with using UserConnection instead of appConnection (as Ryan described in his first example):

var currentUser = UserConnection.CurrentUser;
var userId = currentUser.Id;
var userName = currentUser.Name;

Or maybe I didn't understand the required result:)

Oleg Drobina,

My bad! I misunderstood his statement. Since I was trying it out in a source code schema and not a script task, I only tried using the 2nd method. The 1st method correctly returns the required information. Thanks for pointing that out, Oleg!

Show all comments

Dear mates,

In one of our dashboard block, i want to display the sum of the opportunity value.

It works fine, but the currency is $

How can i change it to € ?

Thank you !

Nicolas

Like 0

Like

1 comments

Hello,



I am using the "Creating quotes for opportunities" addon on Creatio 8.0.5.

I just noticed that quote products are not visible to standard users, only to system administrators...



Here is my test case :

- Creation of an opportunity with products as a standard user



- Launch of the "New quote" process



- Input of quote data and quote save

=> The products of the opportunity are not visible on the quote



- Reopening quote from the opportunity

=> The products of the opportunity are still not visible on the quote



- Launch of the quote edition with the default Word printable

=> The quote edition does not contain the product lines



- Modification of quote rights to make it accessible to "All employees"

=> The products of the opportunity are still not visible on the quote



- Standard user logout from Creatio



- Login as system administrator



- Reopening of the quote created by the standard user

=> The products of the opportunity are visible on the quote window

=> The quote Word printable contain the product lines



I did this same test case on an old Creatio test website in version 7.18.5 (I'm on a on-premise installation), as well as on a cloud trial version of Creatio in 8.0.6, I reproduce this same behavior .



Has this incident been observed before?

Is there a flaw in my test case?



Thanks in advance.



Vincent

Like 0

Like

2 comments
Best reply

Hello team,

 

I found the source of my problem!



The problem was at the level of an inheritance of rights on OpportunityProductInterest table, the rights were linked to the Opportunity table...

The archive rows being linked to the Quotes table, this was a problem...

I removed the inheritance and everything is back to normal.

 

Vincent

Hello

 

I'm still stuck with this problem...

Anyone have an idea?

 

Vincent

Hello team,

 

I found the source of my problem!



The problem was at the level of an inheritance of rights on OpportunityProductInterest table, the rights were linked to the Opportunity table...

The archive rows being linked to the Quotes table, this was a problem...

I removed the inheritance and everything is back to normal.

 

Vincent

Show all comments

Hi,

 

I need to filter contact list that is displayed when logging a call activity through Section Actions Dashboard. Below is the code I have added for the same:

1. Replaced CallMessagePublisherPage

 define("CallMessagePublisherPage", ["ConfigurationConstants"],
	function(ConfigurationConstants) {
		return {
			entitySchemaName: "Activity",
			mixins: {},
			attributes: {
				"Contact": {
					"lookupListConfig": {
						"columns": ["Account"],
						"filters": [
							function() {
									var config = this.getListenerRecordData();
									var additionalInfo = config.additionalInfo;
									var account=additionalInfo.account.value;
									var filterGroup = Ext.create("Terrasoft.FilterGroup");
									if(account){
									filterGroup.add("ContactFilter",
										Terrasoft.createColumnFilterWithParameter(
											Terrasoft.ComparisonType.EQUAL,
											"Account",
											account,
											Terrasoft.DataValueType.LOOKUP)
											);
									}
									return filterGroup;
							}
							]
					}
				}
			},
			methods: {
						setDefaultCallDirection: function() {
							var query = this.Ext.create("Terrasoft.EntitySchemaQuery", {
								rootSchemaName: "CallDirection"
							});
							query.addColumn("Name");
							var recordId = ConfigurationConstants.Activity.ActivityCallDirection.Outgoing;
							query.getEntity(recordId, function(result) {
								this.setDefaultCallDirectionQueryHandler(result);
							}, this);
						}
					},
			diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
		};
	}
);

 

2. Replaced SectionActionsDashboard

  define("SectionActionsDashboard", ["SectionActionsDashboardResources"], function(resources) {
    return {
        methods: {
				onGetRecordInfoForPublisher: function() {
					var info = this.callParent(arguments);
					info.additionalInfo.account = this.getAccountEntityParameterValue(info.relationSchemaName);
					return info;
				},
				getAccountEntityParameterValue:function(relationSchemaName){
					switch(relationSchemaName){
						case "Lead":
							return this.getMasterEntityParameterValue("QualifiedAccount");
						case "Contact":
						case "Opportunity":
						case "Order":
							return this.getMasterEntityParameterValue("Account");
						case "Account":
							return {"value":this.getMasterEntityParameterValue("Id")};
						default:
							return {};
					}
 
				}
		}
    };
});

With above code, I get the below result in Account section when I open the window to select contact.

Above is the expected result. But when typing in the name on the lookup field instead of opening the selection window all contacts that match the text are displayed(not filtered by Account)

Any idea how to apply the same filter when pulling the list by typing in the lookup field?

 

Like 0

Like

2 comments
Best reply

Hi,

 

Please also add the following method to the CallMessagePublisherPage:

getLookupQuery: function(filterValue, columnName) {
					var esq = this.callParent(arguments);
					var filterGroup = this.getLookupQueryFilters(columnName);
					esq.filters.addItem(filterGroup);
					return esq;
				},

and refresh the page after that. This should result in the needed filtration in the list view of the lookup.

Hi,

 

Please also add the following method to the CallMessagePublisherPage:

getLookupQuery: function(filterValue, columnName) {
					var esq = this.callParent(arguments);
					var filterGroup = this.getLookupQueryFilters(columnName);
					esq.filters.addItem(filterGroup);
					return esq;
				},

and refresh the page after that. This should result in the needed filtration in the list view of the lookup.

That works, thank you!

Show all comments

Good day!


I need help to understand an error during install of package.

Terrasoft.Core.Packages.Exceptions.InvalidDescriptorInFileSystemException: Invalid discripter: 
Reading of property "Type" is not supported 
Path: UsrTest ---> Terrasoft.Common.InvalidObjectStateException: Reading of property "Type" is not supported
   at Terrasoft.Core.Packages.PackageFileStorage.Read(DataReader reader, Package package) 
   at Terrasoft.Core.Packages.PackageFileStorage.b__201_0(JsonDataReader reader, Package package) 
   at Terrasoft.Core.Packages.PackageFileStorage.InitializeDescriptor[T](Action2 initializeDescriptor, String descriptorFilePath, T descriptor) 
   at Terrasoft.Core.Packages.PackageFileStorage.CreatePackageDescriptorBasedOnDirectory(String directoryPath, Action2 initializeDescriptor) 
   --- End of inner exception stack trace --- 
   --- End of inner exception stack trace --- 
   at Terrasoft.Core.AppInstallation.Packages.Operations.PackageZipOperations.ThrowIfPackageStorageItemErrorsExist(PackageStorage packageStorage) 
   at Terrasoft.Core.AppInstallation.Packages.Operations.PackageZipOperations.Load() 
   at Terrasoft.Core.AppInstallation.Packages.Backup.ZipPackageBackupManager.ComposePackages(String sourcePackagesPath, String tempFilesPath) 
   at Terrasoft.Core.AppInstallation.Packages.Backup.ZipPackageBackupManager.CreateBackup(String sourcePackagesPath, String tempFilesPath, String backupPath, String code) 
   at Terrasoft.Core.ServiceModelContract.PackageInstaller.PackageInstallerServiceInternal.<>c__DisplayClass25_0.b__0() 
   at Terrasoft.Core.ServiceModelContract.PackageInstaller.BaseInstallerServiceInternal.InvokeWithLogging(Action action) 

Install log is in the attachment.



It works without any errors and is imported correctly in other systems (on versions higher).



Is there something I can change in the package? Or is it a problem in the system I import package in?   

How can I fix this?



Thank you in advance!

File attachments
Like 1

Like

2 comments

Hello,

 

The cause of the problem is the difference between the versions of websites of Сrеаtio that you used during the development of your package versus installation.

Kalymbet Anastasia,

Dear Anastasia, 



Thank you for expllanaition. Is there any possibility to make my package suitable for versions lower than original?

Show all comments

As head of sales

I want the discount not to be set for each contractor

because if the contractor is not a VIP, he cannot be granted a discount.

Criteria:

The discount may be greater than zero if the customer is a VIP

 

Can I do this with no-code tools?

Like 0

Like

1 comments

Have you tried hiding the field if the user is not a VIP?

Show all comments

Dear mates,

We are facing a problem since we are using Creatio (2019).

Occasionally, while in use, Creatio stays loading and becomes unresponsive.

If we open a new tab Creatio remains inaccessible.

We have to close the browser and reopen it to be able to access it again.

Currently we are using Chrome but the problem also happened with Firefox.

Do you also encounter this problem ?

Like 0

Like

2 comments

Hello, 



Please contact our support team (support@creatio.com) for further investigation. 



Best regards,

Bogdan

 

Bogdan,

Hello Bogdan,

I allready open several tickets without any solution.

I would like to know if other users of Creatio encounter or have encountered this problem.

I will open a ticket today with the timestamp of the problem.

Thank you,

Nicolas

Show all comments

Hi,



Creatio is majorly missing the ability to add sales targets in dashboards graphs. Would be great to see this in the near future.

4 comments

Hello Damien,



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.  

 

Thank you!



Best regards,

Bogdan

Bogdan,

 

Amazing a couple of clients as well as ourselves are in need of this functionality :)

sdfg,

 

Hello, 

 

As of now, such functionality is not implemented for the Dashboards specifically.  Could you provide us with a bit more details regarding your business task, so we could check whether it can be implemented?

 

Best regards, 

Anastasiia

Show all comments
Question

Hi all, 

 

I'm going to be sales business analyst certified (Advanced) so i know that there is an essay questions in the exam can i know hints or some of these question oh how can i practice on them please ?

 

thanks all 

Like 0

Like

1 comments

Dear Ibrahim,



Unfortunately, we cannot provide you with any hints as we do not know the questions.

All needed information can be found on Academy.



Best Regards,

Ivanna.

Show all comments

Hi all,

 

Quick question : when using the Competitor detail in the Opportunity section, an automatic message appears if the Supplier or Competitor product fields aren't filled in. I do not need this information though, how can I deactivate this message ?

 

Thanks in advance and have a lovely week !

Like 0

Like

1 comments

Hello,

 

You need to replace OpportunityCompetitorPageV2 of the Opportunity package and change this method:

From :

externalValidate: function() {
					if (!this.get("Supplier") &amp;&amp; !this.get("CompetitorProduct")) {
						var message = Ext.String.format(
							this.get("Resources.Strings.SupplierOrProductRequiredMessage"));
						this.showInformationDialog(message);
						return false;
					}
					return true;
				},

 

To:

externalValidate: function() {
					if (!this.get("Supplier") &amp;&amp; !this.get("CompetitorProduct")) {
 
						return true;
					}
					return true;
				},

After that you will not get the notification and will be able to save record on the competitors detail.

 

Regards,

Dean

Show all comments