I'm creating a business process with an activity for our shipping department to ship a product to a customer.  I'm using the Perform Task process element, and I'd like to attach the pick slip that was generated from our accounting system.  

Does the activity exist before the "Perform Task" is executed?  If so, how do I identify the Task ID to attach the document?  

Like 0

Like

4 comments

Perform Task have parameter Task ID (code: CurrentActivityId) After this element you can get this parameter and use this value to attach the file

 

Dear Bob, 

You can add the document to the activity in activity itself. You need to add Document to connected to ("+" button), read it in a separate element in BP and add to activity. https://prnt.sc/l4n83q

Best regards, 

Dennis

The key difference is that I want to attach the document before the Perform Task activity.  One of the inputs to the task (shipping a product) is the document (pack slip).  

I could always create an activity and attach the document to the activity, but then I would need the end user to perform that activity before the rest of the process is completed.  

Bob Walters,

The activity for process task doesn't exist until the process comes to the perform task element. If you use Connected to the document is added as the task is created. However, if you want to attach the document earlier you may use add data element and add activity manually, or use pre created activity, read it and attach the document. 

Show all comments

This may be more of a style question than a technical question.  

We have a business process that could take a month to complete.  We are replacing parts on equipment, and we request that the customer return the broken part for repair or refurbishment.  

The process to ship the part generally occurs in the same day, but the trigger for the second half of the process doesn't happen until the customer returns the item.  This is normally 1 to 4 weeks.  

If I implement it as a single business process, it would be running for weeks on end.  Is this a problem?  

Any advice on the best practice would be helpful.  

Like 0

Like

3 comments

Dear Bob,

There are several out-of-the-box processes that also have a big run time. Each time you'll trigger your process it will create a record in the process log and the process will be waiting for the next step. Theoretically it shouldn't affect performance of the system and it is ok. But we can think on how can we manage the process in another way.

Your product is servicing of broken parts and your "opportunity" or "case" ("service request") is a broken part. As you wrote it in the topic of the question, it is a very good idea to use "Case" section to manage your business. For example some part is broken and you register the incident. You have the number of the incident, you have the information on the client (you can call or email him and provide with all necessary information and get information from customer and write it down in feed or update some fields and the customer will also no the number of the incident and he can get up-to-date information any time) and also on the part that is under processing (the process of part repairing can be also managed with the help of incidents and you can bind the incident with the part repairing to the general request from customer). You can set up case statuses as "New" -> "Part not received" (if the customer still has the broken part) -> "Part received" (if you the customer gave you the part) -> "Part  repairing" -> "Part repaired" (if the part is repaired but yet not received by customer) -> "Part is on the way"(when the part is on the way to the customer) -> "Resolved" (part received by customer).

It will be much more easier for you to track down the status of the incident: where is the part, who is the client, when it needs to be done, who is assigned for repairing. I think that cases will become the ideal choice for you.

Oscar

Oscar,

Thanks for your input.  The business process that I'm working through is actually the different phases of a case.  The way we do things is that the service technician is assigned the case, and during each step of the process an activity is created for our accounting team, shipping/receiving team, inventory control team, and production team.  I am using the business process to create activities within the case and assign them to the appropriate individuals. 

The actual case which handles the RMA is a child of the case where the service technician is working out the problem.  In general, the parent case will be closed before the child case is, primarily due to the fact that our production team will do root cause analysis on the returned part on a separate schedule than the initial case. 

Thanks for your input. 

Bob  

Bob Walters,

Then you can create a separate process which will be triggered by some changes you or the employees made in the system. Will this work for you? 

Show all comments

I have a business process where I have the user attach an order to an activity.  I would like to then move that attachment to the case that is part of that activity.  When I attempt to read data following the task, I do not see the table where attachments are assigned to the activity. 

I see the attachments for other objects (Cases, Configuration Items, etc.) but not Activities.  

Like 0

Like

11 comments

See table "ActivityFile"

ActivityFile is not on the list, but "File and Link of Activity" is.  Are these the same objects?  

Yes If you work with sql or Entity shema query use object name ActivityFile and if you work with read, modify or insert data component in busness process select "File and Link of Activity" 

Found the information, however, now I am getting an error when trying to attach the file to the case.  I read the data from the Activity and when I try to write it to a new "Attachment and Notes detail in Cases", I get an Item with path "191764f7-1dc7-47d5-b16d-5002b799f1e0.32cd6fe8-2cb2-4284-8cda-b17b842e76d7.73c5b07b-3c1a-44fc-953e-f2ce6cbb7420" for process Id "5bd26364-ceda-4ef2-9b22-eb389d6bfba7" not found. error.  

When reading, I am presented with two IDs, a Task ID and a Result of Activity ID.  Neither ID seems to work in this context.  

I checked that the file is being attached to the activity, I just am missing something in trying to find the file.  

Describe in more detail what you want to do.

Grigoriy,

I am creating a business process that is functioning as a RMA.  I first create a case for the return and then create an activity for our order management team to create an order for the replacement part in our accounting system.  After the order is created, the PDF is attached to the Activity.  What I am trying to do is automatically take the order that is attached to the Activity and automatically link (or copy) it to the case.  

 

Standard approach to get a list of all the files associated with this activity and add them to the list of files associated with the case. If you know the activityID and the caseID, you can transfer all the files associated with it  (ActivityFile) to CaseFile

I would do everything in a script like something like:

insertSelect = new InsertSelect(UserConnection)
	.Into("CaseFile")
	.Set("CaseId")
	.Set("Name")	
	.Set("Notes")
	.Set("Data")
	.Set("TypeId")
	.Set("Version")
	.Set("Size")
	.FromSelect(
		new Select(CurrentConnection)
		.Column.Const(CaseId)  //maybe need Column.Parameter(CaseId)
		.Column("Name")
		.Column("Notes")
		.Column("Data")
		.Column("TypeId")
		.Column("Version")
		.Column("Size")
		.From("ActivityFile")
		.Where("ActivityId").IsEqual(Column.Parameter(ActivityId)) as Select);
insertSelect.Execute();

 

Thanks.  Worked like a charm.

Сorrected example

can you tell me any function which can convert image into text

 

Bhumika Bisht,

 

Please find the answer to your question in the article by the link below:

 

https://community.creatio.com/questions/ocr-mechanism

 

Best regards,

Norton

Show all comments

I have a configuration item with a number of children.  All the configuration items (parent and children) are associated with an Account in the CI User table.  I am writing a business process to transfer all configuration items from one account to another. 

 

In SQL, I would do something like this:

 

Update CI User

Set Account =

Where Configuration Item in (Select ID from Configuration Item where Parent CI = )

 

In the Process Designer, I tried using a Read data process element to read the IDs of all the children Configuration Items, but when I try to reference those IDs in a Modify Data process element, it will not let me select any fields for that Configuration Item. 

 

Maybe this is a basic question, but how do I update a set of records using a Modify Data process element?

 

Like 0

Like

1 comments

Dear Bob, 

Unfortunately, there is no way to process set of records at once in business process. The way it can be performed is to create a cycle reading element one by one using some flag to not to read one element several times. Aldo you can use SQL Executor (free app on our Maretplace https://marketplace.bpmonline.com/app/pt-sql-executor-bpmonline) to execute your scripts or execute them in configuration.  

Best regards, 

Dennis

Show all comments

I am trying to create a virtual detail object to present a dynamic field.  BPM will call a webservice to populate the field when it is done.  I cannot find the Terrasoft DLLs online.  Does anyone know where I can find these.  It looks like I need these libraries

 

Terrasoft.Nui.ServiceModel.DataContract.EntityCollection;

Terrasoft.Nui.ServiceModel.DataContract.ErrorInfo;

Terrasoft.Nui.ServiceModel.DataContract.SelectQueryResponse;

Terrasoft.Nui.ServiceModel.DataContract.DataValueType;

 

Thanks

Like 0

Like

2 comments

Hi,

You can implement the application on-site and have the access to the dll's. Alternatively, you can write an email to support@bpmonline.com and the libraries will be sent to your email address.

The first option is preferable, though, as having the application on-site will be useful for your development further as well.

Lisa

Thanks!  

Show all comments

How to use WebClient to call remote webservice from C# Bpmonline class?



When we code that :



            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri(UrlMiddleware);

            client.DefaultRequestHeaders.Accept.Clear();

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = client.GetAsync("api/customers").Result;


Bpm online can't "publish" because it send that error:

The type or namespace name 'Http' does not exist in the namespace 'System.Net' (are you missing an assembly reference?)

but i have added using's:

    using System.Net.Http;
    using System.Net.Http.Headers;

Have you a idea please?

Davyd
Like 1

Like

3 comments

Hi David, I was also having the same issue and didn't get a resolution. I went ahead and completed my integration with HttpWebRequest class instead of http class.

Ok! Very thanks, i'm going to use directly the HttpWebRequest  class ...

 

Dear Davyd, 



The assembly System.Net.Http.dll is missing in the business process class. Please consider downloading the library and adding it in the "External Assemblies" tab in the configuration.



Image.png



You can download the library from public sources. For example

https://www.dllme.com/dll/files/system_net_http_dll.html



Additionally, please find more information about references in the post by the link below.

https://stackoverflow.com/questions/9611316/system-net-http-missing-fro…



Additionally, please remove the System.Net.Http.HttpClient using. 

Show all comments

By including an External Assemblies,

I noticed that there is a conflict with the BpmonlineCloudIntegration package.

The RestSharp.dll DLL is in version 104. But I need version 105.2.3.

How to force the most up-to-date dll usage?

Like 0

Like

1 comments

Dear Rodrigo,

Unfortunately, there is no way to force the dll update from your side. This information will be passed on to the developers, so to implement up-to-date dll usage.

Regards,

Anastasia

Show all comments



How is autocomplete implemented.  I am looking to have one field populated based on values in other fields.  Specifically:

If Field1 is populated and Field 2 is not, then check a Boolean checkbox.

Thanks in advance.

 

Like 0

Like

1 comments

Hello,

You can set up the field validation using development tools. Its purpose and procedure is described on our academy. Please check the article in our development guide following this link: https://academy.bpmonline.com/documents/technic-sdk/7-11/how-add-field-validation

Best regards,

Lily

Show all comments

Hello!! I have a detail in contact with lookup insert but with single select not mutiselect.

In the addCallBack (after insert the data) how can make the reload of the grid to show the new insert?

addCallBack: function(args) {
                    var ContactId = this.get("MasterRecordId");
					var MyId;
                    // Collection passed to query.
                    this.selectedItems = [];
                    // Copying necessary data.
                    var lookupSelectedRows = args.selectedRows.getItems();
                    if (lookupSelectedRows && lookupSelectedRows.length > 0) {
                        // Receiving the Id of the record selected in the lookup.
                        Id = lookupSelectedRows[0].Id;
 
                    }
 
                    var insert = Ext.create("Terrasoft.InsertQuery", {
                        rootSchemaName: this.entitySchemaName
                    });
                    insert.setParameterValue("MyRelationId", Id, this.Terrasoft.DataValueType.GUID);
                    insert.setParameterValue("Contact", ContactId, this.Terrasoft.DataValueType.GUID);
                    insert.execute();
                    ///Neeed update the grid to show the new value
                },

Regards,

 

Like 0

Like

1 comments

Hi,

 

The similar functionality was discussed in this post - https://community.bpmonline.com/questions/reloading-detail. Feel free to check it. 

Lisa

Show all comments