Logotype
layout
design
page designer
7.12
sales_enterprise

Hi there,

In need to change bpm'online logo of loading page.

Like 0

Like

1 comments

Hello,

To do that please contact your manager and discuss all needed details for further implementation.

Best regards,

Oscar

Show all comments
7.12
sales_enterprise

Hi Community,

I have no button to export the translations in the system. I have allowed the rights to the ‘Export list records’ operation in the Operation permissions section in System Designer.

How can I enable the button?

Like 0

Like

1 comments

Dear Martin,

The export option in Translations is available starting from 7.12.2 system version. In all the previous versions you need to add the lookup for Translations and export the data from it.

Lisa

Show all comments
7.12
sales_enterprise

Hello Community! I need get the GPS cordenate from the map selecting the pin on the direction.

Is that posible with the map in address?

Like 0

Like

3 comments

Dear Federico,

You can try to use the fields GPSN and GPSE and try to get the coordinates from them in the Account object, for example: 

 

Best regards,

Lily

Lily Johnson,

Lily i want put the pint on the map and then get the GPSN, GPSE. Then with this cordenate get the address. The problem is move the pin on the map, is blocked.

Dear Federico,

Unfortunately, there is no such possibility to achieve your goals with basic functionality.

However, you can replace OsmMapsModule and apply any custom logic you would like. Please note, that when replacing the module, you need to copy the entire code of the parent schema (OsmMapsModule).

Also, here you can find more information on available possibilities of Open street maps, its API, marker variations and example of how to work with them:

https://wiki.openstreetmap.org/wiki/Marker_Api



Moreover, official documentation on OSM can be found on the official website - http://nominatim.openstreetmap.org/

Regards, 

Anastasia Botezat

Show all comments
7.12
sales_enterprise

Hello Community!

I'm trying to set up a default quantity when the ProductSelectionSchema is loading the products. 

In what function need equal the value?

 

Regards,

 

 

Like 0

Like

2 comments

Federico Buffa,



Could you please help with how to achieve this?

The image is not loading.



Also, it would be of great help if you could assist in applying default filters to the data loaded in "ProductSelectionSchema".



BR,

Bhoobalan Palanivelu.

Show all comments
sales_enterprise

Hello, 

How could you set up a parameter in the Business Process designer to display: 

- the 15th Day of the Current Month  (Output = Date) 

- the 15th Day of the Next Month   (Output = Date)

I ve tried a few ways but had not luck. Help would be much appreciated! 

 

 

Like 0

Like

7 comments

Hello,

It depends on the purpose of the designed business process. If you want to filter something you should add condition like on the screenshot http://prntscr.com/jxfbnp and specify exact date. For example 15.06.2018. And you will get the result for this day. The same one is for the next mount. If you want to build formula you should specify condition like on the screenshot http://prntscr.com/jxfc6b. If it hasn't helped please describe the idea of the business process that you are creating.

Oscar Dylan,

Oscar Dylan,

Hello Oscar, 

Thank you for your reply, but I need the parameter to have a formula to calculate those dates rather than I specify it: 

-Process Example: ReadData -> Lead Date (22/03/2018) 

Parameter 1:   DateTime.CurrentMonth(15th Day)  - 15/03/2018

Parameter 2:   DateTime.NextMonth(15th Day)       - 15/04/2018

Does this make sense? Thank you

Thanos,

Have you tried something like this ?

First date: DateTime(DateTime.Now.Year, DateTime.Now.Month, 15)

Second date: First date.AddMonths(1)

Jean I have but I get the following error:

Formula value error: Parameter "DateDateTimeUtilities" not found 

I don't really know if you can use it in a formula, but what about a script task ?

DateTime date = Get<DateTime>("LeadDate");

DateTime firstDate = new DateTime(date.Year, date.Month, 15);
DateTime secondDate = firstDate.AddMonths(1);

Set("FirstDateParameter", firstDate);
Set("SecondDateParameter", secondDate);

return true;

with using 'System'

Jean Michou,

Thank you Jean, really appreciate it, I tried but I dont think I know how to get rid of the errors on the script task... Asked support for help in the meantime! 

The following formulas will work

DateTime.Now.AddDays(15 - DateTime.Now.Day).AddHours(12-DateTime.Now.Hour)



DateTime.Now.AddMonths(1).AddDays(15 - DateTime.Now.Day).AddHours(12 - DateTime.Now.Hour)

Show all comments

Hello community! 

I need create a  process to generate a task to any record returned from a read element. How need configure the element to make a "for each"?

Example:

http://prntscr.com/jx7y7s

 

 

Like 0

Like

4 comments

I solved part with the case https://community.bpmonline.com/questions/business-process-loop-read-data-element but have problem with create the not exist in the filter. http://prntscr.com/jx9b3r How can do that?

Dear Federico,

It's possible to process multiple records, however, it's wrong architecture. It will decrease the performance of the system very much. If you need to run a process for multiple records, then you probably need to optimize your request in order to avoid such a task. 



If possible, I'd recommend you to create a process that starts on adding new record. The process will insert a new task and it will run for every new record. If that doesn't suit the business logic, you can add the gateway after Read Data and create a conditional flow that will check how many records were found. If there are more then 0 records, the process would go to Read Data again. If there are 0 records found in Read Data, the process finishes. 

Lisa

Lisa Brown,

Thanks can you give a sample of that? I need add the activity to contact when not exist yet in the system. Just need check the "exists" condition in the add record.

Dear Federico,

In this case you can even use only one business process element  - Add Data with the following settings:

Lisa

Show all comments
7.12
sales_enterprise

I would like to embed an external web page from the Account record and pass the Account's identifier number into the URL as a parameter.

 

For example, if I am on an Account record with ID 1234, I would like to pass this ID into the base URL so that the following URL is loaded.

 

http://www.mywebsite.com/mywebpage?ID=1234

Is this possible?  If so, how is this accomplished?

Like 0

Like

4 comments

I'm not sure I understand what you need. To get an Id of current record, use var id = this.get("Id"). To open new url, use window.open("http://www.mywebsite.com/mywebpage?ID="+id, "_blank")

Hi Peter

Thanks for replying.  I am asking about embedding an external web page within a tab on the Account record.  Using the Web-Page dashboard functionality, it exposes a text URL property, but it doesn't seem to have any settings to make the URL dynamic based on parameter values (i.e. the ID of the Account in context).

-James

Dear James.

For embedded web page we use iframe technology. So it's not a bpmonline element and the only option to change url in iframe is using simple javascript. For example, you may add action that will change url in your widget:

    someFunction: function() {

               var myFrame = document.getElementById("t-comp193-webpage-widget"); // id of your iframe element you can find out from inspecting html

                if (myFrame) {

                    myFrame.src = "https://www.microsoft.com/net/"; // changing a link attribute

                }

            }

Information about url is stored in a table "SysWidgetDashboard" in column "Items". 

Show all comments
7.12
sales_enterprise

Hello Community! I need disable the notification of birthday.

Exist a process o way to disable that?

http://prntscr.com/jv2t9k

Like 0

Like

1 comments

Dear Federico,

Unfortunately there is no one click way to deactivate birthday remindings but there are several steps it can be done.



Remindings are stored in the object ‘Notification’. You can accomplish your business tasks within 2 options: 1) Create business process which will delete record after adding it to the object ‘Notification’ 2) Create trigger for the table ‘Notification’ in the database which will delete record after INSERT.



We’ve also registered the problem to consider simplifying this functionality in the further releases.

Lisa

Show all comments
7.12
sales_enterprise

Hello Community!

Is posible change the caption of buttons YES and NO of Confirmation Dialog?

Sample:

this.showConfirmationDialog("My custom Test",function(result) {
								if (result === Terrasoft.MessageBoxButtons.YES.returnCode) {
										
								} else {
									
									
								}
							}, ["CustomText1", "CustomText2"]);

 

Like 1

Like

1 comments

Solved!

	var ButtonYES = Terrasoft.MessageBoxButtons.YES;
						var ButtonNO = Terrasoft.MessageBoxButtons.NO;
						ButtonYES.caption = "CustomText1";
						ButtonNO.caption = "CustomText2";
						
						
						debugger;
						if(mensaje !== "") {
	                     	this.showConfirmationDialog("Custom Menssage" ,function(result) {
								if (result === Terrasoft.MessageBoxButtons.YES.returnCode) {
									
								} else {
									
									
								}
							}, [ButtonYES.returnCode, ButtonNO.returnCode]);

 

Show all comments
7.12
sales_enterprise

Hello Community!

I would like execute a function to recalcule the Amount in Invoice after add a new Order (Detail)

I try with messages can't get a success.

Is a lookup detail. https://academy.bpmonline.com/documents/technic-sdk/7-12/adding-detail-lookup

Any example to make that?

http://prntscr.com/jrb2p1

Like 1

Like

5 comments

Hi Federico, 

I think the fastest way you could do this is via a business process

Have a trigger start:

When Record is modified in any of the fields that would launch/initiate a recalculation (in my example it is PO Value, Payment Amount and Payment Status). Then you need to meet some type of filter condition and I usually do the the most important fields i am expecting the change in, in my example it is PO Value which i want to make sure is filled in.

Then simply build your business process around the start signal. Depending on where your "total" field is you could also use JS with the help from mixins. Or C# if you really want to make your life difficult, haha.

Hope this helps!

 

Philip I need make that in JavaScript because with BP can refresh de page to view the new amount. Exist a message in the detail page that send the event to subscribe: in the edit page? If can send this message willwork the subscribe: parameter on details atribute.

Federico, I see your point. 

When I have previously done this with JavaScript I was pulling from a lookup and not a detail. My code would look something like the code below. This would just pull the code in then you would do your modification to the code. Maybe instead of creating column, creating virtual table, then summing column in table word work for you - though I am not sure how to do that.

"fieldName": {
  "dataValueType": this.Terrasoft.DataValueType.TEXT,
  "type": this.Terrasoft.ViewModelColumnType.ENTITY_COLUMN,
  "columnPath": "Order.Type.Name",
  "caption": {bindTo: "Resources.Strings.OrderTypeNameCaption"}
  }

Sorry I couldn't be anymore help!

 

Philip Wierciszewski,

For example when you make a delete in the detail. How the system execute the function in the subscriber? 

http://prntscr.com/jrtjtz

Is that what i need. Execute the subscriber when a new record in the detail is added.

Dear Federico,

There are many examples that already present in the configuration. You can look at messages between OrderPageV2 and OrderProductDetailV2 in the Order package.

In the OrderPage:

messages: {

                    /**

                     * @message GetOrderProductSummary

                     * ########### ########## ### ###### ###### "########".

                     */

                    "GetOrderProductSummary": {

                        mode: Terrasoft.MessageMode.PTP,

                        direction: Terrasoft.MessageDirectionType.SUBSCRIBE

                    },

...

methods: {

               someMethod: function() {

                    this.sandbox.subscribe("GetOrderProductSummary", this.getProductSummaryConfig, this,

                                [this.getDetailId("ProductInProductsTab"), this.getDetailId("ProductInResultsTab")]);

                 ...

}

In the OrderProductDetailV2:

messages: {

            /**

             * @message GetOrderProductSummary

             * Returns information of product summary.

             */

            "GetOrderProductSummary": {

                mode: Terrasoft.MessageMode.PTP,

                direction: Terrasoft.MessageDirectionType.PUBLISH

            },

...

methods: {

               someMethod: function() {

                    var summary = this.sandbox.publish("GetOrderProductSummary", null, [this.sandbox.id]);

               ...

}

You can learn more on the topic at our Academy here

 

Show all comments