Dear colleagues,

 

How can AVOID this? The link to an object in dev is "https://dev-XXXXX.creatio.com/Navigation/Navigation.aspx?schemaName=Ndo…]" and in TESTING or production, when deploy packages remains https://dev-XXXXX.creatio.com, when it must be https://pre-XXXXX.creatio.com or https://XXXXX.creatio.com

 

Some idea, how to solve this?

Like 0

Like

1 comments

Hello!

 

Please create a separate case for Support Team support@creatio.com  and we will analyze it deeply. 

Show all comments

Hi everyone, 

 

is it possible to upload and show different ratio for the Account logo, not only 1:1? 

 

Thanks, Timea

Like 0

Like

2 comments

Hello!



You can upload photos of various formats, however, currently they are displayed only in a 1:1 aspect ratio.

 

We've added it to our R&D team's backlog for reviewing the logic in future application releases.

Hello,

 

Please note that the request can also be fulfilled using the ImageInput component.

Show all comments

Hi everyone,

 

in the 7... versions business rules managed the filtering for the lookups, but in the 8.1 version I couldn't find it there. This is the previous article: Filter values in a lookup field | Creatio Academy

 

I would like to select only Managers from the contacts when I connect the Opportunity to the contact.

 

Thanks, Timea

Like 0

Like

2 comments

I think is still in Business Rules. If its a lookup associated to the main entity you should be able to do it there. Check in the sidebar that you can add BRs for the page and for the entity. The filtering of the lookup should be in the second one.



If its a lookup inside an editable list then I'm not sure how to do this. Before that was done in the detail BRs but here I'm not seeing how.

Hello!



Unfortunately, there is no option to filter lookup fields in the same way as in the Classic UI.

 

We've added it to our R&D team's backlog for consideration and implementation in future application releases.

Show all comments

Hi,

I use a Creatio Instance at version 8.1.0, running at .NET Core. When I tried to Compile All, I got such error:

Do you know what could cause problem?

Version 8.1.0.6704 (.NET 6.0.24)

Like 1

Like

6 comments
Best reply

Eryk Andrzejewski,

Hello, i found how to fix it
1. Go to directory 
creatio_dir/Terrasoft.Configuration/Pkg/CrtDigitalAdsApp/Files
2. Backup CrtDigitalAdsApp.csproj
3. In CrtDigitalAdsApp.csproj find the ItemGroup with <EmbeddedResource Update="Properties\Resources.resx"> and  comment the line  <<CopyToOutputDirectory>Always</CopyToOutputDirectory>
Example

4. Go to 
creatio_dir/Terrasoft.Configuration/Pkg/CrtDigitalAdsApp/Files/Bin/netstandard/Properties and remove Resources.resx
Now i have no warnings and errors when compile all

Hello,

 

Most likely, during the first launch of the application, one of the folders required for the application was not generated correctly.

We recommend checking that all paths are generated correctly.



You mention that you are running the application on .NET 6 using .NET Core. We ask you to make sure that you deployed the environment according to the official instructions and that all the necessary components are present on the server.



If you still can't resolve this compilation error, please create a separate request to the Creatio support team.

 

Thank you.

Hello, thank you for your reply :)

I suppose it may not be a problem of first launch. I get that problem regularly when I try to Compile All. But when I perform this action two times in a row, the problem disappears :) But I see such warning:

 

 

Unfortunately, the problem with Resources.resx repeat again during the next compilation :(

Eryk Andrzejewski,

Hello
I have the same error and the same system behavior.
Version 8.1.0.6828 (.NET 6.0.31)
Did you find any solution?

Oleksandr Kadkin,

Hi, since I started using Compile instead of Compile All, I no longer encounter this problem :)

Eryk Andrzejewski,

Hello, i found how to fix it
1. Go to directory 
creatio_dir/Terrasoft.Configuration/Pkg/CrtDigitalAdsApp/Files
2. Backup CrtDigitalAdsApp.csproj
3. In CrtDigitalAdsApp.csproj find the ItemGroup with <EmbeddedResource Update="Properties\Resources.resx"> and  comment the line  <<CopyToOutputDirectory>Always</CopyToOutputDirectory>
Example

4. Go to 
creatio_dir/Terrasoft.Configuration/Pkg/CrtDigitalAdsApp/Files/Bin/netstandard/Properties and remove Resources.resx
Now i have no warnings and errors when compile all

Thank you :)

Show all comments

Hello,

 

We need to put reports on the homepage and let users to filter data by period, region.

Is it possible now to link chart/list to dynamic filtration, so user can select what data to display in those chart/list?

Is it possible to add pivot table to the homepage?

Like 2

Like

3 comments

Dear Vladimir,

 

To apply dynamic filtration to the dashboards you can use the "Apply filter by page data" parameter. 

This way you can use the list element and ll filtration applied to the list will be applied to the dashboard as well.

 

 

You can read more about this element in the following article: https://academy.creatio.com/docs/8.x/no-code-customization/customizatio…

 

Have a great day!

Alina Yakovlieva,

So, can I filter only lists? And what about charts?

And pivot tables?

Hi Alina , Did u find anything to dynamically filter chart widget or any workaround

Show all comments

Hey guys,

 

I have a ComboBox that I would need to have a dynamic list of values. Is there a way in Freedom to make it so that the values do not come from a specific lookup dataset, and are only manually populated?

 

Lyle

Like 2

Like

1 comments

Hello!



Currently it's not possible to achieve using handlers or basic Freedom UI wizard. We've already created a suggestion to our R&D team to make it possible in future application versions and once it's done we will inform everyone in the Academy and Release notes. Thank you for helping us in making the app better!



Best regards,

Anton

Show all comments

Hi

I want to use the ID of the User (Owner) that started a business process. Can someone clarify the correct object of where this is stored and if it can be used in this way?

Like 0

Like

3 comments

Hello, 

to achieve this you can create a process parameter of Lookup type for Contact object (Lookup field), and fill in value of "Current user contact". then you might use this parameter wherever you need the users id, worked like this for me in test enviroment 

thanks for reply but I does the current user contact change during the business process. I only want the ID of the user who started the business process. At the point in the process I don't want the current user contact but the user who started the process.

There is probably a better solution but in the end I just created a lookup field on the object which recorded the current user at point of the business process starting, and used that later in process.

Show all comments

Hello,

what is the best way to add some custom fields into qualificaiton process. We need to copy information from Lead to Account only when new Account is created during qualification (like it is done OOTB).



But if we modify script of the process (ProcessContact, ProcessAccount methods), we should overwrite the whole process, so we can loose future Creatio updates of the process.

 

Do you have better approach to achive this goal?



Thank you!

Vladimir

Like 1

Like

3 comments

Hello,

Try to create a business process that is launched when a record is added or changed.

https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/pr…

When Account/Contact is created from the Lead qualification process, it is not linked to the Lead yet, so we cannot use "Added" signal.



When Lead is modified and Account/Contact is set, we don't know if it is set by qualification process or manualy. So, in the second case we mustn't modify Account/Contact.



In result, I don't see any option to catch event of Account/Contact creation during qualification

Hello,

 

In such circumstances, we recommend using the code-level development process to catch such an event and make the desired logic.

Unfortunately, we don't have any examples of such implementation.



If you have any difficulties with this task, you can create a ticket for the Creatio support team, within which we will consider this issue.

 

Show all comments

Hi everyone,

 

is it possible to hide some of the elements on the top right side (communication panel, notification panel). Some of the users wont use any of these, and I would like to hide it, not to bother them why are these there.

 

Thanks, Timea

Like 1

Like

2 comments

I would also like to be able to do this - for example noteworthy events and approvals are sections of the notification panel our users will never have a need to interact with, so it would be better if they weren't shown to users.

 

Additionally, it would be nice to be able to prevent some of the Business Process tasks from appearing for users - we have loads of them generated as part of a Lead Management flow, but users are unlikely to be interacting with those through there. It would be better for them to be kept out so that other Business Process task notifications don't get lost in the noise.

Hello Timea

 

You can use this marketplace addon to hide the UI Elements: https://marketplace.creatio.com/app/experceo-ui-wizard-creatio

You can add your custom CSS selectors and Operation permissions to control the visibility of the UI Elements.



Thank you

Mohamed

Show all comments

I'm looking for the code/process that does the denormalisation of Account Address entity records created against an Account on to that Account, as well as the code/process that normalises data put on the Account record for address details that get made into Account Address records (or update the existing one, if that's what it does). I haven't been able to find it in event listeners or business processes yet, but I presume it must be in one of those. We need to add some additional new fields to follow the same process, and it would seem sensible to use the same code to do so. We're on 8.1.1.

Like 0

Like

7 comments
Best reply

If you're referring to the code that adds the primary address values to the account (or contact) columns, that is in C# BaseAddressSynchronizer. This code is triggered from the specific address objects (such as AccountAddress) subprocess (open AccountAddress object then click "open process").  

FYI in classic pages there was also code on the page that did this via sandbox messages iirc.

Ryan

If you're referring to the code that adds the primary address values to the account (or contact) columns, that is in C# BaseAddressSynchronizer. This code is triggered from the specific address objects (such as AccountAddress) subprocess (open AccountAddress object then click "open process").  

FYI in classic pages there was also code on the page that did this via sandbox messages iirc.

Ryan

Thanks Ryan, any idea what the correct way to add an additional field to the synchronization process would be? I'm expecting that it would require adding a new C# module that inherits from the BaseAddressSynchronizer class (or maybe the AcountAddressSynchronizer for Account Addresses specifically?) and adds columns to the GetSynchronizationColumnMappings method in the following way:

protected override ICollection&lt;SynchronizationColumnMapping&gt; GetSynchronizationColumnMappings() {
	SynchronizationColumnComparator stringEqualComparator = EqualComparatorProvider.GetStringEqualComparator();
	var baseColumnMappings = base.GetSynchronizationColumnMappings();
	baseColumnMappings.Add(new SynchronizationColumnMapping {
		SourceColumnName = "SrcColName",
		DestinationColumnName = "TgtColName",
		Comparator = stringEqualComparator
	});
	return baseColumnMappings;
}

With the Account Address entity's column name as the source column name and the Account entity's column name as the target column name. Does the entity's subprocess also need editing to make this logic work, or does the GetAddressSynchronizer method used in the existing subprocess automatically include the extra column mappings defined in the override? Can't see where that method comes from.

Harvey Adcock,

 

Hi!

Yes, you need to create a new source code schema, add a new class that inherits from the BaseAddressSynchronizer, and override the GetSynchronizationColumnMappings method.

You may use the AccountAddressSynchronizer class as an example.

To apply the changes to the entity, it is necessary to create a replacing object and update its process methods (to call the overridden method instead of the default one).

Natalia Kalynovska,

 

Hi Natalia, does that require recreating the Process that's attached to the OOTB Account Address entities? As the replacing object in our package doesn't have that process by default, so in order to change it, it seems like we would have to recreate the previous Process with those changes? And does a Process in a replacing object "overwrite" the Process in the replaced object, or do they both still operate? I'm not sure if there's much documentation on the Entity Processes.

 

Thanks,

Harvey

Harvey Adcock,

Hello Harvey,

Have you find a solution to your needs?

No, unfortunately not yet. I didn't end up spending much more time after this thread on it though, it was deprioritised in our project, so it would still be useful if anyone knows how to correctly override entities' Entity Processes.

Natalia Kalynovska,

 

Hello Natalia,

 

I am trying to add some columns to the BaseAddressSynchronizer. Inheriting the class and overwriting the function is quite straight forward. What I have done is below:

 

namespace Terrasoft.Configuration
{
	using EntitySynchronization;
	using System.Collections.Generic;
	using Terrasoft.Core;
	using Terrasoft.Core.Entities;
 
	#region Class: PbContactAddressSynchronizer
 
	/// &lt;summary&gt;
	/// Provides methods for synchronizing account address with account.
	/// &lt;/summary&gt;
	public class PbContactAddressSynchronizer : BaseAddressSynchronizer
	{
		#region Construcors: Public
 
		public PbContactAddressSynchronizer(UserConnection userConnection, Entity addressEntity) :
			base(userConnection, addressEntity, "Contact") {
		}
 
		#endregion
 
		#region Methods: Protected
 
		protected override ICollection&lt;SynchronizationColumnMapping&gt; GetSynchronizationColumnMappings() {
 
			SynchronizationColumnComparator stringEqualComparator = EqualComparatorProvider.GetStringEqualComparator();
 
			var baseColumnMappings = base.GetSynchronizationColumnMappings();
 
			baseColumnMappings.Add(new SynchronizationColumnMapping {
				SourceColumnName = "PbTown",
				DestinationColumnName = "PbTown",
				Comparator = stringEqualComparator
			});
 
			baseColumnMappings.Add(new SynchronizationColumnMapping {
				SourceColumnName = "PbCounty",
				DestinationColumnName = "PbCounty",
				Comparator = stringEqualComparator
			});
 
            baseColumnMappings.Add(new SynchronizationColumnMapping {
				SourceColumnName = "PbAddressLine2",
				DestinationColumnName = "PbAddressLine2",
				Comparator = stringEqualComparator
			});
 
			return baseColumnMappings;
		}
 
		#endregion
	}
 
	#endregion
}

 

The piece I am having issues with pertains with what Harvey wrote above regarding overwriting the Process on the object. I would like to know the best way to overwrite the OOTB object processes. 

 

Furthermore, when I look into the Process responsible for running the Address synchronizer there is a script task with a single line of code, which runs a function that I cannot find in any source code files:

 

return SyncronizeContactAddress()

 

Would you be able to provide an example of how to call the overwritten BaseAddressSynchronizer from a script task.

Show all comments