Dear team,

I am facing an issue with https://marketplace.creatio.com/app/multiple-choice-field-setup-creatio add on. After installation and setup of multiple-choice field in Custom section, I am facing the issue that in some cases, values are saved twice. Steps to reproduce the issue:

1. User selects first value on the page, page closes automatically

2. User reopens the page adds some new value, saves the record

3. User adds new value again, but previously he does not close the page or refresh, this is the important part.

When values are added only when previously page is closed or refreshed, then field is working properly, but it can happen that Customers will not use this field in this way.

 

 

 

BR,

Jelena

 

Like 0

Like

9 comments

 

Dear Jelena,

 

Please specify the schema code itself to help us to reproduce the issue. If you cannot send the code, send us the settings of these parameters: mainEntitySchemaName, mainColumnName, relatedEntitySchemaName, relatedColumnName.

Ivan Leontiev,

Hi Ivan,

 

Thank you for reply.

 

This is the demo link where I recreated the issue. It will be active for around 4 more days. 

https://093851-crm-bundle.creatio.com/

 

User: Test user

 

Parameters are:

mainEntitySchemaName: "UsrTestDetail",

mainColumnName: "UsrTestSection",

relatedEntitySchemaName: "AccountType",

relatedColumnName: "UsrAccountType"

 

Configuration is done for Test Section (studio workplace), Test detail and Account type lookup.

 

If needed I can also send the code.

 

Best regards,

Jelena

 

Hello Jelena,

 

I was unable to reproduce this issue in the demo. I could not select the same value (for instance, "Customer") twice in step 3. I selected the "Customer" value, saved the changes, and could see that the "Customer" value was not available for selection anymore.

 

As such, the issue is most likely local in its nature. Please clear the cache and perform a hard page reload.

 

Hello Ivan,

Thank you for reply. Unfortunately clear the cache and perform a hard page reload did not help. When I tested this in my local setup, I saw "doubled" values also in DB. It's a bit strange to reproduce the issue, but you can check record in Test Section with name "test 4/20/2021".

 

Steps to reproduce the issue:

1. Please try to add one new record in Test section and save. Page will be auto closed.

2. Enter record again and add some values in the lookup, save but don't close the page

3. Add some additional value and save

 

4. If page is closed or refreshed, it appears like this:

 

And if I try to delete this record, this is the list of connected detail records:

 

So it seems that somehow previous entries are cached, and re-saved to a detail. Just in case explanation is still not clear I am sharing video in link:

https://drive.google.com/drive/folders/1UMCjOwQN7XFvCex-YTcUpLowQ-agRi8W?usp=sharing

 

Hope additional explanation will help.

 

BR,

Jelena

Hello Jelena,

 

Thank you for providing the details. I was able to reproduce the issue and forwarded it to the relevant team for further review.

 

I will let you know when they have feedback.

Hello Ivan,

Could you kindly share if there is any update on this case?

Thank you.

BR,

Jelena

Hi Jelena,

 

The team has just started working on this issue. We expect to publish the updated package in the beginning of June.

Hi Jelena,

 

The responsible team updated the add-on package. The updated package is now available on Creatio Marketplace. 

Hi Alexander,

 

Thank you for confirmation.

 

Show all comments

Hi, community.

 

When you click an activity on the calendar page, you get this mini page where you can complete the activity or cancel it. I need to remove the "cancel activity" button highlighted here in red:

 

I figure I can use the remove operation like in this example:


 
diff: 
/**SCHEMA_DIFF*/[ 
{ "operation": "remove", "name": "CopyButton" }, 
{ "operation": "remove", "name": "DeleteButton" }, 
{ "operation": "remove", "name": "OpenButton" } }

 

But I can't find  the schema I have to modify.... Does anyone know which one it is?

 

Thanks!

Like 1

Like

2 comments
Best reply

Hello,

 

It is ActivityMiniPage of UIv2 package. You need to re-define the insert operation of CancelButton

Regards,

Dean

Hello,

 

It is ActivityMiniPage of UIv2 package. You need to re-define the insert operation of CancelButton

Regards,

Dean

dean parrett, Thank you very much for your answer! It works as intended.

Cheers from Mexico

Show all comments

Dear community,

Is it possible to configure an advanced filtering on "Relationship entity in group" ?

 

I tried without success.

Like 0

Like

4 comments

Hello Stephane,

 

Can you please share the way you tried to implement it?

 

Thanks!

 

Best regards,

Bogdan S.

Bogdan Spasibov,

I tried to find the relationship group entity here but there is not.

Dear Stefano Bassoli,

 

Thank you for the clarification.

In this case, we would recommend you creating a new [Lookup] in the [Lookup] section based on the "Relationship entity in group" Object.

 

After creating this object you would need to set it up.

Navigate to the [View] -> Select filed to display -> [+] button.

 

In the popped up minipage you would need to specify the Entity group name:

 

This will ensure that the Entity Group name would show up (In this example I have created two groups named Entity group 1 and Entity group 2)



Please be advised that there is no way of pulling up the [Contact]`s or [Account]`s names as they would be considered as Entities by this Lookup and would have only an ID available in the "List setup":

 

 

The Final result should look like this: the Entity Group name and the Record`s Id assigned to that Entity Group

 

Hope this helps!

 

Regards,

 

Danyil

Danyil Onoprienko,

Thank you Danyil

Show all comments

Dear community

 

I developed a package with Sales Team and Marketing edition version 7.16.4,

now I tried to install it on 7.17.3 but the installation fails because the dependent package MarketingSalesTeam_ENU is not found.

How can I solve this issue ?

Like 0

Like

2 comments

Hello Stefano,

 

The only way to solve this task is to change the dependencies of the package on the development instance. You need to make sure you use the objects and packages that are present on your target website otherwise the installation will fail.

Please note that it is always recommended to do the development on release and product version of Creatio that is the same as the target instance.

 

Best regards,

Bogdan S.

Bogdan Spasibov,

thank you

Show all comments

Hi Community,

 

In lead section, I have a add lead mini card which allow users add lead data. What I wanted is that after user clicks on either save/cancel or after add lead mini card is disposed, I wanted to auto  reload the section grid data. Any idea what is the best way  I can execute this scenario?

 

Thanks

Like 0

Like

1 comments

Hello Fulgen,

 

Hope you're doing well.

 

Please be advised that you may feel free to use the "this.reloadEntity();" method for your case.

 

Also, you may find more information on your case by these community threads below:

1. https://community.creatio.com/questions/how-refresh-entire-page-without…

2. https://community.creatio.com/questions/default-value-custom-objects

3. https://community.creatio.com/questions/reload-record-page

 

In addition, you may use a Marketplace solution for refreshing detail`s or section`s lists: https://marketplace.creatio.com/app/refresh-data-button-creatio

 

Best regards,

Roman

Show all comments

Dear Community,

"lookupListConfig": 
{
	// Array of filters used for the query that forms the lookup field data.
	"filters": [
		function() {
			var filterGroup = Ext.create("Terrasoft.FilterGroup");
			filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.OR;
			var user=Terrasoft.SysValue.CURRENT_USER.value;
			//get roles mapped to logged in user from SysUserInRole before adding filterGroup
			var roles=[];
			for(i=0;i<roles.length;i++)
			{
				filterGroup.add(i,
					Terrasoft.createColumnFilterWithParameter(
						Terrasoft.ComparisonType.EQUAL,
						"UsrSysAdminUnit",
						roles[i]));
			}
			return filterGroup;
		}
	]
 },

I have the following code to filter SysAdminUnit lookup type and I need to filter values with roles that belong to the logged in user alone. I am trying to use ESQ filter to do the same but not getting the expected results. can someone help me on the same?

Like 0

Like

1 comments

Dear S Gokul Aditya,

 

Thank you for your question!

 

We recommend visiting this link below in order to apply filters:

https://academy.creatio.com/docs/developer/front-end_development/crud_o…

 

Please let us know if this is the information you have been looking for!

 

Thank you!

 

Regards,

 

Danyil

Show all comments

Greetings All,

 

I understand that there is an API for Creatio.  Is there a method to have an external system fire an event to start a particular process in Creatio?  Or something like webhooks to fire an event?

 

Thanks!!

 

Paul

Like 0

Like

1 comments

Hi Paul,

 

Here is the required service to launch a process through API from external system  

 

https://academy.creatio.com/docs/developer/integrations_and_api/process…

 

Regards,

Dean

Show all comments

Dear Community,

I want to restrict create, edit and delete access to a user to set of countries across the sections. for example, a particular user can create, modify or delete records in contact, account or activities for a set of countries defined. please guide me in implementing the same.

Like 0

Like

1 comments

Dear S Gokul Aditya!

 

Thank you for your question!

 

In fact, this behavior can be easily implemented by assigning an Organizational Role for those users, who would have limited access to sections and\or objects.

You may find more information on how to establish Organizational Roles here, by our Academy Article:

https://academy.creatio.com/docs/user/setup_and_administration/user_and…

 

Your next step would be setting up Object permissions for a newly created Organizational Role.

Please find more information here:

https://academy.creatio.com/docs/user/setup_and_administration/user_and…

 

By successfully creating an Organizational Role and applying the correct Object permissions for them you would be able to restrict a certain group of users, that consist in that created Org. Role above, to operate with certain Objects!

 

Hope this was helpful!

 

Thank you!

 

Regards,

 

Danyil

Show all comments

Hi,



I am following this old tutorial and seems like not working for me.

May I know if there's any new way to do this?



I am receiving the following error:

message: Error: Script error for "UsrMyMenuStructure"



Here's my code segments.



Communication Panel:

define("CommunicationPanel", ["terrasoft", "CommunicationPanelHelper"],
       function(Terrasoft, CommunicationPanelHelper) {
  return {
    messages: {
      "SelectCommunicationPanelItem": {
        "mode": Terrasoft.MessageMode.PTP,
        "direction": Terrasoft.MessageDirectionType.SUBSCRIBE
      }      
    },
    attributes: {
      "UsrMyMenuActive": {
        "dataValueType": Terrasoft.DataValueType.BOOLEAN,
        "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
        "value": false
      },
      "UsrMyMenuCounter": {
        "dataValueType": Terrasoft.DataValueType.TEXT,
        "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
        "value": ""
      },
      "UsrMyMenuVisible": {
        "dataValueType": Terrasoft.DataValueType.BOOLEAN,
        "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
        "value": true
      }
    },
    methods: {
      getPanelItemConfig: function(moduleName) {
        var config = this.callParent(arguments);
        if (moduleName !== "UsrMyMenuModule") {
          return config;
        }
        return Ext.apply(config, {
          keepAlive: false
        });
      },
      selectItem: function(config) {
        this.set("SelectedMenuItem", config.selectedItem);
      },
      getUsrMyMenuImageConfig: function(itemTag) {
        return this.get("Resources.Images.VisaMenuIcon");
      }
    },
    diff: [
      {
        "operation": "insert",
        "index": 0,
        "parentName": "communicationPanelContent",
        "propertyName": "items",
        "name": "usrMyMenu",
        "values": {
          "tag": "UsrMyMenu",
          "visible": {"bindTo": "UsrMyMenuVisible"},
          "imageConfig": {"bindTo": "getUsrMyMenuImageConfig"},
          "generator": "CommunicationPanelHelper.generateMenuItem"
        }
      }
    ]
  };
});

UsrMyMenuModule

define("UsrMyMenuModule", [], function() {
  Ext.define("Terrasoft.configuration.UsrMyMenuModule", {
    extend: "Terrasoft.BaseSchemaModule",
    alternateClassName: "Terrasoft.UsrMyMenuModule",
    generateViewContainerId: false,
    initSchemaName: function() {
      this.schemaName = "UsrMyMenu";
    },
    initHistoryState: Terrasoft.emptyFn,
    init: function() {
      this.callParent(arguments);
      this.initMessages();
    },
    initMessages: function() {
      /*this.sandbox.subscribe("RerenderModule", function(config) {
        if (this.viewModel) {
          this.render(this.Ext.get(config.renderTo));
          return true;
        }
      }, this, [this.sandbox.id]);*/
    },
    createViewModel: function() {
      var viewModel = this.callParent(arguments);
      return viewModel;
    }
  });
  return Terrasoft.UsrMyMenuModule;
});

 

UsrMyMenu

define("UsrMyMenu", [], function() {
  return {
    methods: {
      init: function(callback, scope) {
        this.callParent([function() {
          callback.call(scope);
        }, this]);
      },
      onTestClick: function() {
        alert(1);
      }
    },
    diff: [
      //MyMenu
      {
        "operation": "insert",
        "name": "MyMenu",
        "propertyName": "items",
        "values": {
          "generateId": false,
          "itemType": Terrasoft.ViewItemType.CONTAINER,
          "items": []
        }
      },
      //ShowNewMessagesButton
      {
        "operation": "insert",
        "name": "ShowNewMessagesButton",
        "parentName": "MyMenu",
        "propertyName": "items",
        "values": {
          "generateId": false,
          "itemType": Terrasoft.ViewItemType.BUTTON,
          "caption": "Test!",
          "click": {bindTo: "onTestClick"}
        }
      }
    ]
  };
});



Reference:

https://community.creatio.com/articles/how-can-i-add-button-communicati…



Best Regards,

Solem.

Like 0

Like

4 comments

Hello,

 

Can you describe some details what seems to be the issue with your implementation?

 

Thanks.

 

Regards,

Dean

 

 

dean parrett,

 



I have no display in my panel.

I'm not sure how to add display in the panel tab.

Hi,



I edited my question to.



Thank you.

Hi,



I have the panel right now.

But I'm not sure how to display any data on it.

Show all comments

Hi Community,

 

We've this situation where we need to execute a query to the database when we press the button that we created following this article https://academy.creatio.com/docs/developer/mobile_development/mobile_ap….

 

So far we manage to create the button itself and retrieve the record id when this button is pressed.

Ext.define("Terrasoft.controls.CustomRecordPanelItem", {
    extend: "Terrasoft.RecordPanelItem",
  	requires: ["Terrasoft.EntitySchemaQuery"],
    xtype: "cftestrecordpanelitem",
    config: {
        items: [
            {
                xtype: "container",
                layout: "hbox",
                items: [
                    {
                        xtype: "button",
                      	cls: 'btn',
                        id: "clickMeButton",
                      	text: '<div style="color: white">TERMINAR</div>',
                        flex: 5,
                    },
                ]
            }
        ]
    },
    initialize: function() {
        var clickMeButton = Ext.getCmp("clickMeButton");
        clickMeButton.element.on("tap", this.onClickMeButtonClick, this);
    },
    onClickMeButtonClick: function() {
        var record = this.getRecord();
      	var servicoId= record.data.imdServico.data.Id;
      	var activitycategoryId = '82e0f151-a00a-46c5-8916-b87992266de6';
 
      	var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
            rootSchemaName: "Activity"
        });
      	esq.addColumn("imdServicos.Id", "ServicoId");
      	esq.addColumn("ActivityCategory.Id", "TipoCheckListId");
 
      	var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "imdServicos.Id", servicoId);
      	var esqSecondFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "ActivityCategory.Id", activitycategoryId);
 
      	esq.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
 
      	esq.filters.add("esqFirstFilter", esqFirstFilter);
		esq.filters.add("esqSecondFilter", esqSecondFilter);
 
        esq.getEntityCollection(function (result) {
            if (result.success) {
              	window.console.log(result);	
                /*result.collection.each(function (item) {
 
                });*/
            }
  		}, this);
 
        Terrasoft.MessageBox.showMessage(record);
    }
});

We are having problems trying to execute the Ext.create("Terrasoft.EntitySchemaQuery") because we think that some dependencies are missing.

 

Any idea on how to solve this problem?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

Like 0

Like

3 comments

Hi Pedro,

 

Can you send the debug result using the mobile application emulator? What is the error?

 

Best regards,

Oscar

Hi Oscar Dylan,

 

Thank you for your response. The following image shows the error that we are getting when pressing the button.

 

 

var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
            rootSchemaName: "Activity"
        });

We think that the error might be related to the lack of dependencies.

 

Best Regards,

Pedro Pinheiro

Hello Pedro. Did you manage to get the result of the queries?

Show all comments