Hi Everyone,



I have a case about data integration using DataService (JSON).

I have read documentation but I can't cleary understand cause example use C# languange, I'm not comfortable with that.



I have try using postman to integration DataService, but I have a trouble,

Below screenshot setting in my postman:



1. I access the login for get the cookies for Auth, I dont have any problem in Auth login.

2. I access url DataService, but I got a problem, I can't access the page what I want, the response is 403. I'm sure when I access the url I have put the cookies from auth login.

What's wrong in my method ?

Anyone have a same case or can give me some example to use DataService beside using C# language ?

Or any advise / suggest ??

 

Thanks.



FYI: I try in local BPM



SOLVED:

Check again header cookies, csrf, and format data JSON will sent to web service bpm'online.

And you can implement data service using any language along support JSON and http request.

Like 0

Like

3 comments

Hi Romadan, 

Have you tired the business process web call element? You could even try the script element.

I had the same issue and it looked to me that you have to use the C# language. 

 

Dear Romadan,

Firstly, based on the error, it is most likely, that authorization hasn't passed well. Please make sure, that you have done all the steps described in the article as an example, particularly adding needed namespaces for the DataService to work, as well as, adding methods to authenticate and create records.

https://academy.bpmonline.com/documents/technic-sdk/7-12/dataservice-adding-records 

Also, yes, as Philip already mentioned, you have to use C# language. Moreover, you can see the example of the working InsertQuery by opening web debugger application like Telerik Fiddler and tracing the insert action made within the bpm'online system. You will find all needed information on what InsertQuery is made of, as insert, update, delete queries in the system are executed by the means of DataService.

To sum up with, if you are not comfortable to use C# language I would recommend to use OData protocol instead. Please see the implementation of OData requests with its examples in the system:

https://academy.bpmonline.com/documents/technic-sdk/7-12/possibilities-bpmonline-integration-over-odata-protocol

Finally, here is a documentation on how to call configuration services using Postman:

https://academy.bpmonline.com/documents/technic-sdk/7-12/how-call-configuration-services-using-postman

Hope you find it helpful!

Regards,

Anastasia

Thanks Anastasia Botezat for your feedback.

I have solved this problem.

The problem is like you say. I dont complete passed auth in header, and have miss passed data json to web service bpm'online.



Philip Wierciszewski, I success implement data service using another language beside use c#.

Show all comments

Hello, 

Is there a way to produce printables and save their file name according to fields in the system?

Eg. Printable name to be saved in a users PC as "ClientCode_OpportunityName_ClientAmount$"

 

Thank you,

Much appreciated 

 

 

Like 0

Like

2 comments

Dear Thanos,

You need to create a replacing schema for PrintReportUtilities and overwrite the current logic. This is the out of the box logic used for naming the file:

    getCaption: function() {

            var baseCaption = this.get("Caption") || this.get("NonLocalizedCaption");

            return baseCaption + ((this.get("ConvertInPDF") || this.isDevExpressReport()) ? ".pdf" : ".docx");

        },

Feel free to develop your own logic overwriting it according to your needs.

 

With best regards,

Oleh

Oleh Chudiiovych,

Hello Oleh,

Thank you for your response. Thats perfect, however, how difficult would it be to amend that code and name the file according to those two field "UsrClientCode_UsrOpportunityName"? What would that look like (I dont have much experience with coding)

Thank you

Show all comments

The command of "Aplana. Business solutions" presents a new file manager for bpm'online.

New features of the add-on include:

  • add the file manager module to the page of any system partition using the page editor;
  • managing the file directory and setting access rights to it;
  • download, move and delete one file, and collect files in one click;
  • configuring the file store type with the local server or database;
  • storage of multiple versions of files;
  • view image files in the window directly on the page by double-clicking;
  • adding to the archive and unpacking the zip-archive;
  • playback of audio files;
  • playback of video files;
  • control access to file directories.

For more information please visit the bpm'online marketplace: https://marketplace.bpmonline.com/app/file-manager-bpmonline

Like 0

Like

Share

0 comments
Show all comments

The command of "Aplana. Business solutions" presents a new file manager for bpm'online.

The new features of the add-on includes:

  • addition of a file manager module to a page of any system section using the page editor;
  • managing the file directory and set access rights to it;
  • loading, moving and deleting one file as well as a collection of files in one click;
  • setting the type of file storage mentioning the local server or database;
  • storage of multiple versions of files;
  • preview file images in the window straight on the page by double-clicking;
  • addition to the archive and unpack the zip-archive;
  • play audio files;
  • play video files;
  • controlling the access to file directories.

 

For more information please check the Marketplace: https://marketplace.bpmonline.com/app/file-manager-bpmonline

Like 0

Like

Share

0 comments
Show all comments

Hi Sir/Madam,

Based on System users created from System designer, Please tell me how do we create different dashboards for different system users.

Regards

Raghu Ram

Like 0

Like

1 comments

Dear Raghu Ram,

There is an option to set up access rights for every dashboard:

You can simply set it up according to the users roles, or each user individually. More details can be found here.

Oleh

Show all comments

Hello, 

 

I am wondering if a business process is started by a trigger, could that trigger also happen on the database side? (Example SQL script adjusting value in db so that a business process should be triggered).

 

This is the process in question:

 One the boolean flag is "1" process is suppose to run. 

 

If this is not how business processes are meant to run, how else could we trigger this business process via a database value changing? Would we have to use the DBExecutor, or other c# code on the section itself?

 

Thank you. 

Like 0

Like

1 comments

Dear Philip,

The business process won't be triggered on update/insert made directly into the database either from script task or directly via database system query.

The best option would be updating/inserting via script task within another business process where you should write the query that alters the field value with the help of EntitySchemaQuery (the manual is available in the Academy)

Oleh

Show all comments

Hi community!

I add a button section but i want it don't show when I open edit page. In this case, i add a section button on Contact Section. I show images below

Regards,

Thanks you!

Like 0

Like

4 comments

Hello Ezequiel,



You need to define an attribute that will determine the visibility of your button. By default, it will be true. Then you need to override onCardRendered method in your replacing schema for Contact Section and set the attribute as false.

Please, see my example:

 

define("ContactSectionV2", [],

    function() {

    return {

        entitySchemaName: "Contact",

        attributes: {

            "ButtonVisible": {

                "dataValueType": Terrasoft.DataValueType.BOOLEAN,

                "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,

                "value": true

            }

        },

        messages: {},

        methods: {

             onCardRendered: function() {

                 this.callParent();

                 this.set("ButtonVisible", false);

             }

        },

        diff: /**SCHEMA_DIFF*/[

            {

                "operation": "insert",

                "parentName": "ActionButtonsContainer",

                "propertyName": "items",

                "name": "MainContactSectionButton",

                "values": {

                    itemType: Terrasoft.ViewItemType.BUTTON,

                    caption: { bindTo: "Resources.Strings.TestButton" },

                    "visible": {bindTo: "ButtonVisible"},

                    "layout": {

                        "column": 1,

                        "row": 6,

                        "colSpan": 1

                    }

                }

            }

        ]/**SCHEMA_DIFF*/

    };

});

 

Tetiana Markova,

Hi! I wanted to use this code also, but i have a question. Where do I insert the name of my button? 

Tetiana Markova,

 

I don't know if you are still following this thread, but the problem with this method is that when the user closes the edit page the button is not restored to the section list page.  Any solution?

 

Thanks,

The way I got round the above was to include the following method:

			showSection: function() {
				this.callParent();
				this.set("ButtonVisible", true);
			},

This reshows the buttons.  This is purely a hack and unofficial, caveat emptor.

Show all comments

Hi community!

How are you?

How could I add a button on row section?

Thanks you!

Regards,

Ezequiel!

Like 0

Like

2 comments

Please investigate the code in the basesectionv2 module. Please use google chrome dev tools for the investigation.

You can create a replacing client module for the section and add the button in the same way as other buttons were added. 

http://prntscr.com/kqgyym

Additionally, you'll need to override the "onActiveRowAction" method and add a handler for the button. 

http://prntscr.com/kqgzs4

 

Miroslav Kytka,

define("AccountSectionV2", ["AccountSectionV2Resources"], function(resources) {
	return {
		entitySchemaName: "Account",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "MyCustomLockAction",
				"parentName": "DataGrid",
				"propertyName": "activeRowActions",
				"values": {
					"className": "Terrasoft.Button",
					"style": Terrasoft.controls.ButtonEnums.style.BLUE,
					"caption": resources.localizableStrings.UsrLockCaption, 
					"tag": "lock",
					"enabled": true,
					"visible": true
				}
			}
		]/**SCHEMA_DIFF*/,
		methods: {}
	};
});

 

Show all comments

Hi, 

Where we configure the Section filters?

Example: I don't want to see the Owner filter in Lead Sections

 

Thanks in advance

Regards,

 

Fernando

Like 0

Like

1 comments

Dear Fernando,

To remove the columns from the drop-down you need to perform the following actions:

1. Go to System Designer -> Configuration.

2. Open the Lead object in the Custom package if there is one already.

3. Replace the base lead object in case there is none.

4. Find the column you'd like to hide from the drop-down and make sure he Usage mode for it is set to None (see screenshot as an example for Opportunity object http://prntscr.com/kqbwu7)

5. Publish the object.

The column will still be available on the page, though it will be not present in the drop-down for the filtering. 

Best regards,

Oscar

Show all comments

Hello Community,

I am interested in learning how to hide, but not delete, a section (as well as its hyperlink). I intend to import data to this section that will be then retrieved by other sections through business processes, without giving the average user the option to access or modify it.

I appreciate any help you can provide.

Like 0

Like

3 comments

Hello!

You can add specific workplaces for users of different roles as it is described in the academy article below:

https://academy.bpmonline.com/documents/administration/7-12/workplaces-…

You can create specific workplaces with specific sections for certain user groups.

Best regards,

Matt

Matt Watts,

Hi Matt,

What i'm interested in doing is what the user Lily explains in this other question: 

https://community.bpmonline.com/questions/hide-contacts-section-allow-r…

However, i have trouble understanding her answer because the images are not available anymore...

Ricardo Nieto-Gomez,

Dear Ricardo,

I will repeat what Lily has answered in that question:

If your goal is just to hide the contacts section but you want to get the ability to read the contacts information for all users, you can try to delete it from the General workplace so that all employees won't see it and restore the read operation permissions to all system users.

System designer -> Workplace setup (see screenshot http://prntscr.com/kp3mhf). You can add this section to any other workplace and manage the access rules to it or create your own to fulfill your needs.

Best regards,

Oscar

Show all comments