Hi Team,

 

We are trying to call custom service from Section Schema using ServiceHelper but it is showing and error "ServiceHelper.callService is not a function".

 

Please see the below screenshot

 

Please help in order to achieve this.

Many thanks.

Like 0

Like

6 comments

Hi Rahul,

 

Use the approach similar to the below:

define("ContactSectionV2", ["ServiceHelper"], function(ServiceHelper) {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		mixins: {},
		methods: {
			getSectionActions: function(){
				var actionMenuItems = this.callParent(arguments);
				ServiceHelper.callService({
					serviceName: "SocialSubscriptionService",
					methodName: "SubscribeUser",
					callback: function(response){
						console.log("Response from the SocialSubscriptionService in the ContactSectionV2");
						console.log(response);
					}
				});
			return actionMenuItems;
			}
		},
	};
});

I've received the response properly:

Best regards,
Oscar

Hi Oscar Dylan,

 

Thanks for the response, have tried the way you did it, but still getting the error. Please see the below screenshot.

 

 

Just for more information I have replaced the base Section schema(BaseSectionV2) and trying to do this on it.

 

Rahul,

 

Then you've either replaced the section incorrectly or you haven't added ServiceHelper module as a dependency to the replaced section. The error message itself states that ServiceHelper object is either null or undefined. Try also compiling your app. Please debug the logic. If everything is working properly using the code I shared, then it should work in your case.

 

Best regards,

Oscar

Rahul, 

Make sure the top of your section schema looks something like

define("BaseSectionV2", ["ServiceHelper"], function(ServiceHelper) {

Also, if you have multiple dependencies defined in the top, make sure the order of them line up correctly in the list in the brackets ["Thing1", "Thing2"] and in the parentheses (Thing1, Thing2)

If you're unsure, please post what the top of your section schema looks like here.

Ryan

Ryan Farley,

 

Please see the below header 

 

 

Thankyou

Rahul,

Change that to be the following instead:

define("BaseSectionV2", ["RightUtilities", "MaskHelper", "BaseSectionV2Resources", "ServiceHelper", "css!UsrVirSectionFieldChangeActionMsgContainerStyle"], 
    function(RightUtilities, MaskHelper, Resources, ServiceHelper) {

Basically, switch the "css!" and the "ServiceHelper" in the square brackets.

The order of the items in the square brackets [ ] must match the order of the items in the parentheses ( ). As you had it before, the order didn't match since the css item was before the ServiceHelper. When items are in the square brackets, you're telling the system to "load this thing". When you put a corresponding item in the parentheses, you're telling the system "when you load that thing in the square brackets, give me a reference to it in this variable". Hope that helps.

Ryan

Show all comments

Hello team,

 

Please see this code, and let me know where I am doing mistake.

As enable property of the action is set to false but the change is not reflecting.

 

 

Please help me with this.

 

Many thanks.

Like 0

Like

2 comments

Hi Rahul

 

In order to remove the "Actions" from the sections, you need to do the following:

 

1. Create replacing view module and choose the parent "BaseSectionV2"

 

 

2. Add the next code to this schema: 

 

 define("BaseSectionV2", [], function() {
  return {
    entitySchemaName: "",
    details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
    diff: /**SCHEMA_DIFF*/[
        {
              "operation": "remove",
        "name": "CombinedModeActionsButton"
        }
    ]/**SCHEMA_DIFF*/,
    methods: {}
    };
});

 

3. As the result, the button "Actions" will be removed from the sections:

 

 

If you want  to remove/hide the specific action from the collection, please refer to this post with the needed solution:

 

https://community.creatio.com/questions/how-hide-or-remove-actions-sect…

 

Best Regards, 

 

Bogdan L.

 

 

Hi Rahul,

 

You need to debug this logic and see what is passed to the check and if the needed items are receiving the desired Enabled property and value for it or not. I was able to disable the "Data import" action in the Contacts section using the code below:

and

Best regards,

Oscar

Show all comments

Hi Team,

 

I am applying a advanced filter on section on one of its detail let's say "Purcahse order" is the section and "PO Details" is the detail in purchase order section.

 

If on Purchase Order section page I will apply advanced filter on On PO Detail then only Numeric fields of PO Detail comes in drop down.

 

Please see the below screenshot, now here if I check the column dropdown then only numeric fields of PO detail will come why not text and lookup field of PO Details will come ? 

 

 

 

 

 

 

Like 0

Like

2 comments

Hello Akshit,

Unfortunately, there are no basic tools to implement your business task.

 

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 in order to increase its priority.  

 

Best regards,
Bogdan

Hello Akshit,

Since PO Details has a 1:many relationship with PO, you can only select fields where an aggregate is possible, meaning max, min, sum, etc. It's not possible to perform an aggregate on a text value, which is why they do not appear in that list. In order to achieve the filter you're after:

  1. Select "Quantity" from the list
  2. Then enter > 0 for the PO Details count (from #1 above)
  3. Now you can enter the conditions for the PO Details inside the condition of count > 0. The end result is it will look something like this:

Hope this helps.

Ryan

Show all comments

Hi All,

 

Unable to add a new detail in edit page, unable to get the column names in Object column field.

Attached the image for reference.

Thanks in Advance.

 

Regards,

Mansoor

Like 0

Like

1 comments

Hello Mansoor,

 

Thank you for your question!

 

Please, contact our support team via email support@creatio.com so that we could assist you better on this matter.

 

Kind regards,

Anastasiia

Show all comments

Hi team,

 

I have a the below request from the customers. please see the screenshot

 

where status = lookup field

 

Can anyone please help.

 

Many thanks.

Like 0

Like

1 comments

Hi Akshit, 

 

We don't have practical examples hiding "+" on the detail based on conditions, alternatively I can suggest you to use “isDetailEnabled” function. So you can set up enable/disable detail due to your business logic.

 

Please check out these posts to get more details on how to use this function: 

 

https://community.creatio.com/questions/block-details-based-condition

 

https://academy.creatio.com/docs/developer/elements_and_components/inte…

 

 

Best Regards, 

 

Bogdan L.

 

Show all comments

If I Click on link Button in Homepage getting new homepage window,

How to ignore opening new window

For Link button Code is

{
                    "operation": "insert",
                    "propertyName": "items",
                    "parentName": "ToolsTile",
                    "name": "",
                    "values": {
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "caption": {"bindTo": "Resources.Strings.CalculatorCaption"},
                        "click": {"bindTo": "onNavigateTocalculators"}
                    }
                },

Can you Suggest how to resolve this issue

Like 0

Like

3 comments

Dear Danyil Onoprienko,

My Question is not related to Creation of Button, It is related to LinkButton(Calculators) under SalesToolkit in HomePage,  Shown in below image.

 

Issue facing:- When click on Calculators(LinkButton), a new Homepage window is opening,  which is shown in the below image.

Please suggest me, How to ignore/Stop opening a new window Tab clicking on LinkButton(Calculators)

 

Using Link button Code is

{
                    "operation": "insert",
                    "propertyName": "items",
                    "parentName": "ToolsTile",
                    "name": "",
                    "values": {
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "caption": {"bindTo": "Resources.Strings.CalculatorCaption"},
                        "click": {"bindTo": "onNavigateTocalculators"}
                    }
                },

 

Dear Community,

 

Is there any update on this issue.

 

Thank you in advance.

Mansoor.

Show all comments

Hi Team,

 

Scenario Is  : 

When payment status = closed, lock all the details and fields of edit page for which I followed this article https://customerfx.com/article/completely-locking-a-page-via-code-including-all-controls-and-details-in-creatio-formerly-bpmonline/

and it works well.

 

but the issue is that user is able to delete the  detail record using the run business process element. please see the below screenshot.

 

How can modify the code so that only other users have no visibility of this run business process button based on the condition (payment status = closed) ?

 

Many thanks.

 

Like 0

Like

1 comments

Hello Akshit, 

 

Actually there are couple ways to hide it.

 

The first one - you can find the implementation of this button by inspecting it, get the name and find the schema where this button is located. Then create replacing view mode where parent object will be the page where this button is located. So add the next code to the new schema(but change captions and object/buttons names according to yours):

 

define("InvoiceSection", [], function() {
    return {
        entitySchemaName: "Invoice",
        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
        diff: /**SCHEMA_DIFF*/[{
                  "operation":"remove",
                  "name": "YourButtonName"
            },]/**SCHEMA_DIFF*/,
        methods: {}
    };
});

 

 

The second way - hide it with using CSS by "visibility: hidden;" or "display: none;". But for such implementation you also need to inspect this button and get its name. Please check out this post about the way to hide it with CSS style:

 

https://community.creatio.com/questions/how-remove-tag-button

 

And this one might be really helpful to get some additional info: 

 

https://community.creatio.com/questions/how-add-custom-style-control-pa…

 

Best Regards, 

 

Bogdan L.

 

 

Show all comments

Hi All,

 

We created a new duplicated rule, it is working on first time record is created but it is not working on modifying the attribute we used in the rule on same record.

Note: We checked the check box "Use this rule on save".

 

Can we call the Duplicate rule from C# or Java script?

 

Regards,

Raviraja

Like 0

Like

3 comments
Best reply

Hello Raviraja,
If you want the records being checked for duplicates not only when it's created, but every time it's modified, please create Replacing Schema for Base Entity Page and paste the following into it:

define("BaseEntityPage", [], function(DeduplicationConstants) {
	return {
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		messages: {},
		mixins: {},
		methods: {
 
			/**
			 * @inheritdoc Terrasoft.BaseEntityPage#asyncValidate
			 * @overridden
			 */
			asyncValidate: function(callback, scope) {
				this.callParent([function(result) {
					if (result.success && this.get("PerformSearchOnSave")) {
						this.findOnSave(callback, scope);
					} else {
						callback.call(scope, result);
					}
				}, this]);
			},
		},
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
	};
});

Please note, that it wil start duplicate check for every page on every change(even in the fields that are not being checked by your rule). 
You can use it as is or modify it so it fits your business task better. 

Best regards,
Yurii. 

Hello Raviraja,
If you want the records being checked for duplicates not only when it's created, but every time it's modified, please create Replacing Schema for Base Entity Page and paste the following into it:

define("BaseEntityPage", [], function(DeduplicationConstants) {
	return {
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		messages: {},
		mixins: {},
		methods: {
 
			/**
			 * @inheritdoc Terrasoft.BaseEntityPage#asyncValidate
			 * @overridden
			 */
			asyncValidate: function(callback, scope) {
				this.callParent([function(result) {
					if (result.success && this.get("PerformSearchOnSave")) {
						this.findOnSave(callback, scope);
					} else {
						callback.call(scope, result);
					}
				}, this]);
			},
		},
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
	};
});

Please note, that it wil start duplicate check for every page on every change(even in the fields that are not being checked by your rule). 
You can use it as is or modify it so it fits your business task better. 

Best regards,
Yurii. 

Thanks for the reply Yurii,

 

Can we modify this for to rule only for the desired field?

Can't we call a specific rule from frontend script?

 

thanks!

Yedla Ravi Raja,

Since you replace Base Entity Page, all child schemas will also inherit the same behavior. 
If you'd like to call deduplication for specific pages please add this method to the page you need. 
Also, this method calls the search itself, not specifying the rules.  
Best regards, 
Yurii

Show all comments

Hi Creatio Team,

 

I followed all the relevant steps shown in the documentation of Creatio Mobile App setup and have got and stored the files necessary for debugging the mobile application in my system and also have made the necessary changes in the .bat file present in it to launch google chrome portable 79 which has its folder stored in D drive.

 

But , When I run start_webkit_emulator.bat  file to launch the Google Chrome with the settings page of Mobile Creatio application, Once I log in to the instance It shows server error as follows:

 

Please Help me resolve this issue as soon as possible. 

 

Thanks in advance

Sarika

Like 0

Like

3 comments

Dear Sarika,

 

Thank you for your question!

 

This error is not related to the Google Chrome Portable issues, but rather to the website you are trying to connect.

 

You may find more information on this error if you would press F12 in the browser`s console.

 

Have you installed the Pharma (Field Force) Marketplace extension lately?

If so, we would recommend deleting it and the navigating to this link and downloading a fresh new version of Pharma that has all the fixes applied to it (as we have has cases when the Mobile Application website has not been accessible because of some errors in Pharma`s schemas):

https://marketplace.creatio.com/app/pharma-creatio

https://marketplace.creatio.com/app/field-sales-creatio

 

If the error persists, we recommend contacting us at support@creatio.com 

 

Hope this clarifies!

Thank you!

 

Regards,

 

Danyil

 

Danyil Onoprienko,

 

I tried to login multiple times with my localhost creatio instance that has its username and password both as 'Supervisor' which is very general. Also I have checked the same instance on Other Chrome versions also.Therefore, there is nothing wrong with the username, password or the site which I'm trying to work on.

 

Also, I tried using demo login also which is there on the login page of mobile creatio tab in google chrome portable 79 but it shows the same server error problem. 

 

The error in the console window is as below:

 

Please provide me a solution for this asap.

 

Sarika Sharma,

 

Thank you for letting us know!

 

In this case, please try:

1. Using your IP address rather than "localhost";

2. Transferring your website to HTTPS: https://academy.creatio.com/docs/user/setup_and_administration/on-site_…

3. Check the "Session state" in your IIS; 

4. Check the cookies mode - make sure that it is set up to [Use cookies] and that the [auto] mode is turned off

 

Hope this helps!

 

Regards,

 

Danyil 

 

Show all comments

Hi Team,

 

My task is  : 

When Registration Status = Approved and Duplicate Records Exist then I have to show the Duplicate Records to the User On Some MessageBox and Take input from him/her wether he want to save the record or not 

 

Please see this image below : 

 

I want to show the records(in the detail highlighted in red) in message box and ask user whether to save the record on not ?

 

Please help me, How can I achieve this ?

 

Many thanks.

 

Like 0

Like

1 comments

Hello,

 

Here is code example of two methods that can be added on the edit page schema for your reference:

 

onCardAction: function(){
    this.callParent(arguments);
    var actionId = arguments[0];
    if (actionId=="save"){
        this.onSaveButton();
    }
},

onSaveButton: function() {
    var recordStatus = this.get("LookupCommunicationChannels").displayValue;
    var message="";
    var currentContactId = this.get("Id");
    if (recordStatus == "Email") {
        var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
            rootSchemaName: "UsrDetailTest"
        });
        esq.addColumn("UsrLsOurAccount", "OurAccount");
        esq.addColumn("Name", "Name");
        esq.addColumn("UsrContact");
        esq.filters.addItem(esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "UsrContact", currentContactId));
        esq.getEntityCollection(function(result) {
            if (!result.success) {
                this.showInformationDialog("Data query error");
                return;
            }
            result.collection.each(function (item) {
                message += "Detail name: " + item.get("Name") +
                " OurAccount: " + item.get("OurAccount") + "\n";
            });
            this.showInformationDialog(message);
        }, this);
    }
}

 

Once you click "Save" button after filling the Registration Status, you will get message in the dialog window that contains the records from the detail. 

 

Best Regards,
Tetiana Bakai 

Show all comments