import("system.db"); import("Sql_lib"); import("AttributeRegistry_basic"); import("system.vars"); import("system.neon"); import("Product_lib"); import("Util_lib"); import("Entity_lib"); import("Attribute_lib"); var pid = vars.get("local.value"); if(pid != "") { var currency = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : ""; 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 }; //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) { 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) { neon.setFieldValue("$field.PRICE", ProductDetails.PriceListToUse.price); neon.setFieldValue("$field.VAT", ProductDetails.PriceListToUse.vat); } } }