Hello, I've created a custom section and notice when I add a new record and click save, the record automatically closes and takes the user back to the Section to view the list of records. Is there a setting that can be changed so when you save a new record, the page does NOT close and instead the user stays on the page?

Like 0

Like

2 comments

Hi Mitch,

You can find the answer on this thread: https://community.creatio.com/questions/stay-current-edit-page-after-saving-record

 

Regards,

Phuong Nguyen

Hello Mitch, 



Please take a look at the comment above from Phuong Akira. 

The answer on how to reach the functionality you have asked about is described there. 



Kind regards,

Roman

Show all comments

Hi,

I am trying to find the parameter values changed through a process execution which is attached to a case stage.

I have enabled the trace data option in process.

 

But after the process ran, I can't see the traced data in the process log.

Is there anything I am missing to turn off or on?

The process has an approval element. Does it have to do anything with trace data option?

Like 0

Like

2 comments

Hello,

You did everything correct, but the trick here is that trace data cannot be received from "Terminate event". Please view trace data of approval element and check parameter values before this element execution and after this element execution so to get needed data.

Best regards,

Oscar

Thanks Oscar.

Actually the process was typically not accurate for the action that I wanted to perform.

Show all comments

Hi,

I would like to know if its possible to create filters for sections, like the ones showned in "https://academy.creatio.com/documents/technic-sdk/7-15/adding-quick-fil…" but using strings/text and not lookups or dates? If yes, how can i do it?

Thanks in advance

Best Regards,

Pedro Pinheiro

 

 

Like 0

Like

3 comments

Dear Pedro,

 

Please see an example of creating filter using boolean type on the “CaseSection” schema https://prnt.sc/rhts16 https://prnt.sc/rhtstb https://prnt.sc/rhtt5x

 

Best regards,

Norton

Pedro - did you ever figure this out?  I'm trying to do the same thing.  Thanks!

Chris Isbell,

Hello Chris, can you please help me in figuring out, how to apply quick filter on String or Text Field? 

 

Actually, i have the same requirement to fulfill.

 

Best Regards,

Aakanksha Dixit

Show all comments

I am trying to have two edit pages reference the same schema. The two pages depicted below reference two different schemas called Case1Page and Case2Page. However, I would like them to both reference Case1Page so that I don't have to individually modify each page. How would I go about setting this up? I know it's possible because the Activity Section does it for the two Activity edit pages but I have not been able to figure out how to do it myself.

Like 0

Like

1 comments

Dear Kevin,

It used to possible to achieve this task by setting the parent CasePageV2 schema as the parent schema for Case1Page in older versions on the applications. It would replace the original Case1Page schema with the desired one, however due to multiple problems during the versions upgrade it is no longer possible to replace the modules. Therefore, you would need to develop separate schema with the required page layout which will not be actually in use but you would connect all Case1Page, Case2Page etc schemas to it. Thus the layout would be the same for all other pages.

Dean 

Show all comments

Hi Community,

I need to create a 2 lookup fields, the first one will display all the section objects and the second one will display all the fields of the selected object. I need to know the following

1. What is the object name of section objects?

2. What is the name of section object fields?

So that I can configure these lookups properly.

Like 0

Like

4 comments

I believe you want SysSchema (where ManagerName=EntitySchemaManager)  and SysSchemaProperty

Ryan

Hello Fulgen,

1) Section object can be displayed using "Schema" object when creating lookup http://prntscr.com/q0zi5q

2) Section object fields can be displayed using "Schema property" object when creating lookup http://prntscr.com/q0zii1

Best regards,

Oscar

Thanks Oscar and Ryan



I tried to execute select query on both 'SysSchema' and 'SysSchemaProperty' to check its values but 'SysSchemaProperty' does not contain the fields of my section object. Please see screenshot below



Fulgen Ninofranco,

There is no way to display columns as a lookup since this information is stored in SQL server directly and it can be displayed using:

select * from information_schema.columns where [Table_Name] = 'SysAdminUnit'

this query returns all columns that SysAdminUnit table has. You can use this query to see all columns for each object separately. List of tables can be displayed using this query:

select * from information_schema.tables

Best regards,

Oscar

Show all comments

Hey everyone,

I'm working on a trial instance of Creatio Customer Center and when I go into the Workplace setup, I can see a Documents section that I did not create. However, when I try to open it, Creatio gets stuck in a loading screen. Is there way to fix this? Do I not have access to the section and it appearing in the list is an error? Just looking for some clarification.

Thanks

Like 0

Like

1 comments

Dear Kevin,

The reason for this issue is that you are using Customer Center product, while the Documents functionality is a part of Sales product. The section got into service kind of product by mistake and will be removed for Customer Center. As the solution, you can use Full bundle which include both sales and service products. Thus, you will be able to access the Documents section.

Best regards,

Dean

Show all comments

Is it possible to create an editable list on section page, just like on details or in the lookup section? For small entities dealing with a list directly might be more user friendly than using the edit page.

Like 0

Like

5 comments

Dear Carlos, 

Please see the example below, hope you find it helpful:

define("ActivitySectionV2", ["ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities"],
    function() {
        return {
            entitySchemaName: "Activity",
            messages: {},
            mixins: {
                ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities"
            },
            attributes: {
                IsEditable: {
                    dataValueType: Terrasoft.DataValueType.BOOLEAN,
                    type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
                    value: true
                }
            },
            methods: {
                edit: function() {
                    var procElId = this.getActiveRow().get("ProcessElementId");
                    var recordId = this.get("ActiveRow");
                    if (procElId && !this.Terrasoft.isEmptyGUID(procElId)) {
                        this.sandbox.publish("ProcessExecDataChanged", {
                            procElUId: procElId,
                            recordId: recordId,
                            scope: this,
                            parentMethodArguments: null,
                            parentMethod: function() {
                                return false;
                            }
                        });
                        return true;
                    }
                    this.editRecord(recordId);
                },
                editRecord: function(primaryColumnValue) {
                    this.Terrasoft.chain(
                        function(next) {
                            var activeRow = this.findActiveRow();
                            this.saveRowChanges(activeRow, next);
                        },
                        function() {
                            var activeRow = this.getActiveRow();
                            var typeColumnValue = this.getTypeColumnValue(activeRow);
                            var schemaName = this.getEditPageSchemaName(typeColumnValue);
                            this.openCardInChain({
                                id: primaryColumnValue,
                                schemaName: schemaName,
                                operation: Terrasoft.ConfigurationEnums.CardOperation.EDIT,
                                moduleId: this.getChainCardModuleSandboxId(typeColumnValue)
                            });
                        }, this);
                },
                addRecord: function(typeColumnValue) {
                    if (!typeColumnValue) {
                        if (this.get("EditPages").getCount() > 1) {
                            return false;
                        }
                        var tag = this.get("AddRecordButtonTag");
                        typeColumnValue = tag || this.Terrasoft.GUID_EMPTY;
                    }
                    this.addRow(typeColumnValue);
                },
                copyRecord: function(primaryColumnValue) {
                    this.copyRow(primaryColumnValue);
                },
                getGridRowViewModelConfig: function() {
                    var gridRowViewModelConfig =
                        this.mixins.GridUtilities.getGridRowViewModelConfig.apply(this, arguments);
                    Ext.apply(gridRowViewModelConfig, {entitySchema: this.entitySchema});
                    var editPages = this.get("EditPages");
                    this.Ext.apply(gridRowViewModelConfig.values, {HasEditPages: editPages && !editPages.isEmpty()});
                    return gridRowViewModelConfig;
                },
                getGridRowViewModelClassName: function() {
                    return this.mixins.GridUtilities.getGridRowViewModelClassName.apply(this, arguments);
                },
                onRender: function() {
                    this.callParent(arguments);
                    if (!this.get("Restored")) {
                        this.reloadGridColumnsConfig(true);
                    }
                },
                getDefaultGridColumns: function() {
                    var systemColumns = this.systemColumns;
                    var allowedDataValueTypes = this.get("AllowedDataValueTypes");
                    var entitySchema = this.entitySchema;
                    var entitySchemaColumns = [];
                    Terrasoft.each(entitySchema.columns, function(column, columnName) {
                        if (Ext.Array.contains(systemColumns, columnName) ||
                            !Ext.Array.contains(allowedDataValueTypes, column.dataValueType)) {
                            return;
                        }
                        entitySchemaColumns.push(column);
                    }, this);
                    var primaryDisplayColumnName = entitySchema.primaryDisplayColumnName;
                    entitySchemaColumns.sort(function(a, b) {
                        if (a.name === primaryDisplayColumnName) {
                            return -1;
                        }
                        if (b.name === primaryDisplayColumnName) {
                            return 1;
                        }
                        return 0;
                    }, this);
                    return (entitySchemaColumns.length > 4) ? entitySchemaColumns.slice(0, 4) : entitySchemaColumns;
                },
                onActiveRowAction: function() {
                    this.mixins.ConfigurationGridUtilities.onActiveRowAction.apply(this, arguments);
                    this.callParent(arguments);
                },
                onActiveRowAction: function(buttonTag, primaryColumnValue) {
                    switch (buttonTag) {
                        case "card":
                            this.edit();
                            break;
                        case "copy":
                            this.copyRecord(primaryColumnValue);
                            break;
                        case "remove":
                            this.deleteRecords();
                            break;
                        case "cancel":
                            this.discardChanges(primaryColumnValue);
                            break;
                        case "save":
                            this.onActiveRowSave(primaryColumnValue);
                            break;
                    }
                }
            },
            diff: /**SCHEMA_DIFF*/[
                {
                    "operation": "merge",
                    "name": "DataGrid",
                    "values": {
                        "className": "Terrasoft.ConfigurationGrid",
                        "generator": "ConfigurationGridGenerator.generatePartial",
                        "generateControlsConfig": {"bindTo": "generatActiveRowControlsConfig"},
                        "changeRow": {"bindTo": "changeRow"},
                        "unSelectRow": {"bindTo": "unSelectRow"},
                        "onGridClick": {"bindTo": "onGridClick"},
                        "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
                        "activeRowAction": {"bindTo": "onActiveRowAction"},
                        "multiSelect": {"bindTo": "MultiSelect"}
                    }
                },
                {
                    "operation": "insert",
                    "name": "activeRowActionSave",
                    "parentName": "DataGrid",
                    "propertyName": "activeRowActions",
                    "values": {
                        "className": "Terrasoft.Button",
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        "tag": "save",
                        "markerValue": "save",
                        "imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
                    }
                },/*
                {
                    "operation": "insert",
                    "name": "activeRowActionCopy",
                    "parentName": "DataGrid",
                    "propertyName": "activeRowActions",
                    "values": {
                        "className": "Terrasoft.Button",
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        "tag": "copy",
                        "markerValue": "copy",
                        "imageConfig": {"bindTo": "Resources.Images.CopyIcon"}
                    }
                },*/
                {
                    "operation": "insert",
                    "name": "activeRowActionCard",
                    "parentName": "DataGrid",
                    "propertyName": "activeRowActions",
                    "values": {
                        "className": "Terrasoft.Button",
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        "tag": "card",
                        "markerValue": "card",
                        "visible": {"bindTo": "HasEditPages"},
                        "imageConfig": {"bindTo": "Resources.Images.CardIcon"}
                    }
                },
                {
                    "operation": "insert",
                    "name": "activeRowActionCancel",
                    "parentName": "DataGrid",
                    "propertyName": "activeRowActions",
                    "values": {
                        "className": "Terrasoft.Button",
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        "tag": "cancel",
                        "markerValue": "cancel",
                        "imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
                    }
                },
                {
                    "operation": "insert",
                    "name": "activeRowActionRemove",
                    "parentName": "DataGrid",
                    "propertyName": "activeRowActions",
                    "values": {
                        "className": "Terrasoft.Button",
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        "tag": "remove",
                        "markerValue": "remove",
                        "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
                    }
                },
                {
                    "operation": "remove",
                    "name": "DataGridActiveRowOpenAction"
                },
                {
                    "operation": "remove",
                    "name": "DataGridActiveRowCopyAction"
                },
                {
                    "operation": "remove",
                    "name": "DataGridActiveRowDeleteAction"
                },
                {
                    "operation": "remove",
                    "name": "ProcessEntryPointGridRowButton"
                }
            ]/**SCHEMA_DIFF*/
        };
    }
);

Regards,

Anastasia

Anastasia Botezat,

Thank you

Anastasia Botezat,



Can we display a list in modal?

 

Best Regards,

Solem A,

Solem Khan Abdusalam,

 

Hard to say. There should be "ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities" modules added as dependencies to the module of your modal window and then the grid should be added to the modal box diff. But this approach should be tested.

 

Best regards,

Oscar 

Hi,

 

I've tested the code and it works ok, but I've noticed that if you open a page and after when you want to close it, you need to click twice on close button. Did someone faced similar behavior, or knows the reason why it happens?

 

Best regards,

Jelena

Show all comments

Hi,

There are default section filters available in all sections. But customisation can be done to include other filters also. For example, adding 'Status' field as default filter in orders section.

You can also set default value for the status filter so that only orders with that status will list in the grid.

We have created a blog where step by step explanation on  how to create custom section filters in orders section for 'status' field is given 

http://agiliztech.com/2019/03/25/bpmonline-custom-section-filters/

Like 1

Like

Share

6 comments

Hi Sriraksha, Nice post, I was looking for something like this and am implementing it at a customer. I have 2 questions that maybe you can help:

1) where is the documentation for the " initFixedFiltersConfig" method? where can I find all parameteres that are accepted by the method? I tried to find it here https://academy.bpmonline.com/api/jscoreapi/7.12.0/index.html but without success.

2) I actually need the filter to return a subset of a columnfor the values available to be chosen. Something like this:

columnName: “Owner”,

AND

"OwnerIsAproved" == true

Do you know how I could achieve this?

 

Thanks in advance,

Luis

Luis Tinoco Azevedo,

1) There is no documentation regarding the initFixedFiltersConfig method due to the fact that the method is in the configuration. Please use Ctrl+Shift+F in a browser developers console and you'll find it. Please read the code and you'll find all the information about the method.

The jscoreapi documentation describes only core methods that you can find neither in the configuration nor in the browser. The methods are in all-combined.js.

2) If you need complex filters it's much easier to use dynamic folders. You can configure them according to your needs and save them. 

Hi Eugene,

Thanks for the feedback.

1) It's clearer now why it does not show on the jscoreapi.

2) I understand the dynamic folders sugestion, I have 2 comments , that has made us look for another solution:

a) Dynamic fitlers are easy for me to setup but are not very intuitive for some end users

b) In this specific case we need to have dinamic filters for the combination of 2 variables: "Empresa Rangel"(a subset of Account's that has made post the question on how to get this subset) and "tipo de sinistro", and the filters need to work in such a way that I need to quickly change between all combinations of these 2 variables. If I create all of the necessary combinations I'll have to create 45 advanced filter folders which is not very practical.

The implementation so far is almost has I need it to work with 2 extra filters:

I just need that the filter on the account returns only the accounts that match a true boolean ("empresa Rangel" == true) in the account section.

Any help on how I could achive this?

Thanks in advance

In order to achieve the goal please add a checkbox and a method that will check the checkboxes' state each time it's changed. Please find an example in the case section. There is a checkbox called "Show closed cases" that does the mentioned functionality.

 

Hi can we add text filter for eg: I want to add custom filter for Customer name that will be a text can it be done? 

Bhumika Bisht,

 

Hi,

 

Using initFixedFiltersConfig method I am not sure if it's possible, however there is such filtration in the Product catalogue where you can input product name and only products with the needed name will be shown. What should be studied is the logic behind QuickSearchModule module in the ProductSelectionSchema. I was able to replicate it in the Orders section:

and (for example searching for ORD-4):

Pay attention to getQuickSearchFilterConfig, onQuickSearchFilterUpdate, handleFilterForGridDataView and _clearGridData methods there, properly override the loadGridData method, specify UpdateQuickSearchFilter and QuickSearchFilterInfo messages and you should be able to get the same result.

Show all comments

Is there a way to create a lookup of Sections without manually populating the list, i.e., is there a section of sections that can be referenced?

Like 0

Like

3 comments

Dear Janine,

You can create a new lookup based on Section in workplace object http://prntscr.com/n05t7m

As the result, you will be able to see the list of workplaces and their sections - http://prntscr.com/n05u6x

Best regards,

Dean

How do I get this associated with a column in a section?  This is what I tried:

  1. In the field that will use the lookup, I add a new lookup.
  2. I go to the new lookup in Lookups and Open Properties.
  3. I edit the Object to be Section in workplace.

When I Open Content on the lookup, it displays the sections, but when I try to use the lookup in an Edit Page, the list has no data and if I try to change the view, the Section and Workplace columns are not available to display.  The lookup object doesn't have the right data structure.

If I select Section in workplace directly as an existing lookup to add to an Edit Page, I get the error:

Property "Displayed value" is not set in the selected lookup. You cannot select values from this lookup without this property. Set this property in "Advanced settings" section and try again.

Section in workplace in Advance settings is SysModuleInWorkplace, When opened, it gives the dialog:

The "SysModuleInWorkplace" item is either created by third-party publisher or installed from the file archive. Changes for this item cannot be saved. Continue?

Catch 22.   What do I do to get the lookup to work properly?

Dear Janine,

The message The message ' "SysModuleInWorkplace" item is either created by third-party publisher or installed from the file archive. Changes for this item cannot be saved. Continue?' ' indicates that the object is locked for any modifications on the database level. Apart from that, this object doesn't have any display values and therefore it is not possible to add it's values to the edit page. If you need to add the lookup that would show you the section list, it would require the development process since there are no any basic tools to add such a lookup.

Best regards,

Dean

 

Show all comments

Hi,

 

Is there a way to delete all of the data from any of the sections, say I want to delete all the accounts? I am looking for a way to delete all the records in the instance i.e. all the leads, accounts, contacts, any cases etc.

One way is to select all the records in particular section and then delete but when I do that, it brings out all the dependencies and therefore have to go into the records, or more dependencies to delete those records and it literally takes ages to delete them.

So I am looking for ways to refresh the instance, but not damaging or changing the packages and other settings in any fashion but just delete the records from the instance.

Regards,

AK

Like 0

Like

2 comments

Hello! 

Unfortunately, for now the only option is deleting records by selecting them all, deleting and dealing with the dependencies. You also can delete records using SQL Executor, however you would need to manually deal with the dependencies as well in this case. 

Best regards, 

Dennis 

Alright! Thanks.

Show all comments