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

6 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<SynchronizationColumnMapping> 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.

Show all comments

Hello,

 

We use Binding tool for binding data in our development package. And customer binds data in their data package.

When we choose 'Bind all' in Lookup, it creates new Data like 'AccountCategory_Values' in the package that we select (Dev package)

 

When customer does the same operation and selects their Data package, tools updates Data in the locked Dev package.



Currently we use workaround - not to use 'Bind all', but just select all records. But it would be nice to fix this small issue



Thank you!

Like 3

Like

1 comments

Hi Vladimir,



Thank you for bringing our attention to this matter.

We've confirmed the issue with the 'Bind all' feature and have relayed your feedback to the development team for review.



Kindly await a new release on the marketplace.

 

Show all comments

Hi!

 

I am currently working on a functionality that overrides and defines what needs to happen when clicking a button on a detail.

 

This means I am working on a "Source Code" type of file within the configuration, so only C# code involved.

 

I have some trouble debugging the code to see what's wrong besides this message that pops up:

 

I haven't found any debugging tips specifically for this type of "file"/task and I would like to display message boxes with values of variables and so on, just like the one above.

 

I know there is a way to achieve this using business processes and JS code inside the client module, but I haven't found any solution to programatically display this using C# code.

 

Can someone refer me to the class/library where this is located exactly?

 

Thanks,

Laurentiu

Like 1

Like

4 comments

Hello Laurentiu,

 

C# cannot be used to display the popup directly. What can be done is send a websocket message to the client side and display the popup when a websocket message is received. Like described here, but in the onNewMessage method you need to call this.showInformationDialog method (just check how it's called out-of-the-box) and pass the message to it.

If this is a local system you can use debugging with your C# code, see https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

If this is a cloud system, sending messages to the UI to display a message box isn't the best route since the message boxes aren't blocking, meaning if your code sends 3 messages, only the last one will show in the message box, plus it means you have to add client-side code to receive the message and display it. 

It would be far better to just create a lookup object to write your debug messages to, then you just check the lookup to see the messages. 

Ryan

Ryan Farley,

Do you have an example how to write into a lookup  object please ?

You can write to any object using the following: 

var schema = UserConnection.EntitySchemaManager.GetInstanceByName("AccountType");
var entity = schema.CreateEntity(UserConnection)
entity.SetDefColumnValues();
entity.SetColumnValue("Name", "Some new type");
entity.Save();

 

However, for debugging, even better than writing to an object would be to use logging, see https://customerfx.com/article/logging-information-and-errors-in-creatio-c-code-and-viewing-from-cloud-hosted-systems/

Ryan

Show all comments

Hello,

 

I have a page with the progress bar (cases) on Studio 8.1.0.6827. To simplify the explanation, let's say there are two stages based on a status field: New Request and Completed and I have business rules stating that the request description is required if the status is Completed. 



If the 'Save record on stage change' is off, when I click on the Completed bar, the description field becomes require and I cannot save without entering. But of 'Save record on stage change' is on the record is saved and the status changes to Completed even if the description was not entered. 



Any ideas on how to make it work where the 'Save record on stage change' is on but the business rules are applied, and the record is not saved if the required fields for that status are missing?



Thanks,

Jose

 

Like 1

Like

1 comments

Hello!

 

To provide you with an answer, we need to investigate it deeper. Please contact the Support Team directly via support@creatio.com and provide all these details.

 

Best regards, Mariia

Show all comments

Greetings, I was wondering if there was a way to apply a filter to an audience in a bulk email that only applies those who didn't click a link in a particular email. For example, we have Bulk Email A that launched last quarter. We want to send Bulk Email B, but only to those who did not click on a link within Bulk Email A. I know campaigns have this logic, but does it exist in bulk email launches? Thanks in advance.



Lucas

Like 0

Like

1 comments
Best reply

Hello!



Here's an example of such a filter:







Best regards,

Anton

Hello!



Here's an example of such a filter:







Best regards,

Anton

Show all comments

Hi,



Did anyone experienced the same thing as I am?



I am trying to import data (from dev) to a custom object after deploying it to Client in production but gives no sign of completion or any error.



Section > Data Import > Upload file > Close.



While doing this, I am actively checking console and network to check for any signs of error but it doesn't have any. Its been more than >40 minutes for a 2 row entry I exported from dev.



Any possible reason?



Creatio Version: 8.1.1.3635



Thank you.

Like 0

Like

1 comments

Hello!

 

Please create a separate request to the Support Team via support@creatio.com and provide all these details. 

 

Best regards, Mariia

Show all comments

Dear,

We can not add or edit business rules on our custom Order Product Detail, the system return the following error : 

Unable to modify business rules because the "Edit card - Product in order" page source code contains invalid json symbols. Your system administrator will have to delete these symbols. After the mentioned above symbols have been deleted, you need to re-open the wizard, and business rules will be available for edit.

I tryed to remove all the code in our custom orderProduct detail :

=> the system still returns the error

Does anyone have any ideas to fix the problem ?

Thank you,

Nicolas

Like 0

Like

2 comments

Just throwing out some ideas. Maybe there's some non-printable character that got posted in somewhere? I'd try pasting the contents to a text editor that can show non-printable chars (such as Notepad++).

Also, maybe look at the resource strings? Maybe there's a resource name with some weird char?

Thank you Ryan for your answer, i ve check what you advise me to check, but i did not find any problem.

We are having two OrderProductPageV2 in two separate package: Custom and Custom_transfert, we removed all business rules in the OrderProductPageV2 in Custom_transfert and surprisingly we can edit the orderProductDetail business rules...

Thank you again for your help !

Show all comments

Hello, 



Do you know how to bind data for column permission in package? I have to bind the highlighted records in package. 



 

Like 4

Like

1 comments

Hello,

 

SQL scripts can be utilized to implement the transfer of organizational structure settings and access rights from one environment to another. To do this, insert queries need to be generated on the reference environment based on records from the following tables:

  • SysAdminUnit (Administration object: users and roles)
  • SysUserInRole (Direct user role assignments)
  • SysFuncRoleInOrgRole (Functional role assignments to organizational roles)
  • SysAdminOperation (System operations, if necessary)
  • SysAdminOperationGrantee (Access to system operations, if necessary)
  • SysEntitySchemaOperationRight (Access to objects)
  • SysEntitySchemaRecordDefRight (Access to default records)
  • SysEntitySchemaColumnRight (Access to object columns)
  • SysAdminUnitGrantedRight (Delegation)
  • SysWorkplace – (User workplace)
  • SysAdminUnitInWorkplace – (Users in the workplace)
  • SysModuleInWorkplace – (Module in the workplace)

You can use Microsoft SQL Server Database Publishing Wizard or similar tools to generate queries. The resulting SQL script should be attached to the package. If the transfer is happening to a production environment, we recommend making a backup of the data beforehand and primarily deploying the package to a test environment to verify the script execution results. These tasks should be performed outside of business hours.

 

Show all comments