Hey guys,

 

I have a ComboBox that I would need to have a dynamic list of values. Is there a way in Freedom to make it so that the values do not come from a specific lookup dataset, and are only manually populated?

 

Lyle

Like 2

Like

1 comments

Hello!



Currently it's not possible to achieve using handlers or basic Freedom UI wizard. We've already created a suggestion to our R&D team to make it possible in future application versions and once it's done we will inform everyone in the Academy and Release notes. Thank you for helping us in making the app better!



Best regards,

Anton

Show all comments

Hello,

 

I have a page with the progress bar (cases) on Studio 8.1.0.6827. To simplify the explanation, let's say there are two stages based on a status field: New Request and Completed and I have business rules stating that the request description is required if the status is Completed. 



If the 'Save record on stage change' is off, when I click on the Completed bar, the description field becomes require and I cannot save without entering. But of 'Save record on stage change' is on the record is saved and the status changes to Completed even if the description was not entered. 



Any ideas on how to make it work where the 'Save record on stage change' is on but the business rules are applied, and the record is not saved if the required fields for that status are missing?



Thanks,

Jose

 

Like 1

Like

1 comments

Hello!

 

To provide you with an answer, we need to investigate it deeper. Please contact the Support Team directly via support@creatio.com and provide all these details.

 

Best regards, Mariia

Show all comments

Hello,

 

I have a web service that generates a file. I need to attach that file to a record. I see there is an option to the Process File Component passing a File as parameter, but the Parameter is Expecting a IFileLocator. How can I use a script to create a IFileLocator from a full file path on Creatio Studio version 8.1? 

 

Thanks,

Jose

File attachments
Like 0

Like

2 comments
Best reply

Hello,

You should use a script task to work with files from the web service.

 

More details about the API file:



https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Hello,

You should use a script task to work with files from the web service.

 

More details about the API file:



https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Thanks Cherednichenko. Using the information provided I wrote the C# below to attach a generated file to a record.



public void AttachFile(string schemaName, Guid recordId, string fullFilePath) {

            /* Create a unique ID for the new file. */

            Guid fileId = Guid.NewGuid(); 

            /* Create a file locator for the new file. */

            var fileLocator= new EntityFileLocator("SysFile", fileId); 

            /* Get an IFile object for the new file. */ 

            IFile file = UserConnection.CreateFile(fileLocator); 

            /* There is no file metadata or file content in the available file storages. Specify the file name in the file metadata. */

            file.Name = (new System.IO.FileInfo(fullFilePath)).Name; 

            /* Set an attributes for the new file: */

            file.SetAttribute("RecordSchemaName", schemaName); 

            file.SetAttribute("RecordId", recordId);             

            /* Save the file metadata Do this BEFORE saving the content. */

            file.Save(); 

            using (var sourceStream = new FileStream( fullFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, useAsync: true)) {

                file.Write(sourceStream, FileWriteOptions.SinglePart);            

            }

        }

Show all comments

Hi,

I have to provide Field Permission to a detail connected with  a Section in Freedom UI?

Can anyone knows how to do that?

Like 0

Like

3 comments

Hello,

 

Please describe your business idea in more detail so we could provide the best suitable solution for you.

Mira Dmitruk,

I have created  a Section and  provided them field level permission for Some roles. In that Section we have some details used. I have to give field level permission to  the fields of detail and this detail is used in  both Contact and Org Page and having different permission on field .So how I can give that? 

Hello,



You can configure column rights in the Object permissions section.



https://academy.creatio.com/docs/8.x/setup-and-administration/administr…

Show all comments

Hello Team, 

 

Is it possible to filter a lookup field in a detail in freedom UI ?

 

Thanks

Gargeyi.G

Like 1

Like

1 comments

Hello!

 

Unfortunately, there is still no opportunity as of now to filter lookup-fields in detail. We've registered it in our R&D team backlog for consideration and implementation in future application releases.



Best regards, 

Anton

Show all comments

Hi Community, 

 

I wanted to show a popup window with input box in business process to fill up some field and then continue with the process. 

Is there a way to do it in Freedom UI. I don't want to use Auto-Generated page as it doesn't open up always.

Any suggestions are really helpful.

 

Thanks

Gargeyi.G

Like 0

Like

1 comments

Now that lists have a multi-select feature, how can one access the DataTable_SelectionState for that list and pass it to a BP?  The available button actions don't seem to have an option specific to sections and I'm not yet seeing any samples out there on how to do it in code.  

 

Has anyone tackled this yet?

Like 1

Like

4 comments
Best reply

Hi Jeremy!

 

You can use the following in a request handler for the action buttons for the list - this will return an array of the selected Id values: 

const selectedIds = (await request.$context.DataTable_SelectionState).selected;
// selectedIds will be an array of Id's for any selected records

As for getting them to a process, you could pass in as a string to a param or execute the process separately for each Id. See here for executing a process, if needed. 

More info here: https://customerfx.com/article/getting-multi-select-records-from-a-crea…

Ryan 

Hi Jeremy!

 

You can use the following in a request handler for the action buttons for the list - this will return an array of the selected Id values: 

const selectedIds = (await request.$context.DataTable_SelectionState).selected;
// selectedIds will be an array of Id's for any selected records

As for getting them to a process, you could pass in as a string to a param or execute the process separately for each Id. See here for executing a process, if needed. 

More info here: https://customerfx.com/article/getting-multi-select-records-from-a-crea…

Ryan 

Ryan Farley,

This is exactly what I was looking for.  Thanks Ryan!

This should be available without a line of code.

Franck Lehmann,

 

I believe that's coming in a future update.

Show all comments

Hi Community,

How can we filter the Cities based on the Zip Code (string field) in Freedom UI?

Apparently dynamic filtration on Object Level works only for Lookup fields.

Sasori

Like 0

Like

4 comments

Hello Sasori,



Since a text field and there is no lookup values you can not filter it based on conditions. 

Hi Bogdan,

Your answer is something that we already now (I have already stated that in my post) . And it is very astonishing that such functionality which was oob in the Classic UI is not present in the Freedom UI.

Please give us a code example of implementing such functionality in freedom UI.

Sasori

Sasori,

 

We don't have a ready example of such implementation. 

 

However, we have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project to increase its priority.  

Sasori Oshigaki,



You need to create other lookups, remove and replace the current postal code text field, so that you can add postal code to the list of cities to do the links. It is indeed weird that this is a seperate text field as an OOTB feature.



Also, accounts is in Freedom UI, with customer 360, but not account adresses , how weird is that ??

Show all comments

Dear community,

 

Has anyone been able to use the Excel Reports app in V8?

We installed https://marketplace.creatio.com/app/excel-reports-builder-creatio but the option is only visible in the old UI.

 

Kind regards,

Yosef

Like 6

Like

3 comments
Best reply

Hi Yosef!

The app does not support report download in Freedom UI sections.

As a workaround, you can set up reports that have "Custom report" report type. That way you can generate a report in the Excel reports section.

+1 Also really hoping this gets updated, or even better some enterprise level reporting functionality. 

Yes, I'd rather it become an OOTB functionality in Creatio 8.1 ... an enterprise grade tools requires enterprise grade reporting

Hi Yosef!

The app does not support report download in Freedom UI sections.

As a workaround, you can set up reports that have "Custom report" report type. That way you can generate a report in the Excel reports section.

Show all comments

Hi Community,

 

I have this business requirement, where I need to calculate my "Monthly Total" field right after I finish loading my form page.

 

These are the formula and fields I want to calculate:

 

var total = (monthlySubTotal - discountAmount) + ((monthlySubTotal - discountAmount) * (taxRate / 100));

 

 

I tried to use "crt.HandleViewModelInitRequest" handler, but it didn't work. Because, the data is not fully loaded.

 

Is there any other handler that I can use, that waits for all the data to be loaded and then calculate my formula?

 

Thanks in advance.

 

Best Regards,

Pedro Pinheiro

 

 

 

 

 

Like 1

Like

4 comments
Best reply

 Hello. Try this.

{
	request: "crt.HandleViewModelAttributeChangeRequest",
	handler: async (request, next) => {
		if (request.attributeName === "UsrFirstField" || request.attributeName === "UsrSecondField") {
			//recalc
		}
		return next?.handle(request);
	}
}

 

 Hello. Try this.

{
	request: "crt.HandleViewModelAttributeChangeRequest",
	handler: async (request, next) => {
		if (request.attributeName === "UsrFirstField" || request.attributeName === "UsrSecondField") {
			//recalc
		}
		return next?.handle(request);
	}
}

 

Alex Zaslavsky,

 

Thank you for  the reply.

 

I'm using the "crt.HandleViewModelAttributeChangeRequest" handler when a field is being changed.



However, in this situation, the field does not receive any change. For example, the "Tax Rate, %" field has 15.00 as its default value. This does not trigger the "crt.HandleViewModelAttributeChangeRequest" handler. But I need it to calculate the "Monthly Total" field.



After some research, I found the "crt.LoadDataRequest" handler. This handler is executed after all the data has been loaded. So, for the moment, it's working for our requirement.

 

Best Regards,

Pedro Pinheiro

I think your "Tax Rate" field triggers this request, but it's silent.

request.silent

 

Alex Zaslavsky,

 

I've changed the solution and now it's working with the "crt.HandleViewModelAttributeChangeRequest" handler.

 

Thank you.

 

Best Regards,

Pedro Pinheiro

Show all comments