I have used the quickFilterModule in one of the detail. I am able to see the filter on opening of the page.
When I switch between Tabs in the EditPage and again come back to this detail, I am not able to see the filter. But the data been get filtered as per the current week by default.
I have called this filter both in init as well as onRender functions. I have debuged it, on switching between tabs, Onrender is been called which calls the quickfilterconfig. But still its not coming up in UI.
I am not able to figure out the root cause for it.
And also, by default it's taking the date range for the current week - How to remove the default date set?
To fix this behavior fast you can add this line to the init function after this.callParent(arguments);
this.set("IsDetailFilterVisible",true);
I've noticed that in case there is an original filter initialized it won't let a custom filter to disappear from the page when browsing between tabs. As a result you will achieve the result desired.
Also, the custom filter always defaults to the current week. But there is no such condition given explicitly as show the current week. Even though if we remove the filter and again when we switch to that Tab or reloads the page that current week filter been setup automatically. How can we remove the default filter and set it to an empty value?
As a result the button will appear in the section:
Also don't forget to add the localizable value with "RecalculateTimeSpentButtonCaption" caption.
2) Create a string column in the "Case" object with "UsrTimePassedFromCreation" code and Text (250 characters) data type. Save and publish the object.
3) Display this created string column in the "Cases" section.
4) Add these methods to the CaseSection schema:
updateCaseTimePassed: function(){
const today = new Date();
for (let i = 0; i<this.get("GridData").collection.items.length;i++){
let recordId = this.get("GridData").collection.items[i].values.Id;
let result = (today - this.get("GridData").get(recordId).get("CreatedOn")).toString(); //ms
let diffDays = Math.floor(result / 86400000); //days
let diffHrs = Math.floor((result % 86400000) / 3600000); // hours
let diffMins = Math.round(((result % 86400000) % 3600000) / 60000); // minutes
let resultMessage = diffDays + " days " + diffHrs + " hours " + diffMins + " minutes";
let updateQuery = Ext.create("Terrasoft.UpdateQuery", {
rootSchemaName: "Case"
});
let filters = updateQuery.filters;
let caseIdFilter = updateQuery.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"Id", recordId);
filters.add("caseIdFilter", caseIdFilter);
updateQuery.setParameterValue("UsrTimePassedFromCreation", resultMessage, Terrasoft.DataValueType.TEXT);
updateQuery.execute();
}
this.sleep(2000);
this.updateSection();
},
sleep: function(milliseconds) {
const date = Date.now();
let currentDate = null;
do {
currentDate = Date.now();
} while (currentDate - date < milliseconds);
}
5) Refresh the page and check the result - the values should populate for all records in the grid upon clicking the added button:
So you will periodically need to click the button to update information on the case time spent. Also you can add additional check for the case status so not to update records that are in "Resolved" or "Closed" status or you can build a filter with cases that are in the "In progress" status and use the button on them only.
Also please note that since the data is updated in the database directly you will see the same data in any dashboard representing cases.
Unfortunately, this marketplace feature is available only via subscriptions. This tool is the only one that can provide PDF export without any development required.
The second option that we can recommend is setting up Fast Reports. Please navigate by this link below. In addition, please note that setting up Fast Reports requires minimum development skills.
"Currently our R&D team is working on implementation of this feature in an out-of-the-box version and we hope that it will return back very soon. We are very sorry for any inconveniences caused."
Do you have an ETA for this? is it still in the development pipeline?
Please be advised that starting from version 7.14.2, the ability to download printable forms in PDF format has been excluded from Creatio.
Please note that customers who are upgrading from previous versions of Creatio which had Aspose components in their system available will have the print to PDF feature working as before.
Our R&D team is informed on this case and they are doing their best to ensure that the upload forms in PDF format will be present in future releases.
I am sorry to say, but I have no possible ETA on this feature being implemented in future updates.
As a workaround, for those users, who need the information from the forms un-editable for other users upon download, I may recommend a printable Word template with limited access using a password to perform changes to the file.
This will ensure that no one would be able to change the Word file without knowing the password.
Thanks for the reply and the sugestion on the word with password workaround but unfortunately it does not help a lot.
The expectation from our customers is to have this "basic" feature on the core of the product and not throw some paid add-on.
And our expectation, taking in to consideration that there thread going back one year ago that this is in the development pipeline, is that this feature would be available by now.
So please, I have to insist, what is the expectation for this feature to be implemented? We really need a concrete answer.
Thank you for your sincere concerns regarding this matter!
Please note that Creatio had to remove the 'generate to PDF' feature from the platform as the Aspose library is provided only via subscriptions.
I have contacted our Product Owner questioning the implementation`s ETA of this feature.
Please be informed that this process is of great concern on our end and it is currently in development. I would be able to provide the exact ETA in several weeks.
I have noticed when attempting to build source or compile in the "Advanced" aka Configuration Tool in 7.17, I get the following error. The activity spinner continues to spin and the site is unavailable, much like it is continuing. Just wondering if some timeout value needs to be altered to avoid this?
You need to review the application logs to identify the exact error message that is received upon compiling the app. Also you need to make sure that there are no firewall restrictions for the service via the link above from your client that could prevent the client from getting the response from the server.
this error means that there is a problem with sending\receiving requests to\from IIS-server. Maybe the connection to the internet was lost upon compilation or there is some proxy that reroutes requests or there was some modification on the network layer of the IIS-server when you started the compilation. Try to compile the app once again, it should be successful now.
Again, I am local to the server... no internet connection involved LAN->LAN... same segment, no proxy and no changes to IIS layer while this was occurring (off-hours here in US). I am the only one on the network.
we have set up login via ADFS, for initial login it works correctly. But when trying to access root of the website in new tab (with active session) we receive 403 error
It only means that there is a problem with the Web.config file located in the root application directory (loader config). Also this error message doesn't really mean that the problem is with SSO settings in the Web.config file, but with its content in general. You need to check for comment symbols or opening tags, closing tags and check if they are needed there or not.
You can also take an out-of-the-box Web.config file and Web.config file of your app and compare them using some comparining tools like Araxis Merge.
We have a use case where Creatio co-exists with a legacy application which is SQL heavy - A lot of logic is written using SQL Stored procedures. There are certain custom objects on Creatio that needs to be populated and read by the legacy app on a weekly basis. Integration via APIs is not an option (owing to all the business logic being already available in Stored procedures). Using Excel Import/Export is also not an option.
We are considering an ongoing ETL via SQL where a stored procedure is used to directly write/read info from Creatio's custom tables. Assume that the Legacy application has a good understanding of the schema and relationships and transformation/mapping to/from Creatio tables is not an issue.
Pls comment on the following -
1. Is this feasible? - In my view, this should definitely be feasible as at the end of the day, It is an SQL DB. Any data read out of Creatio's DB does not disturb the state of the data in the DB. Any data modified (correctly) in the DB should reflect correctly in the Creatio application. Can you confirm?
2. Is this recommended? - Apart from ease of use and need for SQL development, Are there any reasons from a Creatio product/architecture stand point why this might not be recommended? The load on the WebServer is a negligible factor as these SQL import/export will only be done during low usage periods weekly.
Can you please check this Marketplace add-on, I believe it can help you with your business task.
But still, if you decide to use your approach, then:
1. Yes, that is feasible. The data will be available in the Application but you need to understand that if you miss to insert something, the data might be corrupted. Also, this kind if data transfer won't trigger BP as this will be considered to be direct data insert into the DB.
2. I can not say that this approach is recommended but it is possible. And again, you need to perform a lot of testing before real data transfer just not to lose data.
Can you please check this Marketplace add-on, I believe it can help you with your business task.
But still, if you decide to use your approach, then:
1. Yes, that is feasible. The data will be available in the Application but you need to understand that if you miss to insert something, the data might be corrupted. Also, this kind if data transfer won't trigger BP as this will be considered to be direct data insert into the DB.
2. I can not say that this approach is recommended but it is possible. And again, you need to perform a lot of testing before real data transfer just not to lose data.
Yes, We did consider the plugin. But our use case needs to migrate data from a few custom SQL databases and on an ongoing ETL for 2 weeks. Also, We mostly have custom objects on Creatio and it is not a typical Creatio CRM that we are building.
#1 Yes, I understand that this won't trigger BPs. We are only doing this as a 1 time migration activity as our client is migrating an existing custom application to Creatio.
We have workflows & business logic configured at the Application layer (Via business processes, entity event listeners & incoming API integrations). However, we need to transfer some data into our Database only via direct SQL. Is there any way at all of triggering application level logic on some Database level triggers?
I can think of a few round about/hacky ways of achieving this. Want some input wrt support for DB to Application layer execution flow from a Creatio product stand point and any clean ways of doing this.
We have workflows & business logic configured at the Application layer (Via business processes, entity event listeners & incoming API integrations). However, we need to transfer some data into our Database only via direct SQL. Is there any way at all of triggering application level logic on some Database level triggers?
I can think of a few round about/hacky ways of achieving this. Want some input wrt support for DB to Application layer execution flow from a Creatio product stand point and any clean ways of doing this.
In case you need to interact with the database directly you need to use either stored procedures or triggers that could trigger additional actions upon some actions on the application level. This will be the easiest way to achieve your target.
I was referring to use cases like the following - When a SQL Trigger gets activated, Run a business process at the Application layer. There is no direct way to do this I would presume?
Also, the dbExecutor class will help perform operations unidirectionally from the Application layer to the DB layer. I don't think something like this is available - When a trigger runs at the DB layer, it is available as an Event to catch or subscribe to at the Application layer. Is this right?
A very distant example would be something like this -
You can call stored procedure using dbExecutor, but not visa versa (trigger calls a process). You can use another approach: insert data to the database and then call the process manually for all the records by their CreatedOn date value. As a result data will be inserted to the system and processed by a business process.
Thank you Oscar for your response. Yes, the final approach you have suggested is one of the ways I also thought about. It is still round about and non optimal. Appreciate your answer nevertheless.
Please let us know if it was the information you was looking for, otherwise please clarify your question and provide us with more details with functionality you would like to implement so we could advise you on possible ways of reaching it.
Great thank you! This is working for most of the contacts but there are some contacts that have an address different from the Primary Address in the Account. Some of our accounts have 5 different addresses and the contacts are located in different locations.
Unfortunately it will not be possible to display all the addresses of the single account in the contact section list. As a workaround it is possible to create a list dashboard base on contact address object that will show you the contact, its account and the contact address.
That's exactly what I need to do then is the workaround. One more question: How do I set up the Column for that? What fields am I choosing because I've been trying to find the Contact.Address with no luck.
Does anyone know why a List created under Dashboard would list a contact more than once, provide no address for the ones that are listed twice and provide the wrong city that doesn't even exist in the Account? See attachment. Also, the contacts that are listed twice are NOT duplicates in our main contact list.
The addresses are taken from the contact page. If there is an address with empty field - the dashboard will show you empty columns.
Also, the dashboard displays address per contact, so if there are couple of addresses on the contact page - you will see the address in the list and the related contact, so Address A - Contact A, Address B - Contact A and so on like this:
Thank you Dean! I'm actually sending my issues over to the helpdesk now because we are seeing more errors than usual in this list. The wrong City, but the correct address; when there's only one address in the Account, why is it showing the contact more than once. Not sure what is going on or if we have special fields that were set up by our developer.
Sure, please approach to the support since it is better to have a closer look to the website to find out why you have some missing or redundant addresses in the list.
I am using Data binding tool for column set up of a custom detail. When trying to bind the column setup using "Bind Column Setup" option available in the custom detail options, I am getting the an error saying "No data was found for the specified keys".
The add-on enables binding the list setup saved for all users, and not for specific ones. You might have added a new detail, saved the list setup for a specific user, and tried to bind this column setup.
To resolve the issue, save a list setup for all users and bind it again.
This message is a system one, that is why we cannot make it more informative. We have added the corresponding info on the "Installation and setup" tab on the add-on page.
Thisbinding is done as Supervisor user and not for any specific user. When I tried to bind the OOTB details' column setup from Supervisor like "History", "Calls" etc, I am still getting the same error. Ideally the column set up for OOTB detail should get bound.
You can save the column setup for all users by pressing the 'Save for all users' button (see the picture below):
Note that your account itself does not have any influence on the parameters of saving the column setup (whether it will apply to the current user/or to all users).
When we install the creatio package in client environment, we want to have this column setup bound and transferred along with the package. How do we achieve this?
current scenario is: As the binding tool throws error, we are not able to take the columns set up along with the package.
Is there a way to figure out if a particular plugin supports .Net core on the marketplace? I have a use-case where I am leveraging Creatio's .Net core platform capabilities and installing it on-premise on a Linux box and want to ensure that I make the right choice of plugin from the marketplace.
It would be great if the marketplace team could introduce an indicator against each plugin on the marketplace to let the community know if support is offered for .Net Core or not.
We have registered a request to add some "markers" for each marketplace application which will show Creatio configurations this application is compatible with.