hi all 

first of all i have 2 sections (Returns - Events) , and i have customized contacts section and by adding detail in it with these specs

"

- Add a new “Returns” tab.

- Add the following elements on the “Returns” tab

- The “Return requests” detail with the list of requests initiated by the current contact.

 - The “Total ticket return amount” metric

"

 

after that  i need to do this next detail 

 - Create a new “Tickets” detail without creating a new section. (done)

- The detail must contain the following fields:

 “Owner” (a contact). (done)

 “Ticket cost”.  (done)

 “Event”. (done)

“Return type”. (done)

 

 - The detail must be displayed on the page of return request and the user must be able to specify tickets from the current request on the detail.

- Set up the detail object: 

-The detail must inherit permissions from the return request.

- The records on the detail must be deleted automatically if the request is deleted

 

the last 4 points i don't know how i do them ? 

Help 

 

thanks

 

Like 1

Like

2 comments
Best reply

Ibrahim, 

If i understood you correctly: 



1. The detail must be displayed on the page of return request and the user must be able to specify tickets from the current request on the detail. 



Add Lookup field "Returns" (in my case it's going to be "Account") to the object of your detail. In [Data Source -> Lookup] select "Returns"



Then, when you're adding the detail to the page please set following settings: 



2.- Set up the detail object: 

-The detail must inherit permissions from the return request. 




After you've added lookup column "Returns", scroll down to "Access Rights" and select "Returns" in the field( see screenshot, in my case the column looks  up Account section, so it's " account")



3.
 - The records on the detail must be deleted automatically if the request is deleted



Select your lookup column (in my case it's Account) and select "Delete objects from current object with this value. 

That way, when the return is deleted, all the tickets associated to that return will also be deleted 





Best Regards,

Yurii. 

Ibrahim, 

If i understood you correctly: 



1. The detail must be displayed on the page of return request and the user must be able to specify tickets from the current request on the detail. 



Add Lookup field "Returns" (in my case it's going to be "Account") to the object of your detail. In [Data Source -> Lookup] select "Returns"



Then, when you're adding the detail to the page please set following settings: 



2.- Set up the detail object: 

-The detail must inherit permissions from the return request. 




After you've added lookup column "Returns", scroll down to "Access Rights" and select "Returns" in the field( see screenshot, in my case the column looks  up Account section, so it's " account")



3.
 - The records on the detail must be deleted automatically if the request is deleted



Select your lookup column (in my case it's Account) and select "Delete objects from current object with this value. 

That way, when the return is deleted, all the tickets associated to that return will also be deleted 





Best Regards,

Yurii. 

Yurii Sokil,

thank you 

Show all comments

I'm trying to create virtual column lookup. But, the result is the lookup view by default open with Selection Window, in other side I want to change to list.

 

How to implement this functionality?

Like 0

Like

4 comments
Best reply

Hi Ahmad,

You can add "isSimpleLookup" to the virtual lookup attribute to make it a drop-down instead of a popup lookup window.

Example:

"TypeLookup": {
    dataValueType: Terrasoft.DataValueType.LOOKUP,
    isSimpleLookup: true,
    referenceSchemaName: "AccountType"
}

Ryan

Hi Ahmad,

 

please refer to this link where the same question is explained

 

https://community.creatio.com/questions/convert-comboboxedit-gridlist-o…

 

P.S. It will be much easier to create lookups and choose the required view in Lookup Settings. Please check the example below :

 

 

Best Regards, 

 

Bogdan L.

 

Hi Ahmad,

You can add "isSimpleLookup" to the virtual lookup attribute to make it a drop-down instead of a popup lookup window.

Example:

"TypeLookup": {
    dataValueType: Terrasoft.DataValueType.LOOKUP,
    isSimpleLookup: true,
    referenceSchemaName: "AccountType"
}

Ryan

Ryan Farley,

Thank you Ryan, this is what I was looking for.

Bogdan Lesyk,

Hello Bogdan, I actually created a virtual column. So i can't change the configuration through page setup.

Show all comments

Hi,

how can I change the code in client modules and add my own? I am still a beginner and it would be cool if someone could help me understand how to work with modules in Creatio. In general, I have a task: I need to figure out how to change the title on the "contacts" page. I need to understand how to change the name (here it is Aссom)

Like 0

Like

3 comments

Hello!

 

The title of the record can be changed on the record page itself:

 

More detailed information about section records like accounts and contacts can be found in the Accounts and contacts Academy article. 

 

If you require any additional assistance on the Creatio system workflow, you can contact our Info Department at info@creatio.com. We will be happy to support you. 

 

Best regards,

Olga. 

Olga Avis,

thanks for the answer! I have one more: how can i modify the code in custom creatio packages? For example, I want to change the base code to mine

Hello Adam, 

 

Please take a look at the Getting started with the development Academy article and its sub-articles:

If you would like to know more about the specifications of the Creatio system, you can refer to the Creatio Training features like e-learning courses, guided learning, webinars, etc. 

 

Kind regards, 

Olga. 

Show all comments

Hi Community,

In chart is is possible to add/remove series dynamically based on section filter 

 

Like 0

Like

3 comments

Hello Fulgen,

As for now there is no possible to achieve this task since if there are no records returned based on filtering conditions - the serie appears on dashboard anyway and returns 0. We do already have the request to modify this logic registered to our R&D team and this problem is in "Accepted" status. I will also inform our R&D team about this question so to raise the priority of the problem.

Thank you for helping us to make our application better!

Best regards,

Oscar

Oleg Drobina,

 

How's this going? noticed it's been quiet for a while and the functionality doesn't seem available.

Vishay Kerai,

hello!


The idea of developing this functionality was registered, but had a low voice. Thank you for your inquiry, your voice was added to prioritize the idea!

We would be very grateful if you could share with us some practical examples of using the dynamic series you need for your Creatio application.

 

Kind regards,

Natalia

Show all comments

Hi Team

I created a Node.js script to upload attachments using FileApiService.

Here is my script:

var axios = require('axios');

var fs = require('fs');

establish_connection();

 

async function establish_connection()

{

        axios.post('https://company_name.bpmonline.com/ServiceModel/AuthService.svc/Login',

        {

            "UserName":"xxxxxxx",

            "UserPassword":"xxxxxxxxxxx"

            

        }).then (function (response){

            console.log('Imported credentials cookie from BPM Online!')

            c=response.headers['set-cookie']

            var bpm_loader=c[0]

            bpm_loader = bpm_loader.replace('BPMLOADER=','')

            bpm_loader=bpm_loader.split(';')[0]

            var aspx_auth=c[1]

            aspx_auth = aspx_auth.replace('.ASPXAUTH=','')

            aspx_auth=aspx_auth.split(';')[0]

            var bpm_csrf=c[2]

            bpm_csrf = bpm_csrf.replace('BPMCSRF=','')

            bpm_csrf=bpm_csrf.split(';')[0]

            var user_name=c[3]

            user_name = user_name.replace('UserName=','')

            user_name=user_name.split(';')[0]

            var auth = 'BPMLOADER='+bpm_loader+'; .ASPXAUTH='+aspx_auth+'; BPMCSRF='+bpm_csrf+'; UserName='+user_name+';';

            console.log('Authentication Successful!')

            upload_attachments(auth,bpm_csrf)

        }).catch(error => {

            console.log(error)

        })

}

async function upload_attachments(auth,bpm_csrf) {

  let myPdf = fs.readFileSync("./file_name.pdf");

  let myData = myPdf.toString("base64");

 

  let myBody = {

    Name: "test.pdf",

    Data: myData,

    TypeId: '529bc2f8-0ee0-df11-971b-001d60e938c6',//This indicates that the type of the attachment is file

    Version: "1",

    Usr_reference_column_id: 'xxxxxguid_of_the_record_xxxxxxxx'

  };

 

  let options = {

    method: "POST",

    url: 'https://company_name.bpmonline.com/0/rest/FileApiService/Upload',

    headers: {

        "fileapi14998570381414":"",

      "cache-control": "no-cache",

      "Accept-Encoding": "gzip, deflate",

      "Cache-Control": "no-cache",

      Accept: "*/*",

      "Content-Type": "application/json;odata=verbose",

      Cookie:auth,

      BPMCSRF:bpm_csrf,

      "entitySchemaName":"Usr_id_of_the_file_section"

    },

    body: myBody,

    json: true

  };

 

  request(options, function(error, response, body) {

    if(!error)

    {

        console.log('Success!')

        console.log(response)

    }

    else

    {

        console.log('Failed!')

        console.log(error)

    }

  });

}

 

References: 

1. https://community.bpmonline.com/questions/sending-blob-file-node

2. https://community.bpmonline.com/questions/upload-files-case

3. https://community.bpmonline.com/questions/how-upload-attachments-odata

4. https://community.terrasoft.ru/questions/realizacia-peredaci-pdf-dokumenta-po-protokolu-odata-s-ispolzovaniem-http-zaprosov

5. https://community.terrasoft.ru/questions/fileapiservice-zagruzka-dokumenta-v-faily-i-primecania-crm-sistemy

 

I am able to establish connection (Authorization is successful) and getting SUCCESS for the attachment. But in the response, I am receiving 'Request Error'.

 

Questions:

1. Is my URL correct?

2. Is the way I specified file section name correct?

3. Do I need to add/delete/change my request body?

4. Do I need to create a MODULE in ADVANCED SETTINGS?

 

NOTE: I am using BPM'Online Studio.

Like 0

Like

1 comments

It's hard to say how it should be done on Node.js. However, there is an easy way to find if your request is correct. Please install "telerik fiddler" and catch the request that you send to bpm'online. For example, send file.jpg. Then open bpm'online and add the same file for example to a contact. Catch the request with fiddler too. Then compare those two requests. Your task is to create a functionality that will send exactly the same request. 

If you need an example on JS, please put a break point into the "upload" method in the ConfigurationFileApi module (in a browser) and add a file to a contact. You'll see how bpm'online generates the request. Please try to do the same on Node.js. 

Show all comments

Hi All

I am trying to insert attachments through OData. Here is my query:

URL: https://.bpmonline.com/0/ServiceModel/EntityDataService.svc/UsrCollecti…

HEADER:

'Content-Type': 'application/atom+xml;type=entry'

Cookie:

BPMCSRF:

'Accept':'application/atom+xml;type=entry'

XML BODY:

<?xml version="1.0" encoding="utf-8"?>

        

            

                

                    test_file.csv

                    3bd0cdb7-89f5-458f-b713-ad54ece97b4d

                    529bc2f8-0ee0-df11-971b-001d60e938c6

                

            

        

NOTE: Name, UsrAWPLogisticsPlanId and TypeId are the fields in my file section.

 

The above query successfully uploads a blank CSV.  Now here are my questions:

1. How can I read a local file and pass it though the XML body (the way I am passing Name, TypeId and UsrAWPLogisticsPlanId)? - So that I can upload real data instead of a blank file

2. Where is the attachment data stored? Whats the format?

 

NOTE: We use BPM'Online studio.

Like 0

Like

1 comments

Dear Nikhil,

Unfortunately, there is no possibility to upload files via Odata protocol on current system version. Please feel free to use FileApiService for uploading a file. Please find an example of how to call the service in the “ConfigurationFileApi” module while adding the file on “Attachments and notes” detail.

Please note that all files are saved in the database in the appropriate table. For example, files from the “Attachments and notes” tab from the Contact section are saved in the “ContactFile” table and have the object name “Contact attachment”. Please note that the column with data of the file has name “Data” and type “varbinary(max)”.

For more detailed assistance, please contact technical support.

Best regards,

Norton

Show all comments

Hi Team, 

BPM is running in SQL server and we were planning to change the recovery model of the database to full recovery from simple recovery model for attaining the point in time recovery. As far as I knew it will not affect the BPM. Still wanted to confirm if there is any drawback in doing so. Thank you in advance. 

Gokul

Like 0

Like

2 comments

Dear Gokul,

You will not have any difficulties with the application after changing the recovery model. The only difference that is in the database size. Since it will be bigger, you would need to have more free disc space not to affect system performance. 

Best regards,

Dean

Thank you Dean :)

Show all comments

Hello

I know that Bpmonline supports Gregorian Calendar, what about supporting other calenders like (Hijri Calendar)

Regards

Like 0

Like

1 comments

Hello,

Unfortunately, by default there are no any other calendars or Hijri Calendar time format. If you need to set up the new calendar, for example for case resolution time calculation, feel free to refer to the following article and create your custom calendar (calendar setup paragraph) https://academy.bpmonline.com/documents/service-enterprise/7-15/how-setup-response-and-resolution-time-calculation

Other than that, unfortunately, it is not possible to set up the time and date format according to Hijri calendar. We will register the idea of adding more calendars in our R&D team backlog for implementation in the future application releases. 

Best regards,

Dean

Show all comments

Hi Community,

How we can do Multiple Selection on Mobile Section List?

 

Like 0

Like

1 comments

Hello Fulgen,

In the current out-of-the-box functionality there is no way to select multiple records in the section list using mobile application and problem regarding this topic is already present in a backlog of our R&D team. You can create your own logic of selection of several records in the list via development (try using multiSelect option in Terrasoft.controls.Select class), but we cannot guide you here since there was no practical implementation of this logic. I will also inform our R&D team about your question on the community so to raise the priority of the problem.

Regards,

Oscar

Show all comments

How to add multiple new products on the product page. Is there way to create multiple new products?  

Like 0

Like

1 comments

Hi,

You can import functionality to add multiple product to the system. You can find more about import here: https://academy.bpmonline.com/documents/base/7-15/excel-data-import

Best regards,

Angela

Show all comments