Newer
Older
import("system.db");
import("Sql_lib");
import("system.vars");
import("system.neon");
import("Product_lib");

Maximilian Schröger
committed
import("Util_lib");
import("Entity_lib");
var pid = vars.get("local.value");
var currency = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";

Maximilian Hofmann
committed
var contactid = vars.exists("$param.ContactId_param") ? vars.get("$param.ContactId_param") : "";
var pricelist = AttributeRelationUtils.getAttribute($AttributeRegistry.pricelist(), contactid) || "";
var PriceListFilter = { currency: currency, quantity: vars.get("$field.QUANTITY"), relationId: contactid, priceList: pricelist };
Johannes Goderbauer
committed
//TODO: loading from db until loading from Consumer is possible.
var ProductDetails = ProductUtils.getProductDetails(pid, PriceListFilter,
[["info", SqlUtils.translateStatementWithQuotes(SqlCondition.begin()
.andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_ROWID", "local.value")
.and("DESCRIPTIONTRANSLATION.OBJECT_TYPE = 'Product'")
.andPrepareVars("DESCRIPTIONTRANSLATION.LANG", "$param.Language_param")
.buildSql("(select DESCRIPTION from DESCRIPTIONTRANSLATION", "1=2", ")"))]
]);
if(ProductDetails.productId != undefined)

Johannes Hörmann
committed
neon.setFieldValue("$field.GROUPCODEID", ProductDetails.groupCode);
neon.setFieldValue("$field.UNIT", ProductDetails.unit);
neon.setFieldValue("$field.ITEMNAME", ProductDetails.productName);
neon.setFieldValue("$field.INFO", ProductDetails.info);
if(ProductDetails.PriceListToUse != null)

Johannes Hörmann
committed
neon.setFieldValue("$field.PRICE", ProductDetails.PriceListToUse.price);
neon.setFieldValue("$field.VAT", ProductDetails.PriceListToUse.vat);