Studio_Creatio
8.0

I want to debug the script task in business process, how to debug it? using visual studio or any other method

Like 0

Like

0 comments
Show all comments
Studio_Creatio
8.0

Hello community

I've a strange error when I try to connect to a local instance of creatio, in the console browser it's reported the following error:


bootstrap-loader.js?v=8.3.0.3074:343  Error during bootstrap loading:  Error: Failed to load: "

I tried to recompile all and flush redis, clear the cache browser but the error persist.

What do you suggest to do?

Like 0

Like

1 comments

Hello,

Usually, performing a Redis flush helps resolve this type of error. However, if it didn’t work in your case, could you please clarify what changes were made to the site or what actions were performed right before the issue occurred?

Also, could you please check what appears in the logs at the moment when the error occurs?

Show all comments
Studio_Creatio
8.0
Git

Hi everyone,

I’m new to Git-based development with Creatio, and I really need help understanding how a team should properly work using GitLab. We want to avoid mistakes and set up a stable workflow from the beginning.

Could you please help clarify the following topics:

Team development workflow in GitLab
• Should all custom packages be stored in a single repository?

CI/CD - do we need it and how to start?
• Should CI/CD automatically compile and deliver packages after a merge?
• How to deploy changes between Dev → Test → Prod environments correctly?
• What is the minimal recommended pipeline?

Version control content and rules
• What exactly should and shouldn’t be stored in Git? (especially DLLs, Autogenerated folders, bin/obj)

Known limitations or pitfalls
• Which development scenarios are not recommended when working with Git?
• Common conflicts with Creatio database, schema movement, or deleted objects?

I’m completely new to Git and GitLab development with Creatio. I honestly don’t understand how the process should work in a team, so I really need very basic explanations.
Any examples or documentation links, branching strategies, .gitignore examples, or CI/CD templates would help us tremendously.

Thank you very much in advance!

Like 0

Like

1 comments

Hello.

Regarding Git - please check the following Academy article:
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/version-control-system/git

Regarding GitLab, we do not have experience implementing it into the system, so we cannot provide you with detailed information regarding this question.

Have a great day!

Show all comments
Copy
Paste
Landing page
8.3.0
Studio_Creatio
8.0

How to copy paste custom UI I already created template in landing pages? because I already create the custom UI for my template landing pages, because i got home page, product page, dll with the same template. I don't want to use html (I know there's choice with download html)

Like 0

Like

1 comments

Hello,

Could you please provide additional information on:
1. Where you created the landing page (Creatio site or other site)? 
2. From which site and where do you want to transfer this landing page? 
3. Why the HTML solution is not working for you?

Show all comments

I’m trying to filter a lookup in Freedom using the SDK, but this error occurs.

Here’s my code snippet:

await filter.addSchemaColumnFilterWithParameter(
   sdk.ComparisonType.In,
   "RecordId",
   dokumenIds
);

From the log, the dokumenIds look like this:
['283bfe2a-cbe9-4b4c-8baf-2959cd30b84d', '2693a56e-c6a4-40a9-a16e-429db38a9e09', '58f1338c-e20d-4662-93c1-a9da27633a00', '69658b3a-77f6-4d42-ae1f-c0e2dcdd7049', 'fbb5a32b-1a25-4c17-8945-d8c7c264b5f7', '1df81ea2-025f-4a19-9963-da5461c80507']

 

Like 1

Like

2 comments
Best reply

sdk.ComparisonType.In does not exist. For a "column value is in list" type filter, you need to use filter.addSchemaColumnInFilterWithParameters instead of filter.addSchemaColumnFilterWithParameter (note the "In", and "parameters" instead of "parameter") and use the Comparison Type Equal. e.g. adapting your example:

await filter.addSchemaColumnInFilterWithParameters(
   sdk.ComparisonType.Equal,
   "RecordId",
   dokumenIds
);

sdk.ComparisonType.In does not exist. For a "column value is in list" type filter, you need to use filter.addSchemaColumnInFilterWithParameters instead of filter.addSchemaColumnFilterWithParameter (note the "In", and "parameters" instead of "parameter") and use the Comparison Type Equal. e.g. adapting your example:

await filter.addSchemaColumnInFilterWithParameters(
   sdk.ComparisonType.Equal,
   "RecordId",
   dokumenIds
);

Harvey Adcock,

Thank you for answer. Yes, there is no ComparisonType with In filter.

Show all comments
custom page schema
custompage
custombutton
setparameter
inputparameter
Studio_Creatio
8.0

Hello,

I'm trying to implement a custom page that is opened by clicking a custom button on the opportunity edit page. In the custom page, I'm trying to retrieve the opportunity record id but it is null everytime. Here below you can find my current implementation.

In Opportunity edit page, i've implemented the following.

define("UsrOpportunities_FormPage_em4fpxb", /**SCHEMA_DEPS*/["@creatio-devkit/common"]/**SCHEMA_DEPS*/, function/**SCHEMA_ARGS*/(sdk)/**SCHEMA_ARGS*/ {
	return {
		viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[
			...
			{
				"operation": "insert",
				"name": "BtnOpenPodManager",
				"values": {
					"type": "crt.Button",
					"caption": "#ResourceString(BtnOpenPodManager_caption)#",
					"color": "primary",
					"clickMode": "default",
					"clicked": { "request": "usr.OpenPodManager" },
					"size": "large",
					"iconPosition": "only-text",
					"visible": true
				},
				"parentName": "ActionButtonsContainer",
				"propertyName": "items",
				"index": 0
			},
			...
		]/**SCHEMA_VIEW_CONFIG_DIFF*/,
		...
		handlers: /**SCHEMA_HANDLERS*/[
			{
				request: "usr.OpenPodManager",
				handler: async (request, next) => {
					const handlerChain = sdk.HandlerChainService.instance;
					const oppId = request.$context?.Id;
 
					console.log("Opportunity Id:", oppId); // record id available
 
					await handlerChain.process({
						type: 'crt.OpenPageRequest',
						schemaName: 'UsrOpportunityPodManagerPage',
						$context: request.$context,
						modelInitConfigs: [{defaultValues: [{OpportunityId: oppId}]}], // setting the record Id to pass it to the custom page
						scopes: [...request.scopes]
					});
 
					return next?.handle(request);
				}
			}
		]/**SCHEMA_HANDLERS*/,
	};
});

In Custom page, I've implemented the following:

define("UsrOpportunityPodManagerPage", [], function () {
	return {
		...
		handlers: [
			{
                request: "crt.HandleViewModelInitRequest",
                handler: async (request, next) => {
                    const ctx = request.$context || {};
                    let opptyId = ctx.OpportunityId; // trying to read the opportunity record Id
 
                    // Propagate
                    ctx.OpportunityId = opptyId;
                    const res = await next?.handle(request);
 
					console.log("[PodManager] OpportunityId:", opptyId); // the value is null everytime
 
                    return res;
                }
            },
			...
		],
		...
	};
});

The issue is that in the crt.HandleViewModelInitRequest the value of ctx.OpportunityId is null.

What I'm doing wrong? How I can solve this issue?

Thanks,

Matteo

Like 0

Like

1 comments

Hi Matteo,

crt.OpenPageRequest in Freedom UI does not support page parameters. As a workaround you can implement this using the browser’s native BroadcastChannel API to pass values.

Here is an example:

Sender page handler

handlers: /**SCHEMA_HANDLERS*/[
	{
		request: "usr.OpenPodManager",
		handler: async function (request, next) {
			const handlerChain = sdk.HandlerChainService.instance;
			const oppId = await request.$context.Id;
 
			// Wait for the receiver page to signal it's ready
			const bc = new BroadcastChannel("Ready");
			bc.onmessage = (event) => {
				if (event.data?.type === "Ready") {
					// Send the value to the receiver page
					const sender = new BroadcastChannel("OpportunityId");
					sender.postMessage({
						type: "OpenReceiverPage",
						payload: { OpportunityId: oppId }
					});
					sender.close();
					bc.close();
				}
			};
 
			// Open the receiver page
			await handlerChain.process({
				type: 'crt.OpenPageRequest',
				schemaName: 'UsrOpportunityPodManagerPage',
				$context: request.$context,
				scopes: [...request.scopes]
			});
 
			return next?.handle(request);
		}
	}
]/**SCHEMA_HANDLERS*/

Receiver page handler

handlers: /**SCHEMA_HANDLERS*/[
	{
		request: "usr.HandleViewModelInitRequest",
		handler: async function (request, next) {
			await next?.handle(request);
 
			// Notify the sender page that the receiver page is ready to receive data
			const readyChannel = new BroadcastChannel("Ready");
			readyChannel.postMessage({ type: "Ready" });
			readyChannel.close();
 
			 // Listen for the data from the receiver page
			const bc = new BroadcastChannel("OpportunityId");
			bc.onmessage = (event) => {
				if (event.data?.type === "OpenReceiverPage") {
					const oppId = event.data.payload?.OpportunityId;
				}
			};
		}
	}
]/**SCHEMA_HANDLERS*/
Show all comments
#source_code
.NETCORE
Studio_Creatio
8.0

Hello,

I’ve developed a solution using the .NET Framework, and I’m now looking to migrate it to .NET Core. Could anyone guide me on the best approach or recommended steps for converting an existing .NET Framework project to .NET Core, especially when integrating it with Creatio?

Additionally, do I need to set up a local Creatio environment on Linux for development, or can I continue working on Windows?

For context, this source code will be part of an application that I plan to publish on the Creatio Marketplace.

Any insights, recommendations, or best practices would be greatly appreciated.

Like 0

Like

1 comments

Hello,

Migration process mainly involves adapting your existing project so that it can operate on the newer .NET runtime used by modern Creatio versions. Since Creatio now runs on .NET 6 (Core), the goal is to make your code compatible with this platform while keeping your existing business logic intact.

The first step is to review all your project dependencies and external libraries. They should support .NET Standard 2.0 or higher, which ensures they can work in both .NET Framework and .NET Core environments. Some parts of the older framework, such as System.Web, GDI+, or WCF components, are no longer supported, so they may need to be replaced with modern equivalents. Microsoft provides tools like “try-convert” and “.NET Upgrade Assistant” that can automatically update your project structure, convert .csproj files, and help identify incompatible APIs.

From the Creatio integration side, you don’t necessarily need to switch to Linux for your development process. You can continue developing and testing your solution on Windows using Visual Studio or JetBrains Rider. What’s important is that the final build should target .NET 6 (or .NET Standard 2.0) so that it can run inside Creatio’s .NET Core runtime. When your package is ready, you can deploy it into a Creatio environment running on Linux for validation. This step ensures full compatibility before submitting it to the Marketplace.

Before publishing, it’s also recommended to verify that your solution works correctly with PostgreSQL, as Creatio .NET Core supports only this database. Check that your DLLs compile successfully, and remove any dependencies tied to Windows-only components. Once everything runs smoothly in a Creatio .NET environment, your application will be ready for Marketplace submission.

Show all comments
Facebook
integration
Facebook Integration
Studio_Creatio
8.0

I have to configure a callback URL for facebook to be called by a webhook each time a user comments on my Facebook page.

I created the Creatio web service as per documentation provided by Facebook, but when I try to set the callback URL in my Facebook developer console i get an error.

I assume it is because Creatio services requires authentication. Is there any way to solve this issue?

I am working in a cloud instance, so I cannot change web.config files and similar other configurations. How can I create an anonymous web service?

Like 0

Like

1 comments

Hello Sivia,

I have done implementation of anonymous webservice in Creatio for a client of mine.

If you have Creatio cloud instance (as you state in your question) final configuration must be done from Creatio support on cloud server directly. 

You would need to create anonymous endpoint on Creatio side and all other necessary files (.svc file/s, changes in services.config files and changes in Web.config files) and submit a Ticket by Creatio support with instructions what they need to configure on server. You should prepare and test everything on you local development environment first and after this just provide instructions and files to Creatio support.

If you need any further assistance, just let me know.

Best regards,

Jelenko.

Show all comments
FreedomUI
list
detail
Studio_Creatio
8.0

Hello, community!

Could you please advise how to change the height of an Expanded list (detail) in Freedom UI? Is it possible to make the vertical size flexible depending on the number of rows?

Like 2

Like

1 comments

If you increase the height of the list within the expansion panel in the Page Designer, then the expansion panel's maximum height will match the list's size in the Page Designer. If there aren't enough records to fill that list, the expansion panel's height will be smaller to match the number of records. I don't think there's a way besides this to control the height without code/custom CSS.

Show all comments
Studio_Creatio
8.0

Good Day , 

I would just like to find out if there is a way to create Dynamic Radio Buttons in Creatio. That is based on Data we get from an external database. This is because we want an alternative to the dropdowns and selection combo boxes.

It is the cloud version of Creatio

The Version of Creatio is :

Like 0

Like

1 comments

Hello,

Unfortunately, this functionality is not available in the system. This idea has already been registered, and I will add your request there to raise its priority. As for now, we recommend using the checkbox field as a workaround.

Show all comments