Hello, can someone tell me what the process that assigns the Service to a case is called?

Like 0

Like

1 comments

Hello Angel,

The service value is predicted with the ML model "Case service prediction".

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

Hi community,

 

As an OOTB feature in Creatio Service, every case title is created following this logic :

 

Case #SR0000XXX: subject

 

Where SR00000XXX is given by the CaseCodeMask and the CaseLastNumber system setting. However, if I do not want the "subject" field to be in the title but, for example, I would have the customer name or another field, where can I change this logic ?

 

Many thanks for this clarification.

 

Best regards,

Jonathan

Like 0

Like

3 comments
Best reply

You can change that by overriding the getPageHeaderCaption function on CasePage.

For example, to display the case number and account name, add this function to the CasePage:

getPageHeaderCaption: function() {
    var number = this.get("Number"),
        account = this.get("Account");
 
    var title = "#" + number;
    if (account) {
        title += " " + account.displayName;
    }
    return title;
}

Ryan

Hello,

 

The logic of forming the page header caption is located in the CasePage schema (from the Case package) in the getPageHeaderCaption method. Here is the line of code that returns the end result:

return this.Ext.String.format(template, number, subject);

So you need to override the logic of this particular method in your custom package.

You can change that by overriding the getPageHeaderCaption function on CasePage.

For example, to display the case number and account name, add this function to the CasePage:

getPageHeaderCaption: function() {
    var number = this.get("Number"),
        account = this.get("Account");
 
    var title = "#" + number;
    if (account) {
        title += " " + account.displayName;
    }
    return title;
}

Ryan

Many thanks for your perfect answers ! Could not be better :)

Show all comments

Hello community,

 

I have developed a service in Creatio that will be called from third parties. The service is called successfully in postman but programmatically it doesn't work. The authentication works fine and returns status code 200 and the BPMCSRF cookie. When the third party tries to call the service it gives the following message "401 - Unauthorized: Access is denied due to invalid credentials."  How can we investigate this issue? Does Creatio offer a logging option so we can investigate the request and response or is there something else that we have forgotten during the implementation of this service?

Like 0

Like

1 comments

Hello,

 

Please try using OAuth authentication to work with your service.

More details on the academy website:

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

Show all comments

Hello Community,

I need the filter options of a customer portal page within regular sections. I need to hide the advanced filter menu from the section filtering menu.

Do you have any idea of how to do so?

 

Thank you in advance, have a nice day! 

Like 0

Like

2 comments
Best reply

Hello,

 

In the replaced BaseSectionV2 module you need to:

 

1) define the GetExtendedFilterConfig PTP message with the subscribe direction:

"GetExtendedFilterConfig": {
					mode: this.Terrasoft.MessageMode.PTP,
					direction: this.Terrasoft.MessageDirectionType.SUBSCRIBE
				}

2)  subscribe to the message:

subscribeSandboxEvents: function () {
					this.callParent(arguments);
					const quickFilterModuleId = this.getQuickFilterModuleId();
					this.sandbox.subscribe("GetExtendedFilterConfig", this.onGetCustomFilterConfig,
						this, [quickFilterModuleId]);
				},

3) in the onGetCustomFilterConfig method handler disable the advanced filtering:

onGetCustomFilterConfig: function() {
				return {
						hasExtendedMode: false
					};
			}

An example of the code used in the portal can be found in the BaseDataView module.

 

Best regards,

Oscar

Hello,

 

In the replaced BaseSectionV2 module you need to:

 

1) define the GetExtendedFilterConfig PTP message with the subscribe direction:

"GetExtendedFilterConfig": {
					mode: this.Terrasoft.MessageMode.PTP,
					direction: this.Terrasoft.MessageDirectionType.SUBSCRIBE
				}

2)  subscribe to the message:

subscribeSandboxEvents: function () {
					this.callParent(arguments);
					const quickFilterModuleId = this.getQuickFilterModuleId();
					this.sandbox.subscribe("GetExtendedFilterConfig", this.onGetCustomFilterConfig,
						this, [quickFilterModuleId]);
				},

3) in the onGetCustomFilterConfig method handler disable the advanced filtering:

onGetCustomFilterConfig: function() {
				return {
						hasExtendedMode: false
					};
			}

An example of the code used in the portal can be found in the BaseDataView module.

 

Best regards,

Oscar

Thank you Oleg Drobina!

Show all comments

Will be questions about Atlas on the theoretical exam in the Service Certification? 

Will the theoretical exam be from the Service Creatio analyst self-assessment?

Like 0

Like

1 comments
Best reply

Dear Khaled,

 

There is only one question about Atlas release in the current certification/recertification exam. All self-assessments have been updated to reflect the questions to be expected during the certification/recertification exam: https://academy.creatio.com/self-assessment-tests?type=1&product=Market…

 

We recommend passing the self-assessment test a couple of times in preparation for the actual exam.

 

Best regards,

Anastasiia

 

Dear Khaled,

 

There is only one question about Atlas release in the current certification/recertification exam. All self-assessments have been updated to reflect the questions to be expected during the certification/recertification exam: https://academy.creatio.com/self-assessment-tests?type=1&product=Market…

 

We recommend passing the self-assessment test a couple of times in preparation for the actual exam.

 

Best regards,

Anastasiia

 

Show all comments

Hello community,

 

I am trying to implement a service for portal and system users using the documentation in https://academy.creatio.com/docs/8-0/developer/application_components/portal/self_service_portal/overview

 

The service has the following code:

using Terrasoft.Web.Common;
using Terrasoft.Web.Common.ServiceRouting;
 
[ServiceContract]
[DefaultServiceRoute]
[SspServiceRoute]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class Service1 : BaseService
{ 
       //Code
}

For system users the service works fine but when I try to access the service from postman authenticated as a portal user I get the following message : "IS 10.0 Detailed Error - 403.0 - Access to non-SSP API is denied for portal users" with 403 status code. Is something that I am missing in the service implementation or in web.config?

Like 0

Like

2 comments

Hello!

 

Ensure that you add the /ssp prefix to the route when making a request as a portal user.

A feature called "EnableCustomPrefixRouteApi" enables web services custom routing and restricts SSP user access services without the /ssp prefix.

In order to enable it you need to run the following script in the database:

 

INSERT INTO AdminUnitFeatureState (SysAdminUnitId,FeatureState,FeatureId)

VALUES ('720B771C-E7A7-4F31-9CFB-52CD21C3739F',1,'17ED5BE9-CA87-42A4-A761-3466DBABF925')

 

Another feature called "UsePortalDataService" divides services into the portal and non-portal ones. To enable it run the following script:

 

INSERT INTO AdminUnitFeatureState (id, SysAdminUnitId, FeatureState, FeatureId)

VALUES (newid(), '720B771C-E7A7-4F31-9CFB-52CD21C3739F', 1, '45D7102E-42D5-4E61-ADF8-77F00CD2F3E8')

 

So make sure you are using the /ssp prefix and both features are active in the system.

 

Best regards,

Max.

We also suggest replacing 

[DefaultServiceRoute]
[SspServiceRoute]

with

 

[DefaultServiceRoute, SspServiceRoute]

 

Best regards,

Max.

Show all comments

Does the Atlas version will be in the technical exam, if yes what about enable approvals and business rules ?!  

Like 1

Like

1 comments
Best reply

Hello Sayed,

 

As of right now, we do not expect the certification participants to complete the assignment using Atlas version tools.

Hello Sayed,

 

As of right now, we do not expect the certification participants to complete the assignment using Atlas version tools.

Show all comments

Hi

I have an existing process which when an email is sent associated with a case it will update the Modified On value to the time the email was sent. This is useful as it allows us to track that a case is being updated.

I would like to include the ability for the Modified On date of the case to be updated if someone adds a Feed note. 

I have however not been able to find a way of adding a source signal, which has the filter in it to only be for feeds added to cases.

Anyone able to give me a steer on how I can achieve this please.

 

thanks

 

 

Like 0

Like

2 comments

Is this not possible to achieve?

Hi Mark,



You can make process on Message/comment added

But you will have Id's of your schema (these are for Activities)



Show all comments

Hi,

Can anyone assist with this installation failure for the ITSM for Service Creatio marketplace add in?

 

Our version is 7.18.3 but that was not in the list below.

File attachments
Like 0

Like

3 comments

Hi!

We reviewed this add-on and fixed the problem.

You can install the latest version with fix on this page:

 

https://marketplace.creatio.com/app/itsm-service-creatio

Hi, I installed and didn't get some features mentioned in the manual, for example the "Dependence of case priority on urgency and impact level" lookup isn' installed, and also cannot add it, so this object isn't in the package, so when add urgency and case impact Priority didn't change as docummented

 

Have some package update?

 

Thanks

Hi Julio,



We have reviewed this solution. It is deprecated, not supported, and does not meet the current Marketplace requirements. We have removed this app from the Marketplace and do not recommend using it.

That you for bringing this to our attention.

 

We are going to publish a new Banza ITMS box for Creatio solution in the near future. I believe that solution will cover your needs. You can learn more about it in the Coming soon section.

Show all comments