7.2.23.1.1 Hidden Tab Rules in Campaign Builder
- 1 What are Hidden Tab Rules in Campaign Builder
- 2 List of Hidden Tab Rules
- 2.1 Rule 1: "ADvendio Rules - Linear packages (Child)"
- 2.1.1 Definition
- 2.1.2 Technical definition/code
- 2.2 Rule 2: "ADvendio Rules - Individual packages (Parent)"
- 2.2.1 Definition
- 2.2.2 Technical definition/code
- 2.3 Rule 3: "ADvendio Rules - Individual packages (Child) - 1"
- 2.3.1 Definition
- 2.3.2 Technical definition/code
- 2.4 Rule 4: "ADvendio Rules - Individual packages (Child) - 2"
- 2.4.1 Definition
- 2.4.2 Technical definition/code
- 2.5 Rule 5: "ADvendio Rules - Individual packages (Child) - 3"
- 2.5.1 Definition
- 2.5.2 Technical definition/code
- 2.6 Rule 6: "ADvendio Rules - Prorated packages (Parent)"
- 2.6.1 Definition
- 2.6.2 Technical definition/code
- 2.7 Rule 7: "ADvendio Rules - Prorated packages (Child)"
- 2.7.1 Definition
- 2.7.2 Technical definition/code
- 2.8 Rule 8: "ADvendio Rules - Connected item"
- 2.8.1 Definition
- 2.8.2 Technical definition/code
- 2.9 Rule 9: "ADvendio Rules - Connected item (Child)"
- 2.9.1 Definition
- 2.9.2 Technical definition/code
- 2.10 Rule 10: "ADvendio Rules - Disabled Split Action (Parent)"
- 2.10.1 Definition
- 2.10.2 Technical definition/code
- 2.11 Rule 11: "ADvendio Rules - Disabled Split Action (Child)"
- 2.11.1 Definition
- 2.11.2 Technical definition/code
- 2.12 Rule 12: "ADvendio Rules - Net Calculation Hide Target Net - 1"
- 2.12.1 Definition
- 2.12.2 Technical definition/code
- 2.13 Rule 13: "ADvendio Rules - Read-only fields for Budget Billing Category"
- 2.13.1 Definition
- 2.13.2 Technical definition/code
- 2.14 Rule 14: "With a selected rebate in kind condition applied, the special discount is read-only"
- 2.14.1 Definition
- 2.14.2 Technical definition/code
- 2.15 Rule 15: "For not new items with a selected rebate in kind condition applied (new structure), the quantity is read-only"
- 2.15.1 Definition
- 2.15.2 Technical definition/code
- 2.16 Rule 16: "For not new items with a selected rebate in kind condition applied (old structure), the quantity is read-only"
- 2.16.1 Definition
- 2.16.2 Technical definition/code
- 2.17 Rule 17: "For items without Rate Steps, Rate Calculation Quantity is hidden - 1"
- 2.17.1 Definition
- 2.17.2 Technical definition/code
- 2.18 Rule 18: "ADvendio Rules - Set Ad Price and Media Campaign as read-only - Parent"
- 2.18.1 Definition
- 2.18.2 Technical definition/code
- 2.1 Rule 1: "ADvendio Rules - Linear packages (Child)"
What are Hidden Tab Rules in Campaign Builder
Â
Hidden Tab Rules in Campaign Builder refer to a set of predefined instructions that control how various elements behave within a campaign management system. These instructions are vital for maintaining data accuracy and consistency, especially when dealing with packages and individual items.
Hidden Tab Rules determine which fields can't be changed, which actions are hidden, or how child records behave based on specific criteria to ensure a smooth and controlled operation.
You can find these rules in the campaignBuilderConfigs.js file under the TAB_RULES section.
List of Hidden Tab Rules
Rule 1: "ADvendio Rules - Linear packages (Child)"
If the rule matches with a Linear item (Parent), it’ll set some fields of its child records as read-only.
Definition
ADvendio Rules - Linear packages (Child)
:
with logicalConnector AND
(all conditions should be met):
when the 3 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Linear
with applyRuleInChildItem: true
: If it matches with a parent record, then apply the following changes in its child records:
make read-only the following fields:
from_until
advendio__from_date__c
advendio__until_date__c
advendio__quantity__c
advendio__sales_price__c
advendio__guaranteed_ai__c
advendio__frequency__c
advendio__clickrate__c
advendio__ac__c
advendio__rate_discount_2_custom__c
advendio__rate_discount_3_custom__c
advendio__rate_discount_4__c
advendio__surchargesalesprice__c
advendio__surchargeb3__c
advendio__surchargeb3abs__c
advendio__surchargeb2__c
advendio__surchargeb2abs__c
advendio__agency_commission__c
advendio__thirdpartycommissioncustom__c
advendio__quantity_discount_custom__c
advendio__targetnet__c
advendio__budgetn2__c
Technical definition/code
{
name: "ADvendio Rules - Linear packages (Child)",
logicalConnector: "AND",
conditions: [
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername",
operator: "==",
value: "Packet"
},
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix",
operator: "==",
value: "ADvendio"
},
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c",
operator: "==",
value: "Linear"
}
],
applyRuleInChildItem: true,
readonlyFields: [
"from_until",
"advendio__from_date__c",
"advendio__until_date__c",
"advendio__quantity__c",
"advendio__sales_price__c",
"advendio__guaranteed_ai__c",
"advendio__frequency__c",
"advendio__clickrate__c",
"advendio__ac__c",
"advendio__rate_discount_2_custom__c",
"advendio__rate_discount_3_custom__c",
"advendio__rate_discount_4__c",
"advendio__surchargesalesprice__c",
"advendio__surchargeb3__c",
"advendio__surchargeb3abs__c",
"advendio__surchargeb2__c",
"advendio__surchargeb2abs__c",
"advendio__agency_commission__c",
"advendio__thirdpartycommissioncustom__c",
"advendio__quantity_discount_custom__c",
"advendio__targetnet__c",
"advendio__budgetn2__c"
]
}
Rule 2: "ADvendio Rules - Individual packages (Parent)"
If the rule matches with an Individual item (parent), then it’ll make read-only and hide some fields in that record.
Definition
ADvendio Rules - Individual packages (Parent)
:
with logicalConnector AND
(all conditions should be met):
when the 3 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Individual
with applyRuleInChildItem: false
: If it matches with a parent record, then apply the following changes in the parent record:
make read-only the following fields:
from_until
advendio__from_date__c
advendio__until_date__c
advendio__quantity__c
advendio__sales_price__c
advendio__guaranteed_ai__c
advendio__frequency__c
advendio__clickrate__c
advendio__rate_discount_2_custom__c
advendio__rate_discount_3_custom__c
advendio__rate_discount_4__c
advendio__rate_discount_1__c
advendio__quantity_discount_custom__c
advendio__surchargesalesprice__c
advendio__surchargeb3__c
advendio__surchargeb3abs__c
advendio__surchargeb2__c
advendio__surchargeb2abs__c
advendio__thirdpartycommissioncustom__c
advendio__targetnet__c
advendio__budgetn2__c
Technical definition/code
{
name: "ADvendio Rules - Individual packages (Parent)",
logicalConnector: "AND",
conditions: [
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername",
operator: "==",
value: "Packet"
},
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix",
operator: "==",
value: "ADvendio"
},
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c",
operator: "==",
value: "Individual"
}
],
applyRuleInChildItem: false,
readonlyFields: [
"from_until",
"advendio__from_date__c",
"advendio__until_date__c",
"advendio__quantity__c",
"advendio__sales_price__c",
"advendio__guaranteed_ai__c",
"advendio__frequency__c",
"advendio__clickrate__c",
"advendio__rate_discount_2_custom__c",
"advendio__rate_discount_3_custom__c",
"advendio__rate_discount_4__c",
"advendio__rate_discount_1__c",
"advendio__quantity_discount_custom__c",
"advendio__surchargesalesprice__c",
"advendio__surchargeb3__c",
"advendio__surchargeb3abs__c",
"advendio__surchargeb2__c",
"advendio__surchargeb2abs__c",
"advendio__thirdpartycommissioncustom__c",
"advendio__targetnet__c",
"advendio__budgetn2__c"
]
}
Rule 3: "ADvendio Rules - Individual packages (Child) - 1"
If the rule matches with an Individual item (parent), then it’ll make read-only some fields in child records.
Definition
ADvendio Rules - Individual packages (Child) - 1
:
with logicalConnector AND
(all conditions should be met):
when the 3 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Individual
with applyRuleInChildItem: true
: If it matches with a parent record, then apply the following changes in child records:
make read-only the following fields:advendio__rate_discount_1__c
advendio__agency_commission__c
advendio__ac__c
Technical definition/code
{
name: "ADvendio Rules - Individual packages (Child)",
logicalConnector: "AND",
conditions: [
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername",
operator: "==",
value: "Packet"
},
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix",
operator: "==",
value: "ADvendio"
},
{
fieldpath:
"advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c",
operator: "==",
value: "Individual"
}
],
applyRuleInChildItem: true,
readonlyFields: [
"advendio__rate_discount_1__c",
"advendio__agency_commission__c",
"advendio__ac__c"
]
}
Rule 4: "ADvendio Rules - Individual packages (Child) - 2"
If the rule matches with an Individual item (parent), then it’ll make read-only a field in child records and it will also set an action as hidden.
Definition
ADvendio Rules - Individual packages (Child) - 2
:
with logicalConnector AND
(all conditions should be met):
when the 4 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Individual
advendio__ad_price__r.advendio__ad_Spec__r.advendio__fixedquantitypackage__c
==
true
with applyRuleInChildItem: true
: If it match with a parent record, then apply the following changes in child records:
make read-only the following field:
advendio__quantity__c
hide the following action:
delete
Technical definition/code
Â
Rule 5: "ADvendio Rules - Individual packages (Child) - 3"
If the rule matches with an Individual item (parent), then it’ll set an action as hidden.
Definition
ADvendio Rules - Individual packages (Child) - 2
:
with logicalConnector AND
(all conditions should be met):
when the 3 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Individual
with applyRuleInChildItem: true
and
with sublogicalConnector AND
(all conditions should be met):
when 1 condition is met:
advendio__componentoptional__c
!=
true
If it matches with a parent record and child record at the same time, then apply the following changes in child records:
hide the actions:
delete
copy
Technical definition/code
Rule 6: "ADvendio Rules - Prorated packages (Parent)"
If the rule matches with a Prorated item (parent), then it’ll make read-only some fields in that record.
Definition
ADvendio Rules - Prorated packages (Parent)
:
with logicalConnector AND
(all conditions should be met):
when the 3 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Prorated
with applyRuleInChildItem: false
: If it match with a parent record, then apply the following changes in the parent record:
make read-only the following fields:
advendio__ratediscount3abs__c
advendio__thirdpartycommissionabs__c
Technical definition/code
Rule 7: "ADvendio Rules - Prorated packages (Child)"
If the rule matches with a Prorated item (parent), then it’ll make read-only and hide some fields in child records.
Definition
ADvendio Rules - Prorated packages (Child)
:
with logicalConnector AND
(all conditions should be met):
when the 3 conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
==
Packet
advendio__ad_price__r.advendio__ad_spec__r.recordtype.namespaceprefix
==
ADvendio
advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
==
Prorated
with applyRuleInChildItem: true
: If it match with a parent record, then apply the following changes in child records:
make read-only the following field:
from_until
advendio__from_date__c
advendio__until_date__c
advendio__quantity__c
advendio__sales_price__c
advendio__guaranteed_ai__c
advendio__frequency__c
advendio__clickrate__c
advendio__ratediscount1abscustom__c
advendio__ratediscount2abscustom__c
advendio__ratediscount3abscustom__c
advendio__ratediscount4abscustom__c
advendio__quantity_discount_custom__c
advendio__surchargeb3abs__c
advendio__surchargeb2abs__c
advendio__thirdpartycommissioncustom__c
advendio__thirdpartycommissioncustom__c
advendio__agency_commission__c
advendio__ac__c
advendio__ratediscount3abs__c
advendio__thirdpartycommissionabs__c
advendio__targetnet__c
advendio__budgetn2__c
Technical definition/code
Rule 8: "ADvendio Rules - Connected item"
If the rule matches with an Individual item (parent), then it’ll set an action as hidden.
Definition
ADvendio Rules - Connected item
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
advendio__connecteditem__c
!=
NULL
with applyRuleInChildItem: false
: If it matches with a parent record, then apply the following changes:
hide the actions:
delete
Technical definition/code
Â
Rule 9: "ADvendio Rules - Connected item (Child)"
If the rule matches with an Individual item (parent), then it’ll set an action as hidden in the child records.
Definition
ADvendio Rules - Connected item (Child)
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
user.isactive
==
TRUE
with subLogicalConnector AND
(all conditions should be met):
when the subConditions are met:
advendio__connecteditem__c
!=
NULL
with applyRuleInChildItem: true
: If it matches with a parent record, then apply the following changes in child records:
hide the actions:
delete
Technical definition/code
Rule 10: "ADvendio Rules - Disabled Split Action (Parent)"
If the rule matches with a Package item (parent), then it’ll set an action as hidden in the record.
Definition
ADvendio Rules - Disabled Split Action (Parent)
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername == Packet
with applyRuleInChildItem: false
: If it matches with a parent record, then apply the following changes in the parent record:
hide the actions:
split
Technical definition/code
Rule 11: "ADvendio Rules - Disabled Split Action (Child)"
If the rule matches with a Package item (parent), then it’ll set an action as hidden in the child records.
Definition
ADvendio Rules - Disabled Split Action (Child)
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername == Packet
with applyRuleInChildItem: true
: If it matches with a parent record, then apply the following changes in child records:
hide the actions:
split
Technical definition/code
Rule 12: "ADvendio Rules - Net Calculation Hide Target Net - 1"
If the rule matches with an Item (parent or child in a package or not a package item), then it’ll make the field advendio__targetnet__c
hidden in that record.
Definition
ADvendio Rules - Net Calculation Hide Target Net - 1
:
with logicalConnector OR
(any condition could be met):
when any of the conditions are met:
advendio__billing_category__c == Fixed Price
advendio__billing_category__c == CPD
advendio__billing_category__c == CPW
advendio__billing_category__c == CPMo
advendio__billing_category__c == CPY
with applyRuleInChildItem: false
: If it matches with a parent record, then apply the following changes in the parent record:
make hidden the following fields:
advendio__targetnet__c
Technical definition/code
Rule 13: "ADvendio Rules - Read-only fields for Budget Billing Category"
If the billing category is Budget
, then it’ll make the fields ADvendio__Quantity__c
and ADvendio__DistributionUnit__c
hidden in that record.
Definition
ADvendio Rules - Read-only fields for Budget Billing Category
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
advendio__billing_category__c == Budget
with applyRuleInChildItem: false
: If it matches with a parent record, then apply the following changes in the parent record:
make hidden the following fields:
"ADvendio__Quantity__c"
"ADvendio__DistributionUnit__c"
Technical definition/code
Rule 14: "With a selected rebate in kind condition applied, the special discount is read-only"
If the item has an applied commitment condition that is rebate in kind (as a field or a related record), then it’ll make the fields ADvendio__Rate_Discount_4__c
readOnly in that record.
Definition
ADvendio Rules - With a selected rebate in kind condition applied, the special discount is read-only
:
with logicalConnector OR
(any condition could be met):
when the conditions are met:
advendio__rebateinkindcondition__c != NULL
ISREBATEINKIND()
make read only the following fields:
"ADvendio__Rate_Discount_4__c"
Technical definition/code
Â
Rule 15: "For not new items with a selected rebate in kind condition applied (new structure), the quantity is read-only"
If the item is new and has an applied commitment condition that is rebate in kind (as a related record), then it’ll make the fields ADvendio__Quantity__c
readOnly in that record.
Definition
ADvendio Rules - For not new items with a selected rebate in kind condition applied (new structure), the quantity is read-only
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
record.isNew == TRUE
ISREBATEINKIND()
make read only the following fields:
"ADvendio__Quantity__c"
Technical definition/code
Rule 16: "For not new items with a selected rebate in kind condition applied (old structure), the quantity is read-only"
If the item is new and has an applied commitment condition that is rebate in kind (as a field), then it’ll make the fields ADvendio__Quantity__c
readOnly in that record.
Definition
ADvendio Rules - For not new items with a selected rebate in kind condition applied (old structure), the quantity is read-only
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
record.isNew == TRUE
advendio__rebateinkindcondition__c != NULL
make read only the following fields:
"ADvendio__Quantity__c"
Technical definition/code
Rule 17: "For items without Rate Steps, Rate Calculation Quantity is hidden - 1"
If the ad price assigned to the item doesn’t have any applicable rate step (advendio__ad_price__r.advendio__totalapplicableratesteps__c
= 0), then it’ll hide the field ADvendio__RateCalculationQuantity__c
for that record.
Definition
ADvendio Rules - For items without Rate Steps, Rate Calculation Quantity is hidden - 1
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
advendio__ad_price__r.advendio__totalapplicableratesteps__c == 0
hide the following field:
"ADvendio__RateCalculationQuantity__c"
Technical definition/code
Â
Rule 18: "ADvendio Rules - Set Ad Price and Media Campaign as read-only - Parent"
Always make the fields ADvendio__Ad_Price__c
, ADvendio__Media_Campaign__c
and CurrencyIsoCode
read-only for Child Items
Definition
ADvendio Rules - Set Ad Price and Media Campaign as read-only - Child
:
with logicalConnector AND
(all conditions should be met):
when the conditions are met:
user.isactive == true
make read only the following fields:
"ADvendio__Ad_Price__c"
"ADvendio__Media_Campaign__c"
"CurrencyIsoCode"