Hello,

 

I want to disable the open, copy and delete button for the records in which a lookup column has a certain value. Example: only diable the buttons when the case category is "Incident".

 

I tried to use a query to get that lookup value but I need to use the read value outside the query in order to call the base fuction (this.callParent(arguments)) if the disable condition is not matched.

 

I hope you can offer me a solution. Thank you in advance!

Like 0

Like

2 comments
Best reply

I have an article that shows how to do this (conditionally allow based on values of the selected row). See https://customerfx.com/article/conditionally-allowing-delete-copy-or-ed…

Hope this helps.

Ryan

I have an article that shows how to do this (conditionally allow based on values of the selected row). See https://customerfx.com/article/conditionally-allowing-delete-copy-or-ed…

Hope this helps.

Ryan

It worked! Thank you very much Ryan!

Show all comments
Hyperlink
listview
sectiongrid
removehyperlink
Studio_Creatio
7.18

Hi Community

 

I want to remove the hyperlink from lookup fields. To achieve this I have followed this community article. This worked fine on the edit page. But on the section list view hyperlinks are still showing as shown below.

 

 

Is there a way I can remove the hyperlink on the list view conditionally as well instead of removing the "Display value" property from the object setting?

 

 

Any lead will be appreciated.

 

Regards,

Sourav Kumar Samal

Like 0

Like

9 comments

Hi, the logic for marking columns as links on section pages is based on the method addLookupColumnLink and if you want to modify it, you need to override it. For example, in the contact section, I need to remove a link to the column "Owner". The code to do this:

 

define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
			addLookupColumnLink: function(item, column) {
				if (column.columnPath == "Owner"){
					console.log("We don't add link");
				} else {
					this.callParent(arguments);
				}
			}
		}
	};
});

 

Dmytro Vovchenko,

 

I have tried the above code, but the method was never called, attached a screenshot for reference.

 

 

Is there anything I am missing here?

 

Regards,

Sourav

Sourav Kumar Samal,

If you want to remove a link from a primary column the method you need in this situation is addPrimaryColumnLink

define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
		]/**SCHEMA_DIFF*/,
		methods: {
			addLookupColumnLink: function(item, column) {
				if (column.columnPath == "Owner"){
					console.log("We don't add link");
				} else {
					this.callParent(arguments);
				}
			},
			addPrimaryColumnLink: function(item, column) {
				return false;
			}
		}
	};
});

Result:

Dmytro Vovchenko,

 

Is there a way to do the same thing on the dashboard list?

 

Regards,

Sourav

Sourav Kumar Samal,

In this case, look at the DashboardGridModule schema. I believe you would need to modify the same methods. But, overriding the 

DashboardGridModule is much more difficult than the section pages.

Does anybody know of a Freedom UI equivalent for doing this?

Hi Harvey,

 

In Freedom UI, on the Form page, you may remove the hyperlink from lookup fields by specifying the property "showValueAsLink": false in attributes values. 

 

As for the List page, unfortunately, there is no such possibility so far. However, our R&D team is already working on the feature that will allow turning off link generation for lookup columns of related objects, so it is expected to be implemented in future releases (no ETA yet).

 

Best regards, 

Natalia

 

 

Thanks Natalia, it's good news that there is something in the pipeline! Do you know if the solution will allow removing links for the entity itself if desired? i.e. if we have a list based over the Account entity, having it so that the Name column does not show as a link? We wouldn't want to remove that link in all cases, but in some lists it might not be wanted. For example, especially on modal lookup windows, we might want to disable the display column from being a link, as it can be confusing for users who want to select the record but click the link and get taken to the edit page instead of selecting the record.

Harvey Adcock,

 

The feature should work for both - the section list (on the List page) and the Lookup component list. It is planned that the links that lead to other entities' edit pages will be removed by default, and after enabling the feature, they will become available.

We will highlight your comments to the R&D team.
Thank you for being an active participant of the Creatio community!

Show all comments
fastreport
8.0.3
printable forms
Studio_Creatio
8.0

Dear team, 

As documentation says that FastReport functionality will be retired in Creatio version 8.0.3, I am wondering if you plan to replace it with other functionality?

 

Looking into documentation, it seems that Word printables does not allow to create a macros to calculate a value straight away, and FastReport does allow to do so.

 

Kind regards, 

Tatiana

Like 3

Like

7 comments

I am also curious if there will be a replacement. 

However, we've been doing some very complicated Word printables using a combination of macros and db views. It's turned out to be pretty powerful. 

You can create custom macros for Word docs. The macros can do queries, calculations, even return conditional text as needed. Here's a very simple example in this article: https://customerfx.com/article/creating-custom-macros-to-format-values-…

That example in the article only takes a value and returns it formatted. However, we typically will pass an Id to the macro, do queries and other complex calculations and return values, text, etc. Note, to do queries in a macro you'll need a UserConnection which you can get from the session:

var userConnection = (UserConnection)System.Web.HttpContext.Current.Session["UserConnection"];

Hope this help, it doesn't answer your original question, but wanted to mention that macros for Word printables is possible and does at least bridge the gap with creating more complex Word reports with FastReports being retired. Also, creating db views and exposing as entities has been very useful for more complex Word reports as well.

Ryan

It would be nice to have normal Report designer/generator, cause not all customers use MS Word in their organizations. 

Vladimir Sokolov,

I do agree. Plus, there are some scenarios where a Word report will just not cut it. I have some customers that are producing government forms which have extremely strict formatting requirements (that are just not possible to recreate as a Word document) or they will be rejected.

I do hope there will be a replacement for FastReports at some point. It's possible to do some complex things with a Word report, but it's still no replacement for a full reporting solution.

Hello Team

 

Any news on FastReport's replacement?

 

I have been using FastReport editions for my opportunities for two years (10 models), my edition models were stable and I had not seen this future deletion pass...



Except that today, I need to create a new model and I can't...

So I'm stuck... But above all, I would like to anticipate the future...

 

Best regards

 

Vincent

Ryan Farley,

Hello Ryan,

the suggested method used for retrieve the user connection doesn't work if the printable is generated inside a business process.

Have you any idea to solve this problem?

 

Stefano Bassoli,

This is true, if the document is created via Process File, and the process is started from a timer, the session is null so the UserConnection cannot be retrieved. It's frustrating, and I do not have a workaround. Would be a good idea to submit a case to support for this so it could be changed to inject a UserConnection into macros.

Ryan Farley,

thank you Ryan,
as a workaround I've created a view which resolves the macro

Show all comments
8.0.3
Studio_Creatio
8.0

What error is this? I cant delete and open the page because this error

Like 0

Like

1 comments

Hello,

 

The object "BaseObject" has those fields ("MdrName") and if your object was inherited from "BaseObject" it must have had those fields in inherited columns. If your object doesn't contain those fields, those fields must have been removed.



Please try to update database structure, generate the source code for all and compile all in the configuration section.

Show all comments
SSP
batchquery
portal users
Studio_Creatio
8.0

Hello,

 

I am trying to enable a web service for a portal user. When I try to trigger the service however, I receive a 500 Error. 

When I trigger the service using an internal user account, the service triggers with no issues. My test portal user however receives the error. To me that says portal users are unable to trigger a batch query but I've been unable to find anything that says it for sure. Is there a setting I need to adjust?

Like 0

Like

6 comments

Hello,



Please make sure that portal users have access to your web service.



More details on the academy website:



https://academy.creatio.com/docs/developer/application_components/porta…



https://academy.creatio.com/docs/developer/application_components/porta…

Cherednichenko Nikita,

I have followed the provided academy pages. Though when trying to compile, I receive the errors.

 

" The type or namespace name 'SspServiceAccess' could not be found (are you missing a using directive or an assembly reference?)"

 

"The type or namespace name 'SspServiceAccessAttribute' could not be found (are you missing a using directive or an assembly reference?)"

Try to generate source code for all schemas and run compilation again.

After generating source code for all schemas and compiling again, I am still receiving the same errors. Is there a namespace I am missing?

namespace Terrasoft.Configuration.KeenGlbInterviewService
{
	using System;
	using System.IO;
	using System.Collections.Specialized;
	using System.Globalization;
	using System.Runtime;
	using System.Runtime.Serialization;
	using System.ServiceModel;
	using System.ServiceModel.Web;
	using System.ServiceModel.Activation;
	using System.Threading;
	using System.Threading.Tasks;
	using System.Web;
	using Terrasoft.Core;
	using Terrasoft.Core.Factories;
	using Terrasoft.Configuration.GlbInterviewService;
	using Terrasoft.Web.Common;
    using Terrasoft.Web.Common.ServiceRouting;
 
	#region Class: KeenGlbInterviewService
 
	[DefaultServiceRoute] 
	[SspServiceRoute]
	[SspServiceAccess(nameof(BatchQuery))]
	[ServiceContract]
	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
	public class KeenGlbInterviewService : BaseService
	{
 
		#region Methods: Public
		private static readonly GlbInterviewService _baseService = new GlbInterviewService();
 
		[OperationContract]
		[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
		public InterviewServiceResponse Start(InterviewServiceRequest request)
		{
			return _baseService.Start(request); 
		}
 
		[OperationContract]
		[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
		public InterviewServiceResponse Complete(InterviewServiceRequest request)
		{
			return _baseService.Complete(request);
		}
 
		#endregion
 
	}
 
	#endregion
 }

 

Please see another community post:

https://community.creatio.com/questions/call-web-service



Perhaps there is an answer to your question.

Cherednichenko Nikita,

Thank you for the recommended page. However I have already looked through this page and it makes no mention of using SspServiceAccess which is the piece I'm having difficulty with.

Show all comments

Hello! In a business process, can I read the environment http address or the IP address from the server using READ DATA activity or is there any other way?

Like 0

Like

1 comments

We use System settings "SiteUrl", but you should set it manualy at every environment

Show all comments
login
not
working
in
localhost.
Studio_Creatio
7.17

We have cloned the Ext dev(with no internet access) from our internal dev env which is working, but now on external dev, i am not able to log in. 

Like 0

Like

2 comments

Hello Adil,

 

Please double-check all features that are enabled for the machine where IIS server is deployed (according to the Academy article here). Once done, please redeploy on-site application from scratch using clean binary files (which can be received from the support team at support@creatio.com).

It is as a must to use clean binary files (not those that can be provided by support in case you request database backup of some application to deploy it locally, but out-of-the-box files).

Also, please double-check the connection parameters to the database in connection. Since incorrect database connection parameters, the Strings config file can also lead to login issues.

And finally, please check if you haven't specified HTTPS as a redirect method for your application in IIS and if it was appropriately configured in the configuration files.

localhost cannot find ViewModule.aspx after login.

Show all comments

Is there any setting to avoid sending mails to persons outside the company (for example @yahoo.com) on the test environments? We want to avoid sending the test mails to wrong persons or to wrong email addresses.

Like 1

Like

1 comments

You need to create a replacing view module for EmailMessagePublisherPage and EmailPageV2 and add the following replacement of the checkSenderBeforeSend method in both schemas methods:

checkSenderBeforeSend: function() {
				var recipient = this.get("Recepient");
				var copyRecipient = this.get("CopyRecepient");
				var blindCopyRecipient = this.get("BlindCopyRecepient");
				var allRecipientsList = recipient + copyRecipient + blindCopyRecipient;
				var isYahooMailboxPresent = allRecipientsList.indexOf("yahoo.com") != -1;
				if (isYahooMailboxPresent) {
					this.showInformationDialog(this.get("Resources.Strings.YahooMailboxIsInTheRecipients"));
					return;
				}
				this.callParent(arguments);
			},

Additionally you need to create a localizable string in both replaced modules with the YahooMailboxIsInTheRecipients code and the value you need (this will be a popup notification that there is the yahoo.com domain mailbox in the list of email recipients). As a result such email won't be sent (page refresh is required once these changes are applied) and end users will see the popup. 

Show all comments
knowledge base
sourcecode
Studio_Creatio

Hi all,

I am looking for a way to highlight js c# code in a rich text field.

Especially we want to use it in the knowledge base in creatio.

 

 

Is there a way to do this?

 

Regards,

Oliver

Like 0

Like

5 comments

Hi Oliver,

You can possibly do it and here is small instruction on how:

1) At first write an example of a code you want to highlight and do it manually using the options above the text. Save the result.

2) Get the value of this field from the database, it should look something like this:

 <div>hello there&nbsp;</div>  <div>&nbsp;</div>  <div>define(&quot;PrcAcceptanceCertificate777ab4cfSection&quot;, [], function() {<br /> &nbsp;&nbsp; &nbsp;return {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;entitySchemaName: &quot;PrcAcceptanceCertificate&quot;,<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;methods: {}<br /> &nbsp;&nbsp; &nbsp;};<br /> });<br /> &nbsp;</div>  <div>&nbsp;</div> 

3) In this value take a look at how the system applies styles, you need to do it automatically in your method.

4) Write a method that will apply needed highlights to your text.

var text = this.get("Notes");

text.DoSomethingToModifyIt();

this.set("Notes", text);

Probably the hardest point would be finding the js code in the whole text because for the system there are no differences between a normal sentence or parts of the code. But if you manage to do it, then applying highlights is not that difficult to do.

 

Hi,

 

phew, that sounds like a lot of work.



I was thinking more of a js library that you can just use.

There must already be something integrated in creatio, because there is the source code area. Couldn't we just use that somehow?

 

Or a component in the editor like here in the community area

 

Regards,

Oliver

Oliver Herzog,

Slightly misunderstood what are you trying to do.

Can you please specify what source code area you are referring to?

Sorry for the misunderstanding!

 

I just want c#, js or html to be displayed "nicely" in the richtext editor. In the first post you can see how it should not look like.

 

No logical check or something like that.



Something like the code snippet function here in the community.

 

Oliver Herzog,

Unfortunately, right now highlighting the code lines like the "Code snippet" function is impossible on the system itself due to a base logic of RICH_TEXT fields.

I registered your suggestion for our R&D team, thank you for your idea.

Show all comments
portal users
CurrentUserRole
Studio_Creatio
7.18

Hi Team,

 

I am trying to read the current user's role by using the following custom logic.

GetCurrentUserRole: function(){
				var scope = this;
				var esq = Ext.create("Terrasoft.EntitySchemaQuery", {rootSchemaName: "SysUserInRole"});
				esq.addColumn("SysRole");
				esq.filters.add("UserFilter", Terrasoft.createColumnFilterWithParameter(
    				Terrasoft.ComparisonType.EQUAL, "SysUser", Terrasoft.SysValue.CURRENT_USER.value
				));
				esq.getEntityCollection(function(result) {
					if (!result.success || result.collection.getItems().length === 0) {return;}
					result.collection.each(function(item) { 
						var role = item.get("SysRole");
						var roleName = role.displayValue;
						var roleId = role.value;
						this.console.log("roleName: ",roleName);
					});
				}, this);
				return true;
			},

The above code works perfectly fine while logged in as a Normal user, but the same doesn't work for Portal users. For portal users, the "roleId" variable gives the correct Id but the variable "roleName" shows as a blank string("") because it is not reading the displayValue.

 

To address the issue, I have added "SysUserInRole" and "SysAdminUnit" in the lookup named "List of objects available for portal users". Also the Object permissions for both the tables are default. But still no luck in getting the desired output.

 

Request any suggestions or additional steps that I need to perform to get the displayValue of current user role while logged in as a portal user.

 

Regards,

Sourav Kumar Samal

Like 0

Like

1 comments
Best reply

Hi Sourav,

 

I was able to achieve the result needed by adding the "System administration object" schema to the "List of objects available for portal users" lookup and relogin under the portal user. Try the same approach on your side, it should work.

Hi Sourav,

 

I was able to achieve the result needed by adding the "System administration object" schema to the "List of objects available for portal users" lookup and relogin under the portal user. Try the same approach on your side, it should work.

Show all comments