Like 0

Like

2 comments

Dear Sekhar,

This green lock means that the package is locked in the SVN repository. Nobody can commit this package while it is locked except the person who locked it. But you can develop in this package and save your changes locally. After you made your changes just commit to repository and press the green lock again to unlock a package. More on topic learn here

Thanks peter

Show all comments

dear my friend

i create query with EntitySchemaQuery. can i order root schema with colomn on root schema

getModulePrintFormsESQ: function() {
			var entitySchemaName = this.getEntitySchemaName();
			var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
				rootSchema: SysModuleReport,
				isDistinct: true,
				rowViewModelClassName: "Terrasoft.BasePrintFormViewModel"
			});

thx before

Chairul Anwar

 

Like 0

Like

2 comments

Yes, you can.

Just push the result columns to the esq, and set sorting by specifying the index of the column and the sort order

var entitySchemaQuery = Ext.create("Terrasoft.EntitySchemaQuery", {
	rootSchemaName: entitySchemaName
});
 
var modifiedOnColumn = entitySchemaQuery.addColumn("ModifiedOn", "ModifiedOn");
 
modifiedOnColumn.orderPosition = 0;
modifiedOnColumn.orderDirection = Terrasoft.OrderDirection.ASC;

 

Anastasia Botezat,

thanks so much anastasia. i can order that page.

Show all comments

Hi;

I generate an event handler before insert I need to generate sequence number

I did it as it is described in academy

https://academy.bpmonline.com/documents/technic-sdk/7-12/how-add-auto-n…

in second part according server side and it has worked fine when i add the record by add new record process element.

When I create the code adding this record by insert class this event stop working

no errors in browser simply not fill the number

as well as filling createdbyId automatic. I must put it manually.

I will be appreciated for help

Regards

Tomek

Like 0

Like

3 comments

Dear Tomasz,

You are right. Using Insert class doesn't fire any business processes. It connected to the fact that Insert class works directly with database not with entity. We recommend using this class only if perfomance is high priority. It much faster than EntitySchemaQuery class, because the Insert, Update, Delete classes skip all events and rights check. If you want to fire your business process, use EntitySchemaQuery:

var entitySchemaManager = UserConnection.EntitySchemaManager;

var entitySchema = entitySchemaManager.GetInstanceByName("Contact");

Entity schemeObject = entitySchema.CreateEntity(UserConnection);

schemeObject.SetDefColumnValues(); // don't forget call this method every time

schemeObject.SetColumnValue("Name", "Daniel Redkliff");

bool successfullySaved = schemeObject.Save();

Peter Vdovukhin,

 Thanks Peter

 

Peter Vdovukhin,

 

EntitySchemaQuery is also not triggering any event. I am using the update query using EntitySchemaQuery.

My code:

var entitySchemaManager = userConnection.EntitySchemaManager;
var entitySchema = entitySchemaManager.GetInstanceByName("Contact");
Entity schemeObject = entitySchema.CreateEntity(userConnection);
if (schemeObject.FetchFromDB(recordId))
{
    schemeObject.SetColumnValue("Reason", Column.Parameter(reason));
    if (status.ToLower() == "completed")
        schemeObject.SetColumnValue("CompletedOn", Column.Parameter(statusDate));
    schemeObject.Save();
}

 

Show all comments

I would like to print a document which would include data from two entities: A and B. They are not connected directly though, instead there's an entity C that has lookups to both A and B. Just choosing C as the base entity for printable is probably not possible, because there may be many this kind of many-to-many relationships between A and other entities. Is it possible to create a printable document that includes data from A and those other entities?

Like 0

Like

4 comments

Dear Carlos,

In case you create a printable in C object, you can create two tables from A and B to get the info connected to the entity C. Please try to create such printables. I recommend you to test it. In case the tables are not connected at all, you won't be able to get the info from B to the printable based on A.

Best regards,

Lily Johnson

Lily Johnson,

I don't think just creating a printable for C solves the problem, because there are more than one of this type of relationships between A and other entities. Let's say I have entity C with lookups to A and B and also entity Y with lookups to A and X. How can connect in a printable entities A, B, X?

Dear Carlos,

Unfortunately, you won't be able to get the info in such a way if the entities are not connected directly. 

Best regards,

Lily

Lily Johnson,

Ok, thanks for the info.

Show all comments
string json = Get<string>("ProcessSchemaParamRespJson");
 
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string,object>>(json);
var postalCode = dict["name"];
 
//Array is also possible
string[] result = dict.Select(kv => kv.Value.ToString()).ToArray();
string processedOutput = "Response Elements :  " ;
 
foreach(string val in result){
	processedOutput += " " + val;
}
Set("ProcessSchemaProcessedResponse", processedOutput);
 
return true;

I am trying to use Script to process json response from a web service call.

The validation of script fails with following error,although I have declared the namespace   System.Web.Script.Serialization under Usings section of the process. Any help here is appreciated. Being new to the Product, I am also looking forward to some link to  guideline documents for scripts.

 

 

Like 0

Like

1 comments

It's a good practice to post your code when you ask about the code errors. In this case it's much easier to find what's wrong with it.

http://prntscr.com/jzz7tu

As more detailed issue description you give, as more detailed answer you get ;)

Regarding the request. Bpm'online - it's an asp.net application. When you write c# code it will appear in a class. You can check the source code of the class by clicking on the "Open source code" button.

http://prntscr.com/jzz9or

Please investigate the code and find what's wrong with it. 

Please note that it's not enough to add "using" in an asp.net application. "using" should always be connected to a "reference". You can add additional libraries as references in the "External assemblies" section.

https://academy.bpmonline.com/documents/technic-sdk/7-12/configuration-…

http://prntscr.com/jzze8p

Additionally, if you're not sure if your code doesn't conflict in namespaces, then you can use full name of classes. For example

Using System.Text;

StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

Is equal to

System.Text.StringBuilder MyStringBuilder = new System.Text.StringBuilder("Hello World!");

 

 

 

Show all comments

Is it possible to remove or somehow disable processes that are in "Run process" context menu according to some conditions? For example, I'd like to disable a process on section page and allow it on edit page but only if the object has a particular status. If it's not possible - how else can I achieve similar functionality?

Like 0

Like

4 comments

You need to create replacing modules for the case page and for the case section. Then write the code that will match your needs there. Please find the example below.

define("CaseSection", ["BaseFiltersGenerateModule", "CheckBoxFixedFilterStyle", "StorageUtilities",
			"ServiceDeskConstants", "CasePageUtilitiesV2", "css!CheckBoxFixedFilterStyle"],
		function(BaseFiltersGenerateModule, CheckBoxFixedFilterStyle, StorageUtilities, ServiceDeskConstants) {
			return {
				entitySchemaName: "Case",
				contextHelpId: "1001",
				mixins: {},
				attributes: {
					"UsrIsProcessButtonVisible": {
						dataValueType: this.Terrasoft.DataValueType.BOOLEAN,
						type: this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
						value: false
					}
				},
				messages: {},
				methods: {
					init: function() {
						this.callParent(arguments);
						this.set("UsrIsProcessButtonVisible");
					}
				},
				diff: /**SCHEMA_DIFF*/[
					{
						"operation": "merge",
						"name": "ProcessButton",
						"values": {
							"visible": {"bindTo": "UsrIsProcessButtonVisible"}
						}
					},
					{
						"operation": "merge",
						"name": "DataGridRunProcessAction",
						"values": {
							"visible": {"bindTo": "UsrIsProcessButtonVisible"}
						}
					}
				]/**SCHEMA_DIFF*/
			};
		});

 

define("CasePage", [], function() {
	return {
		entitySchemaName: "Case",
		attributes: {
			"UsrIsProcessButtonVisible": {
				dataValueType: this.Terrasoft.DataValueType.BOOLEAN,
				type: this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				value: false
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				this.set("UsrIsProcessButtonVisible");
			}
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "merge",
				"name": "ProcessButton",
				"values": {
					"visible": {"bindTo": "UsrIsProcessButtonVisible"}
				}
			}
		]/**SCHEMA_DIFF*/
	};
});

 

Thank you. And do you know if it's possible to disable or hide single context menu item? For example if I have two processes I may want to disable one but not the other.

You need to override methods from the ProcessEntryPointUtilities mixin in the CaseSection and CasePage modules. For example, for the button on a grid record you'll need to override the addRecordRunProcessMenuItems method in the CaseSection module. 

http://prntscr.com/jzm8w0

Thank you very much.

Show all comments

Hi All,

What is the easiest way to export a list of all system fields in bpm´online?

Thanks.

Like 0

Like

9 comments

Dear Danilo,

Unfortunately, there is no place you can export all the system fields from. You can install SQL-executor from the Marketplace and execute the select queries with it to be able to view the content of the database tables and the fields that are used there.

We are planning to add the list of all the objects and field used in the system someday but there is no ETA for the task yet.  

Lisa

Thanks Lisa. I will give a try to the SQL executor

The SQL executor was enough for me

Dear Bryan,

There is no way to export the fields or columns that are in a table using SQL executor from the Marketplace. You can only view them. As for a queries, you may use basic ones that are enough to see the table content. For instance if you want to see the fields and columns in the Contact table, run 'select * from Contact', etc. As of the export option, our R&D team already accepted the idea of adding the list of all objects and fields for export, still we do not know when exactly it will be implemented. 

Best regards, 

Dean

We were able to export the feed, are you saying we can't do all of the columns?

Dear Bryan,

Thank you for the reply. I'm so sorry, I mislead you. I was using the older version of the SQL executor. Just updated to the latest one, which has the option 'Export to csv'. Using this option you can export all the records and columns from the table as well as the feed. 

Best regards,

Dean

Great! Can you provide the query to export everything at once?

 

Bryan Baker,

Hello,

There is no SQL-query that allows selecting all records from all tables and that's why it cannot be done. It is not something that bpm'online doesn't support. It is something that cannot be handled by SQL language itself. You need to run select queries one by one for all tables in the application (you can get a list of all system tables of the database using select * from sys.tables query) and export results for each query.

Best regards,

Oscar

This marketplace package installs a process you can run to export the entire system schema in an Excel file: 

https://marketplace.bpmonline.com/app/object-structure-export-bpmonline

Ryan

Show all comments

While creating a page in Section Wizard. We are getting this error from last 3 days.

InvalidObjectStateException. No lookup workspace item reference specified for lookup type column "Current Industry"

Like 0

Like

1 comments

Dear Venkata,

It seems the lookup object used for field "Current Industry" was deleted. So now the field doesn't have any object to get the records from.

Please, open the field settings in section wizard and check if the object is selected. Select/create new object and try to save.

In case the issue still occurs feel free to submit a case to support@bpmonline.com.

With best regards,

Oliver Wingston

Show all comments

Hi community!

Could you give me an example of how to call a business process from a script task with parameter passing

Thanks you!

King regards!

Ezequiel

Like 0

Like

1 comments

Dear Ezequiel,

The task was already discussed in another Community post here - https://community.bpmonline.com/questions/call-business-process-script-task. Feel free to check the solution provided there. 

Lisa

Show all comments

Hello,

I want to customize notifications for the [User task] process element, but it does not work: the expected notification does not appear.

This is the link where I saw how to do it : https://academy.bpmonline.com/documents/technic-sdk/7-12/how-customize-…

I attached the pictures of my work.

Thank you.

 

File attachments
Like 0

Like

3 comments

Please change return true; to return false; in the main script of the user task .

http://prntscr.com/juzmpl

Hello,

Thank you for your answer. It works.

However, I don't know how to make it disappear after being shown. In fact, is it possible to add a button to close it and terminate my process?

Actually, when I click on the notification, an error appear in the console. I attached the error picture.

Thank you.

 

if you don't specify anything that should happen after clicking on the notification what do you expect the system to show instead of the error?

The academy article just explains how to show the reminding. Everything else is expected to be written on c# and JavaSctipt by you. 

Please investigate how out-of-the-box user tasks works. It should help.

Show all comments