Can I set column values when using crt.CopyRecordRequest ? 
I have a use case where I need to create a copy of the record but change several column values in the new record. 
Is there a way to do it? 
 

Like 0

Like

2 comments
Best reply

If this is being done via a model copy (See https://customerfx.com/article/copying-a-record-from-client-side-code-using-the-model-class-in-a-creatio-freedom-ui-page/) then yes, you can update values, then finally insert the new record that was created from the copy. The article linked shows how to do this.

If this is from the Copy menu on a list, then you'd have to change that to use your own request, then copy, set the values, insert, in your own custom code.

Ryan

If this is being done via a model copy (See https://customerfx.com/article/copying-a-record-from-client-side-code-using-the-model-class-in-a-creatio-freedom-ui-page/) then yes, you can update values, then finally insert the new record that was created from the copy. The article linked shows how to do this.

If this is from the Copy menu on a list, then you'd have to change that to use your own request, then copy, set the values, insert, in your own custom code.

Ryan

Hi Ryan, 

I was just calling the request from the button. Another thing is that if you call it from any page other than [object]_ListPage it’ll open the classic ui page, rather than the freedom UI page. 
I’ll definitely give the approach you described a try, I’m sure it’ll work. 
Thanks a lot!

Show all comments

how to change the sorting method in lookups in FREEDOM UI

Like 0

Like

5 comments

There's a few post in the forums outlining that, I also have the steps written up here: https://customerfx.com/article/sorting-a-dropdown-lookup-on-a-creatio-freedom-ui-page/

Ryan

There's a few posts in the forums detailing this, I also have the steps written up here: https://customerfx.com/article/sorting-a-dropdown-lookup-on-a-creatio-freedom-ui-page/

Ryan

Ryan Farley,

hello thank you for your help but iam trying to sort the type lookup in account form page and trired you soluation but did not work

Saad Mohamed,

Hello,
Unfortunately, there are no basic system tools to change the alphabetical filtration order. To implement a custom filtration order, additional development will be needed. You can check the below posts where similar business tasks have been already discussed: https://community.creatio.com/questions/sorting-values-lookup-field-besides-alphabetic-order https://community.creatio.com/questions/sorting-drop-down-lookup https://community.creatio.com/questions/freedom-ui-sorting-lookup https://community.creatio.com/questions/change-order-lookup-values-list In addition, a task has already been registered in our R&D team to consider and implement such a feature in future releases

Antonii Viazovskyi,

It's likely that you're using an incorrect attribute name for the sort (which is based on the attribute name the lookup is bound to). There's a post in the forums that outlines sorting the Account Type lookup specifically here (see comment from John Kingsbury): https://community.creatio.com/questions/possibility-order-options-drop-down-menu-freedom-ui

Ryan

Show all comments

Hello community,
I want to create API Service from creatio that return object data with the detail (json with hierarchical data). lets say i want to get 'Account' with Orders, Lead, and else that connected with 'Account' in one endpoint.

I think about create Custom web services, anyone have script with similar case or have suggestion for this case?

Like 0

Like

2 comments
Best reply

You'll just need to design the objects you're returning and make it something like this: 

[DataContract]
public class OrderPayload
{
    [DataMember(Name = "id")]
    public Guid Id { get; set; }
    [DataMember(Name = "Number")]
    public string Number { get; set; }
}
 
[DataContract]
public class AccountPayload
{
    [DataMember(Name = "name")]
    public string Name { get; set; }
    [DataMember(Name = "orders")]
    public List<OrderPayload> Orders { get; set; }
}

Then you populate that as needed in the webserivce. The AccountPayload is the top level of the objects, so that is what the method would return. You'd populate like this (obviously from some data you read from an ESQ etc): 

var account = new AccountPayload();
account.Name = "Some account";
 
account.Orders = new List<OrderPayload>();
account.Orders.Add(someOrder1);
account.Orders.Add(someOrder2);
 
// now return account

 

Hope this helps get you started in the right direction.

Ryan

You'll just need to design the objects you're returning and make it something like this: 

[DataContract]
public class OrderPayload
{
    [DataMember(Name = "id")]
    public Guid Id { get; set; }
    [DataMember(Name = "Number")]
    public string Number { get; set; }
}
 
[DataContract]
public class AccountPayload
{
    [DataMember(Name = "name")]
    public string Name { get; set; }
    [DataMember(Name = "orders")]
    public List<OrderPayload> Orders { get; set; }
}

Then you populate that as needed in the webserivce. The AccountPayload is the top level of the objects, so that is what the method would return. You'd populate like this (obviously from some data you read from an ESQ etc): 

var account = new AccountPayload();
account.Name = "Some account";
 
account.Orders = new List<OrderPayload>();
account.Orders.Add(someOrder1);
account.Orders.Add(someOrder2);
 
// now return account

 

Hope this helps get you started in the right direction.

Ryan

Hello!

 

Additionally, you can read more about custom web services here.

Show all comments

I want to add a field validation in freedom ui, like, it's a date field then i want to impose a condition if date selected by the user is backdate then don't allow the record to be saved.(Freedom UI)

Like 0

Like

4 comments

Hey,
So for example if you have a date field as dateofPM and you want to prevent the user to choose a date, which is before the date of the CreatedOn of the record 
Below is a Example of the code:
 

Hope this helps.

 

thanks but i want it in freedom ui, so where to write this js code

Ryan Farley,

Thanks Ryan, I tried this, but it didn't work, I will share my code here of this approach meanwhile I tried applying validation popup using handler, if you can suggest me any handler/function which will prevent saving the record if the control passes to this handler? this is my handler code:

 

 

Show all comments

I want to confirm that this logic is setup correctly. We want to send an email every three months on the 17th to remind our customers of a specific benefit. The logic is already in place from an audience standpoint.


The timer element in the campaign setup is slightly confusing. Based on this logic below: 

Will the email launch at 8:00 AM beginning on July 17th and then recur on the 17th every 3 months? The delivery timeframe parameter of the email is from 8:00-9:00 AM. Thanks in advance.

Best,

Lucas
 

Like 0

Like

0 comments
Show all comments

Dear..

We've reviewed Creatio's documentation and noticed it exclusively supports HTTPS. Does Creatio Mobile Application development also support the HTTP protocol? Additionally, could you please provide information on the following:
1. Compatibility of Creatio Mobile?
2. Is a separate APK build necessary for developing the mobile application?
3. Does the web application used by the mobile app require a separate APK?

Like 1

Like

5 comments

Good day, 

The answers to some of your questions, are as follows:

Does Creatio Mobile Application development also support the HTTP protocol?
HTTP is supported for the debug mode only when testing the application locally.
For a production environment, you would require HTTPS.

Is a separate APK build necessary for developing the mobile application?

Yes, a separate APK build is necessary for developing the mobile application.

Please be so kind as to elaborate more on the other questions of yours:
1. Compatibility of Creatio Mobile?
What information do you require on the compatibility for Creatio Mobile?
3. Does the web application used by the mobile app require a separate APK?

Please elaborate on this question further.

@Thank you Nikita for your reply.

Yes, a separate APK build is necessary for developing the mobile application--> How to build the apk ,could you please share us a documents and links.
We are following the below document to develop the mobile application in Creatio.

 

https://academy.creatio.com/docs/8.x/creatio-apps/creatio-basics/mobile…

Hello again,

Would it be possible for you to clarify what you mean by building the apk? 

If we are speaking of a Creatio mobile application, the application itself is available for download on various devices and requires no development to start using out of the box.

Nikita Kudin,

Thank you. Could you please share us a document and links recent one related to mobile.
Question : Workbasket/work queue concept is there in Creatio mobile application?

Nikita Kudin,

Could you please help us to achieve the functionality to display the cases that are assigned to the current user who logged into the mobile application. Instead of displaying the cases assigned to all users. 

We are able to achieve this functionality in web application but unable to achieve the same in mobile application. 

Show all comments

Is HTTP protocol supports the building of Creatio Mobile Application? I have gone through the documentation i could see it supports only HTTPS. 
Here are some questions could you please provide some information
1.Creatio Mobile Comparability?
2.For building Mobile Application is required to have a separate APK build?
3.The web application which is used by the mobile app does it need Separate APK?

Like 0

Like

1 comments

Hello,

 

HTTP protocol supports the building of the Creatio Mobile Application, mainly for debugging purposes. For production, however, the HTTPS protocol is required. 

 

Right now, we can provide an answer to the question 2:

Yes, it is required to have a separate APK build.

 

As for the other two questions, kindly specify the details so we can provide you with a more accurate answer.

Show all comments

Creatio Community,

 

Is it possible to add to the Creatio Login Page the show password icon you get on some other logon windows/pages (like the one from Windows Security. See Attached.) 

Thanks,

Jose

 

Like 0

Like

1 comments
Best reply

Hello,

It is possible to show a password icon on your site. To do this, you must add and enable the feature: "UsePasswordIconForTextEdit" on the feature page.

More information about this page can be found in this article on the Creatio Academy:
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/platform-customization/interface-control-tools/existing-feature/overview#title-3459-7

Hello,

It is possible to show a password icon on your site. To do this, you must add and enable the feature: "UsePasswordIconForTextEdit" on the feature page.

More information about this page can be found in this article on the Creatio Academy:
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/platform-customization/interface-control-tools/existing-feature/overview#title-3459-7

Show all comments

Hi, 

 

var esqCount = new EntitySchemaQuery(userConnection.EntitySchemaManager, "Project"); esqCount.AddAllSchemaColumns(); 

esqCount.UseAdminRights = false; 

esqCount.RowCount = 0; // No limit

var totalRecords = esqCount.GetEntityCollection(userConnection).Count;

 

totalRecords value is always coming as 0 but there are 22460 records present in the Project object.

 

Can anyone please help where I am making mistake?

 

Thanks.

Like 0

Like

4 comments

You can use something like this: 

var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Project");
var countCol = esq.AddColumn(esq.CreateAggregationFunction(AggregationTypeStrict.Count, "Id")).Name;
 
// add any filters if needed
 
var entityCollection = esq.GetEntityCollection(UserConnection);
var entity = entityCollection[0];
 
var count = entity.GetTypedColumnValue<int>(countCol);

You need to add a column that creates an aggregate function (count). Then, when you get the results from GetEntityCollection you'll get the first item in the results to get the Count value.

Ryan

Hello,
Thank you for your question.

This line of code is the source of your concern: 

esqCount.RowCount = 0;

RowCount is a property which is responsible for the number of readable elements from your query.

Also note that UseAdminRights is a flag that determines whether access rights will be checked for performing CRUD operations with the database. When UseAdminRights is set to false, the rights check is disabled, and operations are performed without considering access rights.

Hope this helps.

Ryan Farley,

Thanks for answering , I am having hard time to fix this piece of code please see if you can help me -

var selectQuery = new Select(userConnection)
                           .Column("Project", "Id").As("ProjectRecordId")
                           .Column("Project", "UsrProjectID").As("ProjectId")
                           .Column("Project", "Name").As("ProjectName")
                           .Column("Project", "UsrProjectDescription").As("ProjectDescription")
                           .Column("UsrEntitlements", "UsrNumber").As("Entitlements")
                           .Column("ServicePact", "Number").As("ServiceContract")
                           .Column("Project", "CreatedOn").As("CreatedOn")
                           .Column("Contact", "Email").As("CreatedByEmail")
                           .Column("Project", "ModifiedOn").As("ModifiedOn")
                           .Column("Contact", "Email").As("ModifiedByEmail")
                           .From("Project")
                           .Join(JoinType.LeftOuter, "UsrEntitlements").On("Project", "UsrEntitlementsId").IsEqual("UsrEntitlements", "Id")
                           .Join(JoinType.LeftOuter, "ServicePact").On("Project", "UsrServiceContractId").IsEqual("ServicePact", "Id")
                           .Join(JoinType.LeftOuter, "Contact").On("Project", "CreatedById").IsEqual("Contact", "Id")
                           .Join(JoinType.LeftOuter, "Contact").On("Project", "ModifiedById").IsEqual("Contact", "Id")
                            as Select;

Screenshot - 

And the error I am getting is - Error: 42712: table name "Contact" specified more than once.

 

Thanks.

AS,

You're joining to the Contact table twice, but not aliasing them (which means they are both named "Contact")

Change the contact joins to include As

.Join(JoinType.LeftOuter, "Contact").As("CreatedContact").On("Project", "CreatedById").IsEqual("Contact", "Id")
.Join(JoinType.LeftOuter, "Contact").As("ModifiedContact").On("Project", "ModifiedById").IsEqual("Contact", "Id")

Then use them using that alias: 

 .Column("ModifiedContact", "Email").As("ModifiedByEmail")

Also, as an FYI, you can change those joins like this, which I think reads better and less wordy:

.LeftOuterJoin("Contact").As("CreatedContact").On("Project", "CreatedById").IsEqual("Contact", "Id")
.LeftOuterJoin("Contact").As("ModifiedContact").On("Project", "ModifiedById").IsEqual("Contact", "Id")

Ryan

Show all comments

Getting this error while compiling the code from documentation. Could be due to the missing  "Microsoft.CSharp" assembly. What configuration required to fix this ?


private string CreateJson(IDataReader dataReader)
{
   var list = new List();
   var cnt = dataReader.FieldCount;
   var fields = new List();
   for (int i = 0; i < cnt; i++)
   {
       fields.Add(dataReader.GetName(i));
   }
   while (dataReader.Read())
   {
       dynamic exo = new System.Dynamic.ExpandoObject();
       foreach (var field in fields)
       {
           ((IDictionary)exo).Add(field, dataReader.GetColumnValue(field));
       }
       list.Add(exo);
   }
   return JsonConvert.SerializeObject(list);
}

 

Like 0

Like

1 comments

Hello,

 

The issue you mentioned is related to the missing compiler member 'Microsoft.CSharp'. To fix this, you need to add a reference to this library in your project. Add a reference to Microsoft.CSharp.dll.

 

You can also read the documentation that may help you:

https://stackoverflow.com/questions/49637389/missing-compiler-required-member-microsoft-csharp-runtimebinder-binder-convert

 

https://github.com/dotnet/roslyn/issues/16265

Show all comments