Hi all

Does someone have an example of taking attachment and saving it as a file on an FTP server ?

I want to create a process that when user attach a file, the file will be saved automatically on a local drive.

Thanks

Like 0

Like

1 comments

Dear Oren,

Unfortunately development of such functionality is difficult a little bit and may require a separate project. But you can try using this marketplace app https://marketplace.bpmonline.com/app/file-manager-bpmonline since it provides the possibility of working with FTP-storage systems. Also we already have a suggestion registered for our R&D team so to implement this possibility in out of the box version of the application, but unfortunately there is no ETA for it. We will also notify them about your request so to raise the priority of the problem. Thank you for helping us to make our application better!

Best regards,

Oscar

Show all comments

Hi community

I made a trigger on a lookup field using this attribute:

"UsrAmazonWarehouseAddress":{
    "dependencies": [
        {
            "columns": ["UsrAmazonWarehouseAddress"],
            "methodName": "onAmazonWharehouseChange"
        }
    ]
},

The thing is that this trigger is fired only if the user choose value by cliking it on the popup window. If the user uses only the keyboard without openning the lookup window, the trigger is not fired.

Any ideas on how to catch the evet of changing the lookup ?

Thanks

Like 0

Like

2 comments

I've just created the dependency specified below and it works no matter how it was triggered. Please test the code on your side and check the difference. 

define("AccountPageV2", [], function() {
	return {
		entitySchemaName: "Account",
		attributes: {
			"Owner": {
				"dependencies": [
					{
						"columns": ["Owner"],
						"methodName": "onOwnerChanged"
					}
				]
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onOwnerChanged: function(){
				window.alert("onOwnerChanged");
			}
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
	};
});

 

Thanks Eugene

You are rihgt. I checked and the trigger is fired.

I checked and and found the problem:

This is how I got the recordId.

var recordId = this.get("UsrAllAddresses").Id;

When choosing with the popup window, recordId has the ID value

When choosing without the popup window, recordId is undefined.

The solution I found goes like this:

var record = this.get("UsrAllAddresses");

 var recordId=record.value;

Best regards,

Show all comments

Hello Community!

Some time ago I developed a functionality  on a custom package oriented to the version

bpmonline sales enterprise & marketing & service enterprise 7.11.0 being that the development was related to service entities, Marketing and Sales.

Currently I need to upload that development to an environment in bpmonline sales team 7.13.1, and when i try to install my package gives me an error that does not find certain dependent packages for example MarketingSoftkeyEnu.

What is the process that should be followed to implement it and obviously get out the functionality associated with entities of the marketing and service module?

By chance I have installed and unlocked the package in another environment bpmonline sales enterprise & marketing & service enterprise 7.12, where I have another development package. I made a copy of that environment and tried:

1. Set the imported package as a defect and its corresponding prefix

2. Remove items from the package associated with marketing and service

3. Remove fields from lookups in schemas that are related to those entities

4. Eliminate package dependencies: MarketingSoftkeyEnu & ServiceEnterpriseSoftkey

At this point:

* When I try to make changes to an entity and save the changes I get the following error:

Error while saving: Collection item with unique identifier "{AE0E45CA-C495-4FE7-A39D-3AB7278E1617}" not found.

When trying to generate code, compile, etc. I ended up giving the following error:

Unexpected character encountered while parsing value: =. Path '', line 0, position 0.

* Export the package and try to install the package into bpmonline sales team getting same error as the previous one.

Thank you!

Have a nice weekend

Regards

Like 0

Like

1 comments

Bpm'online allows transferring packages only between the same version. Additionally transferring is possible only between the same products or from less bundle to a greater one. 

In your case, you'll need to merge the package manually. Try to remove the dependencies from the SysPackageDependency table and then compile the assembly and debug the functionality. Find all errors and resolve them manually. 

 

Show all comments

Does the "Exclude from folder" option here not work for Dynamic Folders?

I have a bunch of dynamic and static folders. "Exclude from folder" is working for Static folder but can't seem to make it work for Dynamic folders.

 

Not sure if that's even possible. Looking for some information.

 

Thanks in advance.

 

Regards,

AK

Like 0

Like

2 comments

Hi,

Static folders are filled manually and dynamic folders are filled automatically according to the filters set for specific folder. To exclude records from dynamic folder it must be altered in a way that makes it not suitable for such folder. "Exclude from folder" can be used only for static folders.

Angela Reyes,

 Alright thanks :)

Show all comments

I have a function in the Quote page that overrides generatePrintForm() from PrintReportUtilities (to automatically save the record prior to printing).  The overridden function only fires under certain circumstances; I've used console logging to confirm that it isn't called at all in others.  As best I can tell, this matches up to the difference between this mode (green button), when the record is opened from a link in another record or the page is refreshed after being opened from the section list:

And this mode (blue button), when the record is opened directly from the section list and not refreshed:

In the first mode, the function is called properly upon attempting to print; in the second, it isn't called at all.  What exactly is the difference between these two modes, and is there a way to tell from the backend?  (Or alternately, any way to ensure the record is always opened in the first mode?)

Like 0

Like

2 comments

Dear Darian,

You are correct regarding two different modes. There are two modes for the card: combined mode (blue save button) and add new record mode (green button save).

The main and most noticeable difference is top panel, where buttons and actions are. When you open a record from section, the page is working withing combined more, which means, that all buttons and actions are taken from section schema. Such mode enables you to unfold left panel and browse through other records from the section. 

If you follow a direct link to a record from other section, or refresh the page (F5) the record with be opened via add new record mode. This follows, that buttons and actions will be taken from the page schema.

Based on your description, I can suppose, that you have added overriden generatePrintForm() function to the page schema (lets say ContactPageV2). Therefore, the functionality works when opening direct link to the record, or page refresh.

In order for the functionality to work in combined mode, please add the logic to the section schema as well (e.g. ContactSectionV2).

Please see this article on adding button to the combined mode. You will find more information on functionality realization:

https://academy.bpmonline.com/documents/technic-sdk/7-13/how-add-button-edit-page-combined-mode

Regards,

Anastasia

Anastasia Botezat,

Very helpful information, thank you.

Show all comments

Hi,

I have reported to BPM support under ticket ref: #SR-0797073 an issue I have found with using Outlook calendars that sync with BPM.

When marking within Outlook a meeting/event as Private, this is used to prevent users who have access to view (read) your calendar that you are busy, but does not show the subject or body content of that event as you have marked it not to be visible to anyone else.

However, when that event is sync'd to BPM and is shown in your calendar within the BPM calendar screen the full subject and message body is displayed. Therefore, BPM is not maintaining the secure status of that event and preventing other users seeing what you do not wish to share.

I am posting this on here, as so far all I am getting is that they will look into this and I consider this to be a serious security issue with sensitive information being displayed by BPM that should not be.

Like 1

Like

1 comments

Dear Mark,

I have forwarded your request to our business analysts. They will evaluate the possibility of implementation in future system releases. Thank you for your suggestion! 

Best regards,

Angela

Show all comments

I have a requirement to write a webservice to POST the data from “VwContactRelationship” table.

 

But am unable to return the collection result(giving error in postman).

Please help me 

Thanks in advance.

 

Like 0

Like

1 comments

Dear Sriraksha,

Could you please provide the error message, since it is not possible to say the cause based on the provided info?

Regards,

Anastasia

Show all comments

Hi,

I will have to auto populate/bind a lookup column based on other column value.

My scenario is : I have added a lookup object UsrTerritory -- Values are Domestic & International

I have added a column with the above lookup reference in Account called "UsrTerritory".

 

This column should auto bind to domestic if the country is india, else to international.

 

In Edit page I have mentioned like 

attributes: {

             "UsrTerritory":

            {

                dataValueType: Terrasoft.DataValueType.LOOKUP,

                dependencies: [

                    {

                        columns: ["Country"],

                        methodName: "GetTerritoryDetails"

                    }

                ]

            },

        },

 

 

    GetTerritoryDetails :function()

            {

                //var Country = this.get("Country").displayValue;

                 

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

                    rootSchemaName: "UsrTerritory"

                });

                esqOrder.addColumn("Id");

                esqOrder.addColumn("Name");

                

                var DomesticValue,InternationValue;

                    esqOrder.getEntityCollection(function (result) {

                         if (!result.success) {

                            this.showInformationDialog("Data query error");

                        return;

                         }

                        result.collection.each(function (item) {

                            if(item.get("Name") === "Domestic"){

                            DomesticValue = item.get("Id");

                            }

                            if(item.get("Name") === "International"){

                            InternationValue = item.get("Id");

                            }

                        });

                        if(this.get("Country").displayValue ==="India")

                        {

                            this.set("UsrTerritory", DomesticValue);

                        }

                        else{

                            this.set("UsrTerritory", InternationValue);

                        }

                    }, this);

            

            }

 

 

But am unable to achive in binding the column. It says undefined.

Please help

 

Like 0

Like

1 comments

Dear Sriraksha,

You are getting an 'undefined' value due to the fact, that in lookup fields you are supposed to pass an object, but not just GUID. In order to check what is set and stored in the lookup fields you can run a simple procedure: select a value in the lookup, set debugger to stop when selecting and check what is in there. You will see an object. Therefore, in your method you need to set an object to the lookup field. Be sure that such object has at least 2 fields required:

{    displayValue: "The text that will show in the field",             value: "unique value identifier"

}

Regards,

Anastasia

Show all comments

Hi,

On Order section there is a OOB lookups field called "Client". On click we can select either Account or Contact because both list are appearing for selection.

By default the field "Client" is a mandatory field. From section wizard > Edit Page, This field is not removing and we cannot make it non-mandatory. I need to avoid this field.

 

Any help will be highly appreciable

 

Regards

Like 0

Like

2 comments

Dear Muhammad,

There is a part of code in OrderPageV2 in Order package that looks like:

                    "Client": {

                        "caption": {"bindTo": "Resources.Strings.Client"},

                        "dataValueType": this.Terrasoft.DataValueType.LOOKUP,

                        "multiLookupColumns": ["Contact", "Account"],

                        "isRequired": true

                    },

isRequired attribute makes this field required and to make it non-mandatory you need to create a replacing schema and add your logic that will make this field non-mandatory.

Best regards,

Oscar

Hi,

Yes I already found it however thanks

 

Regards

Show all comments

I would like to know how to listen to merge event with business process.

For instance, delete, create and modify events are there:

420.png

I would like to get Id of an entry that was merged, and then use it in business process. 

"Modify" is not always applicable. Sometimes an entry is not considered modified when merged.

Thanks in advance

Like 0

Like

1 comments

Hello Yuriy, 

There is no such out of the box functionality that allows you to subscribe on merge event due to unexisting of such event.

As workaround, you may try to modificate Deduplication process (starts when records are merging). The records that remains in the database is called golden record and id of golden record is the first id in collection that is transferred to deduplication process. 

So once you have this golden record, you may process is it as you wish.

Also please note that process of merging records is asynchronous. 



Regards,

Alex

Show all comments