Dear Team,

 

We are facing "unexpected token r in json at position 0" error when we try to login after providing the username and password, on inspection we found the error "as attached".

 

Did notice similar community post https://community.creatio.com/questions/unexpected-token-json but this is not similar to my issue. Here we are not able to navigate to home page after providing the username and password.

 

Question : Is there a way that user profile is affected and how to fix this issue?

 

Thanks in advance!

Like 0

Like

1 comments

Hello,

 

Could you please write to our technical support so we could take a closer look at the issue?

Just email us about your problem at support@creatio.com.

We will investigate it in your particular environment.

 

Thank you,

Artem.

Show all comments

Hello,

 

How may I suppress merge fields in templates where there is no data. For example in the below, the Lead does not have data in Address 2.



Word reports easily accommodate this however, how may I handle this with email templates?

 

Using Studio/Sales vrs: 7.18.5.1500

Like 0

Like

8 comments

Hi Thomas,

 

Unfortunately, it is not possible to achieve this in the current version of the application.

We have a task for our R&D team to have an option to display an empty string instead of the macros code on the yellow background so it will be added in future updates.

 

Best regards,

Max.

Max,

Really disappointing that a basic problem like that that has been solved by other products for years was missed here. This can make using email templates completely unreliable.



Thanks for the reply. Is there a comprehensive list of what does not work and what is in the backlog on being worked on?

You are able to do it. Basically, you create two different blocks.

One showing the row with the Address and one without.



Then use Rules & Dynamic content to show the appropriate Block for every Contact.

 

Perhaps this method only'll work for Bulk and Campaign Emails. I'm note 100% sure. But you can try!

Julius,

 

I appreciate your creativity here. I believe that using dynamic content requires the Marketing Module which we have yet to implement.



Tom 

Try navigating to the Email Templates section under the Studio Workspace. Maybe you don't have the new Email Designer? Marketing licences may be required for this? What Creatio version do you use?

I think it'll work on 7.18.3 and newer

We use the latest cloud version, I created the templates in Studio but we do not have the marketing module. Dynamic content should work however, these are basic user follow up emails and this issue should not even exist in 2022. Our users will need to review and delete these empty fields which is inefficient and disappointing.

 

I appreciate your knowledge and assistance.

 

 Tom

Max,

 

Or anyone at Creatio who can help with this... clearly there is a function #deleteifempty# which is included in one of your base sample templates, "Template for new invoice approval notification (US)".



I need someone to explain how this works, I tried the code in HTML and it did not work, instructions please!!!



Thomas Colby,

 

Were you able to find a solution? we are having the same requirement with no success to how it can be achieved.

 

Thanks,

Show all comments

Hi, Account and

In the Contact section, I add a text column with the section wizard and press the save button, but I get the error you see below.

System designer -> System settings -> Current package. I provided the 'custom' control.

 

File attachments
Like 0

Like

9 comments

Hello Aygen,

 

Probably the Package is locked. Please make sure, that the package that you set up in the 'current package' system setting is unlocked, 



Best regards,

Bogdan

Hi Bogdan, Thank you for the answer.

I'm checking but is there a section here that I need to change? 

 

 

Access for modification for internal users --> Can manage configuration elements

 

Aygen Ergen,

 

 

Could you please send us a screenshot of the 'Advanced settings' section? 

What exactly should I show?

 

 

Aygen Ergen,

 If the Package is unlocked, it's Yellow and on top of the package-list.

But now your package Custom is locked and grey.



Did you Export the package and then re-install it?

Julius,

Unsuccessful. What can be the problem?

 

 

 

Sorry for the unclear answer. I only meant to ask if you had done this, as a question. I did not want to suggest you do this as you are really not supposed to do that! I believe it will lead to package being locked, since it's an external third-party package when being installed from file.

Was this package created on the same environment/instance you are using?



I suggest you create a new Package and move everything from the old locked package into the new one. If that's possible.

Otherwise, ask the support department to unlock it for you.

Thank you for answer

 

Aygen Ergen,

 

The error depicts the object (Account) doesn't have edit access.

Please check the object permission of Account here,



Step 1, Select object permission from the homepage.





Step 2: Select account and check its permission setup







Best Regards,

Bhoobalan Palanivelu.

Show all comments

Hi Community,

 

We need user to have a permission to access organizational roles and functional roles section. They will have permission to add/remove user for each organizational roles and functional roles. How can we achieve this? Thanks

Like 0

Like

1 comments

Hi Fulgen,

 

Thank you for your question!

 

For a user to be able to manage organizational and functional roles - he should be given CanManageAdministration and CanManageUsers operation permissions.

 

Best regards,

Anastasiia

Show all comments

Hi, 

 

I have this test code in source code schema, 

 

How can I call this In script task?

 

Thanks

 

Like 0

Like

4 comments

Hi Akshit,

 

Create an instance of your Example class and call the Execute method in the script task. For example study how the CreateReminding method is called in the "Push notification" script task of the OOB "Push expired licenses notification" business process.

 

Best regards,

Oscar

Oscar Dylan,

 

Thank you for the response, 



This is the code below : 

 

This is how I am calling it : 

 

But when I run the business process this is the error I am getting : 

 

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified

 

 

Can anyone please help me what should I do next ?

 

Thanks!

Akshit,

 

Most probably you haven't added Terrasoft.Configuration namespace as a using in your process as well as System.Threading.Tasks. Additionally to it I cannot see creating an instance of the Example class in your script task code.

 

Best regards,

Oscar

I have added the following : 

 

But still gettting the same issue?

 

From the error I get this as resolution https://github.com/box/box-windows-sdk-v2/issues/225#issuecomment-277012542  

 

But didn't understand what exactly I have to do? Like which assembly(dll file) I need to place in creatio?

Show all comments

Hi Team,

 

From the day I have started development on one of the trial instance I have set "Current package" system setting to my package, but I see after some time objects started reflecting in custom package.

 

I want ask :

 

1. Is there any other system setting (other than "Current Package" ) which is required to change ?

2. Is this the reason that If there are more than one users (system admin) involved in development.

 

Please tell me what could be the possible reason ? And does it create any major issue during data binding?

 

Thanks!

Like 0

Like

2 comments

Hello Akshit, 



We are not able no to say, why the current package value has changed. 



Before starting the development we recommend you to check:

1. 'Current package' System setting value

2.  Check whether the package is unlocked (you are able to change the object configuration for example) 



We strongly recommend using the development website only for one user to avoid such issues. 

 

Best regards,

Bogdan

Bogdan,

 

Thank you for you response, related to point number 2, I want to ask 

that whenever we create our custom package (VirtuosRefac_version_1) then by default it is marked as locked (please see the below image) then how to unclock it?

 

Thanks!

Show all comments

Hi community,

 

How do you make a link (string field) a hyperlink in a mini-page? It is displayed as a label (https://academy.creatio.com/api/jscoreapi/7.15.0/index.html#!/api/Terra…) but there is no "showValueAsLink" property like in a text field in a page.



And how can I create a field that has the same behaviour as the email field in the default contact page? I have a "linkedin" field that I need to sync with the communication option (which has a linkedin field added under "website") and I need to sync it with the same behaviour as the email field (which takes the main email in the communication option, automatically adds a new email or updates it etc.).

 

Best regards,

 

Julien

Like 0

Like

7 comments

Hi Julien,

 

As for your first question - it's not clear which string-link field on the mini page you are refering to. I hope this community post where a similar question was asked will be useful - https://community.creatio.com/questions/convert-text-field-hyperlink.

 

As for your second question - the logic behind the email column is stored in the BaseCommunication and ContactCommunication objects in the Base package (processes on these objects). You need to study how the logic is declared there.

 

Best regards,

Oscar

Oscar Dylan,

 

Thank you for your answer, about my first question I mean a mini page that shows when you hover on a record :

 

I need to change a field that shows on the minipage to a link (with target _blank). On a page directly I can use a "ShowAsLink" attribute, but the component on a minipage that shows a text field is a label, which don't have a "ShowAsLink" attribute.

 

Thank you for your answer on the second question, I'll dig into the Base Package.

 

Best regards,

 

Julien Gunther

Julien Gunther,

 

This minipage is a "view" type minipage for the section that is used as a lookup reference. So you need to create the same logic described in the community post I shared above for the field on that minipage.

 

Best regards,

Oscar

Oscar Dylan,

 

The text field is rendered as a label, and it throw me this error :

Uncaught Object { message: "Property showValueAsLink is not defined in class Terrasoft.controls.Label" }

 

here is my diff :

			{
				"operation": "insert",
				"name": "Linkedin889ba056-f389-4852-a0f2-b5f8caede729",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 10,
						"layoutName": "MiniPage"
					},
					"isMiniPageModelItem": true,
					"visible": {
						"bindTo": "isViewMode"
					},
					"bindTo": "Linkedin",
					"showValueAsLink": true,
					"controlConfig": {
						"enabled": true,
						"href": {
							"bindTo": "getLinkedin"
						},
						"linkclick": {
							"bindTo": "onExternalLinkClick"
						}
					}
				},
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 13
			},

and the methods :

		methods: {
			getLinkedin: function() {
				return this.getLink(this.get("Linkedin"));
			},
			onExternalLinkClick: function() {
				return;
			},
			getLink: function(value) {
				if (Terrasoft.isUrl(value)) {
					return {
						url: value,
						caption: value
					}
				}
			}
		},

Best regards,

 

Julien Gunther

Julien Gunther,

 

Ok, we can do it in another way. We can create a virtual column, populate it with the value from the main record and display it not as a label in the minipage, but as a string field. For example using the code below (was added to the ContactMiniPage in my case):

define("ContactMiniPage", [], function() {
	return {
		entitySchemaName: "Contact",
		attributes: {
			"LinkedIn": {
				"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": ""
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				var linkedInValue = this.get("UsrLinkedIn");
				this.set("LinkedIn", linkedInValue);
			},
			getLinkedInLink: function() {
				return this.getLink(this.get("LinkedIn"));
			},
			getLink: function(value) {
				if (Terrasoft.isUrl(value)) {
					return {
						url: value,
						caption: value
					};
				}
			},
			onLinkedInLinkClick: function() {
				return;
			},
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "LinkedIn",
				"values": {
					"showValueAsLink": true,
					"controlConfig": {
						"href": {
							"bindTo": "getLinkedInLink"
						},
						"linkclick": {
							"bindTo": "onLinkedInLinkClick"
						}
					},
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 11
					},
					"caption": {
						"bindTo": "Resources.Strings.LinkedIn"
					},
					"bindTo": "LinkedIn",
				},
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 5
			},
			{
				"operation": "merge",
				"name": "HeaderContainer",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 0
					}
				}
			},
			{
				"operation": "merge",
				"name": "TimezoneMiniContactPage",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 9
					}
				}
			},
			{
				"operation": "merge",
				"name": "JobInfoContainer",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 10
					}
				}
			},
			{
				"operation": "move",
				"name": "JobInfoContainer",
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 2
			},
			{
				"operation": "merge",
				"name": "Name",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 1
					}
				}
			},
			{
				"operation": "merge",
				"name": "Type",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 2
					}
				}
			},
			{
				"operation": "merge",
				"name": "Account",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 3
					}
				}
			},
			{
				"operation": "merge",
				"name": "JobTitle",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 4
					}
				}
			},
			{
				"operation": "merge",
				"name": "Department",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 5
					}
				}
			},
			{
				"operation": "merge",
				"name": "MobilePhone",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 6
					}
				}
			},
			{
				"operation": "merge",
				"name": "Email",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 7
					}
				}
			},
			{
				"operation": "remove",
				"name": "OwnerEdit"
			},
			{
				"operation": "remove",
				"name": "Owner"
			},
			{
				"operation": "remove",
				"name": "OwnerButtonContainer"
			},
			{
				"operation": "remove",
				"name": "OwnerCallButton"
			},
			{
				"operation": "remove",
				"name": "OwnerEmailButton"
			}
		]/**SCHEMA_DIFF*/
	};
});

As a result I received a clickable linkedin field in the view-minipage:

Hope it will work in your case as well.

 

Best regards,

Oscar

Oscar Dylan,

 

I still have the same error :

Uncaught Object { message: "Propriété showValueAsLink is not defined in class Terrasoft.controls.Label" }

 

Here is my code :

define("MTF_Candidat1MiniPage", [], function() {
	return {
		entitySchemaName: "MTF_Candidat",
		attributes: {
			"LinkedinVirtual": {
				"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": ""
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				this.set("LinkedinVirtual", this.get("UsrLinkedin"))
			},
			getLinkedinLink: function() {
				return this.getLink(this.get("LinkedinVirtual"));
			},
			onExternalLinkClick: function() {
				return;
			},
			getLink: function(value) {
				if (Terrasoft.isUrl(value)) {
					return {
						url: value,
						caption: value
					}
				}
			}
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			// other items in diff ....
			{
				"operation": "insert",
				"name": "Linkedin889ba056-f389-4852-a0f2-b5f8caede729",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 10,
						"layoutName": "MiniPage"
					},
					"caption": "Linkedin",
					"isMiniPageModelItem": true,
					"bindTo": "LinkedinVirtual",
					"showValueAsLink": true,
					"controlConfig": {
						"href": {
							"bindTo": "getLinkedinLink"
						},
						"linkclick": {
							"bindTo": "onExternalLinkClick"
						}
					}
				},
				"parentName": "MiniPage",
				"propertyName": "items",
				"index": 39
			}
		]/**SCHEMA_DIFF*/
	};
});

"isMiniPageModelItem" is a required attribute, if set to false or removed it raise this error:

Uncaught Object { message: "DataValueType.null is not supported" }

 

Do you have another solution ?

 

Best regards,

 

Julien

 

 

Julien Gunther,

 

Your error comes from some place that is not present in the code I shared. Everything is working on my end, please perform an absolutely same setup.

 

Best regards,

Oscar

Show all comments

HI, 

 

I'm working with a business process, I have added a "Perfom Task" element, but I need to be able to set a custom parameter to it. The field already exists in the activity, but I'm not able to set it from them "Perfom Task" element.

 

Is there a way to do this?

Like 0

Like

2 comments

Hello Javier,



Could you please specify which custom parameter do you mean?



Thanks in advance!



Best regards,

Bogdan

Hi Bodgan, I have figured it out. 

 

I added this code in "Advace settings" -> "After save" of "Perfom Task" element:

 

 activity.SetColumnValue("[FieldName]", [FieldValue]));

  activity.Save();

 

 

 

Thank you!

Show all comments

Hello,

when you send emails from creatio the sender is always shown at the top of the record (here John Best):

it would make more sense, if the recipients of the emails were shown at this place.

Is that possible?

 

For incoming emails that is fine but for outgoing email it would be better to show the recipients here.

 

BR

Like 0

Like

1 comments

Hello,

 

I've created a logic that will display recipients specified in the "To" field of the email. Here is how it looks like on my end:

To achieve this I've performed the following steps:

 

1) Created a replacing view module in configurations and selected EmailItemSchema as a parent module:

2) Added the following code there (the implementation was created using the email body as an analog):

define("EmailItemSchema", ["BusinessRuleModule", "EmailConstants"], function(BusinessRuleModule, EmailConstants) {
	return {
		entitySchemaName: EmailConstants.entitySchemaName,
		methods: {
			getRecipients: function() {
				var recipientsList = this.get("Recepient");
				return "Recipients: " + recipientsList;
			}
		},
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "RecipientsContainer",
				"parentName": "EmailMessage",
				"propertyName": "items",
				"values": {
					"itemType": Terrasoft.ViewItemType.CONTAINER,
					"items": []
				}
			},
			{
				"operation": "insert",
				"parentName": "RecipientsContainer",
				"propertyName": "items",
				"name": "RecipientsText",
				"values": {
					"itemType": Terrasoft.ViewItemType.LABEL,
					"caption": {bindTo: "getRecipients"},
					"classes": {
						"labelClass": ["message-email-text"]
					},
				}
			},
		]/**SCHEMA_DIFF*/,
		rules: {}
	};
});

3) Refresh the page

 

You can use the example above to develop your own logic if needed.

 

Best regards,

Oscar

Show all comments

Hello Community!

I want to save a record on button click. How is this done from the front-end. What is the line of code that I am missing. Best Regards!

Like 0

Like

6 comments
Best reply

Petrika,

 

It doesn't save the record since the click event is handled not by the onCardAction method, but by your custom one:

click": {
						"bindTo": "onGenerateReferencePriceClick"
					},

According to your need you can use another approach of saving a record: you can call the save function directly (save method parent implementation can be found in the BaseEntityPage module):

this.save();

just add it at the beginning of the code for your button click handling.  And also you can execute methods synchronously using Terrasoft.chain method (an example of the usage can be found in this community post).

 

Best regards,

Oscar

Hi Petrika,

 

Please study the logic of the SaveRecordButton element in the BaseDataView module and the logic of the onCardAction method and the "save" tag of the button and apply the same logic to your button.

 

Best regards,

Oscar

Oscar Dylan,

Dear Oscar!

I have added the save tag , in the button diff ( image below )

I am uncertain of the lines of code I have to put in the body of the Method, that the button calls(image below)

Your help is much appreciated Oscar! Thank you

Petrika,

 

Simply add:

"tag": "save",
"markerValue": "SaveButton",
...
"click": {
						"bindTo": "onCardAction"
					}

To your button "values" and refresh the page. This will do the trick.

 

Best regards,

Oscar

Oscar,

Still Its not working.

I will give a full explanation of the problem.

I have created a button Generate Reference Price (marked with Red), which calls a web-service that populates the Collateral Price indicator detail(marked with yellow).

In the moment That I click the Generate Reference Price button i want that the information entered in the page is saved (just like clicking the Save button marked with brown). You can get a better understanding from the image below.

This is the code from the button

"operation": "insert",
				"name": "FzGeneratePrecalButton",
				"values": {
					"itemType": 5,
					"style": "blue",
					"id": "74a20850-7021-4e0a-a2e6-98bdc419f323",
					"tag": "save",
					"markerValue": "SaveButton",
					"caption": "Generate Reference Price",
                     ...
					"click": {
						"bindTo": "onGenerateReferencePriceClick"
					},
					"visible": {
						"bindTo": "FZButtonVisible"
					},
					"enabled": true
				},

And this is part of the code, of the Method that the button calls

onGenerateReferencePriceClick: function()
			{
				const tag = arguments[0] || arguments[3];
				const cardModuleSandboxId = this.getCardModuleSandboxId();
				this.sandbox.publish("onGenerateReferencePriceClick", tag, [cardModuleSandboxId]);

This is the result from the debugger

I cant find a reaon why this is not working.

Petrika,

 

It doesn't save the record since the click event is handled not by the onCardAction method, but by your custom one:

click": {
						"bindTo": "onGenerateReferencePriceClick"
					},

According to your need you can use another approach of saving a record: you can call the save function directly (save method parent implementation can be found in the BaseEntityPage module):

this.save();

just add it at the beginning of the code for your button click handling.  And also you can execute methods synchronously using Terrasoft.chain method (an example of the usage can be found in this community post).

 

Best regards,

Oscar

Thanks very much Oscar!

Show all comments