Skip to content
Snippets Groups Projects
Commit 10a456af authored by Benjamin Ulrich's avatar Benjamin Ulrich :speech_balloon: Committed by Martin Groppe
Browse files

Sales 1085045 advertising fixes

parent 81aa6d7b
No related branches found
No related tags found
No related merge requests found
Showing
with 198 additions and 51 deletions
import("Sql_lib");
import("system.result");
result.string(newSelect("ADVERTISING.ADVERTISINGID")
.from("ADVERTISING")
.where("ADVERTISING.OBJECT_ROWID = ACTIVITY.ACTIVITYID")
.toString());
\ No newline at end of file
import("Sql_lib");
import("system.result");
result.string(new SqlBuilder().selectCount()
.from("ADVERTISING")
.where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID")
.toString());
\ No newline at end of file
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<title>Advertising item</title> <title>Advertising item</title>
<majorModelMode>DISTRIBUTED</majorModelMode> <majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/AdvertisingItem_entity/documentation.adoc</documentation> <documentation>%aditoprj%/entity/AdvertisingItem_entity/documentation.adoc</documentation>
<iconId>VAADIN:PACKAGE</iconId>
<titlePlural>Advertising items</titlePlural> <titlePlural>Advertising items</titlePlural>
<recordContainer>db</recordContainer> <recordContainer>db</recordContainer>
<entityFields> <entityFields>
...@@ -11,7 +12,7 @@ ...@@ -11,7 +12,7 @@
<name>#PROVIDER</name> <name>#PROVIDER</name>
</entityProvider> </entityProvider>
<entityField> <entityField>
<name>ACTUALAMOUNT</name> <name>actualAmount</name>
<title>Actual amount</title> <title>Actual amount</title>
<contentType>NUMBER</contentType> <contentType>NUMBER</contentType>
<outputFormat>#,##0.00</outputFormat> <outputFormat>#,##0.00</outputFormat>
...@@ -37,10 +38,9 @@ ...@@ -37,10 +38,9 @@
<displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/delivery/displayValueProcess.js</displayValueProcess> <displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/delivery/displayValueProcess.js</displayValueProcess>
</entityField> </entityField>
<entityField> <entityField>
<name>FREE</name> <name>free</name>
<title>Free</title> <title>${FREE}</title>
<contentType>BOOLEAN</contentType> <contentType>BOOLEAN</contentType>
<mandatory v="true" />
<valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/valueProcess.js</valueProcess> <valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/valueProcess.js</valueProcess>
<onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/onValueChange.js</onValueChange> <onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/onValueChange.js</onValueChange>
</entityField> </entityField>
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
<name>PRODUCT_ID</name> <name>PRODUCT_ID</name>
<title>Product</title> <title>Product</title>
<consumer>Products</consumer> <consumer>Products</consumer>
<mandatory v="true" />
<stateProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/stateProcess.js</stateProcess> <stateProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/stateProcess.js</stateProcess>
<displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess> <displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess>
<onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/onValueChange.js</onValueChange> <onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/onValueChange.js</onValueChange>
...@@ -156,7 +157,7 @@ ...@@ -156,7 +157,7 @@
<expose v="true" /> <expose v="true" />
</entityParameter> </entityParameter>
<entityField> <entityField>
<name>ContactId</name> <name>contactId</name>
<title>Person</title> <title>Person</title>
<state>READONLY</state> <state>READONLY</state>
<valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/contactid/valueProcess.js</valueProcess> <valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/contactid/valueProcess.js</valueProcess>
...@@ -230,13 +231,14 @@ ...@@ -230,13 +231,14 @@
<recordContainers> <recordContainers>
<dbRecordContainer> <dbRecordContainer>
<name>db</name> <name>db</name>
<fromClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
<conditionProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <conditionProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<orderClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> <orderClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
<alias>Data_alias</alias> <alias>Data_alias</alias>
<recordFieldMappings> <recordFieldMappings>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>ACTUALAMOUNT.value</name> <name>actualAmount.value</name>
<recordfield>ADVERTISINGITEM.ACTUALAMOUNT</recordfield> <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js</expression>
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>DATE_NEW.value</name> <name>DATE_NEW.value</name>
...@@ -247,8 +249,7 @@ ...@@ -247,8 +249,7 @@
<recordfield>ADVERTISINGITEM.DELIVERY</recordfield> <recordfield>ADVERTISINGITEM.DELIVERY</recordfield>
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>FREE.value</name> <name>free.value</name>
<recordfield>ADVERTISINGITEM.FREE</recordfield>
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>INFO.value</name> <name>INFO.value</name>
...@@ -299,6 +300,26 @@ ...@@ -299,6 +300,26 @@
<name>ADVERTISINGITEMID.value</name> <name>ADVERTISINGITEMID.value</name>
<recordfield>ADVERTISINGITEM.ADVERTISINGITEMID</recordfield> <recordfield>ADVERTISINGITEM.ADVERTISINGITEMID</recordfield>
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>actualAmount.displayValue</name>
<expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>PRICE.displayValue</name>
<expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>TARGETAMOUNT.displayValue</name>
<expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>UNIT.displayValue</name>
<expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>PRODUCT_ID.displayValue</name>
<expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
</recordFieldMappings> </recordFieldMappings>
<linkInformation> <linkInformation>
<linkInformation> <linkInformation>
......
import("Advertising_lib");
import("system.result"); import("system.result");
import("system.vars"); import("system.vars");
import("system.translate"); import("system.translate");
result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Actual Amount"), vars.get("$param.Currency_param"))); result.string(translate.withArguments("Actual Amount in %0", [vars.get("$param.Currency_param")]));
\ No newline at end of file \ No newline at end of file
...@@ -4,7 +4,7 @@ import("system.vars"); ...@@ -4,7 +4,7 @@ import("system.vars");
if(vars.get("$field.PRODUCT_ID") && vars.get("$field.PRICE")) if(vars.get("$field.PRODUCT_ID") && vars.get("$field.PRICE"))
{ {
var free = vars.get("$field.FREE"); var free = vars.get("$field.free");
var quantity = vars.get("$field.QUANTITY"); var quantity = vars.get("$field.QUANTITY");
var price = vars.get("$field.PRICE"); var price = vars.get("$field.PRICE");
......
...@@ -2,5 +2,5 @@ import("system.result"); ...@@ -2,5 +2,5 @@ import("system.result");
import("system.vars"); import("system.vars");
import("Contact_lib"); import("Contact_lib");
var title = ContactUtils.getTitleByContactId(vars.get("$field.ContactId")); var title = ContactUtils.getTitleByContactId(vars.get("$field.contactId"));
result.string(title); result.string(title);
\ No newline at end of file
...@@ -3,4 +3,4 @@ import("Util_lib"); ...@@ -3,4 +3,4 @@ import("Util_lib");
import("system.neon"); import("system.neon");
import("system.vars"); import("system.vars");
result.string(Utils.toBoolean(vars.get("$field.FREE")) ? neon.COMPONENTSTATE_READONLY : neon.COMPONENTSTATE_EDITABLE); result.string(Utils.toBoolean(vars.get("$field.free")) ? neon.COMPONENTSTATE_READONLY : neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file \ No newline at end of file
import("Advertising_lib");
import("system.result"); import("system.result");
import("system.vars"); import("system.vars");
import("system.translate"); import("system.translate");
result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Price"), vars.get("$param.Currency_param"))); result.string(translate.withArguments("Price in %0", [vars.get("$param.Currency_param")]));
\ No newline at end of file \ No newline at end of file
import("Advertising_lib");
import("system.result"); import("system.result");
import("system.vars"); import("system.vars");
import("system.translate"); import("system.translate");
result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Target Amount"), vars.get("$param.Currency_param"))); result.string(translate.withArguments("Target Amount in %0", [vars.get("$param.Currency_param")]));
\ No newline at end of file \ No newline at end of file
...@@ -13,7 +13,7 @@ if(vars.exists("$param.AdvertisingId_param") && vars.get("$param.AdvertisingId_p ...@@ -13,7 +13,7 @@ if(vars.exists("$param.AdvertisingId_param") && vars.get("$param.AdvertisingId_p
if(vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")) if(vars.exists("$param.RowId_param") && vars.get("$param.RowId_param"))
{ {
var advSubselect = newSelect("ADVERTISING.ADVERTISINGID") var advSubselect = newSelect("ADVERTISING.ADVERTISINGID")
.from("ADVERTISING").where("ADVERTISING.ROW_ID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); .from("ADVERTISING").where("ADVERTISING.OBJECT_ROWID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL());
cond.andIfSet("ADVERTISINGITEM.ADVERTISING_ID", advSubselect, SqlBuilder.EQUAL()); cond.andIfSet("ADVERTISINGITEM.ADVERTISING_ID", advSubselect, SqlBuilder.EQUAL());
} }
......
import("system.result");
import("Sql_lib");
result.string(new SqlBuilder()
.from("ADVERTISINGITEM")
.join("ADVERTISING", "ADVERTISING.ADVERTISINGID = ADVERTISINGITEM.ADVERTISING_ID").toString());
\ No newline at end of file
import("system.SQLTYPES");
import("system.result");
import("Sql_lib");
var sqlHelper = new SqlMaskingUtils();
result.string(sqlHelper.concatenate([sqlHelper.cast(sqlHelper.cast("ADVERTISINGITEM.PRICE*ADVERTISINGITEM.QUANTITY", SQLTYPES.DECIMAL, [30, 2]), SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)]))
\ No newline at end of file
import("system.SQLTYPES");
import("system.result");
import("Sql_lib");
var sqlHelper = new SqlMaskingUtils();
result.string(sqlHelper.cast("ADVERTISINGITEM.PRICE*ADVERTISINGITEM.QUANTITY", SQLTYPES.DECIMAL, [30, 2]))
\ No newline at end of file
import("system.SQLTYPES");
import("system.result");
import("Sql_lib");
var sqlHelper = new SqlMaskingUtils();
result.string(sqlHelper.concatenate([sqlHelper.cast("ADVERTISINGITEM.PRICE", SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)]))
\ No newline at end of file
import("system.vars");
import("system.result");
import("Sql_lib");
result.string(newSelect("PRODUCT.PRODUCTNAME")
.from("PRODUCT")
.where("ADVERTISINGITEM.PRODUCT_ID = PRODUCT.PRODUCTID")
.toString());
\ No newline at end of file
import("system.SQLTYPES");
import("system.result");
import("Sql_lib");
var sqlHelper = new SqlMaskingUtils();
result.string(sqlHelper.concatenate([sqlHelper.cast("ADVERTISINGITEM.TARGETAMOUNT", SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)]))
\ No newline at end of file
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.quantityUnit(), "ADVERTISINGITEM.UNIT");
result.string(sql);
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
<title>Advertising material</title> <title>Advertising material</title>
<majorModelMode>DISTRIBUTED</majorModelMode> <majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/Advertising_entity/documentation.adoc</documentation> <documentation>%aditoprj%/entity/Advertising_entity/documentation.adoc</documentation>
<grantCreate v="false" /> <icon>VAADIN:PACKAGE</icon>
<grantCreate v="true" />
<contentTitleProcess>%aditoprj%/entity/Advertising_entity/contentTitleProcess.js</contentTitleProcess> <contentTitleProcess>%aditoprj%/entity/Advertising_entity/contentTitleProcess.js</contentTitleProcess>
<contentDescriptionProcess>%aditoprj%/entity/Advertising_entity/contentDescriptionProcess.js</contentDescriptionProcess> <contentDescriptionProcess>%aditoprj%/entity/Advertising_entity/contentDescriptionProcess.js</contentDescriptionProcess>
<iconId>VAADIN:PACKAGE</iconId> <iconId>VAADIN:PACKAGE</iconId>
...@@ -46,11 +47,12 @@ ...@@ -46,11 +47,12 @@
<displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/responsible_id/displayValueProcess.js</displayValueProcess> <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/responsible_id/displayValueProcess.js</displayValueProcess>
</entityField> </entityField>
<entityField> <entityField>
<name>ROW_ID</name> <name>OBJECT_ROWID</name>
<title>{$OBJECTLINK_OBJECT}</title> <title>{$OBJECTLINK_OBJECT}</title>
<consumer>Objects</consumer> <consumer>Objects</consumer>
<linkedContextProcess>%aditoprj%/entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js</linkedContextProcess> <linkedContextProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess>
<displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js</displayValueProcess> <titleProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js</titleProcess>
<displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess>
</entityField> </entityField>
<entityProvider> <entityProvider>
<name>#PROVIDER_AGGREGATES</name> <name>#PROVIDER_AGGREGATES</name>
...@@ -198,6 +200,47 @@ ...@@ -198,6 +200,47 @@
<stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/newmail/stateProcess.js</stateProcess> <stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/newmail/stateProcess.js</stateProcess>
<tooltip>Send digital Advertising materials &amp; complete Workflow Task</tooltip> <tooltip>Send digital Advertising materials &amp; complete Workflow Task</tooltip>
</entityActionField> </entityActionField>
<entityField>
<name>USER_EDIT</name>
<title>USER_EDIT</title>
<valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/user_edit/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>USER_NEW</name>
<title>USER_NEW</title>
<valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/user_new/valueProcess.js</valueProcess>
</entityField>
<entityActionField>
<name>openAdminView</name>
<title>Open admin view</title>
<onActionProcess>%aditoprj%/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js</onActionProcess>
<iconId>VAADIN:CURLY_BRACKETS</iconId>
<stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/openadminview/stateProcess.js</stateProcess>
</entityActionField>
<entityParameter>
<name>IsInsertAdvertising_param</name>
<expose v="true" />
<documentation>%aditoprj%/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc</documentation>
<description></description>
</entityParameter>
<entityParameter>
<name>ObjectType_param</name>
<expose v="true" />
</entityParameter>
<entityConsumer>
<name>LogHistories</name>
<dependency>
<name>dependency</name>
<entityName>LogHistory_entity</entityName>
<fieldName>LogHistoryProvider</fieldName>
</dependency>
<children>
<entityParameter>
<name>tablenames_param</name>
<valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields> </entityFields>
<recordContainers> <recordContainers>
<dbRecordContainer> <dbRecordContainer>
...@@ -213,10 +256,12 @@ ...@@ -213,10 +256,12 @@
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>CONTACT_ID.value</name> <name>CONTACT_ID.value</name>
<recordfield>ADVERTISING.CONTACT_ID</recordfield> <recordfield>ADVERTISING.CONTACT_ID</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>CURRENCY.value</name> <name>CURRENCY.value</name>
<recordfield>ADVERTISING.CURRENCY</recordfield> <recordfield>ADVERTISING.CURRENCY</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>OBJECT_TYPE.value</name> <name>OBJECT_TYPE.value</name>
...@@ -225,14 +270,16 @@ ...@@ -225,14 +270,16 @@
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>RESPONSIBLE_ID.value</name> <name>RESPONSIBLE_ID.value</name>
<recordfield>ADVERTISING.RESPONSIBLE_ID</recordfield> <recordfield>ADVERTISING.RESPONSIBLE_ID</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>ROW_ID.value</name> <name>OBJECT_ROWID.value</name>
<recordfield>ADVERTISING.ROW_ID</recordfield> <recordfield>ADVERTISING.OBJECT_ROWID</recordfield>
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>STATUS.value</name> <name>STATUS.value</name>
<recordfield>ADVERTISING.STATUS</recordfield> <recordfield>ADVERTISING.STATUS</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping> <dbRecordFieldMapping>
<name>ACTIVE.value</name> <name>ACTIVE.value</name>
...@@ -246,10 +293,44 @@ ...@@ -246,10 +293,44 @@
<name>DATE_EDIT.value</name> <name>DATE_EDIT.value</name>
<recordfield>ADVERTISING.DATE_EDIT</recordfield> <recordfield>ADVERTISING.DATE_EDIT</recordfield>
</dbRecordFieldMapping> </dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>STATUS.displayValue</name>
<expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>CURRENCY.displayValue</name>
<expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>RESPONSIBLE_ID.displayValue</name>
<expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>CONTACT_ID.displayValue</name>
<expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>USER_EDIT.value</name>
<recordfield>ADVERTISING.USER_EDIT</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>USER_NEW.value</name>
<recordfield>ADVERTISING.USER_NEW</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>countItems.value</name>
<expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>countItems.displayValue</name>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>OBJECT_ROWID.displayValue</name>
</dbRecordFieldMapping>
</recordFieldMappings> </recordFieldMappings>
<linkInformation> <linkInformation>
<linkInformation> <linkInformation>
<name>fc2ebd14-8a58-4c97-8bac-15db1f073445</name> <name>f0bfd671-33ec-4106-b89e-5e2b198ec987</name>
<tableName>ADVERTISING</tableName> <tableName>ADVERTISING</tableName>
<primaryKey>ADVERTISINGID</primaryKey> <primaryKey>ADVERTISINGID</primaryKey>
<isUIDTable v="true" /> <isUIDTable v="true" />
......
import("system.entities"); import("Sql_lib");
import("system.result"); import("system.result");
import("system.neon"); import("system.neon");
import("system.vars"); import("system.vars");
//when not set yet, especially when directly in advertising there should be also only the linked person selectable //when not set yet, especially when directly in advertising there should be also only the linked person selectable
if(!vars.get("$param.ContactIds_param")) if(!vars.get("$param.ContactIds_param") && vars.get("$param.ObjectType_param") == "Activity")
{ {
var contactIds = []; var contactIds = newSelect("ACTIVITYLINK.OBJECT_ROWID")
var conf = entities.createConfigForLoadingRows(); .from("ACTIVITYLINK")
conf.entity("ActivityLink_entity") .where("ACTIVITYLINK.OBJECT_TYPE", "Person")
conf.addParameter("ActivityId_param", vars.get("$field.ROW_ID")); .and("ACTIVITYLINK.ACTIVITY_ID", vars.get("$param.RowId_param"))
conf.fields(["OBJECT_TYPE", "OBJECT_ROWID"]); .arrayColumn();
var links = entities.getRows(conf); result.string(contactIds);
//only Persons can be linked to an Advertising
links.forEach(function(link)
{
if(link["OBJECT_TYPE"] == "Person")
{
contactIds.push( link["OBJECT_ROWID"]);
}
});
result.string(JSON.stringify(contactIds));
} }
\ No newline at end of file
import("Sql_lib");
import("system.result"); import("system.result");
import("system.vars"); import("system.vars");
import("system.entities");
var conf = entities.createConfigForLoadingRows() var count = new SqlBuilder().selectCount()
.entity("AdvertisingItem_entity") .from("ADVERTISINGITEM")
.addParameter("AdvertisingId_param", vars.get("$field.ADVERTISINGID")); .where("ADVERTISINGITEM.ADVERTISING_ID", vars.get("$field.ADVERTISINGID"))
.cell();
result.string(entities.getRowCount(conf));
\ No newline at end of file result.string(count);
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment