Skip to content
Snippets Groups Projects
Commit 8b751ab2 authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

[Projekt: Entwicklung - Neon][TicketNr.: 1029677][Vertragsnummer automatisch vergeben]

parent 86b7987a
No related branches found
No related tags found
No related merge requests found
Showing
with 85 additions and 25 deletions
......@@ -13,6 +13,8 @@
<documentation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/documentation.adoc</documentation>
<title>Contract number</title>
<mandatory v="true" />
<state>READONLY</state>
<valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractcode/valueProcess.js</valueProcess>
<onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractcode/onValidation.js</onValidation>
</entityField>
<entityField>
......
= CONTRACTCODE
:hardbreaks:
Unique identification number of the contract. (max. 30 characters, not automatically generated)
\ No newline at end of file
Unique identification number of the contract.
It's automatically generated from the starting number _1000_.
\ No newline at end of file
import("system.translate");
import("system.result");
import("system.vars");
import("system.db");
import("Util_lib");
import("system.result");
import("system.neon");
import("Contract_lib");
import("Entity_lib");
var contractCode, codeCount;
contractCode = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTCODE"));
codeCount = db.cell("select count(CONTRACTCODE) from CONTRACT where CONTRACTCODE = '" + contractCode + "'"
+ " and CONTRACTID <> '" + vars.get("$field.CONTRACTID") + "'");
if(codeCount > 0)
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW
&& !ContractUtils.validateContractNumber(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTCODE"))))
{
result.string(translate.text("The contract number already exists!"));
vars.set("$field.CONTRACTCODE", ContractUtils.getNextContractNumber().toString());
}
\ No newline at end of file
import("system.vars");
import("system.result");
import("system.neon");
import("Contract_lib");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
result.string(ContractUtils.getNextContractNumber());
}
\ No newline at end of file
......@@ -2,8 +2,6 @@ import("system.vars");
import("system.result");
import("system.neon");
import("Order_lib");
import("Salesproject_lib");
import("Util_lib");
import("Entity_lib");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW
......
......@@ -4,7 +4,7 @@
<insert tableName="CONTRACT">
<column name="CONTRACTID" value="384c9d31-9923-4e6a-8a7f-2d2890470b70"/>
<column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
<column name="CONTRACTCODE" value="42154311"/>
<column name="CONTRACTCODE" value="1000"/>
<column name="PAYMENT" value="ca4d845b-f299-40c8-ace5-174bcfbb2d12"/>
<column name="CONTRACTTYPE" value="612f49d7-66c9-4304-ac3f-0ea19bb50948"/>
<column name="CONTRACTSTATUS" value="3579eb0c-d8ca-4b6b-85ee-f1800a9301eb"/>
......
......@@ -4,7 +4,7 @@
<insert tableName="CONTRACT">
<column name="CONTRACTID" value="8b95a074-086e-44c8-bd45-fb8e33803da3"/>
<column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
<column name="CONTRACTCODE" value="42154312"/>
<column name="CONTRACTCODE" value="1001"/>
<column name="PAYMENT" value="ca4d845b-f299-40c8-ace5-174bcfbb2d12"/>
<column name="CONTRACTTYPE" value="612f49d7-66c9-4304-ac3f-0ea19bb50948"/>
<column name="CONTRACTSTATUS" value="3579eb0c-d8ca-4b6b-85ee-f1800a9301eb"/>
......
......@@ -4,7 +4,7 @@
<insert tableName="CONTRACT">
<column name="CONTRACTID" value="eb182167-1e33-4290-a160-a86d09685cba"/>
<column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
<column name="CONTRACTCODE" value="42154313"/>
<column name="CONTRACTCODE" value="1002"/>
<column name="PAYMENT" value="ca4d845b-f299-40c8-ace5-174bcfbb2d12"/>
<column name="CONTRACTTYPE" value="612f49d7-66c9-4304-ac3f-0ea19bb50948"/>
<column name="CONTRACTSTATUS" value="3579eb0c-d8ca-4b6b-85ee-f1800a9301eb"/>
......
......@@ -4,7 +4,7 @@
<insert tableName="CONTRACT">
<column name="CONTRACTID" value="6fc9483c-fcfc-48fb-b48f-18e6b11f31fc"/>
<column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
<column name="CONTRACTCODE" value="42154314"/>
<column name="CONTRACTCODE" value="1003"/>
<column name="PAYMENT" value="ca4d845b-f299-40c8-ace5-174bcfbb2d12"/>
<column name="CONTRACTTYPE" value="612f49d7-66c9-4304-ac3f-0ea19bb50948"/>
<column name="CONTRACTSTATUS" value="3579eb0c-d8ca-4b6b-85ee-f1800a9301eb"/>
......
......@@ -4,7 +4,7 @@
<insert tableName="CONTRACT">
<column name="CONTRACTID" value="a944b07c-aaed-4bcf-820c-9e6031bc3d6c"/>
<column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
<column name="CONTRACTCODE" value="42154315"/>
<column name="CONTRACTCODE" value="1004"/>
<column name="PAYMENT" value="ca4d845b-f299-40c8-ace5-174bcfbb2d12"/>
<column name="CONTRACTTYPE" value="612f49d7-66c9-4304-ac3f-0ea19bb50948"/>
<column name="CONTRACTSTATUS" value="3579eb0c-d8ca-4b6b-85ee-f1800a9301eb"/>
......
......@@ -51,11 +51,11 @@
<include file="data_alias/data/example_person/PERSON_obermeier.xml"/>
<include file="data_alias/data/example_person/PERSON_smith.xml"/>
<include file="data_alias/data/example_person/PERSON_lustig.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_42154311.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_42154312.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_42154313.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_42154314.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_42154315.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_1000.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_1001.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_1002.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_1003.xml"/>
<include file="data_alias/data/example_contract/CONTRACT_1004.xml"/>
<include file="data_alias/data/example_product/PRODUCT_42154311.xml"/>
<include file="data_alias/data/example_salesproject/SALESPROJECT_gfk.xml"/>
<include file="data_alias/data/example_salesproject/SALESPROJECT_jkl.xml"/>
......
......@@ -2,7 +2,7 @@
<preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.0.3" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.0.3">
<name>_____PREFERENCES_PROJECT</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<projectName>basic 2019</projectName>
<projectName>xRM-Basic2019</projectName>
<jditoMaxContentSize v="57671680" />
<calendarCategoriesEvent>
<entry>
......
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
<name>Contract_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<process>%aditoprj%/process/Contract_lib/process.js</process>
<variants>
<element>LIBRARY</element>
</variants>
</process>
import("system.vars");
import("system.util");
import("system.datetime");
import("system.text");
import("system.neon");
import("system.db");
import("system.translate");
import("system.eMath");
import("Util_lib");
import("Sql_lib");
import("Keyword_lib");
import("Product_lib");
import("Report_lib");
import("OfferOrder_lib");
/**
* Methods used by Contract.
* Do not create an instance of this!
*
* @class
*/
function ContractUtils() {}
/**
* Delivers the next valid contract number (has to be unique)
*
* @return {String} next valid contract number
*/
ContractUtils.getNextContractNumber = function() {
return NumberSequencingUtils.getNextUniqueNumber("CONTRACTCODE", "CONTRACT");
}
/**
* Checks if the passed order number is valid (has to be unique)
*
* @param {String} pContractNumber order number to check
*
* @return {Boolean} passed number is valid
*/
ContractUtils.validateContractNumber = function(pContractNumber) {
return NumberSequencingUtils.validateUniqueNumber(pContractNumber, "CONTRACTCODE", "CONTRACT");
}
ContractUtils.getContractNumberValidationFailString = function() {
return translate.text("The contract number already exists!");
}
\ 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