It's possible. Default values can be set via configuration for all replaced objects. For example, if I want to set the default Account for Orders I create replaced object for Order and specify it in the default value field. It can be selected from existing values, system settings, or variables.
Please note that if the selected default value is removed or the type of system variable and lookup is different it can lead to different issues so do not select values that can or will be deleted.
I need to alter the file upload so that certain attachments are saved to an external system rather than the Creatio database. I need to know the schema and methods that handle the upload and download of files in the freedom UI so that I can modify it as needed.
In our case the need is to implement an integration with a third party document storage solution which has its own API.
Is it recommended to use the Creatio File API(reference below) for such a use case? . And if so, how do I configure Creatio to make it use the custom developed File API instead of the out of the box attachment functionality?
We have 2 different types of rates for Customers. One is when the Order date is within Weekdays (Monday-Friday) and the other is for Weekends (Sat-Sun). We have an Order date/time field in our orders. Now is it possible to write a formula that finds out that using that date/time field to determine if the day is Weekday, then it uses the Weekday rate in the business process otherwise it uses the weekend rate?
I am looking into DayOfWeek() function but am unsure how to use it in the process. Also, this page is created in Freedom UI if that makes any difference. Thanks in advance!
Is it possible to refresh of a page (Freedom UI Page) through the business process? Currently, we have multiple business processes running in our Freedom UI Order page and the client has to do a manual refresh every time. So I was wondering if it's possible to automate it as well through the process? I know that it is possible in Classic UI and I have seen the Marketplace app for it as well but that doesn't work in Freedom UI. So any ideas?
I do wish it would return the ID, however, since it *can* create multiple files for whatever matches the filter conditions it's not always a single ID or file created.
What I typically do is do a read immediately after for attachments on the record, sorted by Created On desc, and also use the Name of the file based on the naming of the printable used. It's not ideal but has worked for me.
I will re-upload the Console Response , because the text file can not be opened.
{"errorInfo":{"errorCode":"NullReferenceException",
"message":"Object reference not set to an instance of an object.",
"stackTrace":" at Terrasoft.Core.AppConnection.get_S3ConnectionParameters()\r\n at Terrasoft.File.S3.Settings.S3ConnectionSettingsProvider..ctor(AppConnection appConnection)\r\n at DynamicInjectord7776e6fbfbf47f3aaef1f7b3f02b5c5(Object[] )\r\n at Ninject.Activation.Context.ResolveInternal(Object scope)\r\n at Ninject.Activation.Context.Resolve()\r\n at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)\r\n at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)\r\n at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at Ninject.Activation.Providers.StandardProvider.Create(IContext context)\r\n at Ninject.Activation.Context.ResolveInternal(Object scope)\r\n at Ninject.Activation.Context.Resolve()\r\n at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)\r\n at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)\r\n at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at Ninject.Activation.Providers.StandardProvider.Create(IContext context)\r\n at Ninject.Activation.Context.ResolveInternal(Object scope)\r\n at Ninject.Activation.Context.Resolve()\r\n at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)\r\n at Terrasoft.Core.Factories.ClassFactory.<>c__DisplayClass16_0.<Get>b__0()\r\n at Terrasoft.Core.Factories.ClassFactory.GetInstance[T](Func`1 action)\r\n at Terrasoft.File.StorageInstanceFactory.CreateContentStorage(FileMetadata fileMetadata)\r\n at Terrasoft.File.File`2.<InvokeOnContentStorage>d__32.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Terrasoft.File.File`2.<WriteAsync>d__45.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Terrasoft.Common.Threading.AsyncPump.Run(Func`1 asyncMethod)\r\n at Terrasoft.Configuration.FileUpload.FileUploader.Upload(IFileUploadConfig fileUploadConfig)\r\n at Terrasoft.Configuration.FileUpload.FileUploader.UploadFile(IFileUploadConfig fileUploadInfoConfig)\r\n at Terrasoft.Configuration.FileUpload.FileUploader.UploadFile(IFileUploadInfo fileUploadInfo, Boolean isSetCustomColumns)\r\n at Terrasoft.Configuration.FileApiService.UploadFile(Stream fileContent)"},
"success":false,
"nextPrcElReady":false,
"queryId": null,
"responseStatus":{"ErrorCode":"NullReferenceException",
"Message":"Object reference not set to an instance of an object.",
"StackTrace":" at Terrasoft.Core.AppConnection.get_S3ConnectionParameters()\r\n at Terrasoft.File.S3.Settings.S3ConnectionSettingsProvider..ctor(AppConnection appConnection)\r\n at DynamicInjectord7776e6fbfbf47f3aaef1f7b3f02b5c5(Object[] )\r\n at Ninject.Activation.Context.ResolveInternal(Object scope)\r\n at Ninject.Activation.Context.Resolve()\r\n at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)\r\n at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)\r\n at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at Ninject.Activation.Providers.StandardProvider.Create(IContext context)\r\n at Ninject.Activation.Context.ResolveInternal(Object scope)\r\n at Ninject.Activation.Context.Resolve()\r\n at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)\r\n at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)\r\n at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at Ninject.Activation.Providers.StandardProvider.Create(IContext context)\r\n at Ninject.Activation.Context.ResolveInternal(Object scope)\r\n at Ninject.Activation.Context.Resolve()\r\n at Ninject.KernelBase.Resolve(IRequest request, Boolean handleMissingBindings)\r\n at Terrasoft.Core.Factories.ClassFactory.<>c__DisplayClass16_0.<Get>b__0()\r\n at Terrasoft.Core.Factories.ClassFactory.GetInstance[T](Func`1 action)\r\n at Terrasoft.File.StorageInstanceFactory.CreateContentStorage(FileMetadata fileMetadata)\r\n at Terrasoft.File.File`2.<InvokeOnContentStorage>d__32.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Terrasoft.File.File`2.<WriteAsync>d__45.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Terrasoft.Common.Threading.AsyncPump.Run(Func`1 asyncMethod)\r\n at Terrasoft.Configuration.FileUpload.FileUploader.Upload(IFileUploadConfig fileUploadConfig)\r\n at Terrasoft.Configuration.FileUpload.FileUploader.UploadFile(IFileUploadConfig fileUploadInfoConfig)\r\n at Terrasoft.Configuration.FileUpload.FileUploader.UploadFile(IFileUploadInfo fileUploadInfo, Boolean isSetCustomColumns)\r\n at Terrasoft.Configuration.FileApiService.UploadFile(Stream fileContent)",
"Errors": null,
"Meta": null
},
"rowsAffected":-1}
Hi Everyone. I have a custom Orders screen, in which we assign orders to different catchers. So we simply have a list of catchers from which we can select catchers and then populate them in the below list. But we are looking to further move to an advance level. Our plan is to somehow show list of catchers that are available and not available. Initially we planned to display 2 different lists, one those are available and second that are not available while making a record in our Orders.
The availability depends upon the catcher. If the catcher is in a previous order with time less 12 hours. Then he is not available. Is this possible within Creatio? If so, then a short guide to how it is possible would be great! Thanks!
It looks like you didn't create an attachment detail properly.
In this situation, it is better to create a section via "Section Wizard" based on your detail object, and in there use attachment detail. After creating a section you can just hide it from a workplace and customize the page as you need.
On our contact page we have business rules regulating the business & mobile phone.
If mobile phone not filled in, business phone is mandatory and vice versa.
On classic UI page, the mandatory " * " signal dynamically disappears when filling in the form.
This does not happen on the new Freedom UI minipage, in the picture here below, the * should have disappeared in front of mobile phone, as the business phone is filled in.
(It will properly save though, in terms of data, the business rules work).
We have checked your request and unfortunately it is not possible to set a phone mask with a certain code by default at the moment, but I registered this idea for our developers so that they would consider the possibility of implementing such functionality in future releases.
This new dropdown list always defaulting to US is actually a decrease towards poorer UI experience vs blank field we used to have (more clicks, slowed down input)
Especially that you cannot type in the country code +41 and it "naturally" goes to the right country, you need to do a manual letter search each time.
On a positive note --> it makes sure everyone fills in the country codes now and the numbers show in the correct format of the country.
Yes, our clients are still asking how can we change the default country, does not make sense for all the international users to be stuck on USA as default. Any update ?
Do you know in wich table is the phone codes?, I want in the meantime delete all countries not needed to made easier found the country codes we usually need.
Or another way to disable/delete not needed phone codes?
Hi Luis, the only way I have found is to define, in the object to which the phone numbers belong, the default value with the prefix you need.
The problem, is that when saving the record, all phone numbers are saved with that prefix, whether the user has filled them a number or not.
Then if you decide to do something with the uncompleted numbers, with a process with a start signal regarding edited record or new record and if the phone numbers have not been filled decide what to do with them, keep as they are or reset to an empty phone number ...