Skip to content
Snippets Groups Projects
Commit a7457497 authored by Benjamin Ulrich's avatar Benjamin Ulrich :speech_balloon:
Browse files

[Projekt: xRM-Sales][TicketNr.: 1067627][Preise - scheinbar mehrere gültige...

[Projekt: xRM-Sales][TicketNr.: 1067627][Preise - scheinbar mehrere gültige Preise im System, weil gültig-bis nicht befüllt wird.]
parent 4d6b1b89
No related branches found
No related tags found
No related merge requests found
......@@ -47,7 +47,7 @@
<column name="FROMQUANTITY" valueNumeric="1.00"/>
<column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
<column name="VAT" valueNumeric="0.00"/>
<column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
<column name="VALID_FROM" valueDate="2020-07-15T02:00:00"/>
<column name="CURRENCY" value="EUR"/>
<column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
</insert>
......@@ -90,7 +90,7 @@
<column name="PRODUCTPRICEID" value="75365b30-fd09-4255-b1d7-f4c91e9d255e"/>
<column name="PRICE" valueNumeric="2500.00"/>
<column name="FROMQUANTITY" valueNumeric="1.00"/>
<column name="VALID_TO" valueDate="2020-05-18T02:00:00"/>
<column name="VALID_TO" valueDate="2022-05-18T02:00:00"/>
<column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
<column name="VAT" valueNumeric="19.00"/>
<column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
......@@ -127,7 +127,7 @@
<column name="FROMQUANTITY" valueNumeric="1.00"/>
<column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
<column name="VAT" valueNumeric="19.00"/>
<column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
<column name="VALID_FROM" valueDate="2021-06-17T02:00:00"/>
<column name="CURRENCY" value="EUR"/>
</insert>
<insert tableName="productprice">
......@@ -169,7 +169,7 @@
<column name="PRODUCTPRICEID" value="bf8ef6ac-9f34-40fd-aa2e-9792fee9a970"/>
<column name="PRICE" valueNumeric="15000.00"/>
<column name="FROMQUANTITY" valueNumeric="1.00"/>
<column name="VALID_TO" valueDate="2020-05-22T02:00:00"/>
<column name="VALID_TO" valueDate="2022-05-22T02:00:00"/>
<column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
<column name="VAT" valueNumeric="19.00"/>
<column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
......@@ -216,7 +216,7 @@
<column name="PRODUCTPRICEID" value="ead04c9b-955e-4595-bb31-31685b3ceaec"/>
<column name="PRICE" valueNumeric="10000.00"/>
<column name="FROMQUANTITY" valueNumeric="1.00"/>
<column name="VALID_TO" valueDate="2020-05-21T02:00:00"/>
<column name="VALID_TO" valueDate="2022-05-21T02:00:00"/>
<column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
<column name="VAT" valueNumeric="19.00"/>
<column name="VALID_FROM" valueDate="2019-05-23T02:00:00"/>
......@@ -229,7 +229,7 @@
<column name="PRODUCTPRICEID" value="f90ff3d2-3e62-4b6f-bcfb-db4d4ecd8de8"/>
<column name="PRICE" valueNumeric="5000.00"/>
<column name="FROMQUANTITY" valueNumeric="1.00"/>
<column name="VALID_TO" valueDate="2020-06-15T02:00:00"/>
<column name="VALID_TO" valueDate="2019-05-23T02:00:00"/>
<column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
<column name="VAT" valueNumeric="19.00"/>
<column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
......
......@@ -241,6 +241,10 @@
<name>PRODUCTPRICE_OBJECTTYPE</name>
<valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js</valueProcess>
</entityField>
<entityParameter>
<name>IgnoreOnValidation_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......@@ -248,6 +252,7 @@
<hasDependentRecords v="true" />
<conditionProcess>%aditoprj%/entity/Productprice_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<orderClauseProcess>%aditoprj%/entity/Productprice_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
<onDBInsert>%aditoprj%/entity/Productprice_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
<alias>Data_alias</alias>
<recordFieldMappings>
<dbRecordFieldMapping>
......
import("Product_lib");
import("system.translate");
import("system.result");
import("Date_lib");
import("system.result");
import("system.vars");
var messages = "";
var startDate = vars.get("$field.VALID_FROM");
var endDate = vars.get("$field.VALID_TO");
if (!DateUtils.validateBeginnBeforeEnd(startDate, endDate))
messages += DateUtils.getValidationFailString();
var priceList = {
priceList: vars.get("$field.PRICELIST"),
priceListId: vars.get("$field.PRODUCTPRICEID"),
fromQuantity: vars.get("$field.FROMQUANTITY"),
buySell: vars.get("$field.BUYSELL"),
vat: vars.get("$field.VAT"),
currency: vars.get("$field.CURRENCY"),
validFrom: vars.get("$field.VALID_FROM"),
validTo: vars.get("$field.VALID_TO")
};
var identicalPriceList = ProductUtils.checkForIndenticalPriceLists(vars.get("$field.PRODUCT_ID"), priceList);
if(identicalPriceList != null)
if(vars.getString("$param.IgnoreOnValidation_param") != "true")
{
if (messages)
messages += "\n";
messages += translate.text("Identical price list found!");
}
if (messages)
result.string(messages)
\ No newline at end of file
var startDate = vars.get("$field.VALID_FROM");
var endDate = vars.get("$field.VALID_TO");
if (!DateUtils.validateBeginnBeforeEnd(startDate, endDate))
{
result.string(DateUtils.getValidationFailString());
}
}
\ No newline at end of file
import("Date_lib");
import("system.datetime");
import("system.entities");
import("Sql_lib");
import("system.vars");
var priceList = vars.get("$field.PRICELIST");
var productId = vars.get("$field.PRODUCT_ID");
var buySell = vars.get("$field.BUYSELL");
var validFrom = vars.get("$field.VALID_FROM");
var today = DateUtils.getTodayUTC();
var productPriceListId = vars.get("$field.PRODUCTPRICEID");
var validPriceLists = newSelect("PRODUCTPRICE.PRODUCTPRICEID")
.from("PRODUCTPRICE")
.where("PRODUCTPRICE.PRICELIST", priceList)
.and("PRODUCTPRICE.PRODUCTPRICEID", productPriceListId, SqlBuilder.NOT_EQUAL())
.and("PRODUCTPRICE.PRODUCT_ID", productId)
.and("PRODUCTPRICE.BUYSELL", buySell)
.and("PRODUCTPRICE.FROMQUANTITY", validFrom, SqlBuilder.LESS_OR_EQUAL())
.and(newWhere("PRODUCTPRICE.VALID_TO", validFrom, SqlBuilder.GREATER_OR_EQUAL()).or("PRODUCTPRICE.VALID_TO is null"))
.arrayColumn();
var config = entities.createConfigForUpdatingRows().entity("Productprice_entity").fieldValues({"VALID_TO": today}).addParameter("IgnoreOnValidation_param", true);
for (i = 0; i < validPriceLists.length; i++) {
entities.updateRow(config.uid(validPriceLists[i]))
}
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