Hello,

How can the attachments detail be customized to allow sorting by attachment name? Currently clicking on the column header does not sort the information.

Thank you

Like 0

Like

1 comments

Dear Allen,

Unfortunately, attachments detail is not a kind of sortable detail. In any detail page you need to use inheritance from base detail schemas in order to have sorting option. How to add a new detail or to customize existing one you can find out from these articles

You can try to replace an existing detail schema with your own following those examples.

Show all comments

Good morning,

I need to make some fields Editable and some not (enabled or not) due some condition. But it doesn't works.

What I did?

1.- on the diff block I replace on every field block:

        replace "enabled": true by  "enabled": { "bindTo": "isUsrGiroEnabled" }, for example:

{
	"operation": "insert",
	"name": "STRINGe657cf87-7461-450e-beb8-8429d591a8ea",
	"values": {
		"layout": {
			"colSpan": 12,
			"rowSpan": 1,
			"column": 0,
			"row": 0,
			"layoutName": "ProductsTabGridLayout30090ad7"
		},
		"bindTo": "UsrGiro", 
		"enabled": { "bindTo": "isUsrGiroEnabled" } // Replaced "enabled": true
	},
	"parentName": "ProductsTabGridLayout30090ad7",
	"propertyName": "items",
	"index": 0
},

2.- Create an onEntityInitialized method to call when the form loads the method evaluate the fileds must be filled or not. (Enabled)

onEntityInitialized: function() { //callback, scope) {
 
	this.callParent(arguments);
 
	this.isCampoEnabled();
},

The method that evaluate if a field is Editable or not

isCampoEnabled: function() {
	// Evalua Tipo de Negocio
	var tipoNegocio = this.get( "UsrLineaNeg" ).displayValue;
	var tipoNegocioCCV = ( tipoNegocio.substring( 0, 2 ) === "CCV" ) ? true : false;
	var tipoNegocioOficinas = ( tipoNegocio.substring( 0, 2 ) === "Ofi" ) ? true : false;
	var tipoNegocioIndustrial = ( tipoNegocio.substring( 0, 2 ) === "Ind" ) ? true : false;
	var tipoNegocioMALL = ( tipoNegocio.substring( 0, 2 ) === "Mal" ) ? true : false;
 
	// Campos que SIEMPRE SON HABILITADOS				
	this.set( "IsUsrRubroEnabled", true );
	this.set( "IsUsrGiroEnabled", true );
 
	if ( tipoNegocioCCV ) {
		// Deshabilida sólo los de CCV
		this.set( "IsUsrRepLegal1Enabled", false );
 
       // the same to another fields
    }
}

What's missing?, it doesn't works. ALL fields set NOT Editable.

Thankjs in advance

Like 0

Like

3 comments

Dear Julio,

Please add a virtual attribute "IsUsrGiroEnabled", which you are setting to true in the "isCampoEnabled" function. The rest of the functionality and approach are correct. Though, after adding the attribute, I would suggest to leave only this.set( "IsUsrGiroEnabled", true ); in the "isCampoEnabled" function, so to check that functionality is working and exclude the possible error in the rest of the function body. On the other hand, you can debug the code in the runtime.

Here is an example of virtual Boolean attribute:

"NumberDoesNotExist": {
        "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
        "dataValueType": Terrasoft.DataValueType.BOOLEAN,
        "value": false
    }

Regards,

Anastasia

Thanks Anastasia, could be I doing someting wrong, because it doesn't works.

1.- The diff definition

{
	"operation": "insert",
	"name": "STRING439d943b-0a59-4e30-bdf6-e36c310ba8f1",
	"values": {
		"layout": {
			"colSpan": 12,
			"rowSpan": 1,
			"column": 0,
			"row": 1,
			"layoutName": "ProductsTabGridLayout30090ad7"
		},
		"bindTo": "UsrNomFantasia",
		"enabled": {
			"bindTo": "isUsrNomFantasiaEnabled"
		}
	},
	"parentName": "ProductsTabGridLayout30090ad7",
	"propertyName": "items",
	"index": 2
},

2.-Attribute

"IsUsrNomFantasiaEnabled": {
	"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
	"dataValueType": Terrasoft.DataValueType.BOOLEAN,
	"value": true
}

3.- The code

onEntityInitialized: function() {
	this.callParent(arguments);
 
	this.isCampoEnabled();
},
 
isCampoEnabled: function() {
	// Evalua Tipo de Negocio
	this.set( "IsUsrNomFantasiaEnabled", true );
}

After all of these the field is disabled, what I'm doing wrong?

 

Thanks in advance

Dear Julio,

Unfortunately, it is impossible to determine the exact cause as of now. Could you, please direct this issue on to the support team via email so we could investigate more closely.

Thank you,

Anastasia

Show all comments

I have configured all settings. Restore database in my sql server. Set up redis server. Site is hosted in IIS. But when I am trying to run the website it is throwing an error like below:

 

The "Default" workspace assembly is not initialized

 

below image is screenshot of my issue.

 

Please answer me ASAP. as my work is delay due to this.

 

Thank You.

Like 1

Like

2 comments

Hello,

To fix this issue, please 1) click on 'Compile all items' on the left-hand side panel.

2) Wait until it is completed and you will get a pop up window with the compilation errors that do not allow you to log in. 

3) You will need to fix these errors. In case you cannot fix the errors, you can export the schemas where the errors occur and delete them from the configuration.

4) After that please click on 'Compile all items' again and wait until this is completed. If no errors occur (you have to fix it - point 3), you will be able to log in successfully. 

This is a general algorithm you need to follow to fix such error. 

Best regards,

Lily

Lily Johnson

Hey Thanks Lily. Issue has been resolved.

Show all comments

Today, I have upgraded my sales CRM from 7.11.3.1715 to 7.12 following the below instructions..

https://academy.bpmonline.com/documents/bpmonline-update-guide-7113-712…

After Website restarting, compilation and verification, I go to login screen and still see the version 7.11.3.1715. How would I verify if the whole upgrade was successful on the site?

 

Please see the screenshot of the version after the upgrade.

Like 0

Like

8 comments

Hello,

There are two most possible reasons for the previous number display:

1. The login page is cached. To fix it you need to empty the cache of the browser.

2. The binary files of the application were not upgraded. In this case you need to restart the upgrade process from scratch.

Lisa,

I have tried clearing the browser cache, but that didn't help.

Then I am left with restarting the upgrade process again. But before I do that, I would like to know how could I get to the binary files of the application. Is there a way I could verify that the binary files of the application were still old and referring to 7.11.3?

Hi,

You get the application files from the support team. When you turn to them for the update files, you specify the version and receive the correct files. 

You should firstly delete the old version files, than copy the newer version binaries to the root directory and only afterwards run the WorkSpaceConsole to update.

Lisa,

 I got the updated files from here..

https://academy.bpmonline.com/documents/bpmonline-update-guide-7113-712…

Are there any additional files that I need to get from the support team in addition to the one mentioned in the screenshot?

Also in your above statement you mentioned to delete the binaries form the root folder. Could you please direct me to the right files in the root folder which needs to be deleted.

Yes, there are the additional files you should request as mentioned in the article:

As for deleting the files, you should remove all of them and replace them with the new ones you get from support. 

Lisa

 

Thanks Lisa, I was able to upgrade my local development CRM successfully. However I've noticied that my site is no longer in file system mode and the custom packages in Terrasoft.Configuration\Pkg was empty. 

Dear Deepthi Kurra,

File design mode settings are located in web.config. That's why after you rewrote this file during the update the system is no longer in file design mode. You should change web.config again to achieve your goal. Full article how to enter file design mode you can find here

Peter Vdovukhin,

Thanks Peter!

Show all comments

Hello Community!

I have some doubts about the mobile customization capabilities and I would be very greatful I anyone could help me on this.

1. Is it possible to create business rules in the mobile version? Example: If the mobile user changes the "opportunity probability" field to "80", show or hide a specific field.

2. Is it possible to use CSS styles in the mobile?

3. If the user entered a different value than expected in any field in the mobile, is it possible to display a warning screen like "Dear user, this value is not permitted".

Thanks in advance.

Eric Campos

Brazil - São Paulo

Like 0

Like

2 comments

 

Dear Eric,

Please find answers below:

1. Is it possible to create business rules in the mobile version? Example: If the mobile user changes the "opportunity probability" field to "80", show or hide a specific field.

In order to show or hide columns according to a certain condition (basically,

depending on the value in a certain column), you can use the business rule Terrasoft.RuleTypes.Visibility. To do this, specify the appropriate. type (property ruleType), events that will trigger this business rule (the events property), specify the column (or columns) on which the business rule (the triggeredByColumns property) depends, describe the condition of the business rule triggering (conditionalColumns property) and Specify the columns that you want to display when the above condition is met.

Terrasoft.sdk.Model.addBusinessRule('Account', {
    ruleType: Terrasoft.RuleTypes.Visibility,
    conditionalColumns: [
        {name: 'Type', value: Terrasoft.Configuration.Consts.AccountTypePharmacy}
    ],
    triggeredByColumns: ['Type'],
    dependentColumnNames: ['IsRx', 'IsOTC']
});

The condition in the example is possible only if there is a previously defined constant Terrasoft.Configuration.Consts.AccountTypePharmacy. That is, you can use both this constant and just the value property to specify a GUID value, but it's more correct to use such constants.

Terrasoft.Configuration.Consts = {
    AccountTypePharmacy: 'd12dc11d-8c74-46b7-9198-5a4385428f9a'
};

2. Is it possible to use CSS styles in the mobile?

To do this, you need to use the Terrasoft.writeStyles method. You can find an example in the MobileActivityGridPageV2 schema.

3. If the user entered a different value than expected in any field in the mobile, is it possible to display a warning screen like "Dear user, this value is not permitted".

You can create a validation in the following way:

Terrasoft.sdk.Model.addBusinessRule('Contact', {
    ruleType: Terrasoft.RuleTypes.RegExp,
    regExp : /^([0-9\(\)\/\+ \-]*)$/
    triggeredByColumns: ['HomeNumber', 'BusinessNumber']
});

TriggeredByColumns indicate what columns to apply rule to. You can add a warning message and display it when validation does not pass.

Regards,

Anastasia

Hi Anastasia,

Thank you so much for the detailed information! Really appreciated!

Regards,

Eric

Show all comments

I am trying to achieve the following database query in ESQ..

SELECT        AU1.Name, AU.Name AS Role

FROM            SysAdminUnitInRole AS UR LEFT OUTER JOIN

                         SysAdminUnit AS AU ON AU.Id = UR.SysAdminUnitRoleId INNER JOIN

                         SysAdminUnit AS AU1 ON AU1.Id = UR.SysAdminUnitId

WHERE        (UR.SysAdminUnitId = 'd3f74364-5ec1-4171-8f0c-160f0ab3a4c')

 

This is what I came up with in script task..

// Get [Id] of contact object.

var contactId = get("ContactIdParameter");

string esqRoles = "";

var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "SysAdminUnitInRole");

// SysAdminUnit schema with join type LEFT OUTER JOIN will be added to query.

esq.addColumn("SysAdminUnit.Name");

// SysAdminUnit schema with join type INNER JOIN will be added to query.

esq.addColumn("=SysAdminUnit.Name");

var esqFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "SysAdminUnitInRole.SysAdminUnitId", contactId);

esq.filters.add("esqFilter", esqFilter);

// Objects, i.e. query results, filtered by the above filter, will be included into this collection.

EntityCollection entities = esq.GetEntityCollection(UserConnection);

if (entities.Count > 0) {

    foreach (var entity in entities)

    {

        esqRoles = esqRoles + " " + entity.GetTypedColumnValue("SysAdminUnit.Name"));

    }

    //Set the rolespParameter with the esqRoles value

    set("RolesParameter", esqRoles.ToString());

}

return true;

 

I get errors publishing the script task in the Business Process. Need help figuring it out if the script take code is right..

 

Thanks in advance!

 

Like 0

Like

3 comments

So where is the screenshot of the errors?

er

Please open the source code of the business process UsrProcess3 and find what's wrong in the record 56. 

http://prntscr.com/j7g2mx

Show all comments

How to display the list of Organization roles/functional roles of a system user in the System User list display?

Like 0

Like

4 comments

Hello,

Unfortunately it is not possible to display the list of user roles in the system users section list view. Only the records from one entity can be displayed in this section's list view, while the user roles belong to a completely different entity. 

Warm regards, 

Matt

Thank you Matt. Is there a work around in BPM to pull list of Organizational/functional roles with the system users? Appreciate in advance!

Hello,

As a workaround, you can create a new field on the User Page and then populate it with the help of the business process. You will need to read the data from the correspondent detail and enter the information into the custom field. In this case you will be able to display the field in the records list.

 

Lisa Brown,

Sounds good Lisa. Thank you!

Show all comments

Hi,

 

I am trying to get my Process Parameter, "ProcessSelectedSL" (Text), into a variable of my Script Task.

I tried this: 

var entities = Get<string>("ProcessSelectedSL");

but entities gets null. When I retrieve this parameter from another process elements, like "Auto-generated page", I can get it ...

Thanks

Like 0

Like

7 comments

Dear Jean,

You must have made some spelling errors in the code. Please copy the text from the code below and not type it:

get/set value in a business process script task
var parameter1 = Get&lt;Guid&gt;("Parameter1");
Set("Parameter2", parameter1.ToString());
var parameter2 = Get&lt;string&gt;("Parameter2");
 
get object of type UserConnection
var userConnection = Get&lt;UserConnection&gt;("UserConnection");

And also double check that the parameter name (not title) is entered correctly.

 

Lisa Brown,

Thanks for your answer. It seems my script wasn't correctly encoded. This problem is solved.

I just have another question, using EntitySchemaQuery to create a record with Insert, how can we easily get the created object Id ?

 

Thanks !

Jean Michou,

Please specify the record Id when you create the record. The record will be created with the specified id.

Eugene Podkovka,

Thanks for your answer Eugene.

That is a solution, but how can I get an Id to use ?

I mean, is there a way to get a random Id, not already used in a table ?

Jean Michou,

If you ask about JS, then there is no specific solutions for this in bpm'online. Please find the answer in google. For example https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascri…

If you ask about c# then its Guid.NewGuid

Eugene Podkovka,

Thanks, that is what I was looking for

For reference in a client module using JavaScript you can use:

var newGuid = Terrasoft.utils.generateGUID();

That was returned by Bing GPT-4.

Show all comments
Question

Hello all. I'm very new to BPMO. I've used other platforms for marketing automation for many years but getting my head around how BPMO works is slower going that I expected.

I've tried to follow the instructions on the technical aspects of the product and WOW, they really need someone to give those some finesse. It seems they were written by someone very familiar with the platform but without the unique skills that are required to write technical instructions.

For now, I'd like to sort out how to create an email follow-up sequence that is triggered by leads coming in from a web form. I'd also love to find out if anyone has this working with the Divi wordpress theme's contact form OR Clickfunnels's landing pages.

Anyone have advice or can point me to some instructions that are worth following? I really appreciate any help. Thank you in advance.

Like 0

Like

1 comments

Dear John,

We are grateful for your feedback and I will make sure to transfer it to the academy team.

Now, regarding the questions you have. It is possible to create an email follow-up with the help of a business process, which would be triggered by the new lead with the specific type. You can read more about the business process elements on the Academy via the link below:

https://academy.bpmonline.com/documents/technic-bpms/7-12/process-elements

Moreover, we have a plugin for WordPress integration. The add-on is compatible with the forms created in WordPress using Gravity Forms and Contact Form 7. Any different integration can be achievable with the help of development. You can find the plugin on the Marketplace below:

https://marketplace.bpmonline.com/app/wordpress-plug-bpmonline

Furthermore, the Academy is the biggest source of information available and has the most thorough documentation regarding every piece of functionality. You can search the articles by keywords or you can find the necessary thematic block and find the information there.

Warm regards,

Matt

Show all comments

Hi community!

How are you?

How can I replicate the same functionality that exists under the tab "Files and Links" of "Cases" in another custom entity?

I created the object detail "UpriArchivosIntervenciones" that inherits from "Files (Base)",  and I add ed a field called "UpriIntervención".



But after creating the detail using the wizard and adding it in "Intervenciones" entity, the detail configuration is not similar to the case. I observed that in CasePage, the schemaDetail for "Files and Links"" es FileDetailV2

King Regards,

 

Ezequiel

Like 0

Like

1 comments

Dear Ezequiel,

The addition of the attachments detail is described in the article below:

https://academy.bpmonline.com/documents/technic-sdk/7-12/adding-attachments-detail

The Notes part is a rich text field, however, you can simply check how it is implemented on a page and replicate it.

Warm regards,

Matt

Show all comments