Hello!
I have created a business process that must run after changes are made to the "Not allowed" field in the Activity. When I change this field manually and then save the activity, it runs as it should. However, I also wrote a very simple C# code in the saving event that changes this field in the activity when I move the activity in the calendar, but the process does not start despite the changes in the "Not allowed" field.

I am moving the activity in the calendar

Code: _entity.SetColumnValue("CHNotAllowed", DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss")); 

Process:


 

Like 0

Like

2 comments

Hello,
If an Entity.Save() call occurs in the embedded process or listener, in this case, the signal to start the BP is not thrown.
Try using the EntitySchemaQuery, if I'm not mistaken, it should trigger the necessary Entity level.

Dmytro Vovchenko writes:

Hello,
If an Entity.Save() call occurs in the embedded process or listener, in this case, the signal to start the BP is not thrown.
Try using the EntitySchemaQuery, if I'm not mistaken, it should trigger the necessary Entity level.

It works everywhere except changes in the calendar

"Try using the EntitySchemaQuery" -what do you mean? plz give an example. 

Show all comments

I am trying to disable the "Complete" button on any user task in a Case if any of the Checklist entries have not been completed for that Case. Does anyone know of a way to achieve this or have any examples ?

Like 0

Like

2 comments

Run a process from the case that carries out the checks (displaying messages if errors) before creating the task?

Gareth Osler,

Thanks for the reply however this assumes the checking should be done when creating a task. I need to be able to intercept the hover over an existing task and at that point check the criteria and either enable or disable the "Complete" button before it appears against the task.

Show all comments

Hello Community,

 

I need to add some libraries with the "using" statement in the "Script Task". The libraries that I want to add are the following ones:

using System;
using System.Collections.Generic;
using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;

Is there any way of adding them? 

 

Thank you very much!

Like 0

Like

4 comments
Best reply

Click on any white space in the process to get the blue "Process" plane on the side. On the Methods tab you can add usings.

Ryan

Click on any white space in the process to get the blue "Process" plane on the side. On the Methods tab you can add usings.

Ryan

Ryan Farley,

Thank you for the clarification!

 

I have tried but I need to add previously the libraries to the site. Do you know how to add this library to the configuration for calling it later from the script?

You need to add the assembly to your package, there's an option for "Import" on the add menu.

I have tried and it works, thank you very much Ryan!

Show all comments
Question

Hello, community!

 

Is there any way that I can customize the appearance of the task? So, instead of it being with a single button - "completed" could I remove this "completed" button and add two more of my own? Something like this:

Like 0

Like

3 comments

Hi Nicolaiciuc Maria,



Do you want to customize this task in the dashboard?

i.e the tasks appear in the section dashboard area.



BR,

Bhoobalan Palanivelu.

Bhoobalan Palanivelu,

I am not sure what do you mean by dashboard. I want these buttons right in the section page of the record, where the tasks usually apear. I will attach a photo for you. Thank you!

Nicolaiciuc Maria,



Thanks for clarifying!

 

To change the view of the task (modify the buttons) in the action dashboard (the place where you want as attached in your screenshot) you can do the following: 

 

STEP 1: Create your own module extending "BaseDashboardItemViewConfig" and changing the Item view as you need. You can see how the fields are displayed in the getActionsViewConfig() method, which you would need to modify. 

define("UsrDashboardItemViewConfig", ["BaseDashboardItemViewConfig"], function() {
    Ext.define("Terrasoft.configuration.UsrDashboardItemViewConfig", {
        extend: "Terrasoft.BaseDashboardItemViewConfig",
        alternateClassName: "Terrasoft.UsrDashboardItemViewConfig",
 
        getActionsViewConfig: function() {
            return {
                "name": "Actions",
                "itemType": Terrasoft.ViewItemType.CONTAINER,
                "classes": {wrapClassName: ["dashboard-item-actions on-hover-visible"]},
                "items": [
                    {
                        "name": "NO",
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,
                        "caption": "No",
                        "click": {"bindTo": "onCancelButtonClick"},
                        "classes": {
                            "textClass": "dashboard-item-right"
                        },
                        "visible": {"bindTo": "CancelButtonVisible"}
                    },
                    {
                        "name": "YES",
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,
                        "caption": "Yes",
                        "click": {"bindTo": "onExecuteButtonClick"},
                        "classes": {
                            "textClass": "dashboard-item-right"
                        },
                        "visible": {"bindTo": "ExecuteButtonVisible"}
                    },
 
                ]
            };
        }
    });
});



STEP 2: Create a replacing SectionActionsDashboard schema and add your modules to the dependencies. 

 

define("SectionActionsDashboard", ["UsrDashboardItemViewConfig"], function() {
    return {
 
        methods: {
            initDashboardConfig: function() {
                this.callParent(arguments);
                const dashboardConfig = this.get("DashboardConfig");
                var activityItemsConfig = {
                    "Activity": {
                        viewModelClassName: "Terrasoft.ActivityDashboardItemViewModel",
                        viewConfigClassName: "Terrasoft.BaseDashboardItemViewConfig"
                    }
                };
                if (this.$entitySchemaName === "Case") {
                    activityItemsConfig.Activity.viewConfigClassName = "Terrasoft.UsrDashboardItemViewConfig";
                }
                Ext.merge(dashboardConfig, activityItemsConfig);
                this.set("DashboardConfig", dashboardConfig);
            }
        }
    };
});

 

 



BR,

Bhoobalan Palanivelu.

 

 

Show all comments

Hi community,

 

I was wondering if we could develop faster by speeding up the publication of a c# script task used in a business process ?

 

I can debug it using Visual Studio but we can't really directly build in it to go faster. It is a real pain to wait every time I run the script to see if there are some errors or not.

 

Do you have some solution to this problem ? It would help me a lot.

I found how to debug the server side scripts on the academy but I did not found how to publish the scripts faster.

 

Many thanks,

Jonathan

Like 0

Like

4 comments
Best reply

Hi Jonathan,

 

you can use either Clio with a Project package | Creatio Academy) or Assembly package | Creatio Academy, if you have a newer version (I think it was introduced in 7.18.3 or 7.18.4).

That will speed up the compilation process because not the whole configuration has to be compiled, but only the package you are working with.

 

However, read the docs carefully, because using these variants of configuration has some implications for the customizing and development later on.

 

BR,

Robert

Hi Jonathan,

 

you can use either Clio with a Project package | Creatio Academy) or Assembly package | Creatio Academy, if you have a newer version (I think it was introduced in 7.18.3 or 7.18.4).

That will speed up the compilation process because not the whole configuration has to be compiled, but only the package you are working with.

 

However, read the docs carefully, because using these variants of configuration has some implications for the customizing and development later on.

 

BR,

Robert

Robert Pordes,

 

Thanks for the reply. I knew about the initiation of a project package using Clio. However, if I am working, let's say on an existing business process and I want to modify it by inserting a new c# script task into it. I can't really create a new clio package only for that simple reason.

 

If doing like this, isn't there another way to compile / publish the c# script task and the business process faster ?

 

Hopefully I was clear enough in my explanation.

 

Let me know.

 

Best regards,

Jonathan

Hi Jonathan,

 

There is a task for our processes R&D team to make the compilation of the processes faster, but currently it's not possible to speed up the process using other ways than Robert presented. Also the publish speed depends on the number of lines in the code of the process - more lines, more time. The only thing I could propose here is using an assembly package that will not trigger all configuration compilation that will result in better publish speed.

 

Best regards,

Oscar

Oscar Dylan,

 

Okay, I see. Thanks a lot for the answer.

 

Best regards,

Jonathan

Show all comments

Hello 

When creating a new Task the system automatically sets the task duration 30 minutes. How can I change this default value?

 

There is an older question about it, but I can't find that line that is mentioned there  

 

Thanks in advanced for your help!

Like 0

Like

3 comments
Best reply

Hello Cesar,

 

Unfortunately, there is no option to change the default value anymore.

As a workaround, you are able to change the duration after creating the task.

 

Thank you,

Artem. 

Hello Cesar,

 

Unfortunately, there is no option to change the default value anymore.

As a workaround, you are able to change the duration after creating the task.

 

Thank you,

Artem. 

Hello Artem,

 

In version 8.0.10, is it possible to change the default value assigned to the duration of activities?



Thank you,

Andreia

 

 

Hello Andreia,

 

Unfortunately, this option is still not available at the moment. However, a task has already been registered in our R&D team to consider and implement such a feature in future releases.

 

 

Show all comments

I found the actual working time field is locked. And I didn't find any timesheet that the resource can input. So anyone can tell me how is the actual working time calculated? Many thanks.

Like 0

Like

1 comments

The total duration is calculated by the system automatically as the sum of working hours between the planned start and end dates of the project. For example, if the start date is 10.01 and the end is 11.01, then the sum of working hours is 16.

 

 Actual work is recalculated to the [Resources] details of the work page and to the [List of Resourses] details of the project. When an action is performed, the durations of all completed activities associated with a specific element of the project are summed up by the assignee column. For the correct recalculation of the actual labor costs for the project, the assignees of the  activities must be indicated in the project resource list. For example, if an activity is created on the Supervisor contact and is placed in the Completed state. The duration of the activity is , for example, 30 minutes, then as a result you should see that the actual work in the resource sheet is 0.5 hours.

In this case, the required calculation is performed through the action [Calculate actual working time], it recalculates the actual time spent on the implementation of the project / work.

 

 The calculation itself is performed in the process "Business process for calculating the actual labor costs of projects on a schedule" by the code:

 

 

ProjectService projectService = new ProjectService ();

EntitySchemaQuery projectEsq = new EntitySchemaQuery (UserConnection.EntitySchemaManager, "Project");

var idColumn = projectEsq.AddColumn (projectEsq.RootSchema.GetPrimaryColumnName ());

var projectFilter = projectEsq.CreateFilterWithParameters (FilterComparisonType.IsNull, "ParentProject");

projectEsq.Filters.Add (projectFilter);

var projectEntities = projectEsq.GetEntityCollection (UserConnection);

if (projectEntities.Count> 0) {

    foreach (var projectEntity in projectEntities) {

        var projectId = projectEntity.GetTypedColumnValue <Guid> (idColumn.Name);

        projectService.CalculateProjectActualWorkByProjectId (projectId);

    }

}

return true;

 

Best Regards,

Yurii

Show all comments

Hi,

I'm looking for an example code of using the aspose pdf libraries inside creatio's code.

Thanks,

Raz

Like 0

Like

10 comments

Are we talking about this Marketplace add-on? https://marketplace.creatio.com/app/asposepdf-connector-creatio

 

Did you read the Installation > Guides and manualsRead Manuals on the marketplace page?

1. Register at Aspose.PDF service (https://products.aspose.cloud/pdf/net), add an application (My Apps> Add an App), get access keys (Client Secret, Client ID).

2. Fill in the system settings "Aspose API Access Key" (= Client Secret) and "Aspose Security Identifier (App SID)" (= Client ID) with the data from item 1, respectively. Logout and login to the Creatio app again.

3. Go to System Designer > Lookups > the ‘Printables’ lookup, select the printable, and open the printable setup page, select the ‘Convert to PDF’ checkbox and save changes. Note that the ‘Convert to PDF’ checkbox is available only on the printable setup page in the new UI.

4. The add-on shows an error message if a printable conversion fails on the Aspose side (Aspose service is unavailable, service access is not paid, etc.). Detailed error description is available in the browser console.

What sort of code do you need?

Julius,

Hi Julius,

 

Yes, I'm taking about this addon.

The thing is that this connector only allows me to create a pdf document.

I want to merge 2 pdf documents to 1.

So I thought about using the aspose cloud API SDK for .Net.

 

I've read in the academy that I can include external libraries, so I've been thinking using aspose libraries to do so.

 

So my question is related to the usage of aspose API SDK Libraries in creatio.

 

Raz

Hi Raz,

 

You can find an example of the Aspose API library call from Creatio in the 'AsposeCloud' package. Additional information on Aspose API SDK is available here - https://products.aspose.cloud/pdf/net.

 

Hope it helps.

Svetlana Kobizka,

Hi Svetlana,

 

Thank you very much for the reply.

I managed to find the AsposeCloud :)

 

The thing is that when I download the Apospe dll the libraries are different.

 

I need to use the service to merge documents, but it's not working.

 

I attached the code and the library that I'm using.

 

I appreciate if you could assist me

 

https://www.dropbox.com/s/2lplgni2wsi5piy/Aspose.PDF.dll?dl=0

 

This is the code

PdfApi api = new PdfApi("11d276990520041f6cda09531e25aabb", "9568f0a0-cf77-4836-97d2-fd1389338080");

 

Hi Raz,

 

The responsible team checked that the Aspose connector uses Aspose.Words.Cloud.Sdk.dll, which does not include the method that you need. You can find the description of the .Pages.Add() method that you need here: https://docs.aspose.com/pdf/net/merge-pdf-documents. Please install the required library and follow the Aspose official guidelines.

 

We have asked the team about possible development assistance, unfortunately, they cannot assist.

Why don't you just make an extra printable template for this purpose?

A printable template which includes all the pages you need

Julius,

What do you mean by "extra printable"?

I need the two printables merged together in the same document.

Alexander Demidov,

Hi,

 

Thank you very much for the detailed answer.

All the documentation that I've found about merging files through the Aspose Words Cloud eventually needs a directory to put the file.

Or in the other way a filestream to create the file from and I can't do that, because my creatio  application is a cloud base.

Am I missing something?

Hi Raz,

 

I have forwarded your question to the relevant team. We will get back to you once we have more information.

Show all comments