Hi everyone, 

I'd like to automate a data Import from a FTP server using a business process, without downloading the file locally.

I also found this article (https://community.creatio.com/questions/how-automate-imports-ftp-locati…) , but the links have either been removed or deleted.

I would like to know whether it is possible to use C# code in a Script Task to store the data stream in RAM and eventually recover the data to import. 

Is it reasonable for a cloud- stored enviroment to handle this kind of process with CSV files of approx. 2 MB?

Like 1

Like

3 comments

Hi Federica, 

 

Actually you are still capable to use OData with business task to achieve required implementation. You don't need to use Scheduler for this, so disregard these deleted links, I will give you fresh one , please take a look on the actual OData 4 link with guide how to set up the integration: 

 

https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest

 

Please also check out this link from Marketplace where you may find another solution for you task: 

 

https://marketplace.creatio.com/app/file-manager-creatio

 

here you may set up key features of needed requirements, so you can make "One click" implementation and it might be much easier for you.

 

Best Regards, 

 

Bogdan L. 

The .NET FtpWebRequest class can download a file to an in-memory stream (without actually saving the file anywhere) that you can then process from the stream. This could be used from a ScriptTask in a process etc

FtpWebRequest request =
    (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/path/file.txt");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.DownloadFile;
 
using (Stream stream = request.GetResponse().GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
    while (!reader.EndOfStream)
    {
        string line = reader.ReadLine();
        // process the line as needed
    }
}

Ryan

Ryan Farley,

That's the script I'm running at the moment and it works!

Show all comments

Hi,



I have a small problem,

I have a custom section "Client" and I created a custom field UsrName.

When lead is created, I auto create Client by setting lead.contact_name as client.usrname but it always got set as null/empty string.

In the same business process, I am creating a contact using lead.contact_name as contact.fullname and it works perfectly.



I tried setting a business rule as well that when lead is filled in, it auto copies the lead.contact_name as client.usrname, but it didn't work.



Do you have any idea why this doesn't work?







Best Regards,

Solem A.

Like 0

Like

2 comments
Best reply

I have solved this,



The lead create event was being triggered way before I clicked save button. So I changed my BP to occur during Lead Modified.



Best Regards,

Solem A.

Dear Solem Khan Abdusalam,

 

Could you please specify a few things?

 

1. Does the client object get created?

2. Is the contact's name populated?

3. Do other fields get populated correctly?

 

You can also check in the Client object configuration if the Displayed value is set to Name

 

Best Regards,

Max.

 

I have solved this,



The lead create event was being triggered way before I clicked save button. So I changed my BP to occur during Lead Modified.



Best Regards,

Solem A.

Show all comments

Hi Team,

 

I want an schedule an email weekly with a excel report as attachment that will  be generated by system 

 

I used These application to generate excel report and attach to email automatically 

 

Excel pivot report for Creatio

Excel reports builder for Creatio

Printable attachment in email for Creatio

'Save printable' process element

Send email with attachments

 

But was unable to generate and attach excel to email on a scheduled process

Excel attachment is mandatory 

 

Please suggest a work around to solve this.

 

Thank You in Advance

 

Like 0

Like

1 comments

Hello,

There is no way to generate the excel report since it is not piece of default functionality. The workaround to attach the excel report manually on the attachments detail and use simple process to send it. Here is the example that send attachments from account:

 

 

 

 

Other than that, it is necessary to develop custom integration that will call for endpoint of the excel report generation, get file, send it to Creatio and then the process would re-send it according to your needs.

 

When clicking on generate excel report, the query calls for https://yourwebsite.com/0/rest/IntExcelReportService/GetExportFiltersKey with the following parameters:

EsqString: "{\"rootSchemaName\":\"Contact\",\"operationType\":0,\"includeProcessExecutionData\":true,\"filters\":{\"items\":{\"8488ded0-40f6-4167-95ca-20bccc49bfc1\":{\"filterType\":1,\"comparisonType\":3,\"isEnabled\":true,\"trimDateTimeParameterToDate\":false,\"leftExpression\":{\"expressionType\":0,\"columnPath\":\"Id\"},\"rightExpression\":{\"expressionType\":2,\"parameter\":{\"dataValueType\":1,\"value\":\"c4ed336c-3e9b-40fe-8b82-5632476472b4\"}}}},\"logicalOperation\":0,\"isEnabled\":true,\"filterType\":6},\"columns\":{\"items\":{\"Full name\":{\"caption\":\"Full name\",\"orderDirection\":0,\"orderPosition\":-1,\"isVisible\":true,\"expression\":{\"expressionType\":0,\"columnPath\":\"Name\"}},\"Age\":{\"caption\":\"Age\",\"orderDirection\":0,\"orderPosition\":-1,\"isVisible\":true,\"expression\":{\"expressionType\":0,\"columnPath\":\"Age\"}},\"Email\":{\"caption\":\"Email\",\"orderDirection\":0,\"orderPosition\":-1,\"isVisible\":true,\"expression\":{\"expressionType\":0,\"columnPath\":\"Email\"}}}},\"isDistinct\":false,\"rowCount\":-1,\"rowsOffset\":-1,\"isPageable\":false,\"allColumns\":false,\"useLocalization\":true,\"useRecordDeactivation\":false,\"serverESQCacheParameters\":{\"cacheLevel\":0,\"cacheGroup\":\"\",\"cacheItemName\":\"\"},\"queryOptimize\":false,\"useMetrics\":false,\"adminUnitRoleSources\":0,\"querySource\":0,\"ignoreDisplayValues\":false,\"isHierarchical\":false}"

RecordCollection: ["c4ed336c-3e9b-40fe-8b82-5632476472b4"]

ReportId: "ec1724f7-e58e-491f-8471-0ce19b61bc02"

 

so it is necessary to generate the POST request to this endpoint  /0/rest/IntExcelReportService/GetExportFiltersKey with similar parameters as above. As the response - you will get the file. 

Here is the similar post describing how to generate such POST request

 

https://community.creatio.com/questions/how-can-i-generate-excel-report…

 

Regards,

Dean

Show all comments

Hi Team,

 

I got a system to clean data and do some enhancement into it but as I was working on it, I found out that there are thousands of business process in error state I tried to cancel them but it is taking a lot of time

Please suggest a way to cancel them.

there are thousands of records and easier way to delete them currently 

 

I wish to use SQL Execuer to delete data so please let me know if I am correct and its impact on the system and correct usage

 

Thank You in Advance

Like 0

Like

2 comments
Best reply

Hello Braj,

 

Creatio has inbuilt functionality that can cancel and delete the history of business process execution.

The settings can be found in System Settings section:

 

 

Best regards,

Bogdan S.

Hello Braj,

 

Creatio has inbuilt functionality that can cancel and delete the history of business process execution.

The settings can be found in System Settings section:

 

 

Best regards,

Bogdan S.

Thank You I'll use it now 

Show all comments

Hi Community,

 

We have this situation, where we need to update every day our currency rates through a business process that we've already implemented. In this process, we receive the latest rate from our api and we create a new record in the CurrencyRate detail with that rate.

Objects: CurrencyRate, Currency.

 

As you can see in the print above, after we added the new record (inside red box), the "Taxa" field, didn't update. We want to know:

  1. How can we solve this issue?
  2. Is there any trigger that is executed when we insert a new record in this detail?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

Like 0

Like

2 comments

Hello Pedro,

 

Hope you're doing well.

 

To perform the mentioned business task your process needs to:

— read data from "Exchange rate" object, but not from "Currency" object or other objects (in this case the process will be triggered by adding records to the "Exchange rate" object);

— read the exchange rate that is set for your currency and that has "End" (on your screenshot it's "Fim") column value set as NULL (meaning currently active exchange rate).

 

Also, you can use web services for updating daily rate currency. For example, "https://fixer.io/"web service, which we recommended to use in one of our articles:

https://academy.creatio.com/docs/user/no-code_customization/web_service…

 

In the following link, you can find the way of implementation of the mentioned web service:

https://academy.creatio.com/docs/user/no-code_customization/web_service…

 

General information on how to work with currencies can be found here:

https://academy.creatio.com/docs/user/platform_basics/user_interface/wo…

 

Best regards,

Roman

Roman Rak,

 

Hi Roman,

 

I'm working together with Pedro on this issue and we found the problem.

As we bounded the data of "currency" table from pre-prod to prod environment, the exchange rate was filled in in the "Rate" column with the last value in the prod environment.

Once in the prod environment we have deleted the values in the "Rate" column, the currency table is working as expected.

 

Thanks for the help,

Luis

 

Show all comments

Hello, I created a new custom package to build a new custom section and business processes in. What package must mine depend on for emailing from a process to work? Right now my package depends on:

  • Base
  • CloudEmailService
  • DesignerTools
  • Managers
  • MarketingCampaign
  • NUI
  • ProductCore

Right now I've been able to write and save processes, however the process parameters are showing up blank in the email. It works if I write the process in the normal "custom" package, but why might it not work in my new package?

 

Like 0

Like

2 comments

Hello Mitch,

 

Please add these packages as dependent packages for your package:

 

MarketingSoftkeyEnu

OrderInSales_OperatorSingleWindow_Softkey_ENU

SalesEnterprise_Marketing_ServiceEnterprise

SalesEnterpriseSoftkey_EN

ServiceEnterpriseSoftkey

 

Once done please generate source code for all items, compile all items of the app and everything should work as needed.

 

Best regards,

Oscar

Oscar Dylan,

Thanks Oscar. I did get it to work.

Show all comments

Hello all,

I am working with a business process that runs each morning automatically. However, it seems to get stuck at an exclusive gateway with a conditional flow and a default flow. It doesn't error but it also doesn't continue advancing. 

In looking into the issue, I found mention of a setting on the business proccess FAQ page mentions a JIS Pool. 

"Rarely, the incorrect "Maximum number of working processes" setting in the JIS pool can cause the bug. If a value greater than 1 is set, then opened processes accumulate and stop responding."

I can't find mention of JIS pool anywhere esle in the documentation, does anybody know what the JIS pool is and where I can find it? I would like to check this setting to confirm that it is set up correctly.

Like 0

Like

2 comments

Hi Kevin, 

 

Did you find the reason for the stuck process and how to fix it?

I'm facing the same issue.

I have a scheduled business process which gets stuck (status = running) on an Exclusive Gateway (OR). Any other way of starting the process (manual or on field change) seems to work fine. 

 

Thanks,

Tiago

Hello,

 

This parameter is stored in the IIS pool settings:

this is an example from my test IIS pool from the local app, but by default the number here is 1 for the cloud-based apps.

 

Hello Tiago,

 

We need to take a look at this process on our end. Please email us at support@creatio.com and provide us with the link to the app with this process, provide us with the name of this process and also provide us with external access with access to data and configurations.

 

Best regards,

Oscar

Show all comments

A major strength of Creatio is its ability to create a process-oriented approach for sales, services, and marketing. Building out processes in Creatio helps your teams create repeatable steps that improve efficiencies, streamline operations, and create visibility across departments.

During this online user group, our experts will lay out the basics of process building to help any user get up and running with this important feature.

REGISTER HERE

Like 0

Like

Share

0 comments
Show all comments

Hi , 

 

I want to create a sub process that will check completion of the task at a destined time on a specific day, and if the task is not completed by that particular time, an email to be sent to owner’s manager reminding him/her that the task needs attention, otherwise process termites. 

 

Could you please give me some guidelines for this 

 

Like 0

Like

9 comments

Hello,

You can add to your process similar process or create a subprocess that will start with start timer: http://prntscr.com/ob3c8p. Process will read activity and in case it has status "completed" (http://prntscr.com/ob3d1i) it will stop, otherwise it will send an email. 

Best regards,

Angela

Angela Reyes, thanks Angela . But can a subprocess can start with start timer 

Also , If I need to send email on every monday at 4 pm how will start timer work in this case? how do I select owners manager in 'To'?

Arunava,

Timer start signal allows to set such conditions for start. As for the owner manager - you can use read data element to read owner of the task and then read owner of the contact.

 Best regards,

Angela

Angela Reyes,

start timer can be used in subprocess for a case ? it shouldnt start with a simple start ?

Angela Reyes, could you please give a screenshot  for the below requirement ?

Angela Reyes writes:

Arunava,

Timer start signal allows to set such conditions for start. As for the owner manager - you can use read data element to read owner of the task and then read owner of the contact.

 Best regards,

Angela

Arunava,

I use Read data 1 to read activity (http://prntscr.com/ocxsqh), then I read activity contact (http://prntscr.com/ocxsyt) and send an email (http://prntscr.com/ocxt3q).

Angela Reyes,

Thanks Angela , I am requesting you to share the screenshot on timer element as to how to add such conditions for start ?

Dear Arunava, 

Unfortunately, the subprocess can't start with start timer. So you can use Wait for timer intermediate event (http://prntscr.com/odca42). However, it takes only amount of seconds to wait until the process continues as a parameter so you would need to calculate this amount in a script task. You can use a standard C# methods in a script task so you can subtract the DateTime.Now from the needed fire time, convert it to seconds and pass to the parameter in a Wait for timer to have it triggered on a certain time. 

Best regards, 

Dennis 

Show all comments

Hi,

 

I want to trigger some processes on user login based on some conditions. Is there a way of doing it?

Thanks in advance...

 

Like 0

Like

2 comments

Dear Amanthena,

As for now, there are no tools to trigger any process upon a user login. We already had similar requests from multiple customers and our R&D team already added this idea to the development backlog. This functionality will be available in the future application releases. Apart from that, you may develop your personal trigger/task by adding it to the 'qrtz_triggers' and 'quartz' tables. It might help you to find the solution. Here are some useful materials for setting up the scheduler https://academy.bpmonline.com/documents/technic-sdk/7-13/scheduler-setup

Best regards,

Dean 

Dean Parrett,

Hi Dean. By any chance is the login event available now on the platform?

Show all comments