Skip to content
Snippets Groups Projects
Commit 00113367 authored by Maximilian Schröger's avatar Maximilian Schröger
Browse files

Angebot/Angebotsposten Preislogik

parent 9149406d
No related branches found
No related tags found
No related merge requests found
Showing
with 353 additions and 38 deletions
import("system.logging");
import("system.vars");
import("system.neon");
import("Product_lib");
var pid = vars.get("$field.PRODUCT_ID");
var newQuantity = vars.get("$local.value");
if(pid != "" && newQuantity != "")
{
var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
var relid = vars.exists("$param.RelationId_param") ? vars.get("$param.RelationId_param") : "";
var pUtils = new ProductUtils();
var PriceListFilter = { currency: curr, quantity: newQuantity, relationId: relid };
var ProductDetails = pUtils.getProductDetails(pid, PriceListFilter);
if(ProductDetails[pid] != undefined && ProductDetails[pid].PriceListToUse != null)
{
vars.set("$field.PRICE", ProductDetails[pid].PriceListToUse.price);
vars.set("$field.VAT", ProductDetails[pid].PriceListToUse.vat);
}
}
\ No newline at end of file
import("system.vars");
import("system.result");
import("system.neon");
if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
{
result.string("1");
}
else
result.string(vars.get("$this.value"));
\ No newline at end of file
import("system.result");
import("system.vars");
import("Offer_lib");
var oiUtils = new OfferItemUtils();
result.string(oiUtils.roundPrice(oiUtils.getItemSum(vars.get("$field.QUANTITY"), vars.get("$field.PRICE")
, vars.get("$field.DISCOUNT"), vars.get("$field.OPTIONAL"))));
\ No newline at end of file
import("system.result");
import("Keyword_lib");
var kwdUtils, items;
kwdUtils = new KeywordUtils();
items = kwdUtils.getStandardArray("UNIT");
result.object(items);
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.db");
import("Offer_lib");
var oid = vars.get("$field.OFFER_ID");
if(oid != "")
{
var cols = ["NET", "VAT"];
var colTypes = db.getColumnTypes("OFFER", cols);
var oUtils = new OfferUtils();
var vals = oUtils.getOfferNetAndVAT(oid, vars.get("$field.OFFERITEMID"));
db.updateData("OFFER", cols, colTypes, vals, "OFFERID = '" + oid + "'");
neon.refresh("Offer_entity");
}
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.db");
import("Offer_lib");
var oid = vars.get("$field.OFFER_ID");
if(oid != "")
{
var cols = ["NET", "VAT"];
var colTypes = db.getColumnTypes("OFFER", cols);
var oUtils = new OfferUtils();
var vals = oUtils.getOfferNetAndVAT(oid);
db.updateData("OFFER", cols, colTypes, vals, "OFFERID = '" + oid + "'");
neon.refresh("Offer_entity");
}
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.db");
import("system.neon");
import("Offer_lib");
var oid = vars.get("$field.OFFER_ID");
if(oid != "")
{
var cols = ["NET", "VAT"];
var colTypes = db.getColumnTypes("OFFER", cols);
var oUtils = new OfferUtils();
var vals = oUtils.getOfferNetAndVAT(oid);
db.updateData("OFFER", cols, colTypes, vals, "OFFERID = '" + oid + "'");
neon.refresh("Offer_entity");
}
\ No newline at end of file
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<majorModelMode>DISTRIBUTED</majorModelMode> <majorModelMode>DISTRIBUTED</majorModelMode>
<alias>Data_alias</alias> <alias>Data_alias</alias>
<conditionProcess>%aditoprj%/entity/Productprice_entity/conditionProcess.js</conditionProcess> <conditionProcess>%aditoprj%/entity/Productprice_entity/conditionProcess.js</conditionProcess>
<orderClauseProcess>%aditoprj%/entity/Productprice_entity/orderClauseProcess.js</orderClauseProcess>
<recordContainerType>DB</recordContainerType> <recordContainerType>DB</recordContainerType>
<caption>Price list</caption> <caption>Price list</caption>
<entityFields> <entityFields>
...@@ -16,6 +17,7 @@ ...@@ -16,6 +17,7 @@
<mandatory v="true" /> <mandatory v="true" />
<mandatoryProcess>%aditoprj%/entity/Productprice_entity/entityfields/buysell/mandatoryProcess.js</mandatoryProcess> <mandatoryProcess>%aditoprj%/entity/Productprice_entity/entityfields/buysell/mandatoryProcess.js</mandatoryProcess>
<possibleItemsProcess>%aditoprj%/entity/Productprice_entity/entityfields/buysell/possibleItemsProcess.js</possibleItemsProcess> <possibleItemsProcess>%aditoprj%/entity/Productprice_entity/entityfields/buysell/possibleItemsProcess.js</possibleItemsProcess>
<valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/buysell/valueProcess.js</valueProcess>
</entityField> </entityField>
<entityField> <entityField>
<name>CURRENCY</name> <name>CURRENCY</name>
...@@ -69,7 +71,7 @@ ...@@ -69,7 +71,7 @@
<name>PRODUCT_ID</name> <name>PRODUCT_ID</name>
<tableName>PRODUCTPRICE</tableName> <tableName>PRODUCTPRICE</tableName>
<columnName>PRODUCT_ID</columnName> <columnName>PRODUCT_ID</columnName>
<caption>Product name</caption> <caption>Product</caption>
<linkedContext>Product_context</linkedContext> <linkedContext>Product_context</linkedContext>
<mandatory v="false" /> <mandatory v="false" />
<outgoingField>ProductpriceProduct_dfo</outgoingField> <outgoingField>ProductpriceProduct_dfo</outgoingField>
...@@ -130,8 +132,11 @@ ...@@ -130,8 +132,11 @@
<tableName>PRODUCTPRICE</tableName> <tableName>PRODUCTPRICE</tableName>
<columnName>PRICELIST</columnName> <columnName>PRICELIST</columnName>
<caption>Price list</caption> <caption>Price list</caption>
<captionProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist/captionProcess.js</captionProcess>
<possibleItemsProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist/possibleItemsProcess.js</possibleItemsProcess> <possibleItemsProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist/possibleItemsProcess.js</possibleItemsProcess>
<state>AUTO</state> <state>AUTO</state>
<stateProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist/valueProcess.js</valueProcess>
</entityField> </entityField>
<entityIncomingField> <entityIncomingField>
<name>ProductProductprice_dfi</name> <name>ProductProductprice_dfi</name>
...@@ -158,14 +163,6 @@ ...@@ -158,14 +163,6 @@
<mandatory v="false" /> <mandatory v="false" />
<description>PARAMETER</description> <description>PARAMETER</description>
</entityParameter> </entityParameter>
<entityField>
<name>Pricelist_Relation</name>
<caption>Price list / Company</caption>
<possibleItemsProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist_relation/possibleItemsProcess.js</possibleItemsProcess>
<valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/pricelist_relation/valueProcess.js</valueProcess>
<onValidation>%aditoprj%/entity/Productprice_entity/entityfields/pricelist_relation/onValidation.js</onValidation>
<onValueChange>%aditoprj%/entity/Productprice_entity/entityfields/pricelist_relation/onValueChange.js</onValueChange>
</entityField>
<entityField> <entityField>
<name>PRODUCT_GROUPCODEID</name> <name>PRODUCT_GROUPCODEID</name>
<caption>Product group</caption> <caption>Product group</caption>
......
import("system.logging");
import("system.vars");
import("system.result");
if(vars.exists("$param.ProductId_param") && vars.get("$param.ProductId_param") != "")
{
result.string("true");
}
else
{
result.string("false");
}
\ No newline at end of file
...@@ -2,6 +2,6 @@ import("system.translate"); ...@@ -2,6 +2,6 @@ import("system.translate");
import("system.result"); import("system.result");
result.object([ result.object([
["PP", translate.text("PP")],
["SP", translate.text("SP")] ["SP", translate.text("SP")]
, ["PP", translate.text("PP")]
]); ]);
\ No newline at end of file
import("system.vars");
import("system.result");
import("system.neon");
if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
result.string("SP");
\ No newline at end of file
import("system.vars");
import("system.translate");
import("system.neon");
import("system.result");
var str = translate.text("Price list");
if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW)
str = translate.text("Price list / Company");
result.string(str);
\ No newline at end of file
import("system.db");
import("system.neon");
import("system.vars");
import("system.result"); import("system.result");
import("Keyword_lib"); import("Keyword_lib");
...@@ -5,4 +8,11 @@ var kwdUtils, items; ...@@ -5,4 +8,11 @@ var kwdUtils, items;
kwdUtils = new KeywordUtils(); kwdUtils = new KeywordUtils();
items = kwdUtils.getStandardArray("PRICELIST"); items = kwdUtils.getStandardArray("PRICELIST");
if(vars.get("$field.RELATION_ID") != "")
{
var orgname = db.cell("select NAME from ORG join RELATION on ORG_ID = ORGID where RELATIONID = '" + vars.get("$field.RELATION_ID") + "'");
items.push(["", orgname]);
}
result.object(items); result.object(items);
\ No newline at end of file
import("system.vars");
import("system.result");
if(vars.get("$field.RELATION_ID") != "")
result.string("READONLY");
else
result.string("EDITABLE");
\ No newline at end of file
import("system.result");
import("system.vars");
import("Keyword_lib");
var kewUtils = new KeywordUtils();
var rel = vars.get("$field.RELATION_ID");
if(rel != "")
{
result.string("Firma");//TODO: Org/pers Name
}
else
{
result.string(kewUtils.getViewValue("PRICELIST", vars.get("$field.PRICELIST")));
}
\ No newline at end of file
import("system.result");
result.object({"PRODUCTPRICE.VALID_FROM": "down"});
\ No newline at end of file
...@@ -696,6 +696,75 @@ ...@@ -696,6 +696,75 @@
<entry> <entry>
<key>New offer verison</key> <key>New offer verison</key>
</entry> </entry>
<entry>
<key>ISO3 Code</key>
</entry>
<entry>
<key>zusagen</key>
</entry>
<entry>
<key>EU Member</key>
</entry>
<entry>
<key>Zip exists</key>
</entry>
<entry>
<key>ISO2 Code</key>
</entry>
<entry>
<key>Sum</key>
</entry>
<entry>
<key>absagen</key>
</entry>
<entry>
<key>Option4</key>
</entry>
<entry>
<key>Option3</key>
</entry>
<entry>
<key>Option2</key>
</entry>
<entry>
<key>Option1</key>
</entry>
<entry>
<key>Countries</key>
</entry>
<entry>
<key>Euro zone</key>
</entry>
<entry>
<key>NAME</key>
</entry>
<entry>
<key>Options</key>
</entry>
<entry>
<key>Country code</key>
</entry>
<entry>
<key>Country Code</key>
</entry>
<entry>
<key>PO-box name</key>
</entry>
<entry>
<key>Adress format</key>
</entry>
<entry>
<key>vielleicht</key>
</entry>
<entry>
<key>Administration</key>
</entry>
<entry>
<key>Flag</key>
</entry>
<entry>
<key>Total gross</key>
</entry>
</keyValueMap> </keyValueMap>
<font name="Dialog" style="0" size="11" /> <font name="Dialog" style="0" size="11" />
<sqlModels> <sqlModels>
......
...@@ -909,6 +909,77 @@ ...@@ -909,6 +909,77 @@
<key>New offer verison</key> <key>New offer verison</key>
<value>Neue Angebotsversion</value> <value>Neue Angebotsversion</value>
</entry> </entry>
<entry>
<key>ISO3 Code</key>
</entry>
<entry>
<key>zusagen</key>
</entry>
<entry>
<key>EU Member</key>
</entry>
<entry>
<key>Zip exists</key>
</entry>
<entry>
<key>ISO2 Code</key>
</entry>
<entry>
<key>Sum</key>
<value>Summe</value>
</entry>
<entry>
<key>absagen</key>
</entry>
<entry>
<key>Option4</key>
</entry>
<entry>
<key>Option3</key>
</entry>
<entry>
<key>Option2</key>
</entry>
<entry>
<key>Option1</key>
</entry>
<entry>
<key>Countries</key>
</entry>
<entry>
<key>Euro zone</key>
</entry>
<entry>
<key>NAME</key>
</entry>
<entry>
<key>Options</key>
</entry>
<entry>
<key>Country code</key>
</entry>
<entry>
<key>Country Code</key>
</entry>
<entry>
<key>PO-box name</key>
</entry>
<entry>
<key>Adress format</key>
</entry>
<entry>
<key>vielleicht</key>
</entry>
<entry>
<key>Administration</key>
</entry>
<entry>
<key>Flag</key>
</entry>
<entry>
<key>Total gross</key>
<value>Betrag brutto</value>
</entry>
</keyValueMap> </keyValueMap>
<font name="Dialog" style="0" size="11" /> <font name="Dialog" style="0" size="11" />
</language> </language>
...@@ -704,6 +704,75 @@ ...@@ -704,6 +704,75 @@
<entry> <entry>
<key>New offer verison</key> <key>New offer verison</key>
</entry> </entry>
<entry>
<key>ISO3 Code</key>
</entry>
<entry>
<key>zusagen</key>
</entry>
<entry>
<key>EU Member</key>
</entry>
<entry>
<key>Zip exists</key>
</entry>
<entry>
<key>ISO2 Code</key>
</entry>
<entry>
<key>Sum</key>
</entry>
<entry>
<key>absagen</key>
</entry>
<entry>
<key>Option4</key>
</entry>
<entry>
<key>Option3</key>
</entry>
<entry>
<key>Option2</key>
</entry>
<entry>
<key>Option1</key>
</entry>
<entry>
<key>Countries</key>
</entry>
<entry>
<key>Euro zone</key>
</entry>
<entry>
<key>NAME</key>
</entry>
<entry>
<key>Options</key>
</entry>
<entry>
<key>Country code</key>
</entry>
<entry>
<key>Country Code</key>
</entry>
<entry>
<key>PO-box name</key>
</entry>
<entry>
<key>Adress format</key>
</entry>
<entry>
<key>vielleicht</key>
</entry>
<entry>
<key>Administration</key>
</entry>
<entry>
<key>Flag</key>
</entry>
<entry>
<key>Total gross</key>
</entry>
</keyValueMap> </keyValueMap>
<font name="Dialog" style="0" size="11" /> <font name="Dialog" style="0" size="11" />
</language> </language>
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