Hi Team,

 

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.

 

https://jsfiddle.net/SZKJh/

https://jsfiddle.net/SZKJh/1/

https://jsfiddle.net/r753v2ky/

 

Kindly help.

 

Thanks,

Sarika

Like 0

Like

7 comments
Best reply

Sarika Sharma,

 

Hi,

 

Ok, then something like this should be used:

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.

 

Best regards,

Oscar

Hi Sarika,

 

An example of such a button created for the AccountAddressDetailV2:

 

1) The button code itself:

{
				"operation": "insert",
				"name": "NewLineButton",
				"parentName": "Detail",
				"propertyName": "tools",
				"values": {
					"itemType": Terrasoft.ViewItemType.BUTTON,
					"className": "Terrasoft.Button",
					"style": Terrasoft.controls.ButtonEnums.style.BLUE,
					"tag": "NewLineButton",
					"caption": { "bindTo": "Resources.Strings.NewLineButtonCaption" },
					"click": {"bindTo": "onNewLineButtonClick"}
				}
			}

2) Creating an attribute:

attributes: {
			"ActiveRowIndex": {
				"dataValueType": this.Terrasoft.DataValueType.INTEGER,
				"value": 0
			}
		},

3) The code of the click handler:

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.

 

Best regards,

Oscar

Hi Oscar,

 

Thanks for your response.

 

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.

 

Regards,

 

Sarika

Sarika Sharma,

 

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.

 

Best regards,

Oscar

Hi Oscar, 

 

I want the functionality as follows:

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.

 

 

Please check the below link for making it clear.

 

https://jsfiddle.net/SZKJh/1/

 

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.

 

Sarika Sharma,

 

Hi,

 

Ok, then something like this should be used:

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.

 

Best regards,

Oscar

Hi Oscar,

Many thanks for your response,

 

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.

 

Sarika Sharma,

 

Hi,

 

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:

Best regards,

Oscar

Show all comments

Hi Team

 

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.

 

Like 1

Like

4 comments

Hi Sarika,

 

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.

 

Best regards,

Oscar

Hi Oscar, 

 

Thanks for the reply.

 

This seems to be a helpful option in our case. 

 

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?

 

Best regards,

 

Sarika

Hi,

 

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.

 

Kindly help.

 

 

 

Best Regards,

 

Sarika

 

 

Sarika Sharma,

 

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.

 

Best regards,

Oscar

Show all comments

Hi community.

I need to connect an activity to an activity.

Out-of the box this feature is not available.

Checking on the Activity entity I saw the field ActivityConnection which is a lookup field on Activity.

This field is not inserted on Activity page.

Is it deprecated ?

Can I use it to link one activity to another activity ?

Like 0

Like

6 comments

Hello Stefano,

 

Unfortunately, we don't have such implemented results. 



You can create a new lookup column and bind it according to this post, and customize it according to your business task:

https://community.creatio.com/questions/connect-activity-custom-object#…

 

Best regards,

Bogdan

Bogdan,

Hi Bogdan 

thank you for your answer

So, if I understand the field "AcitvityConnection" is deprecated.

Is it correct ?

Stefano Bassoli,

 

It is not a column, it is a separate table:

 

Regards,

Bogdan

Bogdan,

Hi Bogdan

I'm referring to the Activity.ActivityConnection lookup field available on Activity entity.

Stefano Bassoli,

Hi Stefano,

 

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.

 

Regards,

Robert

Robert Pordes,

Hi Robert,

I created a new custom field, just in case. 

Show all comments

Hi,

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 ??? 

 

Like 0

Like

1 comments

Hi Eran, 

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.

Show all comments

Hi,

 

I am trying to set up a print template for [Contact section]. 

One of the details I want to print out is the phone number which is listed in the field 'communication option' of [Contact section]

I am trying to find that info in 'set up report data' in the printables reports but can not see the data

 

Any one can help please

 

Thanks

Like 0

Like

1 comments
Best reply

Hello Minh,



Try do not to use the "contact communication option" object.

You can find the phone number directly in the contact object:





Best regards,

Bogdan

Hello Minh,



Try do not to use the "contact communication option" object.

You can find the phone number directly in the contact object:





Best regards,

Bogdan

Show all comments

Hi Team,

 

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.



Can anyone please tell us the reason for it? 

 

Support team suggestion https://community.creatio.com/questions/import-photo-image-imageapiservice



I have gone through this link, but didn't understand Ryan's suggestion correctly. 



My questions related to Ryan's code  is below : 



1. "var url = "https://somewebsite/someimage.png" -- What is this url supposed to be? 



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 ?

 

 

 

 

Like 1

Like

1 comments

Hi Akshit,

 

Answers to questions related to Ryan's 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.

 

Best regards,

Oscar

Show all comments

Hi Creatio Community

 

I need help in applying red asterisk (*) with the required field values using CSS.

Can you suggest some me method for the same. 

I tried using the below given code in the span tag of the field label in CSS client module of the section but it didn't work.

 

  .required:after {
    content:" *";
    color: red;
  }

 

Provide some method of applying the asterisk sign with the required field labels.

 

Thanks in advance

 

Sarika

Like 0

Like

2 comments

Hi Sarika,

 

This is the question regarding CSS formation, feel free to reach out to official forums and websites (here is a couple of websites:

https://developer.mozilla.org/en-US/docs/Web/CSS

https://www.w3schools.com/css/

) related to CSS functionality.

 

Best regards,

Oscar

Hi Sarika,



Since It's OOTB.

You can mark your field required in the section wizard of the corresponding section.



Please provide your scenario if it couldn't be achieved via section wizard.



BR,

BHoobalan Palanivelu.

 

Show all comments

Hello Creatio Community,

 

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?

 

 

Like 1

Like

1 comments

Hello Sarika, 



Your business task can be achieved only via development. 

 

You can take an example of the filter from the Timeline detail. The example can be found in TimelineFiltersSchema detail.

 

This article could be also useful for you:

https://academy.creatio.com/documents/technic-sdk/7-13/adding-quick-fil…



Best regards,

Bogdan

Show all comments

Hi Team,

 

I want to hide or restrict the Select Fields to Display option from specific users on Second Records Page.

 

Kindly help me achieve this.

 

Thanks in advance

 

Sarika

Like 0

Like

1 comments

Hi Sarika,

 

Thank you for your question!

 

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.

 

Best regards,

Anastasiia

Show all comments

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?

 

Like 0

Like

2 comments

Dear Susan, 

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:

this.sandbox.publish("PushHistoryState",{
                    hash:"SectionModuleV2/ActivitySectionV2/"
                });

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.

 

Best regards,

Oscar

Show all comments