I have created a custom package and added all the necessary modules required for applying business rules in it.
I have then created a custom module with the business rule and added this module inside the ModelExtension attribute of required model[UsrPurchaseOrders] in MobileApplicationManifestDefaultWorkplace.
and the logic is that if the contact specified in the UsrContact column is not Andrew Baker (sample) then the UsrStringColumn column should be deactivated. And the only difference between our scenarios is that the application pool for the app should be restarted once you apply all the changes in your custom module and include this module into the manifest. So please restart the application pool in IIS if this is on-site app or contact us at support@creatio.com if this is a cloud app. On my side the rule works as expected (using 7.16.4 version):
Following this post I was able to set most fields i needed to rich text however no matter what I try the case description field will not change to rich text. Any ideas on what to try to make it rich text?
I've found that if your element in the diff is a merge, changing the contentType doesn't always work. Since the case description is a field that already exists on the case page, I assume it's in the diff with "operation": "merge". Try this instead, delete the description field from the page, then re-add it again. Now, it will show as an insert in the diff. Add your
I've found that if your element in the diff is a merge, changing the contentType doesn't always work. Since the case description is a field that already exists on the case page, I assume it's in the diff with "operation": "merge". Try this instead, delete the description field from the page, then re-add it again. Now, it will show as an insert in the diff. Add your
Thanks Ryan, I have the same problem. In the merge element to this field, I modify my DIFF block to the Symptom column, but nothing happens in the app, it continue receiving data as clear text, not Rich Text
The whole block I have forthis field in my DIFF is:{// JFALCON, enable Rich Text?"operation":"merge",
"name":"Symptoms",
"contentType":this.Terrasoft.ContentType.RICH_TEXT,
"controlConfig":{"imageLoaded":{"bindTo":"insertImagesToNotes"},
"images":{"bindTo":"NotesImagesCollection"}},
"values":{"layout":{"colSpan":24,
"rowSpan":3,
"column":0,
"row":1},
"enabled":true,
"labelConfig":{"visible":true}}}, // FIN
Changing the content type for a merge in the diff never seems to work for me. The only way I can get this to work for existing fields such as Symptoms is to remove the out of the box field from the page, then re-add it again. This way, it's no longer a merge and instead an insert (which does work).
Thanks Ryan, it didn't works to me :-(, so I open a Ticket with Creatio support, they are testing, you can see what I'm getting now here https://prnt.sc/YafjMFjshHdJ, they change the DIFF code I had by this one, but not results
In the case registration where I'm implementing the rich text to Case Description, it just works when I register a case manually, and paste a rich text to Case description.
But when I receive an email to open a case, the email body is not stored in Rich text, at least with the implemented configuration.
What else need to configure to enable email body store in rich text in Case Description?
Is it possible to create an email template (email templates lookup) that has fixed attachments such as a ms word or ms excel file? For my use case this would be for emails being sent OUT of Creatio from a synced mailbox TO external customers who do not access Creatio, instead they just receive an email to their normal email service such as gmail or outlook.
There is no option to get the url of the preconfigured page anymore due to the error we had in earlier versions. The new versions do not generate the url on purpose to prevent the pages from being opened in different browser window as there users would get this error.
we need to return some user-friendly result from anonymous service method, not Json or Xml. Use case is as follows: end user receives email with link, which is opened in browser. So we need to return some Html page from the method, or link to static content that will inform user about result of his action. Something in a way, as is implemented for the case-rating (see screenshot)
Is there a suggested method to implement such behavior?
Alas, this is an unsafe approach to use an anonymous web-service to return an HTML-page. This may do harm to the user's data and safety. Could you please specify if an anonymous web-service is the only preferable method for you?
Here is also an option to perform your task using a configuration web-service. Please find the instruction by the link below:
for the task at hand it's preferable for us to use anonymous web-service. It will have limited endpoints for sure, and with action validation. Simplified business flow is that internal user receives some question with yes/no selection (two links, with user-specific id's for each case), clicks on one of them => application receives this answer and returns some message to the user that will notify him/her that the answer was stored successfully or not. We want to use anonymous web-service to improve user experience - not to force them to login to system for such actions.
Thanks for you suggestion, but unfortunately I can't seem to the answer for my question here. In example there is ResponseFormat = WebMessageFormat.Json (or Xml) which is not suitable for task at hand - they are parsed in not user-friendly response by browser.
What I was asking, if there is a possibility to return any user-friendly response from the service method(could be as well redirection link to some statically stored image which will hold the message that user should receive).
ok, I got your consern about using anonymous web service. But how can I return link to html page from general service, which you've suggested to use in your first comment? I can't seem to find the solution myself
We have been looking for the correct solution for your purpose. The best way to return the HTML-page without authentication and without threatening to system safety, at the same time, is to create a static HTML page.
Please put it to your root project directory: Terrasoft.WebApp > Nui
Then, a user will be able to open it as a standard HTML web page.
I have a Product section where I can select an account and a contact for the product and I've created a "Test section" section where the "UsrProduct" column represents the Product section. As a result I receive this result in this lookup:
since there are only two products in the products section that have "Our company" specified as an account and "123" specified as a contact:
As for using the DISTINCT statement - it's way more better to have products being connected to one contact and one account per one product since it reduces the possibility that incorrect product is chosen in the lookup.
I have to perfrom filtration in section A , product(is a lookup on section B) column based on the selection of Account and contact.
In section B, I have Account, contact and product (is a lookup on Product section).
Using BP I am updating the name column in section B from the product selected. The case is that there will be more than one record where I can have same account, contact and product selected in section B as you can see [A-B-C] in the screenshot.
In this case, In section A if I select A as account, B as contact then I got C two times.
Such pages can be opened only for users. However, you can create a cycle that will read all users and show page to each of them. Also, you can use collections and add the page to sub-process, forward collection of users in role to process. This will create as many pages as users in the role.
Lot of times I see people talking about asyncValidate method for resolving asynchronous calling issues.
For ex.
I understand callback concept in javascript but I found it very difficult to understand the use of callback in asyncValidate base method.
I have gone through BaseEditPage, DocumentPageV2 and many more where base asyncValidate has been implemented, but still I didn't understand how these callback and scope are working here specifically.
Can someone refer me to any video/article where someone from creatio(creatio developer) are explaining this?
I'm not "someone from Creatio (Creatio developer)", but I'll mention that a page in Creatio has many layers each layer might have fields they need to validate. For example, let's say you customize the Account page and add an asyncValidate. Your customized version of the Account page is a layer on top of the base Account page. If the base Account page also needs to use asyncValidate, there needs to be some way to chain all of these async functions together, so it knows when they are all done and can continue with the save or not. So, when one of the asyncValidate functions complete, it executes the callback so that the next "layer" of the page can run it's asyncValidate. This is how it chains these async functions together, by passing the callback of the next one to the function, so it can tell the next one when they can run (by executing the callback). Does that make sense?