Hi community,

 

How can I automatically change the status of a case after a customer response? 

Out of the box, when a customer responds to a case, the status is changed to Reopened. I want to move the case to my custom status. How can I achieve this?

 

BR Paulina

Like 0

Like

1 comments
Best reply

Good day,

 

Currently, there is some hardcoded logic in the processes that make the case reopen itself. If you are absolutely sure that you are comfortable with a little bit of code rewriting you can absolutely change reopen stage to a custom one.

 

I will leave a link to an article that mentions the processes that you will have to alter here.

Alternatively, you could just rename the stage and build upon it.

 

Thank you,

Good day,

 

Currently, there is some hardcoded logic in the processes that make the case reopen itself. If you are absolutely sure that you are comfortable with a little bit of code rewriting you can absolutely change reopen stage to a custom one.

 

I will leave a link to an article that mentions the processes that you will have to alter here.

Alternatively, you could just rename the stage and build upon it.

 

Thank you,

Show all comments

Hi guys,

I am working on a custom "ContactFieldConverter" [the thing that splits the Contact's FullName imported by excel/ webserveces etc] in order to split new contact's names into "GivenName" and "Surname", and preventing the OOTB function from filling in the "MiddleName" column.

In order to do so, I created a custom ContactGsFieldConverter in my package and inserted the value of the Separator and Converter in the Lookup "ShowNamesBy" and sysSetting "ContactFieldConverter".

[myContactGsFieldConverter code:]

 

 namespace Terrasoft.Configuration {
	using System;
	using System.Linq;
	using System.Text;
	using Terrasoft.Common;
	using Terrasoft.Configuration;
 
	#region Class: myContactGsFieldConverter
 
	/// <summary>
	/// Contact "Full name" field converter class.
	/// Separates "Full name" string using "Given name Surname" rule.
	/// </summary>
	public class myContactGsFieldConverter : IContactFieldConverter
	{
 
		#region Properties: Public
 
		/// <summary>
		/// Contact "Full name" separator characters array.
		/// </summary>
		private char[] _separator = { ' ' };
		public char[] Separator {
			get {
				return _separator;
			}
			set {
				_separator = value;
			}
		}
 
		#endregion
 
		#region Methdos: Public
 
		/// <summary>
		/// <see cref="IContactFieldConverter.GetContactSgm"/>
		/// </summary>
		/// <remarks>
		/// After splitting <paramref name="name"/> first element will be used as <see cref="ContactSgm.GivenName"/>,
		/// Everything else as <see cref="ContactSgm.Surname"/>.
		/// </remarks>
		ContactSgm IContactFieldConverter.GetContactSgm(string name) {
			var sgm = new ContactSgm();
			if (string.IsNullOrEmpty(name)) {
				return sgm;
			}
 
			var array = name.Split(Separator, StringSplitOptions.RemoveEmptyEntries);
			switch (array.Length) {
				case 0:
					return sgm;
				case 1:
					sgm.GivenName = array[0];
					break;
				case 2:
					sgm.GivenName = array[0];
					sgm.Surname = array[1];
					break;
				default:
					sgm.GivenName = array[0];
					StringBuilder sb = new StringBuilder();
					for (var i = 1; i <= array.Length - 1; i++) {
						sb.AppendFormat("{0} ", array[i]);
					}
					sgm.Surname = sb.ToString().Trim();
					break;
			}
			return sgm;
		}
 
		/// <summary>
		/// <see cref="IContactFieldConverter.GetContactName"/>
		/// </summary>
		/// <remarks>
		/// "Full name" string will be created using "Given name [Middle name] Surname" rule.
		/// </remarks>
		public string GetContactName(ContactSgm sgm) {
			var concatChar = Separator.FirstOrDefault();
			return new[] { sgm.GivenName, sgm.MiddleName, sgm.Surname }.ConcatIfNotEmpty(concatChar.ToString());
		}
		#endregion
	}
	#endregion	
}

The converter is not working. I tried to debug and noticed that my contact converter is returned as null to [this is a method in the Contact c# object]: 

public virtual void SetSgm(Contact contact) {
			if (contact == null) {
				return;
			}
			contact.FillSgmFields(GetContactConverter());
		}

Do you know if I need to do something specific in case of separate-assembly package?

ie: Using a different namespace for the converter/ setting the converter path in a different way within the system setting/ recreate the method on the Contact Object in my custom package.





Thank you in advance!

Like 0

Like

4 comments

Hello Federica,

 

I just completed the test - convertor works in the assembly package as well. The code (since we don't need middle name) was:

namespace Terrasoft.Configuration {
    using System;
    using System.Linq;
    using System.Text;
    using Terrasoft.Common;
    #region Class: UsrCustomContactFieldConverter
    /// &lt;summary&gt;
    /// Contact "Full name" field converter class.
    /// Separates "Full name" string using "Surname Given name" rule.
    /// &lt;/summary&gt;
    public class UsrCustomContactFieldConverter : IContactFieldConverter
    {
        #region Properties: Public
        /// &lt;summary&gt;
        /// Contact "Full name" separator characters array.
        /// &lt;/summary&gt;
        private char[] _separator = { ' ' };
        public char[] Separator {
            get {
                return _separator;
            }
            set {
                _separator = value;
            }
        }
        #endregion
        #region Methdos: Public
        /// &lt;summary&gt;
        /// &lt;see cref="IContactFieldConverter.GetContactSgm"/&gt;
        /// &lt;/summary&gt;
        /// &lt;remarks&gt;
        /// After splitting &lt;paramref name="name"/&gt; first element will be used as &lt;see cref="ContactSgm.Surname"/&gt;,
        /// second element as &lt;see cref="ContactSgm.GivenName"/&gt;
        /// &lt;/remarks&gt;
        ContactSgm IContactFieldConverter.GetContactSgm(string name) {
			var sgm = new ContactSgm();
			if (string.IsNullOrEmpty(name)) {
				return sgm;
			}
			var array = name.Split(Separator, StringSplitOptions.RemoveEmptyEntries);
			switch (array.Length) {
				case 0:
					return sgm;
				case 1:
					sgm.GivenName = array[0];
					break;
				default:
					sgm.GivenName = array[0];
					sgm.Surname = array[1];
					break;
			}
			return sgm;
		}
        /// &lt;summary&gt;
        /// &lt;see cref="IContactFieldConverter.GetContactName"/&gt;
        /// &lt;/summary&gt;
        /// &lt;remarks&gt;
        /// "Full name" string will be created using "Surname Given name" rule.
        /// &lt;/remarks&gt;
        public string GetContactName(ContactSgm sgm) {
            var concatChar = Separator.FirstOrDefault();
            return new[] { sgm.Surname, sgm.GivenName }.ConcatIfNotEmpty(concatChar.ToString());
        }
        #endregion
    }
    #endregion
 
}

and then this convertor was registered in the database (ShowNamesBy table). As a result newly created contacts where full name is Test 1 2 had the first (Test) and last (1) name only while middle name was skipped.

Hi Oleg Drobina,

Could you share with me the record registered in the database table ShowNamesBy for a separate assembly pkg?

Hence, in case the site receives a Contact "Name": "Federica Rose Cattani" I don't want to "lose" the "MiddleName" but I want it to be concat to the "Surname". That's what I did in the converter shared. 

Federica,

 

Hi,

 

Sorry, I guess I was wrong with the package. Tested the same approach today and it didn't work until I unchecked the "Compile into separate assembly" checkbox in the package settings. So in your case you need to also do the same to make the converter work.

 

The insert was:

INSERT INTO ShowNamesBy (Name, Separator, Converter) VALUES (N'UsrCustomContactFieldConverter', N' .,;', N'Terrasoft.Configuration.UsrCustomContactFieldConverter');

 

Oleg Drobina,

Ok! In my case I can't "undo" the separate assembly since it contains customer's implementation and separate assembly it's way faster to compile.

The actual possible workaround would be to implement a second package without separate assembly containing only the custom ContactGsFieldConverter, am I correct?

Show all comments

Hello,

 

I am willing to add a process for validation on Save for the Case object as shown in figure attached.

 

Any insights please?

 

Thanks,

Like 0

Like

1 comments

Hello,

 

The following instructions can help you to achieve the result you are looking for: validators schema section

 

Show all comments

Hello Community

I have two queues(Sales queue,verification queue).When i change the dcm stage to Nurturing it is adding to sales queue and when i change the stage to Awaiting sale it is adding to verification queue as expected . But when i change the stage to Not interested it is not added to the sales queue. Is it possible to add two stages to one queue. If so let me know.

TIA. 

File attachments
Like 2

Like

3 comments

Hello!

 

Sure, you should change the filter in  "Sales" queue.

You can select several stages by clicking on the lookup (simply click on "Nurturing") in the filter settings.

Please find the video on how to do it for the case stage here:

Best regards,

Kate

 

Hi Kate,

 

I have done the same, you can find it in the below image. But when the DCM stage is changed to Not Interested it is not adding to sales queue.

Hello Manne Pavan kumar,

 

Thank you for your feedback.

Please try restarting the queue to apply the filter.

For example, do the following:

1) Change the status to "Planned".

2) Save.

3) Change the status to "In progress"

4) Save.

 

Best regards,

Kate

Show all comments

Hello,

 

Can you advise how I would go about binding my custom excel reports to a package? There is no 'bind data' option on the excel reports section.

 

Thanks

Like 0

Like

1 comments

 

Hi Lewis,

 

I understand that you would like to bind custom reports from Excel reports builder to Creatio.

In that case, you have to bind data from three main objects (see the attached screenshot) using out-of-the-box data binding tools.

To bind columns and filters setup to Excel report, you have to bind data from SysProfileData table where key like 'IntExcelReportFilterDetail' or key like 'IntExcelReportPageIntRelatedSchemasDetail'.

 

 

Show all comments

Hello,

 

While working in a package, it happens that when I modify object permissions, the modifications are saved to package "Custom" even though I set current package value as my package.

 

Can you please walk me through to remedy to this issue?

 

Thanks,

Like 0

Like

3 comments

Hello Mariam,

 

According to the application logic, the changes in the access rights always generate the replacing object in the Custom package, regardless the one you have in the Current package.

 

We are aware of that and working hard to fix that in our future releases. 

 

 

Hello Kyrylo,

 

Thank you for your response,

 

In this case, how to proceed in order to add changes to my package for transfer between environments?

 

Thanks,

mariam moufaddal,

if you switch on Access rights in your package in configurator, these changes will be transfered with your package

Kind regards,

Vladimir

Show all comments

Hello,

 

I am willing to change publish button caption. any ideas how can we do this? I tried to override the module but in vain.

 

Like 0

Like

1 comments

Hello,

If you want to change the caption of the publish button then you need to create a replacing schema of BaseMessagePublisherPage and in it change the value of the PublishButtonCaption localizable string

 

Show all comments

Hi, community,

 

I am getting this error message when adding a new object to the "List of Objects Available for portal Users" Lookup.

 

 

 

Like 0

Like

1 comments

Hello Andreia, 

 

Please contact us at support@creatio.com to address this question. 

 

Best Regards, 

Igor

Show all comments

Hi all,

I have an issue when publishing any objects since a while. The error occured after a timeout issue when registering a new section via the assistant.

The mentionned object has never been created.

How can I solve the issue ? I have access to the database.

 

Best regards,

Franck

Like 0

Like

1 comments

Dear Franck,

To help you with this error we need to investigate the issue and analyze the configuration of the application.

So, please, send a letter to support and we will help you.

Best regards, Alex.

Show all comments

Hi,

 

We use Creatio cases for our customer support service desk function. I am looking at having a report which will allow us to view the metrics around SLA breaches. This is a common requirement, where we can identify the cases in a given period that exceeded the SLA parameters for response time and resolution time.

 

This should contain the following detail:

  • Case
  • Account
  • Case Created Date/Time
  • Case Closed Date/Time
  • Case Response Time exceeded time
    • This should be in Hours/Mins
  • Case Resolution Time exceeded time
    • This should be in Days/Hours/Mins

The report will only show cases that have breached the SLA within the dynamically selected time period e.g. Last Month or This Week etc.

 

I am hoping that someone has already created such a report, but I have not been able to identify how to put this together within Creatio Dashboard. Note, I have just installed the PowerBI capability and have started to play with this, as an alternative reporting method.

Thanks in advance for any help

 

Mark

Like 1

Like

3 comments

+1 also needing this type of report

 

Hi!

 

You can create a list in a dashboard that would look like this:

You can add a filter for the records in the display options tab:

And to add the calculated columns for time exceeded you can go to the Pivot table settings tab and press "Add calculated field":

 

And set up a formula that would look something like this(fields used need to be present as columns in the dashboard list): 

 

Hope it helps!

 

Best regards,

Max.

Thanks so much for the reply, I had created the first bit, but was not away of the calculated field option, which allowed me to display the exceeded time. It would be nice to be able to format the time in to Days/Hours rather than just hours, but still useful.

 

thanks again

Show all comments