Sometimes (I think that after creating pre-configured pages) SysWidgetDashboard_WidgetDashboardManager data packages appear in my repository. Do you know what are they used for?

Like 0

Like

4 comments

Dear Carlos,

Such data appears as a result of adding a widget to the page via Section Wizard. 

 

Regards,

Anastasia

Anastasia Botezat,

Ok, thank you. I have a feeling it gets added even when I don't add any widgets myself though. Are there some widgets that are added by default?

Dear Carlos,

No, there are no default widgets. Though, in case you previously had widget, but deleted it, or worked with section wizard clicking on the widgets, the system will have this kind of data in the package. It might not have data binded, but stays in case you will need it.

Regards,

Anastasia

Anastasia Botezat,

Ok, thank you very much.

Show all comments

Hi community!

How are you?

I hope you can help me!

Currently, I show in an iframe a static local page created manually

How can I call an external page by passing a parameter? For example, contact Id.

This page would be shown, for example, by clicking on a button

King Regards,

Ezequiel

 

Like 0

Like

2 comments

You can create a web service in bpm'online. Then call the web service by clicking on the button and pass the parameter. 

https://academy.bpmonline.com/documents/technic-sdk/7-12/how-call-confi…

The web service will send a message to the page displayed in the iframe. The page should have it's own api to receive and process the request. 

There is no way to pass a parameter into an iframe. There are just different pages and they can communicate in the ways how different websites are communicate.

This article might be of some help. Towards the bottom it outlines how to dynamically add an iframe on a tab and set the src of the iframe to a URL which includes a value from the record. You could use this same approach to create an iframe on the contact and set the src url including the contacts ID value.

https://academy.bpmonline.com/documents/technic-sdkmp/7-12/developing-a…

Show all comments

Hi;

I create the process containing edit page.

I would like to set an Process parameter.

Is it posible to do it directly from module js

Like 0

Like

1 comments

Unfortunately, It's not possible to perform from JS. On the other hand, there is no point to do that. Business processes have their life cycle and when the edit page is open, the business process stays on hold. It will continue working after a user completes the edit page 

http://prntscr.com/kiz6iy

Anyway you can pass parameters to the edit page and take them the edit page after completing. 

Sending to

http://prntscr.com/kiz7lz

Taking from

http://prntscr.com/kiz7tr

Another option for taking from

http://prntscr.com/kiz8p5

http://prntscr.com/kiz8jw

 

 

Show all comments

I tried to add 2 buttons inside each row in the detail grid , but it didn't work , can anyone help me with sample code please

Like 0

Like

9 comments

Dear mohamad,

Where exactly do you want to add buttons and what have you already done?

 

Peter Vdovukhin,

Inside the row of the detail grid when , onActiveRowAction when row is active I want to show 2 buttons 

.

Where exactly do you want to add buttons?

I told you inside the row(record) of the detail grid

Like in the picture there is one button , I want to add 2 buttons along with each other

Dear mohamad,

Here is a similar question. Just follow an existing example in the configuration. 

        diff: /**SCHEMA_DIFF*/[
            {
                "operation": "insert",
                "name": "ButtonCopy",
                "parentName": "Detail",
                "propertyName": "tools",
                "values": {
                    "itemType": Terrasoft.ViewItemType.BUTTON,
                    "click": {"bindTo": "onButton1Click"},
                    "visible": true,
                    "enabled": true,
                    "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                    "caption": "Button1"
                }
            },
            {
                "operation": "insert",
                "name": "ButtonMark",
                "parentName": "Detail",
                "propertyName": "tools",
                "values": {
                    "itemType": Terrasoft.ViewItemType.BUTTON,
                    "click": {"bindTo": "onButton2Click"},
                    "visible": true,
                    "enabled": true,
                    "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                    "caption": "Button2"
                }
            }

 

Show all comments

Hi Sir/Madam,

Request you to please tell me how to apply less properties to section pages created using mobile application wizard.

Regards

Raghu Ram

Like 0

Like

1 comments

1. Make a change in a mobile page with a mobile application wizard.

2. Add the "CustomSchemas" property to the "MobileApplicationManifestDefaultWorkplace" schema.

http://prntscr.com/ki27od

3. Create your new module with the "Less" that you need.

4. Add the module to the CustomSchemas array.

Please feel free to use the "MobileApplicationBaseManifes" and "MobileCss" modules as an example.

Show all comments

Is it possible to set up text placeholder for textareas without querying the DOM and applying it manually?

Like 0

Like

6 comments

Could you, please describe your case in more details?  Also, any examples/screenshots will be appreciated

Tetiana Markova,

When I have a text field like this:

I want to have some text inside it while the user has not filled it yet, like when using standard placeholder attribute on an input field:

Carlos,

Thank you for your specification.

You need to define "placeholder" property for your element in the diff array. Please, see my example for JobTitle field in the ContactPageV2 schema:

{

    "operation": "merge",

    "parentName": "ProfileContainer",

    "propertyName": "items",

    "name": "JobTitleProfile",

    "values": {

        "bindTo": "JobTitle",

        "controlConfig": {

            "className": "Terrasoft.TextEdit",

            "placeholder":{

                "bindTo": "Resources.Strings.Placeholder"

            },

            "classes": ["placeholderOpacity"]

        }

    }

}

You can also find other examples in the base packages.

 

Tetiana Markova,

Thank you very much, it works nicely.

where i have to write my input value?

1)Or enter the string resource on the page or enter directly (2nd option)

Localized strings and images are the resources of the client schema that are most often used in the implementation logic of the module.

Add resources to the client schema in the [Structure] tab of the client schema designer. The application core automatically generates a special [Client module name]Resources module, which contains resources of the client module. The localizableStrings property stores schema's localized strings. The images property stores image resources.

In order to access a resource module from a client module, you need to import the resource module as a dependency into the client module.

Use resource string:

"placeholder":{

                "bindTo": "Resources.Strings.Placeholder"

            },

2) directly

 "placeholder": "I'am empty"

 

Show all comments

Hi community!

How are you?

I hope you can help me!

How can I add a button in row datagrid of Products? I add a image below showing in red color where I need add the button!

King Regards,

 

Ezequiel

Like 0

Like

1 comments

Please investigate how the "activeRowActionOpenCard" button was added into the "SupplyPaymentDetailV2" module. Please feel free to create your own container and apply your CSS in order to create the left button. The handler for the buttons is in the "onActiveRowAction" method in the "ConfigurationGridUtilities" module. Please put a breakpoint and click on the button on a record in the "Installment plan" detail on the "Order" page. You'll see how to handle the click. Please note that you can override the "onActiveRowAction" method on the detail schema. 

Please read bpm'online development guide for more information.

Show all comments

When I create a process and a pre-configured page in this process I get two sets of language resources: one for the process and one for the page. Page resource files contain translatable strings for all the UI elements on that page. Process resource files contain translatable string for the process: things like parameter names, step names, etc.

I wanted to translate my pre-configured page, so I edited resource.pl-PL.xml and translated all the strings. It turned out it had no visible impact at all, the page was still entirely in English. Only when I translated process parameters connected to the page UI elements, the page got translated. Why is that so? What's the purpose of page translation files if they don't seem to have impact on the UI?

Like 0

Like

6 comments

Dear Carlos,

I do not understand about what resource.pl-PL.xml you are talking. Translations for business processes are located in Translations section. Could you add some screenshots to clarify your point?

Peter Vdovukhin,

The Translations section seems very unintuitive. There are a lot of strings there that I'm not interested in translating, cause they're not even visible to the user and I don't know how to find those that I'm interested in. I tend to write translations in translation files directly (like resource.pl-PL.xml). Those files get created along with their schmas - for example if I create a pre-configured page UsrCustomPage I get a schema in MyPackage/UsrCustomPage and translation files in MyPackage/UsrCustomPage.ClientUnit

You should read this topic with subtopics to find out how to use the Translations section. Just filter by the key contains [name of business process] and you will see all the data you need. After that open the first row in a separate window using special button, translate it and click Next to open the next string to translate. Then just click “Apply translations”.

Since you are using File design mode you could not apply translations when did a half of a translation job.

Peter Vdovukhin,

I'm sorry but it's not very helpful. First of all filtering, by "key contains [name of business process]" includes a lot of strings that don't need translation (process step names, flow names, process parameter names, etc.). But that's beside the point. What I meant in the original question is that the page translation strings seem to have no impact on anything. I'll give an example: I have a process step named PreconfiguredPageTranslationTask and it is connected to a page called UsrClientUnit1. I translated all the strings for the page UserClientUnit1:

It has no impact on the page:

I then translated a process parameter connected with PreconfiguredPageTranslationTask:

It has impact on the page:

So the effect is the same as when translating the resource files directly. Back to my original question - what's the purpose of the page translation strings if they don't seem to affect anything?

Hi, Carlos.

I see. The thing is that UsrClientUnit1.Parameters translations are used during editing this page in the business process.

Before translation:

After translation on Russian:

 

Peter Vdovukhin,

Ok, thank you very much for the explanation. To be honest it seems confusing, I wish there was a clearer separation between translation strings that the average user sees and the ones that appear in the designer and only developers see.

Show all comments

After refreshing page on my custom sections I get the following error:

GET http://localhost/0/QuickFilterViewV2Resources.js 404 (Not Found)

It does not happen on Contacts or Accounts sections and it doesn't happen if I just enter my sections normally (no refreshing). Do you know what I'm doing wrong that I get this error?

Like 0

Like

2 comments

The issue happens due to the fact that the static content is disabled and the development in the file system option is enabled. At the moment the only way to bypass is to add the QuickFilterViewV2 module into the define of every schema of the sections where you face the issue.

Anyway, you can ignore the exception on development instances. It won't affect production ones.

Thanks, I'll probably leave it like this then.

Show all comments

Let's say I read one object using Read data step and I choose to only read columns First name and Last name. How do I reference that data in Script task? I know I can copy those strings from step parameters to process parameters using Formula step but maybe there is a better way.

Like 0

Like

15 comments

Dear Carlos,

For the [Script-task] elements and methods that have the [For an interpreted process] checkbox selected, the wrapper class is generated that contains the initialization and declaration of methods. This wrapper enables you to access the process values. 

The Get method returns the value of an item or process.

Method signature:

Get<T>(string path)

where:

  • T — parameter value type.
  • path — a string that specifies the path to a parameter or property. The path is built according to these rules:
  1. “parameter name”
  2. “property name”
  3. “element name.parameter name”
  4. “element name.property name”

Oliver

Oliver,

I don't see a parameter First name though. The only related parameter that I see is Columns to read.

Carlos Zaldivar Batista,

You don't need any parameters and select any specific columns to read in the element Read Data, simply use “element name.property name” to get the field value in the Script task.

Oliver

Oleh Chudiiovych,

Ok, so I have a step with code ReadSomeData and I try to read the columns of returned object like this:

Get&lt;Entity&gt;("ReadSomeData.ResultEntity").GetTypedColumnValue&lt;string&gt;("UsrFirstName")

I get NullReferenceException though because the Get method returned null.

Try read data from all columns. Also possible for your query (filter) no records? Do it work if you remove the filter

Grigoriy,

I read data from all columns and the query returns records.

Dear Carlos,

As far as we can see from your method you are trying to read values from the "UsrFirstName" column and we don't know what data is stored there and what are you trying to read. Please re-check all your columns and also try Grigoriy's suggestion about filters.

Oscar

Ok, so I created a new trial environment with default test data and in that environment I created a process:

 

The Read data step looks like this:

I set up the step name too:

And that is my Script task code:

Name is a process parameter that is shown in the auto-generated screen. That's what the screen shows after running the process:

There are no filters in the read data step and the data is there. What should I change to make the script task work?

Hi by default read data have code "ReadDataUserTask1".

Try this:

var entity = Get<Entity>("ReadDataUserTask1.ResultEntity"); 

 

See read data advanced mode for get elenent code (

In the advanced mode, the element setup area contains additional parameters and connections with system records

To access the advanced mode, click the btn_advanced_mode.png button in the element setup area and select the [Advanced mode] menu command

)

Sory. For interpretable processes, you can only directly work with the methods and parameters of the elements through the formula.

In autogenerate page set page item via formula like:

[#Read data 1.First item of resulting collection.First name#] 

Grigoriy,

Thank you. And is it possible to use this formula in a script tasks?

Yes

1. Create a process parameter of type String - TestParam.

2. In the parameter value specify [#Read data 1.First item of the resulting collectionFirst name#].

3. In the Task-script element, work with the parameter.

     var contactFullName = Get<string> ("TestParam");

Grigoriy,

Ok, thank you.

Does anyone know if this is still the case? i.e. that it's necessary to save each individual field to a parameter in order to access them inside a Script Task element of a Business Process? It seems like it really should be simpler to access data on any of the fields!

 

I am aware of being able to query the entity directly within the Script Task, but I'd like to keep as much of the business logic in easy-to-read BP steps as possible, including reading data.

Dear Harvey,

 

Yes, the logic remains the same. There is still to call for read data element through the script task without the intermediate process parameters or settings. This logic will be review by our developers, it is confirmed by our R&D but we do not know when it will be done.

 

Regards,

Dean

 

Show all comments