I have added one button in detail on clicking of which , it should be automatically navigated towards the next record in the detail. The records are displayed in tile view. Please refer to the screenshot.
I tried using the following options but they dont seem to work.
onNewLineButtonClick: function(){
var gridDataValue =this.getGridData();
var gridDataItems = gridDataValue.getItems();
var requestedActiveRow =this.get("RecordIndexColumn");if(requestedActiveRow != null){if(requestedActiveRow >= gridDataItems.length){return;}
var targetActiveRowId = gridDataItems[requestedActiveRow].values.Id;this.set("ActiveRow", targetActiveRowId);
var targetElementId = document.querySelector("[id*="+ CSS.escape(targetActiveRowId)+"]");
$([document.documentElement, document.body]).animate({
scrollTop: $("#"+ CSS.escape(targetElementId.id)+"").offset().top}, 2000);}
RecordIndexColumn - is a virtual column where we specify the number of the record to which we should scroll (for example can be a separate field on the page or in the detail). This variable:
var targetElementId = document.querySelector("[id*="+ CSS.escape(targetActiveRowId)+"]");
searches for the detail record on the document (since each detail record has an Id value inside the Id selector of the element on the page).
This is not a ready code, but it animates the page to be scrolled to the active row visible in the document.
onNewLineButtonClick: function(){
var gridDataValue =this.getGridData();
var gridDataItems = gridDataValue.getItems();
var activeRow =this.get("ActiveRow");for(var i =0; i < gridDataItems.length; i++){if(gridDataItems[i].values.Id== activeRow){this.set("ActiveRowIndex", i);}}
var currentActiveRowIndex =this.get("ActiveRowIndex");
var newActiveRowIndex = currentActiveRowIndex +1;
var gridDataItemsLength = gridDataItems.length;if(newActiveRowIndex >= gridDataItemsLength){return;}
var targetActiveRow = gridDataItems[newActiveRowIndex].values.Id;this.set("ActiveRow", targetActiveRow);}
As a result after refreshing the page the button will do what is needed - navigation will be performed.
I tried the code that you suggested and it is selecting the next record in the row on Clicking the Next Record Button. But the issue is I still have to manually navigate to see the next record that is selected. Kindly suggest me some way that the next selected record automatically gets visible on the screen without me having to scroll towards it.
Please clarify what do you mean? I thought you need a button that will select the next record in the grid. Do you want to open it or what? Please provide all the details of the task from the very beginning to the expected result.
As Soon as I click on the 'Next Record' Button, the next record should be automatically scrolled up and comes up in the view without me having to scroll the view of the window.
As soon as a number is entered, and GO button is clicked, it redirects to the line with that number. I want the same redirection to occur on incremental basis.
onNewLineButtonClick: function(){
var gridDataValue =this.getGridData();
var gridDataItems = gridDataValue.getItems();
var requestedActiveRow =this.get("RecordIndexColumn");if(requestedActiveRow != null){if(requestedActiveRow >= gridDataItems.length){return;}
var targetActiveRowId = gridDataItems[requestedActiveRow].values.Id;this.set("ActiveRow", targetActiveRowId);
var targetElementId = document.querySelector("[id*="+ CSS.escape(targetActiveRowId)+"]");
$([document.documentElement, document.body]).animate({
scrollTop: $("#"+ CSS.escape(targetElementId.id)+"").offset().top}, 2000);}
RecordIndexColumn - is a virtual column where we specify the number of the record to which we should scroll (for example can be a separate field on the page or in the detail). This variable:
var targetElementId = document.querySelector("[id*="+ CSS.escape(targetActiveRowId)+"]");
searches for the detail record on the document (since each detail record has an Id value inside the Id selector of the element on the page).
This is not a ready code, but it animates the page to be scrolled to the active row visible in the document.
I tried the code you've provided above but it seems it is not reflecting any changes or action performed on the screen. I also configured the field "RecordIndexColumn" in section and added incrementing values in each of the records.
It works correctly (almost, it should be modified a little since there is a problem with the MainHeaderSchemaContainer module at the top and the animation of the record (MainHeaderSchemaContainer sometimes can cover the actual record that is the first or the second in the detail list)). Also an example was provided for the AccountAddress detail and the "New line" button there). See the result:
I'm looking for some functionality where the user gets a message sent by other user of a different role displayed as soon as he logs in to creatio system .
Also there should be complete privacy for the communication so that the two users of a common role can not see the chats of each other.
Please suggest some ways through which this can be achieved except for Whatsapp, Telegram and Facebook as we do not want any third party app involved in this.
I am sure your requirement can be fully covered using the standard Feed section where channels for posting can be created and followers can be selected:
As a result new feed messages will be displayed in the CTI panel and also in the feed section.
Just request you to provide the additional information for how can we add multiple feed channels in a section or some sort of functionality where user can select the channel in which he/she wants to post?
I have found the option where user can select the channel but here the user - JICO is able to see the other channels list also in which he is not added(He is not added in the channels GC-CCR and GC-AXA).
1.How can I filter out the list of channels based on the user that is allowed to post in that channel?
Please Refer to the Screenshot.
2. How can user select the channel from the feed that is specific to each section record in the section itself? For example, how the user JICO posts in the feed after selecting the channel so that this post is specific to a section record.
1) You need to administrate channels by records and specify correspondent record permissions to these channels
2) There is no way to select channels in the feed of the record page, this option is available in the Feed module in the CTI panel or in the Feed section directly.
have you found out if this field is supposed to be deprecated?
I just found out that it is still being used in the functionality for linking emails from the mailbox to other object, namely in the method loadEntityConnectionColumns in the EntityConnectionLinksUtilities mixin.
It made some problems when we tried to reuse this field, so I suggest not to tinker with it too much and simply create a new one.
I've replaced the "Product" object and added some other fields. but when i'm trying to add these field on the "product edit page", these fields are not available on the "edit Product's" drag&drop fields: ..... Any idea ???
unfortunately at the moment it is not possible to add a column with a datatype different from the 6 basic datatypes displayed at the edit page section. So datatypes like color or file for example are not available.
I will register a case for the R&D department so they can develop this functionality for further releases.
I have a use case where our customers have more than 3000 records having profile photos linked with records. We have to migrate those photos to new Creatio production instances.
What we are trying is in below steps :
Step 1: uploading the photos/Images in Attachment table.
Step 2: Adding a record in SysImage Table using business process from Attachment Table(step1).
Step 3: Updating the created record Id of SysImage in "PhotoId" of Contact section.
Issue : All the steps are working fine but Image is not reflecting against the contact using this approach.
2. Do I need to write the give code in source code schema and then use it ?
3. Since the customers have 3000 photos of contacts then how this code will find correct photo of correct contact? Actually what modifications is required before using this piece of code ?
1) This is the URL to a separate resource where an image is located (direct link to an image)
2) You can do it either in the source code inside the app or create an integration that will connect to the Creatio app and perform an update of the image
3) You have to create a logic that will go through 3000 records (a cycle I guess or an array and execute the logic for each item of this array using standard C# approaches of processing several records) and execute the logic for these records.
How can we fix custom filters for detail records. For instance, there is a month lookup in the detail record. I don't want to repeatedly navigate to the options to apply filter and then select the month column followed by selecting the month name from the lookup.
I want a custom filter readily available on the top of the detail records wherein I only have to select the month name from the filter. How can I achieve this?
At the moment, there is no standard tool that allows restricting columns setup (Select fields to display) for separate users or roles, and our R&D team is aware of this functionality implementation need. I have also informed them about your request so to raise the priority of this problem. As a workaround you can try to use development tools as far as the visibility of this button is bound to the attribute, which is set as "True" by default; the value of this attribute can be changed only by the means of development (adding the custom code).
There is already exists a quite similar task on the Creatio Community here. In case this functional request will be in high demand it can be implemented into OOTB logic in future releases as well.
Our business process prompts the user to create a follow up calendar event if the current call event is listed as 'call later.' Currently the process creates a new call task which OOTB opens a new call task screen. This isn't intuitive because the user cannot see their own calendar availability. I want to set the process to open their calendar view first where the user can confirm time/availability and manually add the task from there. I cannot find a way to open to the calendar view directly from the business process. Is there a way to do this?
we are currently investigating this case in order to find a possible ways of implementing this functionality. As soon as possible we will let you know with the update.
Pre-configured page cannot open the section, so you will need to create a logic with the script task that will send a socket message to the client (using MsgChannelUtilities.PostMessage method and the ClientMessageBridge (as described here)). Since the message should be received on any page you will need to replace the BasePageV2 module and add the message and the handler for the message there.
The handler should use the code similar to the one below:
so that the handler could open the ActivitySectionV2. But there is a problem with this: the activity section will be opened either in the schedule or grid view (depending on the last active view selected by the user for which the activity section will be opened). In this case you will also need to create some additional logic that will set the schedule view as an active view when opening the section from the message handler. The methods to override are initDataViews and loadActiveViewData.