diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 61cab7a73cde137138352dd6141b38474d03bc03..e5d9fb31d428db53eb1d1d1ae4133057ec876525 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -2369,6 +2369,34 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>OFFER_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>VERSNR</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="4" /> + <size v="10" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index c5490d13fc0d111ef418228350c0751ccfe53cbe..fbc9e15d5a0a5ca4a80af24e7efd679e1aca4890 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -3,14 +3,15 @@ <name>Contract_entity</name> <title>Contract</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <alias>Data_alias</alias> - <conditionProcess>%aditoprj%/entity/Contract_entity/conditionProcess.js</conditionProcess> <recordContainerType>DB</recordContainerType> <caption>Contract</caption> <iconId>VAADIN:FORM</iconId> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/Contract_entity/conditionProcess.js</conditionProcess> <entityFields> <entityField> <name>CONTRACTCODE</name> + <title>Contract number</title> <tableName>CONTRACT</tableName> <columnName>CONTRACTCODE</columnName> <caption>Contract number</caption> @@ -18,6 +19,7 @@ </entityField> <entityField> <name>CONTRACTDUE</name> + <title>Next due date</title> <tableName>CONTRACT</tableName> <columnName>CONTRACTDUE</columnName> <caption>Next due date</caption> @@ -27,6 +29,7 @@ </entityField> <entityField> <name>CONTRACTEND</name> + <title>Contract expiry date</title> <tableName>CONTRACT</tableName> <columnName>CONTRACTEND</columnName> <caption>Contract expiry date</caption> @@ -43,6 +46,7 @@ </entityField> <entityField> <name>CONTRACTSTART</name> + <title>Contract start date</title> <tableName>CONTRACT</tableName> <columnName>CONTRACTSTART</columnName> <caption>Contract start date</caption> @@ -53,6 +57,7 @@ </entityField> <entityField> <name>CONTRACTSTATUS</name> + <title>${CONTRACT_STATUS}</title> <tableName>CONTRACT</tableName> <columnName>CONTRACTSTATUS</columnName> <caption>${CONTRACT_STATUS}</caption> @@ -60,6 +65,7 @@ </entityField> <entityField> <name>CONTRACTTYPE</name> + <title>Type of contract</title> <tableName>CONTRACT</tableName> <columnName>CONTRACTTYPE</columnName> <caption>Type of contract</caption> @@ -83,6 +89,7 @@ </entityField> <entityField> <name>PAYMENT</name> + <title>Payment method</title> <tableName>CONTRACT</tableName> <columnName>PAYMENT</columnName> <caption>Payment method</caption> @@ -91,6 +98,7 @@ </entityField> <entityField> <name>RELATION_ID</name> + <title>Contact / Company</title> <tableName>CONTRACT</tableName> <columnName>RELATION_ID</columnName> <caption>Contact / Company</caption> @@ -102,6 +110,7 @@ </entityField> <entityField> <name>REMARK</name> + <title>Description</title> <tableName>CONTRACT</tableName> <columnName>REMARK</columnName> <caption>Description</caption> diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index cd4fa0c53aac2104570fada6577de51c3bd23c2c..80b0a931de78f73137cb7c566456a5db46c8eb70 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -9,6 +9,7 @@ <caption>Offer</caption> <alias>Data_alias</alias> <conditionProcess>%aditoprj%/entity/Offer_entity/conditionProcess.js</conditionProcess> + <onDBDelete>%aditoprj%/entity/Offer_entity/onDBDelete.js</onDBDelete> <entityFields> <entityIncomingField> <name>#INCOMING</name> @@ -18,6 +19,7 @@ <title>Currency</title> <tableName>OFFER</tableName> <columnName>CURRENCY</columnName> + <caption>Currency</caption> <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/currency/possibleItemsProcess.js</possibleItemsProcess> </entityField> <entityField> @@ -40,6 +42,7 @@ <title>Offer number</title> <tableName>OFFER</tableName> <columnName>OFFERCODE</columnName> + <caption>Offer number</caption> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode/valueProcess.js</valueProcess> <onValidation>%aditoprj%/entity/Offer_entity/entityfields/offercode/onValidation.js</onValidation> @@ -49,6 +52,7 @@ <title>Date</title> <tableName>OFFER</tableName> <columnName>OFFERDATE</columnName> + <caption>Date</caption> <contentType>DATE</contentType> <resolution>DAY</resolution> <mandatory v="true" /> @@ -65,6 +69,7 @@ <title>Probability</title> <tableName>OFFER</tableName> <columnName>PROBABILITY</columnName> + <caption>Probability</caption> <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js</possibleItemsProcess> </entityField> <entityField> @@ -72,6 +77,7 @@ <title>Contact / Company</title> <tableName>OFFER</tableName> <columnName>RELATION_ID</columnName> + <caption>Contact / Company</caption> <mandatory v="true" /> <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/relation_id/onValueChange.js</onValueChange> </entityField> @@ -80,12 +86,14 @@ <title>Salesproject</title> <tableName>OFFER</tableName> <columnName>SALESPROJECT_ID</columnName> + <caption>Salesproject</caption> </entityField> <entityField> <name>STATUS</name> <title>Status</title> <tableName>OFFER</tableName> <columnName>STATUS</columnName> + <caption>Status</caption> <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/status/possibleItemsProcess.js</possibleItemsProcess> </entityField> <entityField> @@ -105,6 +113,7 @@ <title>Total VAT</title> <tableName>OFFER</tableName> <columnName>VAT</columnName> + <caption>Total VAT</caption> <state>READONLY</state> </entityField> <entityField> @@ -117,6 +126,7 @@ <title>Header text</title> <tableName>OFFER</tableName> <columnName>HEADER</columnName> + <caption>Header text</caption> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/header/valueProcess.js</valueProcess> </entityField> <entityField> @@ -124,6 +134,7 @@ <title>Footer text</title> <tableName>OFFER</tableName> <columnName>FOOTER</columnName> + <caption>Footer text</caption> </entityField> <entityOutgoingField> <name>OfferOfferitem_dfo</name> @@ -169,18 +180,16 @@ <entityActionField> <name>newOfferVersion</name> <fieldType>ACTION</fieldType> + <title>New offer version</title> <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js</onActionProcess> - <caption>New offer verison</caption> + <caption>New offer version</caption> </entityActionField> - <entityField> - <name>PreviewTitle</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/previewtitle/valueProcess.js</valueProcess> - </entityField> <entityField> <name>NET</name> <title>Total net</title> <tableName>OFFER</tableName> <columnName>NET</columnName> + <caption>Total net</caption> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/net/valueProcess.js</valueProcess> <fieldIdProcess>%aditoprj%/entity/Offer_entity/entityfields/net/fieldIdProcess.js</fieldIdProcess> @@ -188,6 +197,7 @@ <entityField> <name>TotalGross</name> <title>Total gross</title> + <caption>Total gross</caption> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/valueProcess.js</valueProcess> </entityField> @@ -215,10 +225,38 @@ <title>Language</title> <tableName>OFFER</tableName> <columnName>LANGUAGE</columnName> + <caption>Language</caption> <mandatory v="true" /> <outgoingField></outgoingField> <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/language/possibleItemsProcess.js</possibleItemsProcess> </entityField> + <entityActionField> + <name>newOffer</name> + <fieldType>ACTION</fieldType> + <title>Copy offer</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> + <caption>Copy offer</caption> + </entityActionField> + <entityField> + <name>VERSNR</name> + <title>Vers. no.</title> + <tableName>OFFER</tableName> + <columnName>VERSNR</columnName> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/versnr/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OFFER_ID</name> + </entityField> + <entityFieldGroup> + <name>OfferCode_VersNr</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode_versnr/valueProcess.js</valueProcess> + <description>FIELDGROUP</description> + <fields> + <element>OFFERCODE</element> + <element>VERSNR</element> + </fields> + </entityFieldGroup> </entityFields> <linkInformation> <linkInformation> diff --git a/entity/Offer_entity/entityfields/newoffer/onActionProcess.js b/entity/Offer_entity/entityfields/newoffer/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8d44f51deacd1ece4560b02cdb57803cb104cdfa --- /dev/null +++ b/entity/Offer_entity/entityfields/newoffer/onActionProcess.js @@ -0,0 +1,29 @@ +import("system.logging"); +import("system.vars"); +import("system.neon"); +import("Util_lib"); +import("OfferOrder_lib"); + +var CMUtils = new CopyModuleUtils(); +var offUtils = new OfferUtils(); + +var InputMapping = { + + "OFFER": { + condition: "OFFERID = '" + vars.get("$field.OFFERID") + "'" + , ValueMapping: { + "OFFER_ID": "" + , "OFFERCODE": offUtils.getNextOfferNumber() + , "VERSNR": "1" + } + , SubModules:{ + "OFFERITEM": { + condition: "OFFER_ID = '" + vars.get("$field.OFFERID") + "' order by ITEMSORT" + } + } + } +} + +var ModulesMapping = CMUtils.copyModule(InputMapping); + +CMUtils.openNewModules("Offer_context", ModulesMapping); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js b/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js index c08e236d13b63186512914b072a4116c708eac1a..60eaab09684e3967b9b0c72763695ccb5a88464c 100644 --- a/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js +++ b/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js @@ -2,13 +2,20 @@ import("system.logging"); import("system.vars"); import("system.neon"); import("Util_lib"); +import("OfferOrder_lib"); var CMUtils = new CopyModuleUtils(); +var offUtils = new OfferUtils(); var InputMapping = { "OFFER": { condition: "OFFERID = '" + vars.get("$field.OFFERID") + "'" + , ValueMapping: { + "OFFER_ID": vars.get("$field.OFFERID") + , "OFFERCODE": vars.get("$field.OFFERCODE") + , "VERSNR": offUtils.getNextOfferVersionNumber(vars.get("$field.OFFERCODE")) + } , SubModules:{ "OFFERITEM": { condition: "OFFER_ID = '" + vars.get("$field.OFFERID") + "' order by ITEMSORT" diff --git a/entity/Offer_entity/entityfields/previewtitle/valueProcess.js b/entity/Offer_entity/entityfields/offercode_versnr/valueProcess.js similarity index 75% rename from entity/Offer_entity/entityfields/previewtitle/valueProcess.js rename to entity/Offer_entity/entityfields/offercode_versnr/valueProcess.js index d8bf28486a9cc4b31d3042ee6df5b00dbcdf6063..12a2f7a02a25c49dff7475f9c44fda138f23fa07 100644 --- a/entity/Offer_entity/entityfields/previewtitle/valueProcess.js +++ b/entity/Offer_entity/entityfields/offercode_versnr/valueProcess.js @@ -2,4 +2,4 @@ import("system.translate"); import("system.result"); import("system.vars"); -result.string(translate.text("Offer") + " " + vars.get("$field.OFFERCODE")); \ No newline at end of file +result.string(translate.text("Offer") + " " + vars.get("$field.OFFERCODE") + "-" + vars.get("$field.VERSNR")); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/versnr/valueProcess.js b/entity/Offer_entity/entityfields/versnr/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..bdd9495312b54718c9b4136083ae74af55df3dc1 --- /dev/null +++ b/entity/Offer_entity/entityfields/versnr/valueProcess.js @@ -0,0 +1,9 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); +import("OfferOrder_lib"); + +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) +{ + result.string( "1" ); +} \ No newline at end of file diff --git a/entity/Offer_entity/onDBDelete.js b/entity/Offer_entity/onDBDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..c69fde6a9281b91ef88556c006165b009a8fcb4c --- /dev/null +++ b/entity/Offer_entity/onDBDelete.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.db"); + +db.deleteData("OFFERITEM", "OFFERITEM.OFFER_ID = '" + vars.getString("$field.OFFERID") + "'"); \ No newline at end of file diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod index 3adf52ce78a9faa5a7586f2b64624e7ab98ce9ae..d5aa9a670e2c5ff650d4d6c0ad23205b1d9e787f 100644 --- a/entity/Offeritem_entity/Offeritem_entity.aod +++ b/entity/Offeritem_entity/Offeritem_entity.aod @@ -50,6 +50,7 @@ </entityField> <entityField> <name>DESCRIPTION</name> + <title>Description</title> <tableName>OFFERITEM</tableName> <columnName>DESCRIPTION</columnName> <caption>Description</caption> @@ -57,12 +58,14 @@ </entityField> <entityField> <name>DISCOUNT</name> + <title>Discount</title> <tableName>OFFERITEM</tableName> <columnName>DISCOUNT</columnName> <caption>Discount</caption> </entityField> <entityField> <name>GROUPCODEID</name> + <title>Commodity group</title> <tableName>OFFERITEM</tableName> <columnName>GROUPCODEID</columnName> <caption>Commodity group</caption> @@ -71,12 +74,14 @@ </entityField> <entityField> <name>ITEMNAME</name> + <title>Designation</title> <tableName>OFFERITEM</tableName> <columnName>ITEMNAME</columnName> <caption>Designation</caption> </entityField> <entityField> <name>ITEMPOSITION</name> + <title>Position</title> <tableName>OFFERITEM</tableName> <columnName>ITEMPOSITION</columnName> <caption>Position</caption> @@ -103,6 +108,7 @@ </entityField> <entityField> <name>OPTIONAL</name> + <title>Optional</title> <tableName>OFFERITEM</tableName> <columnName>OPTIONAL</columnName> <caption>Optional</caption> @@ -112,12 +118,14 @@ </entityField> <entityField> <name>PRICE</name> + <title>Unit price</title> <tableName>OFFERITEM</tableName> <columnName>PRICE</columnName> <caption>Unit price</caption> </entityField> <entityField> <name>PRODUCT_ID</name> + <title>Article</title> <tableName>OFFERITEM</tableName> <columnName>PRODUCT_ID</columnName> <caption>Article</caption> @@ -127,6 +135,7 @@ </entityField> <entityField> <name>QUANTITY</name> + <title>Quantity</title> <tableName>OFFERITEM</tableName> <columnName>QUANTITY</columnName> <caption>Quantity</caption> @@ -136,6 +145,7 @@ </entityField> <entityField> <name>UNIT</name> + <title>Unit</title> <tableName>OFFERITEM</tableName> <columnName>UNIT</columnName> <caption>Unit</caption> @@ -155,6 +165,7 @@ </entityField> <entityField> <name>VAT</name> + <title>VAT</title> <tableName>OFFERITEM</tableName> <columnName>VAT</columnName> <caption>VAT</caption> @@ -181,6 +192,7 @@ </entityParameter> <entityField> <name>TotalPrice</name> + <title>Sum</title> <caption>Sum</caption> <contentType>NUMBER</contentType> <outputFormat>#,##0.00</outputFormat> diff --git a/entity/Org_entity/Org_entity.aod b/entity/Org_entity/Org_entity.aod index b8cd216f8075b935f50fd3d7375d704bd11a37a7..a8890c00fe8fd49ee1a1e4d2f58f052cd3f14317 100644 --- a/entity/Org_entity/Org_entity.aod +++ b/entity/Org_entity/Org_entity.aod @@ -4,18 +4,17 @@ <title>Company</title> <majorModelMode>DISTRIBUTED</majorModelMode> <recordContainerType>DB</recordContainerType> - <caption>Company</caption> - <captionProcess>%aditoprj%/entity/Org_entity/captionProcess.js</captionProcess> <iconId>VAADIN:BUILDING</iconId> <imageProcess>%aditoprj%/entity/Org_entity/imageProcess.js</imageProcess> + <titleProcess>%aditoprj%/entity/Org_entity/titleProcess.js</titleProcess> <alias>Data_alias</alias> <fromClauseProcess>%aditoprj%/entity/Org_entity/fromClauseProcess.js</fromClauseProcess> <entityFields> <entityField> <name>CUSTOMERCODE</name> + <title>Customercode</title> <tableName>ORG</tableName> <columnName>CUSTOMERCODE</columnName> - <caption>Customercode</caption> <contentType>TEXT</contentType> </entityField> <entityField> @@ -41,16 +40,16 @@ </entityField> <entityField> <name>INFO</name> + <title>Information</title> <tableName>ORG</tableName> <columnName>INFO</columnName> - <caption>Information</caption> <contentType>LONG_TEXT</contentType> </entityField> <entityField> <name>NAME</name> + <title>Name</title> <tableName>ORG</tableName> <columnName>NAME</columnName> - <caption>Name</caption> <mandatory v="true" /> </entityField> <entityField> @@ -91,9 +90,9 @@ </entityField> <entityField> <name>LANGUAGE</name> + <title>Language</title> <tableName>RELATION</tableName> <columnName>LANGUAGE</columnName> - <caption>Language</caption> <possibleItemsProcess>%aditoprj%/entity/Org_entity/entityfields/language/possibleItemsProcess.js</possibleItemsProcess> <selectionMode>SINGLE</selectionMode> </entityField> @@ -110,9 +109,9 @@ </entityField> <entityField> <name>STATUS</name> + <title>Status</title> <tableName>RELATION</tableName> <columnName>STATUS</columnName> - <caption>Status</caption> <contentType>TEXT</contentType> <possibleItemsProcess>%aditoprj%/entity/Org_entity/entityfields/status/possibleItemsProcess.js</possibleItemsProcess> <searchable v="false" /> @@ -132,9 +131,9 @@ </entityField> <entityField> <name>TYPE</name> + <title>Type</title> <tableName>ORG</tableName> <columnName>TYPE</columnName> - <caption>Type</caption> <possibleItemsProcess>%aditoprj%/entity/Org_entity/entityfields/type/possibleItemsProcess.js</possibleItemsProcess> <searchable v="false" /> </entityField> @@ -168,6 +167,7 @@ <entityParameter> <name>OrgId_param</name> <code>%aditoprj%/entity/Org_entity/entityfields/persorg_dfo/children/orgid_param/code.js</code> + <triggerRecalculation v="true" /> </entityParameter> </children> </entityOutgoingField> @@ -218,7 +218,6 @@ <name>OrgAddress_dfo</name> <title>Addresses</title> <fieldType>DEPENDENCY_OUT</fieldType> - <caption>Addresses</caption> <dependency> <name>dependency</name> <entityName>Address_entity</entityName> @@ -246,7 +245,6 @@ <name>OrgComm_dfo</name> <title>Communication</title> <fieldType>DEPENDENCY_OUT</fieldType> - <caption>Communication</caption> <dependency> <name>dependency</name> <entityName>Comm_entity</entityName> @@ -262,8 +260,8 @@ </entityOutgoingField> <entityOutgoingField> <name>OrgCommEmail_dfo</name> + <title>Communication E-Mail</title> <fieldType>DEPENDENCY_OUT</fieldType> - <caption>Communication E-Mail</caption> <dependency> <name>dependency</name> <entityName>Comm_entity</entityName> @@ -284,8 +282,8 @@ </entityOutgoingField> <entityOutgoingField> <name>OrgCommPhone_dfo</name> + <title>Communication Phone</title> <fieldType>DEPENDENCY_OUT</fieldType> - <caption>Communication Phone</caption> <dependency> <name>dependency</name> <entityName>Comm_entity</entityName> @@ -306,8 +304,8 @@ </entityOutgoingField> <entityOutgoingField> <name>OrgCommOthers_dfo</name> + <title>Communication Other</title> <fieldType>DEPENDENCY_OUT</fieldType> - <caption>Communication Other</caption> <dependency> <name>dependency</name> <entityName>Comm_entity</entityName> @@ -328,6 +326,7 @@ </entityOutgoingField> <entityOutgoingField> <name>OrgContract_dfo</name> + <title>Contracts</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> @@ -361,7 +360,6 @@ <name>OrgProductprice_dfo</name> <title>Conditions</title> <fieldType>DEPENDENCY_OUT</fieldType> - <caption>Conditions</caption> <dependency> <name>dependency</name> <entityName>Productprice_entity</entityName> @@ -379,7 +377,7 @@ </entityIncomingField> <entityOutgoingField> <name>OrgDocument_dfo</name> - <title>Dokumente</title> + <title>Documents</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> diff --git a/entity/Org_entity/captionProcess.js b/entity/Org_entity/titleProcess.js similarity index 100% rename from entity/Org_entity/captionProcess.js rename to entity/Org_entity/titleProcess.js diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod index 2299428d6bbd9067abc60a61ece3694129e40495..798dde9f9bf64cca74260b8f3f692601eab89bce 100644 --- a/entity/Prod2prod_entity/Prod2prod_entity.aod +++ b/entity/Prod2prod_entity/Prod2prod_entity.aod @@ -74,6 +74,7 @@ </entityField> <entityField> <name>QUANTITY</name> + <title>Quantity</title> <tableName></tableName> <columnName></columnName> <fieldName>QUANTITY</fieldName> @@ -82,6 +83,7 @@ </entityField> <entityField> <name>SOURCE_ID</name> + <title>Product</title> <tableName></tableName> <columnName></columnName> <fieldName>SOURCE_ID</fieldName> @@ -91,6 +93,7 @@ </entityField> <entityField> <name>TAKEPRICE</name> + <title>Price</title> <tableName></tableName> <columnName></columnName> <fieldName>TAKEPRICE</fieldName> @@ -118,6 +121,7 @@ </entityParameter> <entityField> <name>PARENTID</name> + <title>Parent</title> <fieldName>PARENTID</fieldName> <caption>Parent</caption> </entityField> diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index 529105de0812d03046767a26689cb51ab9f278b0..fe1c17de711e36a0357c55ef6e518af10b0e95dd 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -3,15 +3,17 @@ <name>Product_entity</name> <title>Product</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <alias>Data_alias</alias> - <orderClauseProcess>%aditoprj%/entity/Product_entity/orderClauseProcess.js</orderClauseProcess> - <jDitoRecordAlias>Data_alias</jDitoRecordAlias> <recordContainerType>DB</recordContainerType> <caption>Product</caption> <iconId>VAADIN:HAMMER</iconId> + <alias>Data_alias</alias> + <orderClauseProcess>%aditoprj%/entity/Product_entity/orderClauseProcess.js</orderClauseProcess> + <onDBDelete>%aditoprj%/entity/Product_entity/onDBDelete.js</onDBDelete> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> <entityFields> <entityField> <name>ADVERTISING</name> + <title>Advertising material</title> <tableName>PRODUCT</tableName> <columnName>ADVERTISING</columnName> <caption>Advertising material</caption> @@ -37,6 +39,7 @@ </entityField> <entityField> <name>GROUPCODEID</name> + <title>Product group</title> <tableName>PRODUCT</tableName> <columnName>GROUPCODEID</columnName> <caption>Product group</caption> @@ -45,6 +48,7 @@ </entityField> <entityField> <name>MINSTOCK</name> + <title>Min. stock</title> <tableName>PRODUCT</tableName> <columnName>MINSTOCK</columnName> <caption>Min. stock</caption> @@ -53,6 +57,7 @@ </entityField> <entityField> <name>ORG_ID</name> + <title>Developer</title> <tableName>PRODUCT</tableName> <columnName>ORG_ID</columnName> <caption>Developer</caption> @@ -60,6 +65,7 @@ </entityField> <entityField> <name>PRODUCTCODE</name> + <title>Product number</title> <tableName>PRODUCT</tableName> <columnName>PRODUCTCODE</columnName> <caption>Product number</caption> @@ -74,6 +80,7 @@ </entityField> <entityField> <name>PRODUCTNAME</name> + <title>Product name</title> <tableName>PRODUCT</tableName> <columnName>PRODUCTNAME</columnName> <caption>Product name</caption> @@ -86,6 +93,7 @@ </entityField> <entityField> <name>STATUS</name> + <title>Active</title> <tableName>PRODUCT</tableName> <columnName>STATUS</columnName> <caption>Active</caption> @@ -95,6 +103,7 @@ </entityField> <entityField> <name>UNIT</name> + <title>Unit</title> <tableName>PRODUCT</tableName> <columnName>UNIT</columnName> <caption>Unit</caption> diff --git a/entity/Product_entity/onDBDelete.js b/entity/Product_entity/onDBDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..f27a5d2007bdf3cb217831dfc93319bb24927e84 --- /dev/null +++ b/entity/Product_entity/onDBDelete.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.db"); + +db.deleteData("PROD2PROD", "PROD2PROD.DEST_ID = '" + vars.getString("$field.PRODUCTID") + "'"); +db.deleteData("PROD2PROD", "PROD2PROD.SOURCE_ID = '" + vars.getString("$field.PRODUCTID") + "'"); +db.deleteData("PRODUCTPRICE", "PRODUCTPRICE.PRODUCT_ID = '" + vars.getString("$field.PRODUCTID") + "'"); +db.deleteData("STOCK", "STOCK.PRODUCT_ID = '" + vars.getString("$field.PRODUCTID") + "'"); \ No newline at end of file diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod index 6994efe5ba507dc61c88dec8d12a5082dc5619a3..3a214314d2811e3fafab803acac657ccad30f406 100644 --- a/entity/Productprice_entity/Productprice_entity.aod +++ b/entity/Productprice_entity/Productprice_entity.aod @@ -15,6 +15,7 @@ <entityFields> <entityField> <name>BUYSELL</name> + <title>PP/SP</title> <tableName>PRODUCTPRICE</tableName> <columnName>BUYSELL</columnName> <caption>PP/SP</caption> @@ -25,6 +26,7 @@ </entityField> <entityField> <name>CURRENCY</name> + <title>Currency</title> <tableName>PRODUCTPRICE</tableName> <columnName>CURRENCY</columnName> <caption>Currency</caption> @@ -49,6 +51,7 @@ </entityField> <entityField> <name>FROMQUANTITY</name> + <title>From no. of units</title> <tableName>PRODUCTPRICE</tableName> <columnName>FROMQUANTITY</columnName> <caption>From no. of units</caption> @@ -60,6 +63,7 @@ </entityField> <entityField> <name>PRICE</name> + <title>Price</title> <tableName>PRODUCTPRICE</tableName> <columnName>PRICE</columnName> <caption>Price</caption> @@ -75,6 +79,7 @@ </entityField> <entityField> <name>PRODUCT_ID</name> + <title>Product</title> <tableName>PRODUCTPRICE</tableName> <columnName>PRODUCT_ID</columnName> <caption>Product</caption> @@ -88,6 +93,7 @@ </entityField> <entityField> <name>RELATION_ID</name> + <title>Company</title> <tableName>PRODUCTPRICE</tableName> <columnName>RELATION_ID</columnName> <caption>Company</caption> @@ -107,6 +113,7 @@ </entityField> <entityField> <name>VALID_FROM</name> + <title>Valid from</title> <tableName>PRODUCTPRICE</tableName> <columnName>VALID_FROM</columnName> <caption>Valid from</caption> @@ -117,6 +124,7 @@ </entityField> <entityField> <name>VALID_TO</name> + <title>Valid until</title> <tableName>PRODUCTPRICE</tableName> <columnName>VALID_TO</columnName> <caption>Valid until</caption> @@ -126,6 +134,7 @@ </entityField> <entityField> <name>VAT</name> + <title>VAT</title> <tableName>PRODUCTPRICE</tableName> <columnName>VAT</columnName> <caption>VAT</caption> @@ -136,6 +145,7 @@ </entityField> <entityField> <name>PRICELIST</name> + <title>Price list</title> <tableName>PRODUCTPRICE</tableName> <columnName>PRICELIST</columnName> <caption>Price list</caption> @@ -173,6 +183,7 @@ </entityParameter> <entityField> <name>PRODUCT_GROUPCODEID</name> + <title>Product group</title> <caption>Product group</caption> <possibleItemsProcess>%aditoprj%/entity/Productprice_entity/entityfields/product_groupcodeid/possibleItemsProcess.js</possibleItemsProcess> </entityField> @@ -229,13 +240,15 @@ </entityField> <entityField> <name>currentPurchasePrice</name> - <caption>Curr. sales price</caption> + <title>Curr. purchase price</title> + <caption>Curr. purchase price</caption> <contentType>NUMBER</contentType> <outputFormat>#,##0.00 €</outputFormat> <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/currentpurchaseprice/valueProcess.js</valueProcess> </entityField> <entityField> <name>currentSalesPrice</name> + <title>Curr. sales price</title> <caption>Curr. sales price</caption> <contentType>NUMBER</contentType> <outputFormat>#,##0.00 €</outputFormat> diff --git a/entity/Stock_entity/Stock_entity.aod b/entity/Stock_entity/Stock_entity.aod index 4942e5aa72153edeca4529e1cdf8f8058f038173..969b97e4ddb8af326fc186de1ccb82b26464db1e 100644 --- a/entity/Stock_entity/Stock_entity.aod +++ b/entity/Stock_entity/Stock_entity.aod @@ -3,10 +3,11 @@ <name>Stock_entity</name> <title>Stock</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <alias>Data_alias</alias> - <conditionProcess>%aditoprj%/entity/Stock_entity/conditionProcess.js</conditionProcess> <recordContainerType>DB</recordContainerType> <caption>Stock</caption> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/Stock_entity/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/Stock_entity/orderClauseProcess.js</orderClauseProcess> <entityFields> <entityField> <name>DATE_EDIT</name> @@ -26,6 +27,7 @@ </entityField> <entityField> <name>ENTRYDATE</name> + <title>Date</title> <tableName>STOCK</tableName> <columnName>ENTRYDATE</columnName> <caption>Date</caption> @@ -36,6 +38,7 @@ </entityField> <entityField> <name>IN_OUT</name> + <title>I / O</title> <tableName>STOCK</tableName> <columnName>IN_OUT</columnName> <caption>I / O</caption> @@ -51,6 +54,7 @@ </entityField> <entityField> <name>QUANTITY</name> + <title>Quantity</title> <tableName>STOCK</tableName> <columnName>QUANTITY</columnName> <caption>Quantity</caption> @@ -60,6 +64,7 @@ </entityField> <entityField> <name>REFNUMBER</name> + <title>Reference</title> <tableName>STOCK</tableName> <columnName>REFNUMBER</columnName> <caption>Reference</caption> @@ -84,6 +89,7 @@ </entityField> <entityField> <name>WAREHOUSE</name> + <title>Warehouse</title> <tableName>STOCK</tableName> <columnName>WAREHOUSE</columnName> <caption>Warehouse</caption> @@ -115,6 +121,7 @@ </entityField> <entityField> <name>STOCKCOUNT</name> + <title>Stock</title> <caption>Stock</caption> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Stock_entity/entityfields/stockcount/valueProcess.js</valueProcess> diff --git a/entity/Stock_entity/orderClauseProcess.js b/entity/Stock_entity/orderClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ec31c7395e9c1d4b368d0f9310e4b76f30f11ac1 --- /dev/null +++ b/entity/Stock_entity/orderClauseProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.object( {"STOCK.ENTRYDATE": "down"} ); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index dae7af9c6955fc7a723e8e25b12bea0e9f493fe7..c13dae8f9cd2f08a10e524855e18113913dd1f96 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -963,6 +963,21 @@ <entry> <key>Documents</key> </entry> + <entry> + <key>New offer version</key> + </entry> + <entry> + <key>Copy offer</key> + </entry> + <entry> + <key>Documents</key> + </entry> + <entry> + <key>Vers. no.</key> + </entry> + <entry> + <key>Curr. purchase price</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 408e14d9d2e2bc7b3c8c92b2e39b8d1c5d624254..8df6141f5806f289396c671a1a7a312ae9adfe9a 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -1239,6 +1239,25 @@ <entry> <key>Documents</key> </entry> + <entry> + <key>New offer version</key> + <value>Neue Angebotsversion</value> + </entry> + <entry> + <key>Copy offer</key> + <value>Angebot kopieren</value> + </entry> + <entry> + <key>Documents</key> + </entry> + <entry> + <key>Vers. no.</key> + <value>Vers.-Nr.</value> + </entry> + <entry> + <key>Curr. purchase price</key> + <value>akt. EK-Preis</value> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 5caa62e97b9020658b591ff4f0fe9c2097d52af1..112cf9f4b0012ed19c8655e0fb3b660dabed7c32 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -972,6 +972,9 @@ <entry> <key>Documents</key> </entry> + <entry> + <key>Curr. purchase price</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod index c50ceb2b9db62cdfe9a7983e9e58365f3c6ecf2c..5eeaf48f1d954c11d3a76696d1acbe360948609b 100644 --- a/neonView/OfferFilter_view/OfferFilter_view.aod +++ b/neonView/OfferFilter_view/OfferFilter_view.aod @@ -16,6 +16,11 @@ <name>60b83daa-9349-4bef-94d8-5f1fc350da59</name> <entityField>OFFERCODE</entityField> </neonTableColumn> + <neonTableColumn> + <name>2a4ce1c5-0719-48e3-853d-c1ffba382571</name> + <entityField>VERSNR</entityField> + <width v="20" /> + </neonTableColumn> <neonTableColumn> <name>2e926750-d1db-4cb0-8fd9-f930ed7f0252</name> <entityField>RELATION_ID</entityField> diff --git a/neonView/OfferPreview_view/OfferPreview_view.aod b/neonView/OfferPreview_view/OfferPreview_view.aod index d50f003cb7bc35534ab0067c4fd0013b2fd48e46..9f42c58c3b8cc65065fb18c5d8446e51c319a211 100644 --- a/neonView/OfferPreview_view/OfferPreview_view.aod +++ b/neonView/OfferPreview_view/OfferPreview_view.aod @@ -11,7 +11,7 @@ <cardViewTemplate> <name>OfferHeader_template</name> <iconField>IMAGE</iconField> - <titleField>PreviewTitle</titleField> + <titleField>OfferCode_VersNr</titleField> <descriptionField>RELATION_ID</descriptionField> <entityField>#ENTITY</entityField> </cardViewTemplate> diff --git a/others/db_changes/data/example_offer/OFFER_1000.xml b/others/db_changes/data/example_offer/OFFER_1000.xml index 6759240a393a5b32a642a9c0f1669b51242e1793..cfdf6cfacbe7d54d9315f1b2058fce6121979869 100644 --- a/others/db_changes/data/example_offer/OFFER_1000.xml +++ b/others/db_changes/data/example_offer/OFFER_1000.xml @@ -6,6 +6,7 @@ <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/> <column name="OFFERDATE" valueDate="2018-11-21T00:00:00"/> <column name="OFFERCODE" valueNumeric="1000"/> + <column name="VERSNR" valueNumeric="1"/> <column name="STATUS" valueNumeric="1"/> <column name="PROBABILITY" valueNumeric="5"/> <column name="NET" valueNumeric="210.00"/> diff --git a/others/db_changes/data/example_product/PRODUCT_42154311.xml b/others/db_changes/data/example_product/PRODUCT_42154311.xml index 07a294aea5a81ffb29a46a59cff4f8224e28cd4c..b64161fe6a3e174abdf89164ccb8198840f172fe 100644 --- a/others/db_changes/data/example_product/PRODUCT_42154311.xml +++ b/others/db_changes/data/example_product/PRODUCT_42154311.xml @@ -232,6 +232,46 @@ <column name="DATE_NEW" valueDate="2018-11-12T14:35:59"/> </insert> + <insert tableName="STOCK"> + <column name="STOCKID" value="f09201f8-85f3-4715-8d44-5cec7b8f437b"/> + <column name="IN_OUT" valueNumeric="1"/> + <column name="QUANTITY" valueNumeric="30"/> + <column name="PRODUCT_ID" value="P101 "/> + <column name="ENTRYDATE" valueDate="2018-11-22T00:00:00"/> + <column name="WAREHOUSE" valueNumeric="1"/> + <column name="USER_NEW" value="Admin"/> + <column name="DATE_NEW" valueDate="2018-11-22T11:35:59"/> + </insert> + <insert tableName="STOCK"> + <column name="STOCKID" value="a90a8aba-76bb-40b1-a4ab-ef39508296cb"/> + <column name="IN_OUT" valueNumeric="1"/> + <column name="QUANTITY" valueNumeric="25"/> + <column name="PRODUCT_ID" value="P101 "/> + <column name="ENTRYDATE" valueDate="2018-11-15T00:00:00"/> + <column name="WAREHOUSE" valueNumeric="1"/> + <column name="USER_NEW" value="Admin"/> + <column name="DATE_NEW" valueDate="2018-11-22T11:36:04"/> + </insert> + <insert tableName="STOCK"> + <column name="STOCKID" value="bd4c1a16-1b80-4b3e-aa67-306f387a62df"/> + <column name="IN_OUT" valueNumeric="-1"/> + <column name="QUANTITY" valueNumeric="23"/> + <column name="PRODUCT_ID" value="P101 "/> + <column name="ENTRYDATE" valueDate="2018-11-22T00:00:00"/> + <column name="WAREHOUSE" valueNumeric="1"/> + <column name="USER_NEW" value="Admin"/> + <column name="DATE_NEW" valueDate="2018-11-22T11:36:07"/> + </insert> + <insert tableName="STOCK"> + <column name="STOCKID" value="3caba278-9d38-485c-9d78-11ea969b832c"/> + <column name="IN_OUT" valueNumeric="-1"/> + <column name="QUANTITY" valueNumeric="17"/> + <column name="PRODUCT_ID" value="P101 "/> + <column name="ENTRYDATE" valueDate="2018-11-15T00:00:00"/> + <column name="WAREHOUSE" valueNumeric="1"/> + <column name="USER_NEW" value="Admin"/> + <column name="DATE_NEW" valueDate="2018-11-22T11:36:09"/> + </insert> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/struct/create_offer.xml b/others/db_changes/struct/create_offer.xml index 45c57d54f220d3459012b137702cee3da3abc86d..4e3e610d85c0be763a9e8f12acdaae3ae2d0350f 100644 --- a/others/db_changes/struct/create_offer.xml +++ b/others/db_changes/struct/create_offer.xml @@ -9,9 +9,13 @@ <constraints nullable="false"/> </column> <column name="SALESPROJECT_ID" type="CHAR(36)"/> + <column name="OFFER_ID" type="CHAR(36)"> + <constraints foreignKeyName="FK_OFFER_OFFER_ID" references="OFFER(OFFERID)"/> + </column> <column name="OFFERDATE" type="TIMESTAMP"/> <column name="LANGUAGE" type="INTEGER"/> <column name="OFFERCODE" type="INTEGER"/> + <column name="VERSNR" type="INTEGER"/> <column name="STATUS" type="INTEGER"/> <column name="PROBABILITY" type="INTEGER"/> <column name="NET" type="NUMERIC(14,2)"/> diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index 473ef689d837b86aee98b7cd8c0d4c1ef1f4c727..6342decac506717ea22a8355652f8a4fde3f4c99 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.0.1"> <name>_____PREFERENCES_PROJECT</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <projectName>xRM-Basic5</projectName> + <projectName>xRM-Basic</projectName> <jditoMaxContentSize v="57671680" /> <calendarCategoriesEvent> <entry> diff --git a/process/OfferOrder_lib/process.js b/process/OfferOrder_lib/process.js index 0bae4843e326137c5cc05893e4ea04b926d69fa7..3e32be2ad1ab81fd1382f913485c231788c09444 100644 --- a/process/OfferOrder_lib/process.js +++ b/process/OfferOrder_lib/process.js @@ -19,6 +19,17 @@ function OfferUtils() return JdUtils.getNextUniqueNumber("OFFERCODE", "OFFER"); } + /** + * Delivers the next valid offer version number + * + * @return {String} next valid offer version number + */ + this.getNextOfferVersionNumber = function(pOfferCode) + { + var JdUtils = new JDitoUtils(); + return JdUtils.getNextUniqueNumber("VERSNR", "OFFER", 1, "OFFERCODE = " + pOfferCode); + } + /** * Checks if the passed offer number is valid (has to be unique) * diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js index 50d9e699415079a74f6c2b40ed16f2d704314752..969fe5b2f57169f259666d6e1a2e6f9059d1b40a 100644 --- a/process/Util_lib/process.js +++ b/process/Util_lib/process.js @@ -1339,10 +1339,7 @@ function CopyModuleUtils() case "OFFER": { //andere Values setzen - var offUtils = new OfferUtils(); var dtUtils = new DateUtils(); - - ModuleRowMapping.ColumnMapping["OFFERCODE"].newValue = offUtils.getNextOfferNumber(); ModuleRowMapping.ColumnMapping["OFFERDATE"].newValue = dtUtils.getTodayUTC(); } break; @@ -1479,4 +1476,4 @@ ProcessHandlingUtil = { { return vars.exists("$local.value") ? vars.get("$local.value") : pFieldValue; } -} \ No newline at end of file +} diff --git a/system/default/default.aod b/system/default/default.aod index 6af409799bfdb9087d5456cd096f1b285a723f99..9adf7ceb8e009d2e52c1f58a6b3eea36f13e7edd 100644 --- a/system/default/default.aod +++ b/system/default/default.aod @@ -7,4 +7,5 @@ <aditoDataPath>$PROJECTHOME/data</aditoDataPath> <loginUser>Admin</loginUser> <loginPassword>a</loginPassword> + <enableJDitoDebug v="true" /> </system>