edit page
7.13_()
studio

I would like to have multiple edit pages configured to display depending on what needs to be done with a record that is not necessarily dependent on section field or for use with multiple statuses. For example, having the same edit page used for modifying a page that may be active or obsolete, which is different than adding a new record. If I add multiple edit pages and no field is selected in the New Page dialog, then all of the pages are "Not used," which is not accurate.

Like 0

Like

1 comments

Please investigate the structure of the "add" button in the diff. 

http://prntscr.com/n3nu3n

http://prntscr.com/n3nuj4

http://prntscr.com/n3nuyr

There are attributes and methods that you can override in order to add the functionality that you need. 

Show all comments

Hi Community,

On Case Edit Page when saving a record, it is going back to the previous screen, how can we forced it to stay on the current edit page after saving the record.

Like 0

Like

3 comments

You need to override the save method on the edit page and set isSilent to true in the config. Add this code to the edit page:

save: function(config) {
  config = config || {};
  config.isSilent = true;
  this.callParent([config]);
}

Ryan

Ryan Farley,

Hi,

In cases After saving the record on edit page i want to open next case without going back previous screen.How can we this.

Dear Harish,

In order to open next case without going back to the section page please consider using the following code:

save : function(config){

                config = config || {};

                config.isSilent = true;

                this.callParent([config]);

                // get the primaryId of the next case

                var primaryId = "57286774-E71A-4530-BB60-B2E514FA535F";

                // go to another edit page

                var requestUrl = "CardModuleV2/CasePage/edit/" + primaryId;

                this.sandbox.publish("PushHistoryState", {

                    hash : requestUrl

                });

            }

Please find an example of using this code in the article by the link below:

https://academy.creatio.com/documents/technic-sdk/7-15/how-add-button-section

Best regards,

Norton

Show all comments
Discussion
approval
studio
documentation

Although the Approver for an Approval process element must be a Contact, the documentation only refers to employees and users.  Also, the dropdown list for Approver only contains User, Employee's manager and Role, not Contact.  This is very confusing when trying to set up approvals. Please update the documentation and dropdown list to be consistent with the functionality of the application.

[Approver] – specify the approver user. Approver can be a specific employee, manager of a specific employee, or any employee who is a member of a bpm’online organizational or functional role.
 
If you select “Employee”, specify bpm’online user who is the approver in the [Employee] field.
 
If you select “Employee's manager”, specify bpm’online user whose direct superior is the approver. Direct superior is specified in the [Manager] profile of the employee's record in the [Employees] section.

 

2 comments

Dear Janine,

The approval can only be approved by the user of the system. That is why in Approver dropdown you can choose user(employee) himself, manager of a user(employee) who is also a user and role, which is a group of users. Contacts can not be approvers as contact is not necessarily a user of the system and it's not quite logical to give an option to approve for a non-user as it wouldn't be possible to approve an approval for the Contact who is not a user. That is why Contact is neither in a dropdown list nor in a documentation. 

Best regards, 

Dennis 

Dennis Hudson,

The action only works when a Contact object is used, not a User or Employee.  It may need to be a Contact who is a User, but User doesn't work. Only a Contact can be selected.

Show all comments
approval
studio
7.13_()

What section is Approver expecting passed in the Approval process element?  The documentation below is using Employee and User interchangeably. The Approver field will not accept Manager read from an Employee record using a Read data System action and errors when the manager's User Id read from the System administration object is passed.

[Approver] – specify the approver user. Approver can be a specific employee, manager of a specific employee, or any employee who is a member of a bpm’online organizational or functional role.
 
If you select “Employee”, specify bpm’online user who is the approver in the [Employee] field.
 
If you select “Employee's manager”, specify bpm’online user whose direct superior is the approver. Direct superior is specified in the [Manager] profile of the employee's record in the [Employees] section.
Terrasoft.Common.DbOperationException: The INSERT statement conflicted with the FOREIGN KEY constraint "FKep594q6vK4JwPEgwcbsZ9TIk". The conflict occurred in database "katerra", table "dbo.UsrKaterraContactRoles", column 'Id'.
The statement has been terminated. ---> System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FKep594q6vK4JwPEgwcbsZ9TIk". The conflict occurred in database "katerra", table "dbo.UsrKaterraContactRoles", column 'Id'.
The statement has been terminated.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Polly.Policy.<>c__DisplayClass119_0`1.<Execute>b__0(Context ctx, CancellationToken ct)
   at Polly.Policy.<>c__DisplayClass129_0`1.<ExecuteInternal>b__0(Context ctx, CancellationToken ct)
   at Polly.Policy.<>c__DisplayClass103_0.<NoOp>b__1(Context ctx, CancellationToken ct)
   at Polly.NoOp.NoOpEngine.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.<>c.<NoOp>b__103_0(Action`2 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.ExecuteInternal[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.Execute[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.Execute[TResult](Func`1 action)
   at Terrasoft.DB.MSSql.MSSqlExecutor.FailoverExecute[TResult](DbCommand command, Func`1 func)
   at Terrasoft.Core.DB.DBExecutor.ExecuteCommand[TResult](Func`2 commandExecutionCallback, String sqlText, QueryParameterCollection queryParameters, CancellationToken cancellationToken)
   at Terrasoft.Core.DB.DBExecutor.Execute(String sqlText, QueryParameterCollection queryParameters)
   at Terrasoft.Core.Entities.Entity.InsertToDB(Boolean skipLookupColumnValues, Boolean validateRequired)
   --- End of inner exception stack trace ---
   at Terrasoft.Core.Entities.Entity.InsertToDB(Boolean skipLookupColumnValues, Boolean validateRequired)
   at Terrasoft.Core.Entities.Entity.InternalSave(Boolean validateRequired, Boolean setColumnDefValue)
   at Terrasoft.Core.Entities.Entity.Save(Boolean validateRequired, Boolean setColumnDefValue)
   at Terrasoft.Core.Process.ProcessEngineImpl.AddProcessListener(Entity entity, Guid processElementUId, String conditionData, String changedColumns, EntityChangeType entityChangeType)
   at Terrasoft.Core.Process.Configuration.ApprovalUserTask.InternalExecute(ProcessExecutingContext context)
   at Terrasoft.Core.Process.ProcessActivity.Execute(ProcessExecutingContext context)

 

Like 0

Like

1 comments

Hello,



It seems that "Approver" is not a section, but a field in "employee" object. This fields should contain the Id of contact instead of id of the system administration object. 

In case you use script task and have difficulties with it, you may try to create a business process and use process elements like "read data" or "modify data" to perform some manipulations with data.



Basically, what I recommend to do is to trigger business process from the c# code. 

https://community.bpmonline.com/questions/calling-business-process-parameters-anonymous-web-service 



Best regards,

Alex

Show all comments
Facebook Integration
Contact
7.13_()
studio

Hi,

I have gone through this doc

For a contact, once I try to click on FB button from 'Communication options' than nothing is happening and below errors are showing on browser console

I'm doing this testing on local dev system. If 'http' is causing problem than how to avoid this issue?

 

Any help will be highly appreciable.

 

Regards

Like 0

Like

1 comments

Dear Muhammad, 

The error says that the site needs to be switched to https, you can find the instruction how to set it up here: https://academy.bpmonline.com/documents/administration/7-13/switching-h…

However, the integration with Facebook may be working incorrectly now because Facebook closed the possibility to integrate with closing their API.

Best regards, 

Dennis 

 

Show all comments
translation
7.13_()
studio

Hi,

Translation Section loading not completing and continuously showing loading message "Loading Actualisation" since 4 hours. Is there any missing configuration which causing this slowness?

application in on-site*

Any help will be highly appreciable.

 

Regards

Like 0

Like

1 comments

Dear Muhammad, 

Translation actualization indeed can take much time since the system actualizes all translations even if no modifications were made and especially if you have multilingual application. However, since the process takes 4 hours without ending, most likely there is some issue in your application. To understand the reason for it, please try to wait till the process is finished, even if it takes more time. We need to know that the process can be either finished within some time or it cannot be finished at all. With the results, I'd like to ask you to contact our support team for deeper investigation of the problem. Could you please email our support team at support@bpmonline.com and also provide the screenshot of loading page with opened browser console? Thank you beforehand.

Best regards,

Dean

Show all comments
transfer changes
mini pages
section title
7.13_()
studio

Hi Community,

Any idea how to fix this issue, we have already changed the title of our section and disable the add record mini page in our development but when we transfer our package (using export to archive and install application using install application) to Production, still the add record mini page is enabled and the title does not changed at all.

 

 

Like 0

Like

1 comments

Dear Fulgen,

The the reason for this issue might be in not compiled production system before transferring packages. Please, compile the production system and update the database structure before the package installation. Once the packages are installed in the production environment try to compile and update the database structure again. This should resolve the issue.However if it still persists - please contact our support team via email support@bpmonline.com to have a closer look into your particular installation.

Best regards,

Dean

Show all comments
Javascript
7.13_()
studio

Hi 

I would appreciate if someone could guide me how to read the value from a WiJob object, which has a lookup WiBuilding and WiBuilding has a column WiChargeRate. I added this as dependency in attributes, I can see teh value is there but I am unable to read it. Please see image below.

Like 0

Like

3 comments

Hello Waseem,



You can operate with value of the property of the JS object just by using the property name e.g. to get the "WiBuilding" value you should use "job.WiBuilding".  The value that you will get is the WiBuilding object.

The "value " property of the "WiBuilding" object stores the Id of the record in "WiBuilding" lookup (since the "WiBuilding" is the lookup). 



How to get object`s value from the database by it`s id:

https://academy.bpmonline.com/documents/technic-sdk/7-13/use-entitysche…

Best regards,

Alex

Thank you Alex, you are right I do get the value of the WiBuilding by writing Job.WiBuilding or Job.WiBuilding.value. I am struggling with the next layer which is the WiBuilding.WiChargeRate (displaying 125 in the above image). I tried Job.WiBuilding.WiChargeRate but it does not give me the value of 125. Should I try Job.WiBuilding.WiChargeRate.value. 

In regards to Entity Schema, I wrote the following ESQ and I could get the value to display in the pop up but I could not read it in to variable to do some calculation.

this.showinformationDialog works, but when I try

var chargeRate = result.entity.get("WiChargeRate") I get 0 value

The ESQ code below:

//var building = this.get("WiBuilding");

/*

var recordId = building.value;

var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {

rootSchemaName: "WiBuildings"

});

esq.addColumn("WiChargeRate", "WiChargeRate");

esq.filters.add("IdFilter", esq.createColumnFilterWithParameter(

Terrasoft.ComparisonType.EQUAL, "Id", recordId));

esq.getEntity(recordId, function(result) {

if (!result.success) {

this.showInformationDialog("Data query error");

return;

}

this.showInformationDialog(result.entity.get("WiChargeRate"));

}, this);

*/

Hi Alex

I have resolved it. The syntax needed to be as follows:

var chargeRate = job["WiBuilding.WiChargeRate"];  //read building charge rate

Thank you for your help.

Show all comments

I've run into issues where a process errors out or doesn't send an email because I'm trying to read data from a later step in the process to use in an earlier step by accident.  It would be helpful to :

  • have a warning that a formula in a User Action or System Action is referencing a later process element
  • enable a selection to only display process elements before the process element I am currently editing to:
    • avoid selecting the wrong element for a formula
    • make it quicker to make process element choices 
1 comments

Dear Janine,

I'll inform our R&D team about this idea and suggest them to implement it. Thank you for helping us to make our application better!

Best regards,

Angela

Show all comments
User License
7.13_()
studio

Hi Community,

We have a total of hundred of portal users, is there a way to import the user license in BPM online so we don't need to do this manually hundred times.

 

Like 0

Like

1 comments

Dear Fulgen, 

Unfortunately you wouldn't be able to import licenses as this pretty unique system object. The license distribution should be done by hand. 

Best regards,

Dennis  

Show all comments