Время создания
Filters

Hi Community,

We have a customer that needs to, when a case is created via email, or an email is added to a case, and that email has attachments, view the attachments in the case attachments tab.

There are a couple of alternatives (without creating a copy of ActivityFile in CaseFile):
1) add a second attachments element to the Case, link ActivityFile to Case and display there the attachments. But I haven't been able to get the link to work, direclty with nocode or on the page 

2) add a list element, display a list of the attachments with the Path but this generates a list where the records are not clickable

any ideas on how the best way to proceed?
Thanks
Luis
 

Like 0

Like

1 comments

Was able to fix it calling a 2nd attachments component and mapping it to the case via code directly on the page

Show all comments
How_can_I_use_the_Contact_Name_macro_in_a_custom_email_template?

Hi Everyone,

I'm trying to use the Contact Name in an email Message Template(email template) that's being sent through a Business Process using Custom Templates, but I'm unable to get the macro to populate.

In my record, the Lead has a Contact associated with it (as shown in the first screenshot). While editing the message template, I selected Lead → Contact → Full name as the macro (second screenshot).

However, when the email is sent, the Contact Name is not populated in the email.

Has anyone successfully used the Lead's Contact Name in a custom message template triggered from a Business Process?

Is there a specific macro or configuration required to access the Contact name in this scenario?

I've attached screenshots for reference. Any guidance would be appreciated. Thanks!

Screenshot 1: Lead record showing the Contact field.
Screenshot 2: Macro selection using Lead → Contact → Full name.

Like 0

Like

0 comments
Show all comments
mobile
FreedomUI
local
storage
Studio_Creatio
8.0

Hi,
I'm adapting my Creatio mobile Freedom UI customizations to work correctly when there is no connection to the server. Is there something like local storage that I could use to save information between app launches?
I was thinking about creating a special "offline cache" object to store this data, and filtering it by the assigned user. However, this feels like a workaround.
Maybe there is already a built-in solution for this, or does Creatio plan to add something like this in the future?
Thank you in advance for your help!

Like 0

Like

3 comments

Hello Eryk,

Yes, we have native support of the offline mode. The offline mode requires an Internet connection only for the first imports and subsequent synchronizations. With this mode, the data is saved on your mobile device. Manually run a synchronization with the Creatio instance server to get the configuration changes and update the data.

You can use the following articles to get more information on how the offline mode works:
https://academy.creatio.com/docs/8.x/mobile/mobile-app-setup/classic-ui/synchronization
https://academy.creatio.com/docs/8.x/mobile/mobile-development/mobile-basics/architecture-mobile/overview-mobile

Have a great day!
 

Hi, thanks for the response.

I may have phrased my question a bit imprecisely - the need I'm describing is fairly specific. I'd like to be able to store some temporary technical information locally on the phone only, scoped to the currently logged-in user. I know I could do this by adding a dedicated object with a relation to the user and fields to hold this kind of data, setting that relation on record save, adding a filter on read, and possibly some security to prevent other users from reading it. But that feels somewhat overengineered, and on top of that, it unnecessarily writes this data to the database. It would be much simpler in this case if the SDK offered something like localStorage, where I could do:

localStorage.setItem('someSetting', { ... })

and later just read it back with:

const settingValue = localStorage.getItem('someSetting');

Hello,

At the moment, the Mobile Creatio Freedom UI SDK does not provide a public localStorage-like API for device-only data. Page attributes exist only within the ViewModel lifecycle, and custom logic runs in an embedded JS runtime rather than a browser, so the standard web localStorage is not available either.
The approach you described (a dedicated object filtered by the current user) is currently the supported way to persist such data. In offline and hybrid mode, records are stored in the local on-device database and transferred to the server only during synchronization, so it works without a connection: https://academy.creatio.com/docs/8.x/mobile/mobile-development/mobile-b…
You are right that the data will eventually reach the server database, and there is no supported way to keep it device-only. A local key-value storage in the mobile SDK is a reasonable suggestion, so please consider posting it in the Ideas section: https://community.creatio.com/?type=idea

Show all comments
mobile
FreedomUI
page
Service_Creatio
8.0

Hi,
I'm working with Creatio mobile and Freedom UI. I've added a button that triggers an action to open a record for editing, passing some default parameter values to it. I do this by setting the value of a global object and then opening the edit view:

Data.PageParameters = {
   CaseDS_EvField1_e051o13: '',
   CaseDS_EvField2_i3021bq: '',
};
await HandlerChainService.instance.process({
   type: "crt.OpenPageRequest",
   $context,
   schemaName,
   modelInitConfigs: [
       {
           action: "edit",
           recordId
       }
   ]
} as BaseRequest);


On the page being opened, an init handler then runs, which looks like this:

@CrtRequestHandler({
   type: 'usr.PageParametersInitHandler',
   requestType: 'crt.HandleViewModelInitRequest',
})
export class PageParametersInitHandler extends BaseRequestHandler {
   public async handle(request: BaseRequest): Promise {    
       const result = await this.next?.handle(request);
       request.$context.CaseDS_EvField1_e051o13 = Data.PageParameters.CaseDS_EvField1_e051o13;
       request.$context.CaseDS_EvField2_i3021bq = Data.PageParameters.CaseDS_EvField2_i3021bq;
       return result;
   }
}

The goal was to display a popup in the mobile app in such a way that the user has to fill in these fields from scratch every time, without being influenced by previous values and without having to manually clear them.
Overall this works well, but there's one problem: when a field has an empty value, it isn't overwritten on the record at all during save (using the default crt.SaveRecordRequest action). It doesn't show up on the popup, but saving the popup doesn't clear the value on the record. This happens when:
- I don't modify the field at all
- I type something into it and then delete it shortly after
- I manually set the context attribute to an empty string or a space before save

I traced the HTTP request sent from the mobile app to the server and noticed that empty fields are simply omitted from the payload entirely. As a temporary workaround, I've been setting some placeholder string value and then clearing it later in a server-side event listener, but during save the value is briefly visible to the user and the placeholder disappears. It would be good to find a proper solution to this.

 

Like 1

Like

2 comments

I noticed that the problem is not only about empty fields. When I set a default value for a lookup field, it is also not sent as a change in the UpdateQuery request.

Hello Eryk Andrzejewski,

It can be a problem with the model's attributes not being loaded when you assign values to them in the init request. For the web application, it can be resolved by subscribing to model events on the page and delaying execution until the model is fully loaded.

However, this approach may not be achievable in the Mobile application.

I would recommend contacting Creatio support (support@creatio.com). Describe the issue in detail, maybe even provide your package and the remote module for the analysis.

Show all comments
Interactive
landing
pages
Marketing_Creatio
8.0

Hi All,

I've been trying to use the Landing Pages in Creatio as a more interactive tool.
What I want to do is something like: User type in a zip code > Landing page show all products available for the zip code entered.

Do you know if this is possible?

Like 0

Like

2 comments

Yes, it is possible. You can achieve this by using scripts on the landing page, along with an anonymous service that retrieves the products based on the ZIP code.

However, please consult the Creatio Support team first to confirm whether this approach is feasible and recommended.

Hello,

Unfortunately, this is not possible using the out-of-the-box Landing Page functionality. Creatio landing pages are designed for data capture (creating leads, contacts, etc.), not for interactive data retrieval and display. To achieve the behavior you described, where a user enters a zip code and sees available products, you would need custom development: specifically, an anonymous web service endpoint that queries products by zip code and custom JavaScript on the landing page to call that service and render the results. If you'd like guidance on implementing this, we recommend consulting with your development team or a Creatio partner.

Show all comments