Hello collegues,

 

I saw the process have an script to generate a MSWord Printable, I need to get one to generate a FastReport printable, somebody can help?

 

The code in this case to MSWord printable is 

var reportService = new Terrasoft.Configuration.ReportService.ReportService();
Terrasoft.Configuration.ReportService.ReportData report = reportService.GenerateMSWordReport(
    (PrintableId.ToString()), ObjectId.ToString(), ConvertToPdf);
var entity = UserConnection.EntitySchemaManager.GetInstanceByName("labQuoteFile");
var fileEntity = entity.CreateEntity(UserConnection);
fileEntity.SetDefColumnValues();
fileEntity.SetColumnValue("labQuoteId", QuoteId);
fileEntity.SetColumnValue("TypeId", AttachmentType);
fileEntity.SetColumnValue("Name", FileName);
fileEntity.SetColumnValue("Data", report.Data);
fileEntity.Save();
return true;

Thanks in advance

Like 0

Like

1 comments

Hello Julio,

 

I've noticed that you've already found the solution to this question in terms of this community post. Please specify if additional help is needed in this thread.

 

Thank you!

 

Best regards,

Oscar

Show all comments

Dear Community,

 

We have added a new icon to the communication panel. We would like to disable click for users and also add a tool tip to display the hints to the user when they hover over the icon. Any help here will be great!

Thanks in advance!

Like 0

Like

5 comments

Hello Shivani,

 

There are three different ways to add a hint depending on your control type. Try which one will work for you:

 

"tip": {

"content": {

"bindTo": "Resources.Strings.CustomerBillingInfoTip"

}

},

-----------------------

"hint": {

"bindTo": "Resources.Strings.GlbUseInternetTip"

},

--------------------

"controlConfig": {

"tips": [

{

"tip": {

"content": {"bindTo": "Resources.Strings.GlbUseInternetTip"}

},

"settings": {

"displayEvent": this.Terrasoft.controls.TipEnums.displayEvent.CLICK

}

}

]

}

 

To disable "click" behavior you can override a "click" method, like so: 

"click": {"bindTo": "onExampleButtonClick"}

 

Best regards,

Bogdan S.

Thank you Bogdan! The tool tip works. However, to disable the click (prevent opening communication panel module), I returned empty function in onExampleButtonClick(). This is opening up a blank side panel. Is there a way we can disable clicking itself? If I dont give return empty function, there are errors in the console.

Shivani Lakshman,

 

If you don't want users to click it you can simply hide this action using the "visible" parameter in the diff of the module. Like on the example below:

{
				"operation": "insert",
				"index": 10,
				"parentName": "communicationPanelContent",
				"propertyName": "items",
				"name": "testCTIModule",
				"values": {
					"tag": "testCTIModule",
					"visible": {"bindTo": "testCTIModuleVisible"},
					"imageConfig": {"bindTo": "testCTIModuleImageConfig"},
					"caption": {"bindTo": "testCTIModuleCaption"},
					"generator": "CommunicationPanelHelper.generateMenuItem"
				}
			}

You can return false in the testCTIModuleVisible attribute and hide the action or create a function that will hide it for some users.

 

Or you can override the onMenuItemClick function and if the selectedItemTag variable is your custom CTI panel action then return false in this function.

 

Best regards,

Oscar 

Oscar Dylan,

Thanks Oscar. The purpose of this icon is to just notify the users of a particular event which happens when we get a notification through API. Since the communication panel is visible throughout the platform, irrespective of the section the user is currently at, we have added this icon as a notification. Therefore we need it to be visible when the said event occurs but prohibit users from clicking it. Is that possible?

Shivani Lakshman,

 

Then you need to perform the modification of onMenuItemClick function as I mentioned in the previous post. Please debug its logic and add your own CTI panel element to the function logic modification.

 

Best regards,

Oscar

Show all comments

In the Contacts section, I need to filter all the contacts that ever got emails Titled "Thanks" (NOT bulk emails, just simple emails). These emails are displayed here:

I tried any available lookup, yet no success. Which object should be used?

Like 0

Like

6 comments

Maybe like this. But I'm not sure.

https://prnt.sc/z38p5x

That's Participant instead of Owner.

Dear Yuriy, 



The option proposed by Julius above should work for the described purpose. 

Please use Email Participants object to get list of contacts which were in the needed bulk email's audience.



Kind regards,

Roman

Julius,

Thank you! I specified the question: NOT bulk emails, but simple emails

Dear Yuriy, 



In this case you need to build filter like this:



Kind regards,

Roman

Roman Brown,

Roman, that doesn't work for me! That gives only a few contacts. For instance, Darren is not among them. I suspect the contacts don't have activities, just emails. What table stores the emails?

Yuriy Konstantinov,

Activities and emails are stored in the same object, but just in case try to remove type=email filter and check if it helps. 

 

Best regards,

Angela

Show all comments

See attached print screen please.

It’s the error message I get in Zapier while actually triggering a test.

Is there a setting in Creatio required in order to allow this connection? Please does someone have a solution?

----------------------------------------

image001.png

 

----------------------------------------

Like 0

Like

8 comments

Hello Guido,

 

Hope you're doing well.

 

You can find additional information related to this behavior in another Community post:

https://community.creatio.com/questions/having-issues-creatio-connector…

 

Kind regards,

Roman

Hello Guido,

 

Your attached print screen is not available for preview.

Please add the print screen via a link.

 

Thank you!

Svetlana Kobizka,

 

Please find below,

Regards

Guido

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hi Guido,

 

Thank you for providing the screenshot.

 

We have reproduced the issue and submitted it to the responsible team. As soon as they are done with the issue analysis, we will get back to you with a solution.

 

Have a good day!

Hi Svetlana,

Did you get a solution for it as our free Zapier account will be closed in a few days. We want to test it before.

Guido

Hi Guido,

 

The team responsible for this connector has changed and they need more time to investigate and fix the issue.

Another clarification from your side will be helpful though: what is the system you are trying to import contacts from?

 

Please accept our apologies for this inconvenience.

The system which we use is Squarespace for our webpages

Hi Guido,

 

Thank you for the clarification. I have submitted this info to the responsible team.

Show all comments

Is it possible to have multiple current jobs in different accounts for one contact? E.g. a contact works for two companies (two accounts). One account will be the primary account, but the contact is not shown in the other not-primary account. We want to show the contact as a contact for both accounts.

Like 1

Like

3 comments

Dear Guido,

 

You can create separate detail in the contact section that will show connections between contacts and accounts if there are multiple connections. You can also use the Relationship tab, But one contact can be primary only for one account, and in OOB fields it will always be connected to one account. 

 

Best regards,

Angela

Dear Angela,

Do you mean the " Connected to" section?

What do you mean by the Relationship tab.

Where can I find it in the Academy?

Regards

Guido

Guido Buurlage,

Please check this link: 

https://academy.creatio.com/docs/node/1768

 

Best regards,

Angela

Show all comments

How to integrate Squarefour landing pages with Creatio Leads and/or Accounts  and/or Contacts

Like 0

Like

1 comments

Dear Guido, 

 

As far as I know there are no known examples of such integration with Creatio. 

However, you can check these academy articles which can be pretty useful in case if you want to configure landing pages or create any integrations with your Creatio system:

Here is the article with instructions on how to set-up your landing page to integrate with Creatio

And this article will be useful in case if you need to create an integration between your website and Creatio. 

 

Kind regards,

Roman

Show all comments

Hello,

 

We need to evaluate how to build a report to send using bulk mails monthly to customers.

 

The complexity is the report must have different typo of data, from different sources including also some graphs as you can see on the attached image,

 

Can I did it using some marketplace Creatio addon?

Like 0

Like

3 comments

Hello, Julio!

 

There is no such option by default, but here are some marketplace apps that may cover some of your tasks:

https://marketplace.creatio.com/template/send-email-attachments

https://marketplace.creatio.com/template/send-monthly-sales-report

https://marketplace.creatio.com/app/printable-attachment-email-creatio

 

Regards,

Dean

Dean Parrett,

Thanks Dean, 

 

Even if I use FastReport? I understand if I use Fastreport, I can achive it or not?

Dear Julio,

 

No, the is no such mechanism that could take data from multiple places in the system, make a report out of it and send it, for example, in an email. There are only some partial workarounds that I've sent but they work separately.

 

Regards,

Dean

Show all comments

Hi,

 

I am facing an issue with object permissions and seeking verification.

 

I added 'Dashboards' section in a workplace available for multiple organizational roles and despite only one of them requires visibility and the rest not having any operational permissions in SysDashboard object, they are still able to see the empty section in their workplace. See below:

 

Like 0

Like

1 comments

Dear Kavian,

 

This issue could occur if users received some roles via role heritage. To find its source check carefully all roles to check if the user who sees this section is not managing a role that should be able to see it.

 

Best regards,

Angela

Show all comments

Hi-

So I made a script to pull data from the SQL log. I need to get that data to a local file. I started to set it on a timer- but then was at a loss on how to move the process any further. 

Any ideas out there? 

Like 0

Like

1 comments

Dear Heather,

 

So you made the script that takes the logs from the website database server through Creatio?  Could you please explain your business task? 

As far as I understand, your user need to have DB admin rights to get the SQL server logs to call for them through Creatio DB. But what is the purpose of getting logs trough Creatio, if your DB user already has admin rights to get them from DB server?  If you want to implement it to cloud instance, unfortunately you will not be able get the logs due to lack of rights. 

So this is how I understood your idea of getting logs. If I understood you incorrectly, could you please give some more details on your task so that I could think of some solution?

Thank you.

 

Regards,

Dean

Show all comments

Dear team,

 

Is there a way to send browser notifications (as seen in the image attached) through javascript? Our use case is that when our webservice receives a response from client, we use Message Channel Utilities to send message from server to client. When client receives the message, it should be able to trigger a browser notification

Like 0

Like

9 comments

Creatio does have a module named DesktopPopupNotification which you can use for this if you'd like. It can handle the request for permissions (if not yet granted by the user/browser) and create the notification and handle a click of the notification. Something like this:

// in init call:
DesktopNotification.requestPermission();
 
// to use, something like this:
var config = {
    id: someId,
    title: someTitle,
    body: someSubject,
    icon: this._getIcon(),
    onClick: this.onDesktopNotificationClick,
    ignorePageVisibility: true,
    timeout: 5000,
    scope: this
};
 
DesktopNotification.show(config);

Ryan

Ryan Farley,

 

Thank you for your response. I have implemented this and also permission to enable pop ups have been provided. yet, there is no notification. Could you please help?

 

Implementation details :

 

I have replaced communication panel and added dependency module - DesktopPopupNotification

 

In init() I have this line of code :

init() : function()

{

    DesktopPopupNotification.requestPermission();

 this.testfn();

},

 

    testfn: function()

                {

                    DesktopPopupNotification.requestPermission();

                    this.console.log("testfn");

                        var createConfig = {

                        id: "1234",

                        title: "Chat Notification",

                        body: "You have a new chat notification",

                        icon: {},

                        ignorePageVisibility: true,

                        onClick: Ext.emptyFn,

                        onClose: Ext.emptyFn,

                        onError: Ext.emptyFn,

                        onShow: "Sample",

                        timeout: 5000,

                        scope: this

                    };

                     

                    DesktopPopupNotification.showNotification(createConfig);

                    }

This doesnt seem to throw a notification

 

Thanks in advance

Shivani Lakshman,

The reason why it's not showing is likely because it doesn't have an icon defined. The DesktopPopupNotification module validates the config, if it doesn't have an icon defined, it exits out and doesn't show the notification (if you're in debug mode it shows this reason in the console, but that will only show if in debug mode)

If you want to add an icon to the images of your schema, let's say it has a name of UsrIcon, you can show it in the notification by adding this for the icon part of the config:

Terrasoft.ImageUrlBuilder.getUrl(this.get("Resources.Images.UsrIcon"))

Ryan

Shivani Lakshman,

In case you're still looking at this and having issues, I've written up the details for using the DesktopPopupNotification module here: 

https://customerfx.com/article/how-to-display-browser-popup-notificatio…

Ryan

Is there a Freedom UI way to do this? Some of those params would only work on Classic UI pages, such as how you would specify the icon for the notification.

It looks like this functionality broadly still works on Freedom UI pages, the only bit I haven’t yet figured out is how to reference images uploaded to the page schema for the icon. For onClick, an arrow function can be used (e.g. onClick: () => { console.log(“notification clicked”); } ) and therefore the scope isn’t required to be passed, since arrow functions establish `this` based on the scope where they are defined and variables like the `request` are available within the arrow function.

 

There did seem to be some weirdness in the behaviour of the Windows notification at least – while it showed and played the sound and could be clicked, it would quickly disappear from the notification centre as soon as the popup notification had finished (but not been clicked) so users would have to click the popup in the short time it was showing if they needed something to happen when clicking it. Maybe there’s a better way to call these notifications in Freedom UI though?

Harvey Adcock,

As Ryan mentioned a bit earlier, the only way to work with notifications in Freedom UI with the help of JS is DesktopPopupNotification. 
I've decided to override the Accounts_FormPage to get the notification on any Account page opening with the possibility of clicking on this notification. Here is an example:

 

		define("Accounts_FormPage", /**SCHEMA_DEPS*/["DesktopPopupNotification", "Accounts_FormPageResources"]/**SCHEMA_DEPS*/, 
	   function/**SCHEMA_ARGS*/(DesktopPopupNotification, resources)/**SCHEMA_ARGS*/ {
 
......................
 
	   handlers: /**SCHEMA_HANDLERS*/[
			{
				request: "crt.HandleViewModelInitRequest",
				handler: async (request, next) => {
					await next?.handle(request);
					const img = Terrasoft.ImageUrlBuilder.getUrl(resources.localizableImages.TheImageName);
					var config = {
						id: 123456,
						title: "Test notification",
						body: "This is a test notification",
						icon: img,
						onClick: DesktopPopupNotification.getIsSupported,
						ignorePageVisibility: true,
						timeout: 10000,
						scope: this
					};
					DesktopPopupNotification.showNotification(config);
				}
			}
		]/**SCHEMA_HANDLERS*/,

 

P.S. You can choose only public methods from DesktopPopupNotification (I've used getIsSupported)

Anhelina,

 

I can see that it's possible to use arrow function notation to run any code you want, for example I can open a specific page by doing the following in the onClick property:

{
	request: "Usr.TriggerNotification",
	handler: async (request, next) => {
		var config = {
			id: 123456,
			title: "New lead",
			body: "click here to open the task",
			icon: "https://www.creatio.com/sites/default/files/marketing/logo_creatio.svg",
			onClick: () => {
				const handlerChain = sdk.HandlerChainService.instance;
				handlerChain.process({
					type: "crt.UpdateRecordRequest",
					entityName: "Lead",
					$context: request.$context,
					recordId: "ec8a7868-7e4a-40cd-ac32-9c53ee459c07"
				});
			},
			ignorePageVisibility: true,
			timeout: 100000,
			scope: this
		};
 
		desktopNotify.showNotification(config);
	}
}

 

The main limitation I see currently with the DesktopPopupNotification is that the notification doesn't persist in the desktop's notification centre - it dissappears after around 8-10 seconds (regardless of what time is specified in the timeout, whether it's set to 0 or whether the property is omitted entirely). Maybe there's some property I haven't seen that makes the desktop notification persist?

It seems my above comment may have been resolved in 8.1.3 or 8.1.2, as now I can generate notifications that never disappear from the Windows notification centre using a timeout value of -1, and other timeout values also work as expected. If the property is omitted or set to 0, it defaults to around 7 seconds.

Show all comments