Hi community,

 

I am currently researching the Relationship which function shows as [Connect to] in Account or Contact in Classic UI

But I want to ask if there is any way to set up permission for that function.

For example, I want only the admin could allow to add or edit the relationship. Others can only read the relationship

 

Thank you!

 

Like 0

Like

1 comments
Best reply

Hello!

 

To set up object permissions in that way you need to go to System settings - Object permission - Relationship connection. There you can set up permissions in that way as you provided in the request.

Hello!

 

To set up object permissions in that way you need to go to System settings - Object permission - Relationship connection. There you can set up permissions in that way as you provided in the request.

Show all comments

Hi Community,

 

My instance was developed on Customer Package

I want to create another package. Let's call it A package. To continue our development.

But after I set up the dependencies for A Package, I was unable to config Object from Custom Package

Should I move all elements from Custom Package to my A Package?

Or what else should I do?

Like 0

Like

4 comments

Hello,

 

If you are developing in order to later transfer these changes to a production website (or any other website), it is essential to transfer these elements from the Custom package, as you have different bindings and data, as well as changes made to the objects. If you do not transfer them, the integrity of the development will be compromised, and the package is unlikely to be successfully installed on the target website.

Also, please note that the package must include all the necessary dependencies for these elements to be transferred. If, at the moment you want to move an element, you are missing a dependency, for example, the website will display a message indicating what is specifically missing.

 

Additionally, please familiarize yourself with the documentation:

Packages basics

Delivery in Creatio IDE

Move the functionality between packages

Kalymbet Anastasia,

I understood

I just have a further question.

If, I move all the elements from the Custom Package to my A package on the Development website. Then, I install that package on the Production website. The Production already had a Custom Package with all the same elements as the Development website.

 

Is there any possible error when I install my A Package on the Production site?

Bao Phan,

 

If they are the same elements with the same UId and name, then yes, there may be a conflict during installation.

Kalymbet Anastasia,

So if I create another package (B package) and move all elements from Custom Package to the B package on Production Site.

Then, I continue to develop A Package on the Development site and install it later on the Production Site

Is it possible doing it? Any conflict or error may happen?

Show all comments

Hi community,

How to hide the "Copy" and "Delete" button in the list?

Thank you

Like 0

Like

2 comments

Hi everybody. We'd applied a code from here https://academy.creatio.com/docs/developer/back_end_development/api_for… (Get file content part). The code is the following:

	byte[] data;
	Guid recordId = entities[0].GetTypedColumnValue<Guid>("Id");
	var fileLocator = new EntityFileLocator("KnowledgeBaseFile", recordId);
	IFile file = userConnection.GetFile(fileLocator);
	// Read the contents of the file in the content byte array. Remember to free the stream object by utilizing using! 
	using (Stream stream = file.Read()) {
	   data = stream.ReadAllBytes();
	}
 
	string s1 = Encoding.GetEncoding("Windows-1250").GetString(data);

actually it is the same as in the creatio example on the page:

 

byte[] content;
Guid recordId = Guid.NewGuid();
var fileLocator = new EntityFileLocator("ActivityFile", recordId);
IFile file = connection.GetFile(fileLocator);
 
// Read the contents of the file in the content byte array. Remember to free the stream object by utilizing using! 
using (Stream stream = file.Read()) {
   content = stream.ReadAllBytes();
}

unfortunately if fails with the following:

 

System.NotSupportedException: Specified method is not supported. at Terrasoft.File.Content.FileContentStream.get_Length() at Terrasoft.Common.StreamUtilities.ReadAllBytes(Stream source) at Terrasoft.Core.Process.EonFileProceedingCustom10MethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context) at Terrasoft.Core.Process.ProcessFlowElement.ExecuteItem(ProcessExecutingContext context) at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

 

honestly I don't understand the problem because it occurs in the core method :( Does anybody have a solution please?

 

8.0.6 sales team

 

Like 0

Like

1 comments

Hello,

You using ReadAllBytes(), however, even the article you provided used another method ReadToEnd().

Please change the method and see if the problem is still present.

 

using Terrasoft.Common;
 
var content = new byte[]();
Guid recordId = Guid.NewGuid();
 
/* Create a file locator for the new file. */
var fileLocator = new EntityFileLocator("ActivityFile", recordId);
IFile file = UserConnection.GetFile(fileLocator);
 
/* Read the contents of the file in the content byte array. Remember to free the stream object by utilizing using! */
using (Stream stream = file.Read()) {
   content = stream.ReadToEnd();
}

 

Show all comments

Hi community,

I have a list of warehouses that contains the "Primary" field. It's only one of them that can be a primary warehouse.

When a user creates an order, I want the "Warehouse" field can be set automatically to the primary warehouse.

How to do this?

 

Thank you.

Like 1

Like

6 comments
Best reply

I has solved this problem by adding parameter "this" into the "result.collection.each()".

It will be shown as "result.collection.each(function(), this)"

esq.getEntityCollection(function(result) {
	debugger;
	if (!result.success) {
		// For example, error processing/logging.
		this.showInformationDialog("Can't set the location.");
		return;
	}
	result.collection.each(function(item) {
		var primaryWarehouse = {value: item.get("Id"), displayValue: item.get("SceName")};
		this.set("SceWarehouse", primaryWarehouse);
		return;
	}, this)
}, this);

 

You can Use Business Rule for auto populating Some fields. 

https:/academy.creatio.com/docs/user/customization_tools/ui_and_business_logic_customization/business_logic/setup/set_up_a_new_business_rule

 

Hi smit suthar,

 

I have tried to use the "Set field value" action, but it's too simple.

I want to set the value of "Warehouse" with a primary warehouse.

Note: The "Warehouse" section has the "Primary" (boolean) field.

So, for example; I have 2 warehouses, "A" and "B". And, I set the warehouse "B" primary field as TRUE. Then, when the user creates an order, the "Warehouse" field of the order will be filled by "B" automatically.

 

Do you have any other ideas?

Hello David Chandra,

 

Based on the shared information I can assume that your business task can be fully covered with a help of business rules functionality. 

If you'd like to expand the customization you can consider designing the custom business process that will read the needed columns from a page and apply changes with a Modify data element or even with script-task element where you can specify the custom logic with code. 

Alternatively, you can implement your business task with a help of additional development, but we do not have a specific ready to use example of such implementation. 



Best regards,

Anastasiia

Hello Anastasiia,

If we use the Business Rule means, we have to save the order and then use "added data trigger" to set the warehouse value.

Do you know how to set the warehouse value before we save the new order?

 

Regards,

David

Hello Anastasiia,

 

I managed to create a function in the page source code as below:

 

/* Overload the base Terrasoft.BasePageV2.onEntityInitialized method that is called after Creatio initializes the schema of the record page object. */
onEntityInitialized: function() {
	/* Call the parent implementation of the method. */
	this.callParent(arguments);
	/* Call the handler method that sets the [Location] column value. */
	this.setWarehouse();
},
/* The handler method that sets the [Warehouse] column value. */
setWarehouse: function() {
	/* The [Warehouse] column value. */
	var location = this.get("SceWarehouse");
	/* Checks whether the mode of the new record is set. */
	var newmode = this.isNewMode();
	// * If the value is not set and the mode of the new record is set. */
	if (!location &amp;&amp; newmode) {
		/* Get the contact's location by using ESQ */
		const userContactId = Terrasoft.SysValue.CURRENT_USER_CONTACT.value;
		const esq = this.Ext.create(Terrasoft.EntitySchemaQuery, {
			rootSchemaName: "SceWarehouse"
		});
		esq.addColumn("Id");
		esq.addColumn("SceName");
		esq.addColumn("Primary");
		const esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
				"Primary", true);
		esq.filters.add("esqFirstFilter", esqFirstFilter);
		esq.getEntityCollection(function(result) {
			debugger;
			if (!result.success) {
				// For example, error processing/logging.
				this.showInformationDialog("Can't set the location.");
				return;
			}
			result.collection.each(function(item) {
				var primaryWarehouse = item;
				this.showInformationDialog(primaryWarehouse.get("SceName"));
				this.set("SceWarehouse", primaryWarehouse);
			})
		}, this);
	}
}

The "showInformationDialog" function is able to show the correct record.

But, the "SceWarehouse" is still not populated.

Note: "SceWarehouse" field is a lookup based on the "SceWarehouse" section.



Could you help?



Thank you.

I has solved this problem by adding parameter "this" into the "result.collection.each()".

It will be shown as "result.collection.each(function(), this)"

esq.getEntityCollection(function(result) {
	debugger;
	if (!result.success) {
		// For example, error processing/logging.
		this.showInformationDialog("Can't set the location.");
		return;
	}
	result.collection.each(function(item) {
		var primaryWarehouse = {value: item.get("Id"), displayValue: item.get("SceName")};
		this.set("SceWarehouse", primaryWarehouse);
		return;
	}, this)
}, this);

 

Show all comments

Hi Community,

 

We are intending to create a list with editable textboxes like "Price", "Quantity", and "Unit of measure" columns below:



 

Is there any one who know how to do this?

 

Thank you,

Like 0

Like

2 comments

I believe when products will be switched to Freedom UI, probably Creatio 8.1, the lists will be editable :)

Hi Damien,

 

Thank you for your answer. :)

 

Just now I found a way to do that, accidentally. 

 

 

 

Show all comments

Hi community,

I have customized a Creatio, that the Accounts contain suppliers and customers, which only can be seen by a different team of users.

However, I want only the sales team can see the customers and only the purchasing team can see the suppliers. 

How should I configure the system?

 

Thank you.

Like 1

Like

1 comments

The  multiselect text add on by Ryan Farley is such an elegant solution! It works well in all cases, but I have a case where I need to add this functionality to an editable list. 

 

Is this possible?

Like 0

Like

2 comments

Not sure if it's possible, but I've never tried it. I would start with looking in ConfigurationGrid to see if there is a method there to override? 

Ryan

Ryan Farley,

 

I have tried something with ConfigurationGrid. But I am not able to make it work. Do you know any way to make it possible.

Show all comments

Hi there, 

 

I have made a customisation to the "Opportunity closure" process by adding in 2 additional elements (see below, nothing fancy). 

When I save a new version of the process and compile, I get a host of errors:

 

 

Can someone help me please? 

Like 0

Like

2 comments
Best reply

Hello,

 

This issue might be connected to how packages are saved in new versions.

Please try doing the following:

1. Run full code generation

2. In the properties of the package that is mentioned in the error, uncheck the box "Compile into separate assembly"

3. Run the full compilation again.



That the error should be gone after that.

Hello,

 

This issue might be connected to how packages are saved in new versions.

Please try doing the following:

1. Run full code generation

2. In the properties of the package that is mentioned in the error, uncheck the box "Compile into separate assembly"

3. Run the full compilation again.



That the error should be gone after that.

Hi, thank you this worked!

Show all comments

Hi there, can someone assist me please? I am trying to display the account logo on the opportunities landing page. When I try to add it to the tile view I can't seem to find the logo field. The closest I could find is [Opportunity] > [Account] > [Account Logo] 

 

Please assist. Thanks. 

 

Like 0

Like

2 comments

hi Nemanja Stabic,

 

In this case, do you want to add an image field in the Opportunity section? Here is the academy article that helps this case Add image field in record page.





BR,

Bhoobalan Palanivelu

Hi Bhoobalan, 

 

Thanks for the response. I have looked at the article you shared and it’s not quite what I am looking for. I am looking to add the logo of the Account on the Opportunities landing page i.e. the page with the grid/ tile view. Is there a way to do this?

Show all comments