Hello community,

 

In the Creatio mobile application, when I am opening the record for the first time it is opening fine but when I open the same record again page keeps on loading when I checked the error using mobile emulator I see the below-attached error.

 

But this is happening for one section only.

 

Can anyone please help me to figure out the issue and how further can I debug and Solve it ?

 

Many Thanks,

Akshit.

Like 0

Like

3 comments

Hello Akshit,

 

Please debug this error message and find a direct place from which the error comes up and also which methods are called (with which parameters) when opening the page for several times.

 

Best regards,

Oscar

Hello Oscar,

 

Can you help me how can I debug it further, I mean how can I get the reason for what is causing  "Cannot read property  "rows" of undefined" 

error?

 

Many Thanks,

Akshit.

 

Akshit,

 

Please use breakpoints in the page schema and catch parameter values and methods calling (you need to use a mobile emulator to do that). Analyze the data received and share it in case you need help in making conclusions.

 

Best regards,

Oscar

Show all comments

Dear team, 

we have a field with type Time:  

How can we filter out some of the unnecessary values from this field (eg, time before 7am and after 7 pm)? 

Thanks in advance.

Like 0

Like

1 comments

I have a method outlined here, but it's a bit hacky https://customerfx.com/article/changing-the-allowed-time-selections-on-…

This method basically just hides values using CSS. You could use that same approach to just hide all the time values before 7am and after 7pm.

Ryan

Show all comments

Hi Community,

 

Below is the business rule,

 

CreatedBy : Lookup column on "Contact"

FunctionalGroup : Custom Lookup Column on "Contact"

Send to Audit : Custom field

 

this is Code I have written in the cusotm module: 

I debug my code on mobile emulator and found that variable createdBy is undefined inside If condition.

 

 

I have checked this. 

var createdBy = record.get("CreatedBy.Id");

and It is working fine, means I am not getting createdBy as undefined.

 

Then why "CreatedBy.UsrFunctionalGroup.Id" is not working?

 

Can anyone help me with this issue?

 

Many Thanks in advance!

 

Akshit.

 

Like 0

Like

5 comments

Hi Akshit, 

For this try to add CreatedBy in attribute and mentioned all field which you need in lookupListConfig parameter for more detail you can see my below code for Activity 

    "Account":{ 

                lookupListConfig:{ 

                    columns:["Type"] 

                } 

            }, 

Hi Meet,

 

Thanks for the response, Can you please tell me where I can find the "attribute" so that I can add CreatedBy?

 

Many Thanks.

Hi Akshit, 

 

Attributes is a configuration object property of the view model schema you can find more details in below link 

 

https://academy.creatio.com/docs/7-16-0/developer/front-end_development/client_schema_structure/attributes._the_%22attributes%22_property 



If you need example you can also take look at this:- 

 

https://academy.creatio.com/docs/developer/front-end_development/creatio_development_cases/page_configuration/adding_calculated_fields

 

Hi Meet,

 

I have to apply this business rule on creatio mobile application. And for that, I need to create a custom module in which I write my code for the business rule. 

So I didn't write this code on Object Section schema or Edit page Schema.

 

 

 

hi Akshit,

 

Ohh I see, I haven't implement this type of logic on Mobile application but I guess Mobile page also has the similar approach in that you have to define SyncColumns instead off lookupListConfig. 

You can find more details here:-https://academy.creatio.com/docs/developer/mobile_development/mobile_ap…;

Show all comments

Where can I control which events on the case create a lifecycle record. Currently when a case is created I assign SLA and Service through a workflow based on certain rules. I then actualize the calculation of the SLS time-frames with the existing Script.

 

 

The change of SLA/Service created another lifecycle record on top of the one that was created by creating the Case.

 

Actualizing the SLA term calculation creates yet another lifecycle record.

This leaves me with 2 extra useless records that clutter the grid. Where can I switch off this behavior? 

Like 0

Like

1 comments

Hi Oliver,

 

I believe there is a code in SLA/Service entity process which creating Case lifecycle entries. You may take a look on it and override it. 

Show all comments

Hi Community,

 

My task is to hide the OPEN, DELETE, and COPY buttons(which is shown after selecting a record) for specific users like it should be hidden for all users except System admin.

Can anyone help me achieving this functionality?

 

Many thanks,

 

Akshit

Like 0

Like

2 comments

Hello Akshit,

I have an article on that here: https://customerfx.com/article/removing-add-copy-and-delete-actions-fro…

Ryan

Hello Akshit,

 

Hope you're doing well.

 

Thank you Ryan for sharing the useful article.

Also, you can check the following Community posts, they should help to perform your business task or to add related functionality:

  1. https://community.creatio.com/questions/hide-or-show-button-based-user-…
  2. https://community.creatio.com/questions/new-button-hide
  3. https://community.creatio.com/questions/how-hide-button-contact-section…

Best regards,

Roman

 

Show all comments

Hi All,



As like the section page, where we have the OOTB feature to view the MiniPage by hovering the hyperlink. Which can be accessed via section wizard.

A similar kind of functionality needs to be implemented for detail - MiniPage(View Records).

How this can be done? Any suggestions around this implementation will help a lot.



Regards,

Adharsh S

Like 0

Like

1 comments

Hello,

 

Please check this Academy Article. It contains a full description of how you can implement this kind of functionality.

 

Best regards,

Bogdan S.

Show all comments

Hi community,

 

All the time I opened  any section in creatio mobile app some lookup fieds shows as Not Loaded. Please see the below screenshot.

 

This is just one field in the screenshot but it shows like this for 5 lookup fields out of say 10 lookup fields.

 

Can anyone say something about what is reason behind this and how it can be fix?

 

Many Thanks,

 

Akshit

Like 0

Like

1 comments

Dear Akshit,

 

I would recommend you to contact support regarding this issue - they should be able to help. 

 

Best regards,

Angela

Show all comments

Hi Community,

 

I need to hide the Export to Excel option for Details present on the record edit page for all users except for Specific users like Supervisor.

 

However I have asked this question earlier and Ryan has replied to that and that works fine as well. But now the situation is that this is to be done for specific users.

https://community.creatio.com/questions/how-hide-standard-actions-details-record-edit-page

 

Please tell me how to achieve this functionality

 

Many Thanks!

Akshit.

Like 0

Like

2 comments

Hello Akshit,

To hide for specific users only, you can add something like the following to the detail schema's methods:

getExportToExcelMenuVisibility: function() {
    // first make sure it's not already hidden due to operation permissions
    var baseVisible = this.callParent(arguments);
    if (!baseVisible) {
        return false;
    }
 
    // now you can return true or false to show/hide for current user
    return true; // or return false to hide for the current user
},
getDataImportMenuItemVisible: function() {
    // first make sure it's not already hidden due to operation permissions
    var baseVisible = this.mixins.FileImportMixin.getDataImportMenuItemVisible.apply(this, arguments);
    if (!baseVisible) {
        return false;
    }
 
    // now you can return true or false to show/hide for current user
    return true; // or return false to hide for the current user
}

However, note, only go this route with code if you need to limit this capability in this specific detail only. If you're wanting to remove this from everywhere in the app, then using the operation permission as Julio mentioned in your other post is the right approach.

Ryan

Hello Akshit,

 

I've achieved the result needed using the following scenario:

 

1) Create an operation permission with "CanExportDataOnCustomDetail" code:

Here we will specify the list of users or roles who will be able to export data from our custom detail.

 

2) Create a detail in the contacts section with the following schema of the detail (not the detail page, but detail itself):

define("UsrSchemafd43c0a7Detail", ["RightUtilities"], function(RightUtilities) {
	return {
		entitySchemaName: "UsrContactCaseDetailV2",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
      	attributes:{
          "CanExportDataOnCustomDetailAtt":{
            dataValueType: Terrasoft.DataValueType.BOOLEAN,
            type: this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
            value: false
          }
        },
		methods: {
          init: function() {
                this.callParent(arguments);
                this.checkOperationPermission();
            },
          checkOperationPermission: function () {
            var operationsToRequest = [];
            debugger;
            operationsToRequest.push("CanExportDataOnCustomDetail");
            RightUtilities.checkCanExecuteOperations(operationsToRequest, function(result) {
                    if (result) {
                      	this.set("CanExportDataOnCustomDetailAtt", result.CanExportDataOnCustomDetail);
                      	console.log("result.CanExportDataOnCustomDetail: "+result.CanExportDataOnCustomDetail);
                    }
                }, this);
          },
          getExportToExcelMenuVisibility: function (){
            if (this.get("CanExportDataOnCustomDetailAtt")===true){
              return true;
            } else {
              return false;
            }
          }
        }
	};
});

Please note that debugger and console.log are not needed here, they were added just for testing the code.

 

As you can see the key actions here are:

 

- calling RightUtilities and checking if the user has operation permission rights for "CanExportDataOnCustomDetail" operation (the one that we've created at step 1)

- setting the "CanExportDataOnCustomDetailAtt" attribute value based on the RightUtilities check in the checkOperationPermission function

- using the "CanExportDataOnCustomDetailAtt" attribute value so to call getExportToExcelMenuVisibility method correctly due to our business task

 

As a result once the system user or role is added to the operation permission they will be able to see the "Export to Excel" button in the detail actions.

 

Best regards,

Oscar

Show all comments

Hi Community,

 

I need to hide the Export to Excel option for Details present in record edit page.

 

Like in the above screenshot, Previous PO/WO for the selected Project Details There is and option for Export to Excel & Data Import which I need to hide.

 

I have got this article : https://community.creatio.com/questions/how-hide-or-remove-actions-section

 

and it's working fine on sections.

 

Please tell me how to approach it!

 

Many Thanks,

Akshit.

Like 0

Like

8 comments

Hello Akshit,

You can add the following to the methods of the detail schema:

getExportToExcelFileMenuItem: Terrasoft.emptyFn,
getDataImportMenuItem: Terrasoft.emptyFn,

Ryan

Also, in this case, you can go to "Operation Permissions" and restrict the export functionality to specific roles, see "CanExportGrid" Operation permission.

 

On Creatio 7.17, also in the Business Rules of any section you can restrict tabs, objects, groups and so on, see at https://prnt.sc/vpzsq0 and https://prnt.sc/vpzttn

 

I suggest to use LOW-CODE tools of Creatio, avoid developing if Creatio have tools to solve what you need.

@Akshit, to avoid import, you need to edit "CanImportFromExcel" Operation Permission and configure the roles who must have permissions to import, by default just System Administrators

Hi Ryan Farley,

 

Thanks for the solution. It works.

 

But one more question I need to hide these options only for specific users, say for all the users except Supervisor these Export to Excel option should not be visible.

 

How can I achieve this? 

Hi Julio.Falcon_Nodos,

 

Thank you for you response but I see nothing like "CanImportFromExcel" or "CanExportGrid" Operation permission 

 

 

Application version is 7.16.3

Hi Akshit,

 

FYI you are filtering the "CanImportFromExcel" and "CanExportGrid" Operation Permission by Name column rather than it should filter by Code column. Please find the below screenshot for more information.

 

 

 

Many Thanks!

Sarthak Jain

 

Akshit,

 

You must select  "code" field, you are looking the Name

Hello Akshit,

 

Please see my comment at https://community.creatio.com/questions/specific-user-how-hide-standard…

 

This is exactly what you need.

 

Best regards,

Oscar

Show all comments

Hi Community,

 

I am trying to update the fields for my section called payment request. Please see the code below 

 

this.showInformatinDialog(result.success + "\n" + result.message); // for checking the status of update query execution

 

I am getting false for result.success. Please see the below screenshot.

 

I wrote the same code for other sections and it working fine for all other sections.

 

Please help me with this.

 

Many Thank.

 

Akshit.

 

Like 0

Like

2 comments

First, I believe that the response includes response.errorInfo which you can check for any error messages. Second, if you look in the browser dev tools in the network tab, you should see the request there and you can look at the response to see if any messages provide any insight as to what is happening (as well as any errors in the console). Start there to see if there is any indication of what is going wrong. Nothing sticks out as incorrect in the code at first glance.

Ryan

Hi Akshit, 

 

Please review Ryan's reply above and debug the code firstly. Please check if specific requests sent in the network tab return any errors and also check for the result from the debugger. 

 

Regards, 

Anastasiia

Show all comments