Dear mates,

PDF attachments are not visible on iPhone using Mail app.

Has anyone had this problem ?

How can I correct this problem ?

Email are generate by process: an email activity open on the sender Creatio screen with the file insert as attachment.

We follow this documentation from Ryan Farley:

https://customerfx.com/article/running-a-word-printable-in-a-process-sc…

The attached files appear well on other email clients...

Thank you !

Nicolas

Like 0

Like

4 comments

Hello Nicolas,

 

Since other email clients work as expected - it seems that the issue is limited to iOS and not connected to Creatio specifically.

 

I tried looking for similar problems on the web. Here is an example, perhaps you have a similar issue:

https://discussions.apple.com/thread/7491137

 

Best Regards,

Dan

Hello,

Patrice from the Nicolas team here.

This issue is not resolved from our side, so i tried to investigate a bit more about it :



I tried sending an email with attachment from Creatio, then read it from an iPhone.

Then sent  an email with same attachment from thunderbird.

 

The email sent from Creatio do no show the attachment, while the one sent from thunderbird works fine.



Having a look at the email source show some differences around the MIME structure :

 

the email sent from thunderbird has that structure :

Content-Type: multipart/mixed;

Content-Type: text/plain;

Content-Type: application/pdf;

 

The email sent from Creatio has that structure : 

Content-Type: multipart/related;

Content-Type: multipart/alternative;

Content-Type: text/plain;

Content-Type: application/pdf;

 

according to that documentation https://learn.microsoft.com/en-us/previous-versions/office/developer/ex…

it seems that Creatio should use multipart/mixed as root..

 

So depending of the email client, the attachment may show or not. 

 

 

I'm not 100% sure of this as i'm not used to that topic, but maybe it's worth checking ?

 

Best regards

Patrice

Patrice-ABPost,

 

Is the issue reproducing only on IOS?

Hello Bogdan,

 

yes, so far, there is no complains with other  platform..

Show all comments

Hello Community, 

 

I wanted to refresh the detail in a form page after adding/updating a detail.

Here all the fields in the detail is added/updated in a separate page. On click of save button, the record gets added/updated. But I wanted to refresh entire detail.

 

Thanks

Like 0

Like

3 comments

Hello, 



Please check the discussion regarding your question here.

Bogdan,

Hello Bogdan, 

 

Thank you for your response.

But I wanted to reload the detail in Freedom UI, the detail is in the form page and on click of '+' we add the new details which is in other form

 

Once I save the details the page automatically moves the parent form page. But the detail is not refreshed, Only the record gets added to the detail.

 

I wanted to refresh entire detail after click of Save while saving a new record in child form.

 

const handlerChain = sdk.HandlerChainService.instance;

                             await handlerChain.process({

                            type: "crt.LoadDataRequest",

                            $context: request.$context,

                            config: {

                                loadType: "reload"

                            },

                            dataSourceName: "datasourcename"

                        });

 

This works in the current form page. But i wanted to refresh the detail in parent form page once I click on save button in child form page.

 

GargeyiGnanasekhar,

 

Unfortunately, we don't have ready examples of the implementation of your business task.

 

We've registered it in our R&D team backlog for consideration and implementation in future application releases.

 

Thank you for helping us to improve our product. 

Show all comments

Hi, 

 

I have a business case to update a field in a detail in other records and then delete the selected record from a detail after clicking "Yes" from the confirmation box.

As of now field is updated to all records on click of delete button in a detail. 

{  

            request: "crt.DeleteRecordRequest",

            handler: async (request, next) => {

             await next?.handle(request); 

           console.log("Deleting a record in detail"); 

//to validate if I clicked Yes or No from the confirmation box 

}

 

Any suggestions is really helpful.

 

File attachments
Like 0

Like

4 comments

Hi,

 

Please use a business process in this case to read all remaining records from the detail and update their values that will be triggered upon record deletion from the object of this detail. It's much easier than trying to create a UI logic using DeleteRecordReqeust.

Oleg Drobina,

Hello Oleg, 

 

I have almost implemented functionality in the client schema under deleteRecordRequest handler. Right now the functionality is working irrespective of the confirmation option choosen, It works even when we click No from the confirmation box. 

 

I wanted to make the functionality to work only if I click "Yes" from the confirmation box. 

 

Is it possible to read the option chosen by user while deleting a record(either Yes or No) in the handler?

 

Thanks

 

 

GargeyiGnanasekhar,

 

What I've observed from the behavior is that the DeleteRecordRequest is called twice: once you click delete button and once you select one of the yes\no options. Then I was trying to find a difference in either requests contexts or in the requests, but there is none or it's not obvious. And finally if we take a look at the initiator of the GetCanDelete method (that is called once you hit the "Yes" option) it's also not obvious who calls it:

I really tried to find a place in the code that could be overriden, but it seems that it's impossible to do in the current version (tested in 8.0.6). That's why I've asked to use a business process instead.

If you want to initiate the delete from your own code, you can use the Model class for that. See https://customerfx.com/article/deleting-a-record-from-client-side-code-…

If you're handling the crt.DeleteRecordsRequest you could simply not call the "next" handler in the chain. Basically, only call this if the answer is yes: await next?.handle(request); 

Ryan

Show all comments

Hello Community,

There is a bug in the system regarding the 'Contact in Folder' object, because apparently uses InsertQuery directly into the database, instead of the InsertQuery class.This object doesn't throw signals. How can we capture the event of an added record in such a scenario ?

Thank you

Sasori

Like 0

Like

10 comments

Hello,

 

Could you please provide us with an example of the InsertQuery which is not working?

Hello,

Object name is ContactInFolder. If you try to catch an event ( when contact is added to a Static Folder) through a Business Process, the business Process wont trigger.

My question is how to catch the event of adding Contacts to a Static Folder?

Sasori Oshigaki,

 

Hello,

 

And is the option with the business process with the timer that starts each 1 hour and reads records that were created in the previous 1 hour suitable here? You can read data and process it in this way. 

Hello Oleg,

Thats the solution we are providing for the moment. Thought that it was better to do something more performant, that doesnt overload the system by executing each hour.

Thank you

Hello,

Besides the option that Oleg provided, another variant is to create a trigger in the DB because normal events like OnInserted won't work with INSERT INTO.

Hello Dmytro,

Thank you for your answer. Is there anywhere in the system a similiar implementation of a trigger, so that we can take it as a reference while we develop our own ?

Thank you,

Sasori

The system rarely uses database triggers so it would be hard to provide a suitable example.

It would be better to search trigger examples in the DB documentation

Thank you for your reply Dmytro!

 

Hello Dmytro,

I created this trigger

CREATE OR ALTER Trigger [dbo].[trigger_InsertContactInFolderAfterEvent] 
ON [dbo].[ContactInFolder]
AFTER INSERT AS
BEGIN
SET NOCOUNT ON;
DELETE cf
FROM ContactInFolder AS cf
inner join Contact as co on cf.ContactId=co.Id
where co.[Name] like 'V3%'
END;

It practically deletes Contacts (whose name start with V3),that are added in the Static Folders. Does this added trigger may cause problems for the overall system ?

Thank you Sasori

Dmytro Vovchenko,

Hi Dmytro

Any Update ?

All the best Sasori

Show all comments

Hi,

Is it possible to use system date in advanced filter somehow? Small example of what I try to achieve:

Like 0

Like

4 comments

Dear Taras,



Could you please specify exactly what information you expect to receive from the system Data filter, we do not fully understand the needs of your request.



Best regards,

Pavlo.

I expect to see just current date there. The main goal is to make filter display 0 records whenever it is used on Sundays

Taras,

 

It won't be possible to add a condition like in your screenshot. Are we interested in a specific filter all in any filter in the section (for example disable displaying data in some section on Sunday)? If so we can restrict loading data to grid on Sundays using:

loadGridData: function() {
					var currentDate = new Date();
					var currentDayNumber = currentDate.getDay();
					var restrictDataLoading = currentDayNumber == 0;
					if (restrictDataLoading) {
						return;
					}
					this.callParent(arguments);
				}

This should be added to the section schema (like ContactSectionV2). If we are interested in a specific filter in the context of loadGridData we can read current filters using this.getFilters().getItems() and in case a needed filter is found - use additional current day check and restrict grid data loading. 

Thanks! This should work for me, I will try

Show all comments

Hello, 

 

I wanted to filter a lookup the contains multiple OR conditions.

I tried it as given in the below link

https://community.creatio.com/questions/freedom-ui-filtration

 

It works fine for a single condition. 

I also tried using by making Right Expression as an array, It didn't worked.

 

Thank

Gargeyi.G

 

Like 0

Like

1 comments

Hello,

 

The idea here is to use the Terrasoft.LogicalOperatorType.OR and specify the filtration inside as in the following example:

"DataGrid_6477jgb_PredefinedFilter": {
					"value": {
						"items": {
							"9a10762b-e098-4df1-9f2f-808b0f2a1e1d": {
								"filterType": 1,
								"comparisonType": 8,
								"isEnabled": true,
								"trimDateTimeParameterToDate": true,
								"leftExpression": {
									"expressionType": 0,
									"columnPath": "CreatedOn"
								},
								"isAggregative": false,
								"dataValueType": 7,
								"rightExpression": {
									"expressionType": 2,
									"parameter": {
										"dataValueType": 7,
										"dateValue": "2022-10-02T14:00:52.067Z",
										"value": "\"2022-10-02T17:00:52.067\""
									}
								}
							},
							"3027b84f-c411-4bd4-adea-064011d278fa": {
								"filterType": 1,
								"comparisonType": 7,
								"isEnabled": true,
								"trimDateTimeParameterToDate": false,
								"leftExpression": {
									"expressionType": 0,
									"columnPath": "Age"
								},
								"isAggregative": false,
								"dataValueType": 4,
								"rightExpression": {
									"expressionType": 2,
									"parameter": {
										"dataValueType": 4,
										"value": 18
									}
								}
							},
							"97395925-0187-4dda-8c82-777172c5e74c": {
								"filterType": 4,
								"comparisonType": 3,
								"isEnabled": true,
								"trimDateTimeParameterToDate": false,
								"leftExpression": {
									"expressionType": 0,
									"columnPath": "Country"
								},
								"isAggregative": false,
								"dataValueType": 10,
								"referenceSchemaName": "Country",
								"rightExpressions": [
									{
										"expressionType": 2,
										"parameter": {
											"dataValueType": 10,
											"value": {
												"Name": "Argentina",
												"Id": "7347f03f-d4d0-4553-9231-855f23623b94",
												"value": "7347f03f-d4d0-4553-9231-855f23623b94",
												"displayValue": "Argentina"
											}
										}
									}
								]
							}
						},
						"logicalOperation": 1,
						"isEnabled": true,
						"filterType": 6,
						"rootSchemaName": "Contact"
					}
				}
			}

In this case the contact where CreatedOn >= 2022-10-02 or Age > 18 or Country is Argentina will be returned. This should be inserted into the lookup attribute as in the example from the provided community thread and will work for the lookup column.

Show all comments

Hello Community, 

 

I wanted to read list of tabs and the current active tab in a form page on click of save button in active tab and then make next tab active.

Any suggestions is really helpful. 

Thanks

Gargeyi.G

Like 0

Like

4 comments

Hello,



Could you please elaborate on your business task?

Bogdan, GargeyiGnanasekhar,



Below is the method for tab change and found in BasePAgeV2,

activeTabChange: function(activeTab) {
	this.callParent(arguments);
	console.log("Tabs in Creatio");
},

var tabName = this.get("ActiveTabName");

Bogdan,

I have 4 tabs in a form page each Tab has a button named "Continuation". On Click of the button, the current tab fields should be saved and then move to 2nd tab.

 

Thanks

Gargeyi.G

Hello, 

 

How can we use this in Freedom UI. I wanted to read this from base page v2?

I am not able to find a way reading this.get("ActiveTabName") from base page, also i wanted to call  activeTabChange method in my form page

 

Any suggestions is really helpful

 

Thanks in advance

 

 

Show all comments

Since our instance has been updated to version 8.0.6, the configuration (fields and filters) of all our reports has disappeared, any ideas on how to get them back ?

 

Like 1

Like

3 comments

Hello Damien,



Please contact our support team (suuport@creatio.com) and describe the issue.

Bogdan,

 



Hi I did already, they told me to ask the question on the community..





Damien

Damien Collot,

 

Please create a new case and write that it was recommended to create case on the community, 

Show all comments

The list of lookups suddenly disappeared from the Object permissions page !

I tried to compile and restart the service but got the same result 

 

Like 0

Like

3 comments

Dear Moheman, 



Unfortunately, it's hard to say what have caused this behavior on the website. 

Please contact our support team via an email support@creatio.com and provide us with more details on what actions were made on the website prior to that so we could check it. 



Kind regards,

Roman

Show all comments

Dear mates,

Here is two weeks i m looking for building a dynamic homepage for a custom section.

Context:

I created a marketing section which has a child object (a detail) for the emailing channel.

I would like to display on my homepage, a select from the emailing detail which, once selected, displays the list of opportunities and orders linked to the detail. On order and opportunity objects, a lookup has been added containing the id of the emailing detail.

Structure:

Desired Form:

 

is it possible to achieve this with the no code tools of Creatio ?

if yes, which home page should I select to be able to build this type of report ?

 

Thank you in advance !

Nicolas

 

 

Like 0

Like

1 comments

Hello Nicolas!

 

Please try setting up a business rule to show or hide page elements under specific conditions.

You can find more information on how to set up business rules in the Freedom UI pages in this article on the Creatio Academy:

https://academy.creatio.com/docs/user/nocode_platform/freedom_business_…

 

Best regards,

Kate

Show all comments