We need to add a custom button to the section analytical view page, which will trigger a business process.

 

 

Is it possible ?

Like 0

Like

3 comments

 This container you are referring to is supposed to store DataViews in it (please take a look at the getDefaultDataViews method from the BaseDataView module). It is not supposed to store buttons in it.

 

It is better to add the button to a separate container created in the FiltersContainer container and bind process execution to this button. As an example I've added the button to the contact section analytics data view:

define("ContactSectionV2", ["ProcessModuleUtilities"],
	function(ProcessModuleUtilities) {
		return {
			entitySchemaName: "Contact",
			attributes: {},
			messages: {},
			methods: {
				runCustomProcess: function() {
					var config = {
						sysProcessName: "UsrProcess_eedcaa6"
					};
					ProcessModuleUtilities.executeProcess(config);
				}
			},
			diff: /**SCHEMA_DIFF*/ [
				{
					"operation": "insert",
					"name": "CustomButtonContainer",
					"parentName": "FiltersContainer",
					"propertyName": "items",
					"values": {
						"itemType": Terrasoft.ViewItemType.CONTAINER,
						"items": []
 
				},
				{
					"operation":"insert",
					"name": "TestProcessButton",
					"parentName": "CustomButtonContainer",
					"propertyName": "items",
					"values": {
						"itemType": Terrasoft.ViewItemType.BUTTON,
						"caption": {bindTo: "Resources.Strings.CustomButtonCaption"},
						"click": {bindTo: "runCustomProcess"},
						"style": Terrasoft.controls.ButtonEnums.style.GREEN
					}
				}
				] /**SCHEMA_DIFF*/
		};
	});

And connected custom process execution when clicking the button. As a result the button appeared on the page as expected:

And a custom process was executed upon clicking it.

 

Best regards,

Oscar

Oleg Drobina,

Hi Oleg

 

Couple of questions. If I just wanted this button to appear on List View of the Section Page rather than the Analytics what would need to change?

 

Also does this code create the custom button here or does that need to be created elsewhere and it is just referenced here?

 

thanks

Rob Watson,

 

Hello Rob,

 

For the first question: I used the FiltersContainer container as a parent for the button, but it has the logic that it's hidden in the list view and is displayed only in analytics view (logic of the saveFiltersContainersVisibility method). In this case logic like this should be used:

methods: {
...
loadAnalyticsDataView: function() {
					this.set("IsCustomButtonContainerVisible", false);
					this.callParent(arguments);
				},
 
				loadGridDataView: function() {
					this.set("IsCustomButtonContainerVisible", true);
					this.callParent(arguments);
				},
...
 
diff: [
...
{
					"operation": "insert",
					"name": "CustomButtonContainer",
					"parentName": "QuickFilterModuleContainer",
					"propertyName": "items",
					"values": {
						"itemType": Terrasoft.ViewItemType.CONTAINER,
						"visible": { "bindTo": "IsCustomButtonContainerVisible" },
						"items": []
					}
				},
				{
					"operation":"insert",
					"name": "TestProcessButton",
					"parentName": "CustomButtonContainer",
					"propertyName": "items",
					"values": {
						"itemType": Terrasoft.ViewItemType.BUTTON,
						"caption": {bindTo: "Resources.Strings.CustomButtonCaption"},
						"click": {bindTo: "runCustomProcess"},
						"style": Terrasoft.controls.ButtonEnums.style.GREEN
					}
				}
...
]

We change a parent item for the "CustomButtonContainer" to "QuickFilterModuleContainer". As a result button will be visible only in list view and will be hidden in analytics view.

 

As for the second quesion: the button is created in the schema diff directly (container + button itself).

Show all comments

In the angular code editors and WorkspaceExplorer in Creatio 7.17 there are toast notifications from the Angular Material Snackbar library that shows when you save or publish a schema, compile the configuration, etc. (the little black toast notification that displays in the bottom-middle of the screen after the save is complete)

Is it possible to use snackbar notifications in the client as well? Is there some module that wraps that functionality that can be used from client schemas?

Like 1

Like

3 comments

Hi Ryan,

 

We used a standard snack-bar as in the example here: https://material.angular.io/components/snack-bar/examples and wrapped with the service.

Here is an example: 

 

Bogdan Spasibov,

Hi, could I use a code similar to this in a task script in a process?

For example, on a page, a user clicks on a button to do something, the button executes a process and I want to inform the client that it is processing what the process does.... 

Julio.Falcon_Nodos,

Yes, I do this often and it works great. You'd need to:

  1. Send a message from the process to the front end. See https://customerfx.com/article/how-to-refresh-a-page-from-a-process-in-…
  2. Have some code somewhere that listens for the message. See https://customerfx.com/article/receiving-server-side-messages-in-a-crea…
  3. Then display the toast message. See https://customerfx.com/article/displaying-toast-message-popups-from-cre…

 

I've typically done this by making a generic process I can use as a subprocess. It sends the message to the client. Then I make a generic script loaded from MainShell or MainHeaderSchema that listens for the message and displays the toast. It makes it simple and generic to use and works on any page.

 

Ryan

Show all comments

Hi, i have an issue when i Show Confirm dialog in a page but when i selected it's close dialog and page but process still running, it is

not completed. Anybody know this issuse ?

diff: /**SCHEMA_DIFF*/[
			{
				"operation": "merge",
				"name": "Button-be6148b819154a0791eaee8f1635d859",
				"values": {
					"enabled": true,
                    "click": {
                      "bindTo": "confirmRegistrationWriteOffContract"
                    },
				}
			},
methods: {
          confirmRegistrationWriteOffContract: function() {
            var message = this.get("Resources.Strings.RegistrationWriteOffContractRequestMessage");
            Terrasoft.showConfirmation(message, function(result) { 
              if (result === Terrasoft.MessageBoxButtons.YES.returnCode) {
                this.onSaveButtonClick();
              }
            }, ["yes", "no"], this);
          }
        },

 

Like 0

Like

0 comments
Show all comments

Hi, i added a button into page and i want to show a dialog confirm. When i selected "Yes" the dialog and page is close but the next Actions of Process keep running, this is not completed. Someone can explaint it for me thanks :(

methods: {

          confirmRegistrationWriteOffContract: function() {

            var message = this.get("Resources.Strings.RegistrationWriteOffContractRequestMessage");

            Terrasoft.showConfirmation(message, function(result) { 

              if (result === Terrasoft.MessageBoxButtons.YES.returnCode) {

                this.onSaveButtonClick();

              }

            }, ["yes", "no"], this);

          }

        },

 

diff: /**SCHEMA_DIFF*/[

            {

                "operation": "merge",

                "name": "Button-be6148b819154a0791eaee8f1635d859",

                "values": {

                    "enabled": true,

                    "click": {

                      "bindTo": "confirmRegistrationWriteOffContract"

                    },

                }

            },

Like 0

Like

0 comments
Show all comments

Hi,

I am using the "Save Printable" business process element ('Save printable' process element | Creatio Marketplace) to create a printable and attach it to an Order as a PDF, but instead, it always creates a word document. Here is a video to show the issue: https://www.screenpresso.com/=q6LEd

 

The process runs with no errors, but instead of creating the PDF, it creates a Word doc.

 

Is there a missing parameter here or something that needs to be set to generate the document in the format needed?

 

Like 0

Like

4 comments
Best reply

I am not certain but there was an update from Creatio last year that removed the PDF function from Printables. Already existing Printables were still able to be converted to PDF, but new printables would not be able to. I am not sure if the Marketplace addon uses a distinct function to convert to PDF or uses what Creatio was using. I have used this element before and it worked but the Printable object may have been created before the Creatio patch that changed this function. 

I am not certain but there was an update from Creatio last year that removed the PDF function from Printables. Already existing Printables were still able to be converted to PDF, but new printables would not be able to. I am not sure if the Marketplace addon uses a distinct function to convert to PDF or uses what Creatio was using. I have used this element before and it worked but the Printable object may have been created before the Creatio patch that changed this function. 

Hello Rommel, Reid,

 

The “Save Printable” business process element uses the base functionality for generating printables.

Reid is absolutely right that Creatio products enable generating only the .docx files at the moment. The same refers to the add-on.

Hope this helps.

Have a good day!

Hello,

 

Any alternative to convert the word document to PDF or any fix to use the "Save Printable" business process element only for the conversion for the latest Creatio version?

Hello

We have released our Word to PDF converter addon in the marketplace: https://marketplace.creatio.com/app/experceo-word-pdf-converter-creatio

It allows you to convert unlimited Word documents to PDF without an external service.

I hope you find it useful!

Show all comments

Hi Community,

 

Where can I find in academy the discussion related to different creatio classes. Please share link please. Thank you so much.

 

Like 0

Like

1 comments

Hi Fulgen,

 

All the information available on JS API that is used in Creatio can be found here https://academy.creatio.com/api/jscoreapi/7.15.0/index.html

 

Best regards,

Oscar

Show all comments

When our users click on Display Data, they are required to click select more over and over again. Is there a way to increase the default number of records when using Display Data from a Dashboard?

Like 1

Like

1 comments

Hello Cricket,

 

Hope you're doing well.

 

At the moment the base logic of the application doesn't allow to show you either more or all the records after clicking on the 'Show more' button. I have informed our R&D department about this case so they could consider enhancing the following functionality in the upcoming releases.

 

Best regards,

Roman

Show all comments

How to access redis cache data in section or edit pages? Is it possible to access the same only with client code without involving server code?

Like 0

Like

1 comments

Hello,

 

Please check this Academy Article. This one should help you to achieve your business task.

 

Best regards,

Bogdan

Show all comments

Hello Creatio !

 

We've notice a bug in 7.17 with Creatio Outlook Connector. 

Apparently when you add Office 365 mailbox account in Creatio and add a Journal entry in Outlook - Creatio thinks that this is an email, and pull it to CRM as an email.

Its looks like this (see attachment).

 

I've tried to reach Creatio support with this, they told me thats an Outlook problem that Creatio pulls journal entry as an email. Funny it is.

 

Question is: will this gonna be fixed or in order to use Creatio Outlook connector we must dont use Journal in Outlook?

 

File attachments
Like 0

Like

0 comments
Show all comments

I registered at aspose cloud, made an app.  Got the client id and secret, and put those in the settings in Creatio.  But when trying to print, get this error:

 

 

Request Error

      The server encountered an error processing the request. The exception message is 'Bad Request'. See server logs for more details. The exception stack trace is: 

         at Aspose.Words.Cloud.Sdk.RequestHandlers.ApiExceptionRequestHandler.ThrowApiException(HttpWebResponse webResponse, Stream resultStream)

   at Aspose.Words.Cloud.Sdk.RequestHandlers.ApiExceptionRequestHandler.ProcessResponse(HttpWebResponse response, Stream resultStream)

   at System.Collections.Generic.List`1.ForEach(Action`1 action)

   at Aspose.Words.Cloud.Sdk.ApiInvoker.ReadResponse(WebRequest client, Boolean binaryResponse)

   at Aspose.Words.Cloud.Sdk.ApiInvoker.InvokeInternal(String path, String method, Boolean binaryResponse, String body, Dictionary`2 headerParams, Dictionary`2 formParams, String contentType)

   at Aspose.Words.Cloud.Sdk.RequestHandlers.OAuthRequestHandler.RequestToken()

   at Aspose.Words.Cloud.Sdk.RequestHandlers.OAuthRequestHandler.ProcessUrl(String url)

   at Aspose.Words.Cloud.Sdk.ApiInvoker.<>c__DisplayClass10_0.b__0(IRequestHandler p)

   at System.Collections.Generic.List`1.ForEach(Action`1 action)

   at Aspose.Words.Cloud.Sdk.ApiInvoker.InvokeInternal(String path, String method, Boolean binaryResponse, String body, Dictionary`2 headerParams, Dictionary`2 formParams, String contentType)

   at Aspose.Words.Cloud.Sdk.WordsApi.ConvertDocument(ConvertDocumentRequest request)

   at Terrasoft.Configuration.AsposeCloudPdfConverter.Convert(Byte[] data)

   at Terrasoft.Configuration.ReportService.ReportService.GenerateMSWordReport(String urlTemplateId, String urlRecordUId, Boolean convertInPDF)

   at Terrasoft.Configuration.ReportService.ReportHelper.CreateReport(String entitySchemaUId, String reportSchemaUId, String templateId, String recordId, String reportParameters, Boolean convertInPDF)

   at Terrasoft.Configuration.ReportService.ReportService.CreateReportsList(String entitySchemaUId, String reportSchemaUId, String templateId, String[] recordIds, String reportParameters, Boolean convertInPDF)

   at SyncInvokeCreateReportsList(Object , Object[] , Object[] )

   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)

   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)

   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Like 0

Like

3 comments
Best reply

Hi Chris,

 

Here is the feedback we received:

You need to check the values in the Creatio system settings connected to the Aspose service.

Please use the screenshot below to check whether the Aspose setting values match the respective system settings in Creatio.:

 

 

After you apply the changes, we recommend you to log out and log back into Creatio for checking the updates.

 

Hope this helps, 

Have a good day!

Hi Chris,

 

Thank you for your message.

We have forwarded your request to the responsible team.

We will get back to you with a solution as soon as we receive their feedback.

 

Have a good day!

Hi Chris,

 

Here is the feedback we received:

You need to check the values in the Creatio system settings connected to the Aspose service.

Please use the screenshot below to check whether the Aspose setting values match the respective system settings in Creatio.:

 

 

After you apply the changes, we recommend you to log out and log back into Creatio for checking the updates.

 

Hope this helps, 

Have a good day!

Thanks!  That worked.

Show all comments