diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index b1dc5f82be91bc3b109a161e2060b3e8bff1baf3..8d4280cf68c20dccc49abd6fef324f4ab4343caf 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -1109,7 +1109,7 @@ <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> - <index v="true" /> + <index v="false" /> <title></title> <description></description> <dependencies> @@ -1142,7 +1142,7 @@ <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> - <index v="true" /> + <index v="false" /> <title></title> <description></description> <dependencies> @@ -1904,7 +1904,7 @@ <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> - <index v="true" /> + <index v="false" /> <title></title> <description></description> </entityFieldDb> @@ -2444,20 +2444,6 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>CONTACT_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>INFO</name> <dbName></dbName> @@ -3398,7 +3384,7 @@ <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> - <index v="true" /> + <index v="false" /> <documentation></documentation> <title></title> <description></description> diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index c816a762ad4a67c2cb55ad09fcea6b534af94ad2..f8c7af04b1f75331bbe83a26980787f53783455d 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -19,6 +19,7 @@ <title>Entrydate</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/entrydate/valueProcess.js</valueProcess> </entityField> @@ -151,7 +152,7 @@ </entityParameter> <entityConsumer> <name>Links</name> - <title>Verknüpfungen</title> + <title>Connections</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> @@ -258,7 +259,7 @@ </entityField> <entityConsumer> <name>ModuleTrees</name> - <title>Baum</title> + <title>Tree</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> @@ -279,16 +280,16 @@ <entityActionField> <name>newActivity_action</name> <fieldType>ACTION</fieldType> - <title>Neue Aktivität</title> + <title>New activity</title> <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newactivity_action/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PLUS</iconId> + <iconId>NEON:HISTORY</iconId> </entityActionField> <entityActionField> <name>newTask_action</name> <fieldType>ACTION</fieldType> - <title>Neue Aufgabe</title> + <title>New task</title> <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newtask_action/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PLUS</iconId> + <iconId>VAADIN:TASKS</iconId> </entityActionField> <entityParameter> <name>ParentId_param</name> diff --git a/entity/AddressType_entity/AddressType_entity.aod b/entity/AddressType_entity/AddressType_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..8a71a164f322a8284003fcc21c1be45bc740a181 --- /dev/null +++ b/entity/AddressType_entity/AddressType_entity.aod @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.1"> + <name>AddressType_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <titleProcess>%aditoprj%/entity/AddressType_entity/titleProcess.js</titleProcess> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>KEYID</name> + </entityField> + <entityField> + <name>TITLE</name> + </entityField> + <entityField> + <name>AB_KEYWORD_ENTRYID</name> + </entityField> + <entityProvider> + <name>ByCategory</name> + <fieldType>DEPENDENCY_IN</fieldType> + <lookupIdfield>KEYID</lookupIdfield> + <dependencies> + <entityDependency> + <name>b6ddc934-51ac-43a5-8aa9-7239423ea14d</name> + <entityName>Address_entity</entityName> + <fieldName>KeywordAddressType</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>usageFilter_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>usageFilter_param</name> + <title></title> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/AddressType_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <linkInformation> + <linkInformation> + <name>a4614347-7edb-4101-9e79-40971acfd79e</name> + <tableName>AB_KEYWORD_ENTRY</tableName> + <primaryKey>AB_KEYWORD_ENTRYID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>AB_KEYWORD_ENTRYID.value</name> + <recordfield>AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KEYID.value</name> + <recordfield>AB_KEYWORD_ENTRY.KEYID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TITLE.value</name> + <recordfield>AB_KEYWORD_ENTRY.TITLE</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/AddressType_entity/recordcontainers/db/conditionProcess.js b/entity/AddressType_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..99de51563c292033c4e4bf73e103579af4f5d021 --- /dev/null +++ b/entity/AddressType_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,25 @@ +import("system.db"); +import("system.vars"); +import("system.result"); +import("KeywordRegistry_basic"); +import("Sql_lib"); +import("Keyword_lib"); + +var cond = SqlCondition.begin() + .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.addressType()); + + +var usageFilter = vars.get("$param.usageFilter_param"); +if (usageFilter) +{ + var keywordAttribute = new KeywordAttribute($KeywordRegistry.addressType(), usageFilter); + cond.andAttachPrepared(SqlCondition.begin() + .andPrepare("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ATTRIBUTE_ID", keywordAttribute.id) + .andPrepare("AB_KEYWORD_ATTRIBUTERELATION." + keywordAttribute.dbField, "1") + .buildSql("AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID in (\n\ + select AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID \n\ + from AB_KEYWORD_ATTRIBUTERELATION ", null, ")")); +} + +cond = db.translateStatement(cond.build("1 = 2")); +result.string(cond); \ No newline at end of file diff --git a/entity/AddressType_entity/titleProcess.js b/entity/AddressType_entity/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..554c806f6eba1b0e1f71ea1b1b1b9dc8f032b094 --- /dev/null +++ b/entity/AddressType_entity/titleProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +result.string(translate.text(vars.get("$field.TITLE"))); \ No newline at end of file diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod index 6142a768ec32f6a6623c6abfa03ccf95349dbb30..124f22a21699db143ad14c524f9e9d9fea69d4f1 100644 --- a/entity/Address_entity/Address_entity.aod +++ b/entity/Address_entity/Address_entity.aod @@ -42,6 +42,7 @@ <title>Country</title> <consumer>Countries</consumer> <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Address_entity/entityfields/country/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/country/displayValueProcess.js</displayValueProcess> </entityField> <entityField> @@ -71,7 +72,6 @@ <entityProvider> <name>OrganisationAddresses</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>b484b43c-16f6-4875-9787-f0813dd200cb</name> @@ -84,7 +84,7 @@ <entityParameter> <name>ContactType_param</name> <valueProcess>%aditoprj%/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/valueProcess.js</valueProcess> - <expose v="true" /> + <expose v="false" /> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> <entityParameter> @@ -106,7 +106,6 @@ <entityProvider> <name>ContactAddresses</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>efdb2f19-ab41-4f49-941a-843610e2b31b</name> @@ -119,7 +118,7 @@ <entityParameter> <name>ContactType_param</name> <valueProcess>%aditoprj%/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js</valueProcess> - <expose v="true" /> + <expose v="false" /> <triggerRecalculation v="true" /> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> @@ -149,7 +148,6 @@ <name>OrganisationAddressesByContact</name> <fieldType>DEPENDENCY_IN</fieldType> <documentation>%aditoprj%/entity/Address_entity/entityfields/organisationaddressesbycontact/documentation.adoc</documentation> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>388f6ad3-b817-4dc0-a5d5-a41eec485357</name> @@ -162,7 +160,7 @@ <entityParameter> <name>ContactType_param</name> <valueProcess>%aditoprj%/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/valueProcess.js</valueProcess> - <expose v="true" /> + <expose v="false" /> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> </children> @@ -192,13 +190,13 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> + <entityName>AddressType_entity</entityName> + <fieldName>ByCategory</fieldName> </dependency> <children> <entityParameter> - <name>containerName_param</name> - <valueProcess>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js</valueProcess> + <name>usageFilter_param</name> + <valueProcess>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> diff --git a/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js b/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js deleted file mode 100644 index 805812e9e79c8e443c591c62a20738c9d27e4760..0000000000000000000000000000000000000000 --- a/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js +++ /dev/null @@ -1,2 +0,0 @@ -import("system.result"); -result.object(2); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/country/valueProcess.js b/entity/Address_entity/entityfields/country/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0bbec92588a0d5155ba8f200c1c8699e0c106ed7 --- /dev/null +++ b/entity/Address_entity/entityfields/country/valueProcess.js @@ -0,0 +1,9 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +{ + result.string("DE"); +} \ No newline at end of file diff --git a/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js b/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js deleted file mode 100644 index 167d3dc35f38110620b4eb5e6004b4c4454578f2..0000000000000000000000000000000000000000 --- a/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.result"); -import("Keyword_lib"); -import("KeywordRegistry_basic"); - -result.string($KeywordRegistry.addressType()); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js b/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..efc47e64ed30ff43c3af035f0771d32e4d0b55a6 --- /dev/null +++ b/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js @@ -0,0 +1,20 @@ +import("system.logging"); +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var keywordAttributeFilterName = ""; +var contactType = vars.get("$param.ContactType_param"); + +switch (contactType) { + case Contact.TYPES.Contact: + case Contact.TYPES.Private: + keywordAttributeFilterName = "contact"; + break; + case Contact.TYPES.Organisation: + keywordAttributeFilterName = "organisation"; + break; +} +logging.log("contactType>>" + contactType); +logging.log("keywordAttributeFilterName>>" + keywordAttributeFilterName); +result.object(keywordAttributeFilterName); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/valueProcess.js b/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/valueProcess.js deleted file mode 100644 index 85a095aeb8aaaff00b627db260104e8790cb3a03..0000000000000000000000000000000000000000 --- a/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/valueProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.result"); - -result.object(1); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/valueProcess.js b/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/valueProcess.js deleted file mode 100644 index 85a095aeb8aaaff00b627db260104e8790cb3a03..0000000000000000000000000000000000000000 --- a/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/valueProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.result"); - -result.object(1); \ No newline at end of file diff --git a/entity/AnyContact_entity/AnyContact_entity.aod b/entity/AnyContact_entity/AnyContact_entity.aod index d3d68b7e20e1569c22d38ab36e7ef5c7b75531ee..66244e2a5aca0e2b79364c016963cae6cafdebfb 100644 --- a/entity/AnyContact_entity/AnyContact_entity.aod +++ b/entity/AnyContact_entity/AnyContact_entity.aod @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.1"> <name>AnyContact_entity</name> - <description>former Relation</description> <majorModelMode>DISTRIBUTED</majorModelMode> <titleProcess>%aditoprj%/entity/AnyContact_entity/titleProcess.js</titleProcess> <recordContainer>db</recordContainer> @@ -31,7 +30,9 @@ </entityProvider> <entityField> <name>ADDRESS_ID</name> + <title>standard address</title> <searchable v="false" /> + <displayValueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>LANGUAGE</name> @@ -56,7 +57,7 @@ <entityField> <name>contactType</name> <description>Relation type. Value is based on the existance or non-existance of ORGANISATION_ID and PERSON_ID. -See RelationUtils.getRelationTypeByPersOrg for possible values</description> +See ContactUtils.getRelationTypeByPersOrg for possible values</description> <contentType>NUMBER</contentType> <searchable v="false" /> <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/contactType/valueProcess.js</valueProcess> @@ -92,7 +93,7 @@ See RelationUtils.getRelationTypeByPersOrg for possible values</description> </children> </entityConsumer> <entityField> - <name>ORG_NAME</name> + <name>ORGANISATION_NAME</name> <title>Organisation name</title> </entityField> <entityField> @@ -152,6 +153,20 @@ See RelationUtils.getRelationTypeByPersOrg for possible values</description> <name>RELATIONSHIP</name> <description>TODO: Beziehung zu der Relation 1024846 (z.B. per Ampelsystem)</description> </entityField> + <entityField> + <name>PERSON_MIDDLENAME</name> + </entityField> + <entityField> + <name>PERSON_TITLE</name> + </entityField> + <entityField> + <name>PERSON_SALUTATION</name> + </entityField> + <entityField> + <name>PERSON_FULL_NAME</name> + <title>Person</title> + <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/person_full_name/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -214,7 +229,7 @@ See RelationUtils.getRelationTypeByPersOrg for possible values</description> <recordfield>CONTACT.STATUS</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> - <name>ORG_NAME.value</name> + <name>ORGANISATION_NAME.value</name> <recordfield>ORGANISATION.NAME</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> @@ -237,6 +252,18 @@ See RelationUtils.getRelationTypeByPersOrg for possible values</description> <name>RELATIONSHIP.value</name> <recordfield>CONTACT.RELATIONSHIP</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_MIDDLENAME.value</name> + <recordfield>PERSON.MIDDLENAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_TITLE.value</name> + <recordfield>PERSON.TITLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_SALUTATION.value</name> + <recordfield>PERSON.SALUTATION</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js b/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f212ec24e70e27e30a7f0a66299874a335617f4d --- /dev/null +++ b/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js @@ -0,0 +1,8 @@ +import("system.db"); +import("system.vars"); +import("system.result"); +import("PostalAddress_lib"); + +var addrId = vars.get("$field.ADDRESS_ID"); +var addr = AddressUtils.getFormattedOnlineAddressById(addrId); +result.string(addr); \ No newline at end of file diff --git a/entity/AnyContact_entity/entityfields/contacttype/valueProcess.js b/entity/AnyContact_entity/entityfields/contacttype/valueProcess.js index 51fe974083978cb392d4f2c281c66687794d2d50..32bb8ca1976dad71cedfc90616c378fce1d9ccde 100644 --- a/entity/AnyContact_entity/entityfields/contacttype/valueProcess.js +++ b/entity/AnyContact_entity/entityfields/contacttype/valueProcess.js @@ -2,4 +2,4 @@ import("system.result"); import("system.vars"); import("Contact_lib") -result.object(RelationUtils.getRelationType(vars.get("$field.CONTACTID"), vars.get("$field.PERSON_ID"), vars.get("$field.ORGANISATION_ID"))); \ No newline at end of file +result.object(ContactUtils.getRelationType(vars.get("$field.CONTACTID"), vars.get("$field.PERSON_ID"), vars.get("$field.ORGANISATION_ID"))); \ No newline at end of file diff --git a/entity/AnyContact_entity/entityfields/image/valueProcess.js b/entity/AnyContact_entity/entityfields/image/valueProcess.js index bc039e74557533bbb18b9efc1a7ebe573abcf3ee..d30dd86601985ac8a4812256a8365faf820353f4 100644 --- a/entity/AnyContact_entity/entityfields/image/valueProcess.js +++ b/entity/AnyContact_entity/entityfields/image/valueProcess.js @@ -7,7 +7,7 @@ import("Contact_lib"); if (vars.get("$field.contactType") == 1) // 1 == org, 2 == person, 3 == person { - result.string(OrgUtils.getImage(vars.get("$field.ORGANISATION_ID"), vars.getString("$field.ORG_NAME"))); + result.string(OrgUtils.getImage(vars.get("$field.ORGANISATION_ID"), vars.getString("$field.ORGANISATION_NAME"))); } else { diff --git a/entity/AnyContact_entity/entityfields/person_full_name/valueProcess.js b/entity/AnyContact_entity/entityfields/person_full_name/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..682dadd6b419f7ad33a1928786fee5f74b202ffe --- /dev/null +++ b/entity/AnyContact_entity/entityfields/person_full_name/valueProcess.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.result"); +import("Util_lib"); +import("Contact_lib"); + +var contact = new Contact(); +contact.salutation = vars.get("$field.PERSON_SALUTATION"); +contact.title = vars.get("$field.PERSON_TITLE"); +contact.firstname = vars.get("$field.PERSON_FIRSTNAME"); +contact.middlename = vars.get("$field.PERSON_MIDDLENAME"); +contact.lastname = vars.get("$field.PERSON_LASTNAME"); + +var renderer = new ContactTitleRenderer(contact, null); +result.string(renderer.asString()); \ No newline at end of file diff --git a/entity/AnyContact_entity/recordcontainers/db/fromClauseProcess.js b/entity/AnyContact_entity/recordcontainers/db/fromClauseProcess.js index 754b510a9579742a29e6c83c9960e86b34808e25..c2008fc0d19dfe96ca7074d6f2ceddf2c5941f78 100644 --- a/entity/AnyContact_entity/recordcontainers/db/fromClauseProcess.js +++ b/entity/AnyContact_entity/recordcontainers/db/fromClauseProcess.js @@ -1,4 +1,4 @@ import("system.result"); import("Contact_lib") -result.string(RelationUtils.getFullRelationFromString()); \ No newline at end of file +result.string(ContactUtils.getFullRelationString()); \ No newline at end of file diff --git a/entity/AnyContact_entity/titleProcess.js b/entity/AnyContact_entity/titleProcess.js index 383efef8d5428179a79ee3f5042f8cf5482b3843..54d51a48576dbc49bf35a56ce5cf570dd7cea087 100644 --- a/entity/AnyContact_entity/titleProcess.js +++ b/entity/AnyContact_entity/titleProcess.js @@ -1,8 +1,15 @@ import("system.vars"); import("system.result"); +import("Util_lib"); +import("Contact_lib"); -if(vars.get("$field.PERSON_FIRSTNAME")) { - result.string(vars.get("$field.PERSON_FIRSTNAME") + " " + vars.get("$field.PERSON_LASTNAME")); -} else { - result.string(vars.get("$field.ORG_NAME")); -} +var contact = new Contact(); +contact.organisationName = vars.get("$field.ORGANISATION_NAME"); +contact.salutation = vars.get("$field.PERSON_SALUTATION"); +contact.title = vars.get("$field.PERSON_TITLE"); +contact.firstname = vars.get("$field.PERSON_FIRSTNAME"); +contact.middlename = vars.get("$field.PERSON_MIDDLENAME"); +contact.lastname = vars.get("$field.PERSON_LASTNAME"); + +var renderer = new ContactTitleRenderer(contact); +result.string(renderer.asString()); \ No newline at end of file diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod index 593eaa5ce9c299b66263ce41f1ad705e757bbaa3..7123f2201ac1888b2a0a547f46b46b121b3e71de 100644 --- a/entity/Appointment_entity/Appointment_entity.aod +++ b/entity/Appointment_entity/Appointment_entity.aod @@ -17,13 +17,16 @@ <entityField> <name>CLASSIFICATION</name> <possibleItemsProcess>%aditoprj%/entity/Appointment_entity/entityfields/classification/possibleItemsProcess.js</possibleItemsProcess> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/classification/valueProcess.js</valueProcess> </entityField> <entityField> <name>BEGIN</name> <selectionMode>SINGLE</selectionMode> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/begin/valueProcess.js</valueProcess> </entityField> <entityField> <name>END</name> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/end/valueProcess.js</valueProcess> </entityField> <entityFieldGroup> <name>STARTEND</name> @@ -43,9 +46,11 @@ </entityField> <entityField> <name>REMINDER_CHECK</name> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/reminder_check/valueProcess.js</valueProcess> </entityField> <entityField> <name>REMINDER</name> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/reminder/valueProcess.js</valueProcess> </entityField> <entityField> <name>CATEGORIES</name> @@ -54,9 +59,11 @@ <entityField> <name>ATTENDEES</name> <possibleItemsProcess>%aditoprj%/entity/Appointment_entity/entityfields/attendees/possibleItemsProcess.js</possibleItemsProcess> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/attendees/valueProcess.js</valueProcess> </entityField> <entityField> <name>TRANSPARENCY</name> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/transparency/valueProcess.js</valueProcess> </entityField> <entityActionGroup> <name>PartStatActionGroup</name> @@ -100,9 +107,11 @@ </entityField> <entityField> <name>RRULE</name> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/rrule/valueProcess.js</valueProcess> </entityField> <entityField> <name>RECURRENCEID</name> + <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/recurrenceid/valueProcess.js</valueProcess> </entityField> <entityField> <name>SAFESCOPEFIELD</name> diff --git a/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentid_param/valueProcess.js b/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentid_param/valueProcess.js deleted file mode 100644 index 4caaf9402605c0a83fd12dcc35e028cce239345d..0000000000000000000000000000000000000000 --- a/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentid_param/valueProcess.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.logging"); -import("system.result"); -import("system.vars"); - -logging.log("SET: -" + vars.get("$field.UID") + "-") -result.string(vars.get("$field.UID")); \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/attendees/valueProcess.js b/entity/Appointment_entity/entityfields/attendees/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..bc78b4d9d3d55e3ce2a327d8c5e5fde3a0698eb6 --- /dev/null +++ b/entity/Appointment_entity/entityfields/attendees/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.AFFECTEDUSERS]) + result.string(event[calendars.AFFECTEDUSERS]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/begin/valueProcess.js b/entity/Appointment_entity/entityfields/begin/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0ec0da52b21a9bb3169b5447365dda3006449bfb --- /dev/null +++ b/entity/Appointment_entity/entityfields/begin/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.DTSTART]) + result.string(event[calendars.DTSTART]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/classification/valueProcess.js b/entity/Appointment_entity/entityfields/classification/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a4056b88346388dc049b7dbcf191192c0ce66b57 --- /dev/null +++ b/entity/Appointment_entity/entityfields/classification/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.CLASSIFICATION]) + result.string(event[calendars.CLASSIFICATION]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/end/valueProcess.js b/entity/Appointment_entity/entityfields/end/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3ed796fe837b42f4eec0696316a9f20e6654a7eb --- /dev/null +++ b/entity/Appointment_entity/entityfields/end/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.DTEND]) + result.string(event[calendars.DTEND]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/recurrenceid/valueProcess.js b/entity/Appointment_entity/entityfields/recurrenceid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4a9bbcc8f22e6c3c92abf23eddda3cdf7ddbebc6 --- /dev/null +++ b/entity/Appointment_entity/entityfields/recurrenceid/valueProcess.js @@ -0,0 +1,12 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.RECURRENCEID]) + result.string(event[calendars.RECURRENCEID]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/reminder/valueProcess.js b/entity/Appointment_entity/entityfields/reminder/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b2b5966bb17617eefdd962c7b56942bba6f2173d --- /dev/null +++ b/entity/Appointment_entity/entityfields/reminder/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.REMINDER_DURATION]) + result.string(event[calendars.REMINDER_DURATION]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/reminder_check/valueProcess.js b/entity/Appointment_entity/entityfields/reminder_check/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0929f447e7a9425bc6aee2645697c4e8da534282 --- /dev/null +++ b/entity/Appointment_entity/entityfields/reminder_check/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.HASREMINDER]) + result.string(event[calendars.HASREMINDER]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/rrule/valueProcess.js b/entity/Appointment_entity/entityfields/rrule/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..560cffd4c2c2ce0f57494440835a19fa80eb7e91 --- /dev/null +++ b/entity/Appointment_entity/entityfields/rrule/valueProcess.js @@ -0,0 +1,12 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.RRULE]) + result.string(event[calendars.RRULE]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/summary/valueProcess.js b/entity/Appointment_entity/entityfields/summary/valueProcess.js index d3f5a12faa99758192ecc4ed3fc22c9249232e86..432475ace31148f4466c021837b49896e0a6fc45 100644 --- a/entity/Appointment_entity/entityfields/summary/valueProcess.js +++ b/entity/Appointment_entity/entityfields/summary/valueProcess.js @@ -1 +1,15 @@ - +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.SUMMARY]) + result.string(event[calendars.SUMMARY]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/transparency/valueProcess.js b/entity/Appointment_entity/entityfields/transparency/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..774f704312ccb614d774153b95e867a49ac1b952 --- /dev/null +++ b/entity/Appointment_entity/entityfields/transparency/valueProcess.js @@ -0,0 +1,15 @@ +import("system.neon"); +import("system.vars"); +import("system.calendars"); +import("system.result"); + +/** + * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate + */ +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param")) +{ + var event = JSON.parse(vars.getString("$param.Entry_param")); + + if(event[calendars.TRANSPARENCY]) + result.string(event[calendars.TRANSPARENCY]); +} \ No newline at end of file diff --git a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js index cdb013d534b7da88ec0ab2504791226409950ffc..469d54a1670eaee152ef65a0ca7f8449f704b46a 100644 --- a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js @@ -10,7 +10,6 @@ if(vars.exists("$param.Entry_param")) { var entry = JSON.parse(vars.getString("$param.Entry_param")); - logging.log(entry.toSource()) var masterEntry = null; if (vars.exists("$param.MasterEntry_param") && vars.get("$param.MasterEntry_param") != "") { diff --git a/entity/Appointment_entity/recordcontainers/jdito/onInsert.js b/entity/Appointment_entity/recordcontainers/jdito/onInsert.js index 64df0562ab699eb5da2989fde4ec97879d229d47..c9605494a99c5d654ff5513a9454754c83e2c524 100644 --- a/entity/Appointment_entity/recordcontainers/jdito/onInsert.js +++ b/entity/Appointment_entity/recordcontainers/jdito/onInsert.js @@ -10,10 +10,13 @@ import("system.db"); import("system.result"); import("system.tools"); +logging.log("onInsert"); + var event = JSON.parse(vars.getString("$param.Entry_param")); event[calendars.TYPE] = calendars.VEVENT; event[calendars.ID] = ""; //wenn hier neue id erstellt und mitgegeben wird, wird versucht einen termin mit dieser id zu finden, den es nicht gibt. also leer. +logging.log("attendees: "+ vars.get("$field.ATTENDEES")); event[calendars.AFFECTEDUSERS] = vars.get("$field.ATTENDEES"); event[calendars.STATUS] = vars.getString("$field.STATUS"); event[calendars.SUMMARY] = vars.getString("$field.SUMMARY"); @@ -24,6 +27,8 @@ event[calendars.DTEND] = vars.get("$field.END"); event[calendars.CLASSIFICATION] = vars.get("$field.CLASSIFICATION"); event[calendars.TRANSPARENCY] = vars.get("$field.TRANSPARENCY"); event[calendars.CATEGORIES] = vars.get("$field.CATEGORIES"); +if(vars.get("$field.RRULE")) + event[calendars.RRULE] = [vars.get("$field.RRULE")]; if (vars.get("$field.REMINDER") != undefined && vars.get("$field.REMINDER") != "") { event[calendars.HASREMINDER] = "true"; diff --git a/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js b/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js index b0b135b62a2d1e77cf852189ab621ea76037dc98..2fe0a95ace54c144bf0ae994071933a6128ba54f 100644 --- a/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js +++ b/entity/Appointment_entity/recordcontainers/jdito/onUpdate.js @@ -12,12 +12,26 @@ import("system.result"); import("system.tools"); +logging.log("onUpdate"); // Dieser Prozess speichert die im Frame angezeigten Daten // Je nach Modus (INSERT, EDIT) wird ein neuer Datensatz angelegt oder der alte editiert -if(vars.exists("$param.Entry_param") && vars.getString("$param.Entry_param") != "") +var event; + +if(vars.get("$field.SAFESCOPEFIELD") == "ALL" && vars.exists("$param.MasterEntry_param") && vars.getString("$param.MasterEntry_param") != "") +{ + event = JSON.parse(vars.getString("$param.MasterEntry_param")); + logging.log("safescope all"); +} +else if(vars.exists("$param.Entry_param") && vars.getString("$param.Entry_param") != "") { - var event = JSON.parse(vars.getString("$param.Entry_param")); + event = JSON.parse(vars.getString("$param.Entry_param")); + logging.log("safescope this"); +} + +if(event) +{ + var differencesDetected = areEventAndFieldsDifferent(event); //if ( calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS && event[calendars.ORGANIZER2]["cn"] != event[calendars.USER2]["cn"]) // question.showMessage(translate.text("Ein Gruppentermin kann nur durch den Organisator bearbeitet werden.")); @@ -36,301 +50,43 @@ if(vars.exists("$param.Entry_param") && vars.getString("$param.Entry_param") != event[calendars.CATEGORIES] = vars.get("$field.CATEGORIES"); event[calendars.AFFECTEDUSERS] = vars.get("$field.ATTENDEES"); event[calendars.TRANSPARENCY] = vars.get("$field.TRANSPARENCY"); - if(vars.get("$field.REMINDER") != undefined && vars.get("$field.REMINDER") != "") + if(vars.get("$field.REMINDER")) { event[calendars.HASREMINDER] = "true"; event[calendars.REMINDER_DURATION] = vars.get("$field.REMINDER"); } - if(event[calendars.RRULE] != undefined) - event[calendars.RRULE] = vars.getString("$field.RRULE") - + + if(event[calendars.RRULE]) + event[calendars.RRULE] = [vars.getString("$field.RRULE")]; calendars.updateEntry(event); } -// Liefert die AffectedUsers -function getAffectedUsers( pEvent ) -{ - var affectedusers = vars.get("$context.affectedusers"); - var attendess = pEvent[calendars.ATTENDEES] - var calendarusers = []; - for ( var i = 0; i < affectedusers.length; i++) - { - var insert = true; - for ( var y = 0; y < attendess.length; y++) - { - // Teilnehmer schon vorhanden - if ( text.encodeMS( [attendess[y]["paramvalue"], "CN:" + attendess[y]["cn"]] ) == affectedusers[i][0] ) - { - var userparts = [attendess[y]["paramvalue"]]; - if ( affectedusers[i][1] != "" && affectedusers[i][1] != "UNKNOWN" ) attendess[y]["partstat"] = affectedusers[i][1]; - for ( var part in attendess[y] ) if ( part != "paramvalue") userparts.push(part + ":" + attendess[y][part] ) - calendarusers.push( text.encodeMS(userparts) ); - insert = false; - break; - } - } - if ( insert ) // Teilnehmer noch nicht im Termin vorhanden - { - var resource = db.cell("select THEME from THEME where THEMEID = '" + affectedusers[i][0] + "'"); - if( resource != "" && tools.existUsers(resource) ) - calendarusers.push(text.encodeMS(text.decodeMS(calendars.getCalendarUser(resource)).concat("CUTYPE:RESOURCE"))); - else calendarusers.push(affectedusers[i][0]); - } - } - return text.encodeMS( calendarusers ); - } -// Liefert die Benutzer zurück, auf die keine Schreibrechte bestehen -function getReadOnlyUser() -{ - var writeable = calendars.getFullCalendarUsers(calendars.RIGHT_WRITE); - var affectedusers = vars.get("$context.affectedusers"); - var readonly = new Array(); - - for ( i = 0; i < affectedusers.length; i++) - { - var user = affectedusers[i][0]; - if (!isWriteable(user, writeable)) - readonly.push(affectedusers[i][3]); - } - return readonly; -} - -// Liefert TRUE, wenn der Benutzer bei denen mit Schreibberechtigungen enthalten ist -function isWriteable(user, writeable) -{ - for (var i = 0; i < writeable.length; i++) - { - if (writeable[i][0] == calendars.getCalendarUser(user)) - return true; - } - return false; -} - -// Berechnet das Ende der Recurrence -function recurrencend(event) -{ - var rec_end = vars.getString("$comp.rec_end"); - - // Automatische Erkennung, was gewollt ist - if (rec_end == "") - { - if (vars.get("$comp.rec_end_count") != "") - rec_end = "Endet nach Anzahl Terminen"; - else if (vars.get("$comp.rec_end_date") != "") - rec_end = "Endet am"; - } - - if (rec_end == "" || rec_end == "Kein Enddatum") - { - // Nichts - } - else if (rec_end == "Endet nach Anzahl Terminen") - { - event[calendars.RRULE][0] += (";COUNT=" + vars.get("$comp.rec_end_count")); - } - else if (rec_end == "Endet am") - { - var dat = vars.get("$comp.rec_end_date"); - var start = vars.get("$comp.start_date"); - var localTime = datetime.toDate(dat, translate.text("yyyyMMdd")) + datetime.toDate(start, "HHmmss"); - var utcTime = datetime.toLong(localTime, "yyyyMMddHHmmss"); - event[calendars.RRULE][0] += (";UNTIL=" + datetime.toDate(utcTime, "yyyyMMdd\'T\'HHmmss\'Z\'", "UTC")); - } -} /** - * Berechnet die Wiederholung - * - * @param event Das fertige Event. Hier die Reccurrence speichern - */ -function calcrecurrence(event) -{ - var rec_type = vars.get("$comp.rec_type"); - - if (rec_type == "") - { - // Nichts - } - else if (rec_type == "Keine") - { - } - else if (rec_type == "Täglich") - { - rec_daily(event); - } - else if (rec_type == "Wöchentlich") - { - rec_weekly(event); - } - else if (rec_type == "Monatlich") - { - rec_monthly(event); - } - else if (rec_type == "Jährlich") - { - rec_yearly(event); - } - else - { - question.showMessage("Internal (1) " + rec_type); - } -} -/***********************/ -function rec_yearly(event) -{ - var rec_year = vars.get("$comp.rec_yearly"); - var rec_yearly_month = vars.get("$comp.rec_yearly_month"); - var rec_yearly_day = vars.get("$comp.rec_yearly_day"); - var month; - var day; - - if (rec_year == "") - { - if (rec_yearly_month != "" && rec_yearly_day != "") - rec_year = "Jeden # #"; - else if (rec_yearly_month != "" && vars.get("$comp.rec_yearly_day2") != "" && vars.get("$comp.rec_yearly_number2") != "") - rec_year = "Am #. # im #"; - } - - if (rec_year == "" || (rec_yearly_month == "" && rec_yearly_day == "" )) - { - question.showMessage(translate.text("yearly series not specified")); - } - else if (rec_year == "Jeden # #") - { - month = rec_yearly_month; - day = rec_yearly_day; - event[calendars.RRULE] = new Array("FREQ=YEARLY;BYMONTHDAY="+day+";BYMONTH="+month); - } - else if (rec_year == "Am #. # im #") - { - month = vars.get("$comp.rec_yearly_month2"); - day = vars.get("$comp.rec_yearly_day2"); - var number = vars.get("$comp.rec_yearly_number2"); - event[calendars.RRULE] = new Array("FREQ=YEARLY;BYMONTH="+month+";BYDAY="+number+day); - } -} -/***********************/ -function rec_monthly(event) -{ - var rec_month = vars.get("$comp.rec_month"); - var rec_monthly_day = vars.get("$comp.rec_monthly_day"); - var rec_monthly_interval = vars.get("$comp.rec_monthly_interval"); - var day; - var interval; - - if (rec_month == "") - - { - if (rec_monthly_day != "" && rec_monthly_interval != "") - rec_month = "Am #. jedes #. Monat"; - else if (vars.get("$comp.rec_monthly_day2") != "" && vars.get("$comp.rec_monthly_interval2") != "" && vars.get("$comp.rec_monthly_weekday2") != "") - rec_month = "Am #. # jeden #. Monat"; - } - - if (rec_month == "" || (rec_monthly_day == "" && rec_monthly_interval != "")) - { - question.showMessage(translate.text("Ignore series")); - } - else if (rec_month == "Am #. jedes #. Monat") - { - day = rec_monthly_day; - interval = rec_monthly_interval; - event[calendars.RRULE] = new Array("FREQ=MONTHLY;INTERVAL=" + interval + ";BYMONTHDAY=" + day); - } - else if(rec_month == "Am #. # jeden #. Monat") - { - day = vars.get("$comp.rec_monthly_day2"); - interval = vars.get("$comp.rec_monthly_interval2"); - var weekday = vars.get("$comp.rec_monthly_weekday2"); - event[calendars.RRULE] = new Array("FREQ=MONTHLY;INTERVAL=" + interval + ";BYDAY=" + day + weekday); - } -} -/***********************/ -function rec_weekly(event) -{ - - var rec_weekly_intervall = vars.get("$comp.rec_weekly_intervall"); - if (rec_weekly_intervall == "") - rec_weekly_intervall = "1"; - - var days = new Array(); - var count = 0; - if (vars.get("$comp.rec_weekly_mo") == "true") - { - days[count] = "MO"; - count++; - } - if (vars.get("$comp.rec_weekly_di") == "true") - { - days[count] = "TU"; - count++; - } - if (vars.get("$comp.rec_weekly_mi") == "true") - { - days[count] = "WE"; - count++; - } - if (vars.get("$comp.rec_weekly_do") == "true") - { - days[count] = "TH"; - count++; - } - if (vars.get("$comp.rec_weekly_fr") == "true") - { - days[count] = "FR"; - count++; - } - if (vars.get("$comp.rec_weekly_sa") == "true") - { - days[count] = "SA"; - count++; - } - if (vars.get("$comp.rec_weekly_so") == "true") - { - days[count] = "SU"; - count++; - } - if (count > 0) - { - event[calendars.RRULE] = new Array("FREQ=WEEKLY;INTERVAL=" + rec_weekly_intervall + ";WKST=MO;BYDAY="); - for (var i = 0; i < count; i++) +* checks if the entryParam has different values like the current fieldvalues +*/ +function areEventAndFieldsDifferent(event){ + + var different = false; + + if( event[calendars.ID] != vars.getString("$field.UID") || + event[calendars.TYPE] != calendars.VEVENT || + event[calendars.STATUS] != vars.getString("$field.STATUS") || + event[calendars.SUMMARY] != vars.getString("$field.SUMMARY") || + event[calendars.LOCATION] != vars.get("$field.LOCATION") || + event[calendars.DESCRIPTION] != vars.get("$field.DESCRIPTION") || + event[calendars.DTSTART] != vars.get("$field.BEGIN") || + event[calendars.DTEND] != vars.get("$field.END") || + event[calendars.HASREMINDER] != "false" || + event[calendars.CLASSIFICATION] != vars.get("$field.CLASSIFICATION") || + event[calendars.CATEGORIES] != vars.get("$field.CATEGORIES") || + event[calendars.AFFECTEDUSERS] != vars.get("$field.ATTENDEES") || + event[calendars.TRANSPARENCY] != vars.get("$field.TRANSPARENCY")) { - event[calendars.RRULE][0] += days[i]; - if (i+1 < count) - { - event[calendars.RRULE][0] += ","; - } + different = true; } - } -} -/***********************/ -function rec_daily(event) -{ - var rec_dailytype = vars.get("$comp.rec_dailytype"); - var rec_dailydays = vars.get("$comp.rec_daily_days"); - if (rec_dailytype == "") - { - if (rec_dailydays != "") - rec_dailytype = "Alle # Tage"; - } - - if (rec_dailytype == "" || rec_dailydays == "") - { - question.showMessage(translate.text("Ignore daily series")); - } - else if (rec_dailytype == "Alle # Tage") - { - event[calendars.RRULE] = new Array("FREQ=DAILY;INTERVAL=" + rec_dailydays); - } - else if (rec_dailytype == "Jeden Arbeitstag") - { - event[calendars.RRULE][0] = new Array("FREQ=WEEKLY;WKST=MO;BYDAY=MO,TU,WE,TH,FR"); - } - else - { - question.showMessage(translate.text("Internal (2)") + " " + rec_dailytype); - } + + return different; } \ No newline at end of file diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod index b0a8d74257436807f7c265899c6a0a453307b587..97767789a37e4b96af5efc880f53611fcb69fc00 100644 --- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod +++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod @@ -16,9 +16,10 @@ <entityField> <name>AB_ATTRIBUTE_ID</name> <title>Attribute</title> + <consumer>SpecificAttribute</consumer> <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js</possibleItemsProcess> <groupable v="true" /> + <displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js</onValueChange> </entityField> <entityField> @@ -75,6 +76,12 @@ <fieldName>Attributes</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>a9b81050-e7f8-408d-aa73-e2709188e121</name> + <entityName>SalesprojectCompetition_entity</entityName> + <fieldName>Attributes</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> @@ -143,6 +150,34 @@ <entityField> <name>MEMO_VALUE</name> </entityField> + <entityParameter> + <name>filteredAttributeIds_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>SpecificAttribute</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Attribute_entity</entityName> + <fieldName>SpecificAttribute</fieldName> + </dependency> + <children> + <entityParameter> + <name>objectType_param</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>filteredAttributeIds_param</name> + <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..601eb01de38092b0173fa46c4a762f98a38fb53e --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Attribute_lib"); + +result.string(AttributeUtil.getFullAttributeName(vars.get("$field.AB_ATTRIBUTE_ID"))); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js index e641c892888d2ee12cdbf69f722f489e30af0f93..9347efa6c0caed251cd27fdabf8e94710302e365 100644 --- a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js +++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js @@ -8,4 +8,5 @@ if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT || neon.setFieldValue("$field.DATE_VALUE", null); neon.setFieldValue("$field.ID_VALUE", null); neon.setFieldValue("$field.NUMBER_VALUE", null); + neon.setFieldValue("$field.MEMO_VALUE", null); } \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js deleted file mode 100644 index 2449074c9672b85ce7ddec1e78cfce6710a1e7fb..0000000000000000000000000000000000000000 --- a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.vars"); -import("system.result"); -import("Attribute_lib"); - -result.object(AttributeUtil.getPossibleAttributes(vars.get("$param.objectType_param"))); diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js index 4895956380293de93b3a437d1ab0e2e156d6e7ee..f1d1025828f4a7c554dd525a6f8ed38fc3551b2f 100644 --- a/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js +++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js @@ -3,39 +3,19 @@ import("system.result"); import("system.vars"); import("Attribute_lib"); +"$field.CHAR_VALUE"; +"$field.DATE_VALUE"; +"$field.NUMBER_VALUE"; +"$field.BOOL_VALUE"; +"$field.ID_VALUE"; +"$field.MEMO_VALUE"; + if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW) { - var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeType(); + var attrField = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeField(); var value = null; - if (attrType != null) //load the value from the correct field for the type - { - switch (attrType) - { - case $AttributeTypes.TEXT.toString(): - value = vars.get("$field.CHAR_VALUE"); - break; - case $AttributeTypes.DATE.toString(): - value = vars.get("$field.DATE_VALUE"); - break; - case $AttributeTypes.NUMBER.toString(): - value = vars.get("$field.NUMBER_VALUE"); - break; - case $AttributeTypes.BOOLEAN.toString(): - value = vars.get("$field.BOOL_VALUE"); - break; - case $AttributeTypes.COMBO.toString(): - case $AttributeTypes.KEYWORD.toString(): - value = vars.get("$field.ID_VALUE"); - break; - case $AttributeTypes.MEMO.toString(): - value = vars.get("$field.MEMO_VALUE"); - break; - } - } - //var attrField = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeField(); - //var value = null; - //if (attrField != null) //load the value from the correct field for the type - // value = vars.get("$field." + attrField); + if (attrField != null) //load the value from the correct field for the type + value = vars.get("$field." + attrField); if(value != null && value != "") result.string(value); diff --git a/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..823de404382c671455ed572865742aabb9d50ee7 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.exists("$param.filteredAttributeIds_param") ? vars.get("$param.filteredAttributeIds_param") : ""); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..987f30bf1e3214329ff1c5a07c18abca106f0a10 --- /dev/null +++ b/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.exists("$param.objectType_param") ? vars.get("$param.objectType_param") : ""); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js index f83ae05abaf417c8b8502955eb3a6af39a9d4f89..f48af1586cd6331e94c372f69656df270f40b9e5 100644 --- a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js +++ b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js @@ -1,14 +1,23 @@ -import("system.db"); -import("system.vars"); -import("system.result"); -import("Sql_lib"); - -if (vars.exists("$param.objectRowId_param") && vars.get("$param.objectRowId_param") != null) -{ - cond = SqlCondition.begin() - .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", vars.get("$param.objectRowId_param")) - .build(); - result.string(db.translateCondition(cond)); -} -else - result.string("1 = 2"); \ No newline at end of file +import("system.vars"); +import("system.db"); +import("system.result"); +import("Sql_lib"); + + + +var cond = SqlCondition.begin() + .andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_ROWID", "$param.objectRowId_param"); + +if (vars.exists("$param.filteredAttributeIds_param") && vars.get("$param.filteredAttributeIds_param")) +{ + var filteredIds = JSON.parse(vars.get("$param.filteredAttributeIds_param")); + var filteredIdsCondition = new SqlCondition(); + + filteredIds.forEach(function(id) + { + this.orPrepare("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", id); + }, filteredIdsCondition); + + cond.andSqlCondition(filteredIdsCondition); +} +result.string(db.translateCondition(cond.build("1=2"))); diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod index 0482ebc306faf422aca1ceb3423af278fb2396df..c204aef676ae39a7c6598da1397f70a48d887fd4 100644 --- a/entity/Attribute_entity/Attribute_entity.aod +++ b/entity/Attribute_entity/Attribute_entity.aod @@ -29,11 +29,12 @@ </entityField> <entityField> <name>AB_ATTRIBUTEID</name> + <searchable v="false" /> <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js</valueProcess> </entityField> <entityField> <name>ATTRIBUTE_PARENT_ID</name> - <title>Parent Attribute</title> + <title>Superordinate Attribute</title> <consumer>AttributeChildren</consumer> <linkedContext>Attribute</linkedContext> <stateProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_parent_id/stateProcess.js</stateProcess> @@ -56,6 +57,11 @@ <triggerRecalculation v="true" /> <mandatory v="false" /> </entityParameter> + <entityParameter> + <name>attrParentType_param</name> + <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> </children> </entityConsumer> <entityProvider> @@ -128,12 +134,6 @@ <state>INVISIBLE</state> <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_level/valueProcess.js</valueProcess> </entityField> - <entityActionField> - <name>test</name> - <fieldType>ACTION</fieldType> - <title>test</title> - <onActionProcess>%aditoprj%/entity/Attribute_entity/entityfields/test/onActionProcess.js</onActionProcess> - </entityActionField> <entityField> <name>KEYWORD_CONTAINER</name> <title>Keyword</title> @@ -141,6 +141,64 @@ <state>AUTO</state> <stateProcess>%aditoprj%/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js</stateProcess> </entityField> + <entityParameter> + <name>attrParentType_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>objectType_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityProvider> + <name>SpecificAttribute</name> + <fieldType>DEPENDENCY_IN</fieldType> + <lookupIdfield>AB_ATTRIBUTEID</lookupIdfield> + <dependencies> + <entityDependency> + <name>342e8ba6-db61-411b-9f79-e9271335b00f</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>SpecificAttribute</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>objectType_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>filteredAttributeIds_param</name> + <expose v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityField> + <name>FULL_ATTRIBUTE_NAME</name> + <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>filteredAttributeIds_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityActionGroup> + <name>AttributeActions</name> + <children> + <entityActionField> + <name>newChildAttribute</name> + <fieldType>ACTION</fieldType> + <title>New attribute</title> + <onActionProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <isSelectionAction v="true" /> + <iconId>VAADIN:FILE_TREE_SMALL</iconId> + <tooltipProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/tooltipProcess.js</tooltipProcess> + </entityActionField> + </children> + </entityActionGroup> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Attribute_entity/entityfields/attribute_name/displayValueProcess.js b/entity/Attribute_entity/entityfields/attribute_name/displayValueProcess.js index bb5f44d124ef66e4da13d4e661679b6e1b003a11..e55588aa4fb9dea4ee26b065951ab47b1ad43256 100644 --- a/entity/Attribute_entity/entityfields/attribute_name/displayValueProcess.js +++ b/entity/Attribute_entity/entityfields/attribute_name/displayValueProcess.js @@ -1,5 +1,4 @@ import("system.vars"); import("system.result"); -import("Attribute_lib"); -result.string(AttributeUtil.getFullAttributeName(vars.get("$field.AB_ATTRIBUTEID"))); +result.string(vars.get("$field.FULL_ATTRIBUTE_NAME")); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1ec2bc6c8d7639880db01b7e9d2bb1fa1794cda7 --- /dev/null +++ b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.neon"); +import("Attribute_lib"); + +var params = {}; +if (vars.exists("$local.rows")) +{ + var row = JSON.parse(vars.get("$local.rows")); + + var type = row[0].ATTRIBUTE_TYPE.trim(); + if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) + params["attrParentId_param"] = row[0].AB_ATTRIBUTEID; +} +neon.openContext("Attribute", null, null, neon.OPERATINGSTATE_NEW, params); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/tooltipProcess.js b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/tooltipProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8e60c9408cea7253931ee12e4142673823cdfe3f --- /dev/null +++ b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("New attribute")); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js deleted file mode 100644 index b63cf032dd51caa4b6896e89b5bdaafcf4d01a07..0000000000000000000000000000000000000000 --- a/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js +++ /dev/null @@ -1,9 +0,0 @@ -import("system.vars"); -import("system.result"); -import("Attribute_lib"); - -var type = vars.getString("$field.ATTRIBUTE_TYPE").trim(); -if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) - result.string(vars.getString("$field.AB_ATTRIBUTEID")); -else - result.string(""); diff --git a/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..cbb5a62f5fedf49496fd6787ba7671c936bc24c0 --- /dev/null +++ b/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.getString("$field.ATTRIBUTE_TYPE").trim()); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..40820d463337ab8ae4c656ed49bc07256a59c571 --- /dev/null +++ b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Attribute_lib"); + +result.string(AttributeUtil.getFullAttributeName(vars.get("$field.AB_ATTRIBUTEID"))); diff --git a/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js b/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js index 42c609201e61f3a4cf3974964f6f929a2881e7cd..beaaa08c35beeb077df7f67ebf1671858d2daf15 100644 --- a/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js +++ b/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js @@ -9,4 +9,5 @@ if (vars.get("$field.ATTRIBUTE_TYPE") == $AttributeTypes.KEYWORD) else fieldState = neon.COMPONENTSTATE_INVISIBLE; +//TODO result the correct state here when updating the state is possible result.string(neon.COMPONENTSTATE_AUTO);//result.string(fieldState); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/test/onActionProcess.js b/entity/Attribute_entity/entityfields/test/onActionProcess.js deleted file mode 100644 index 2fcdd32dea2394891771151026565786fde2ba68..0000000000000000000000000000000000000000 --- a/entity/Attribute_entity/entityfields/test/onActionProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.logging"); -import("Attribute_lib"); -logging.log(AttributeRelationUtils.getSqlUtil().toSource()); \ No newline at end of file diff --git a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js index 909e2e15bb63eabf093a4a524105bfe5d32955d5..3ed5587eb64e97091d33e3297dc1eb785b7d0c6a 100644 --- a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js @@ -4,11 +4,37 @@ import("system.result"); import("Sql_lib"); import("Attribute_lib"); -var condition = "AB_ATTRIBUTE.ATTRIBUTE_TYPE = '" + $AttributeTypes.GROUP + "'"; +var condition = "1 = 2"; -if (vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param")) - condition = "AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.attrParentId_param")).join("','") + "')"; -else if (vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param") !== "") - condition = ""; +var objectType = vars.exists("$param.objectType_param") && vars.get("$param.objectType_param"); +if (objectType) //if there's an objectType, it comes from the AttributeRelation entity +{ + var filteredAttributes = []; + if (vars.exists("$param.filteredAttributeIds_param") && vars.get("$param.filteredAttributeIds_param")) + filteredAttributes = JSON.parse(vars.get("$param.filteredAttributeIds_param")); + + var ids = AttributeUtil.getPossibleAttributes(objectType, false, filteredAttributes); + condition = "AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + ids.join("','") + "')"; +} +else +{ + var type = vars.exists("$param.attrParentType_param") && vars.get("$param.attrParentType_param"); + if (type != $AttributeTypes.COMBOVALUE) + condition = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP) + .build(); + + if (type == $AttributeTypes.COMBO) + condition = SqlCondition.begin() + .andPrepareVars("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", "$param.attrParentId_param") + .build(); + + var parentId = vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param"); + if (parentId) + condition = "AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.attrParentId_param")).join("','") + "')"; + else if (!type) + condition = ""; + +} result.string(condition); diff --git a/entity/Attribute_entity/titleProcess.js b/entity/Attribute_entity/titleProcess.js index bbb15f2a7f35c157449854b9c7fbeecd7550756d..e55588aa4fb9dea4ee26b065951ab47b1ad43256 100644 --- a/entity/Attribute_entity/titleProcess.js +++ b/entity/Attribute_entity/titleProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("system.result"); -result.string(vars.get("$field.ATTRIBUTE_NAME")); \ No newline at end of file +result.string(vars.get("$field.FULL_ATTRIBUTE_NAME")); \ No newline at end of file diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index 628182608a44406ed507339aefa51e6c0900f095..9aee7a44cbf820c395c66a545c9bb6777cf18a63 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -23,6 +23,7 @@ <title>Next due date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractdue/onValidation.js</onValidation> </entityField> <entityField> @@ -31,6 +32,7 @@ <title>Contract expiry date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractend/onValidation.js</onValidation> <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractend/onValueChange.js</onValueChange> </entityField> @@ -45,6 +47,7 @@ <title>Contract start date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValidation.js</onValidation> <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValueChange.js</onValueChange> </entityField> @@ -377,10 +380,6 @@ <name>CONTACT_PERSON_ID.value</name> <recordfield>CONTACT.PERSON_ID</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_NAME.value</name> - <recordfield>ORGANISATION.NAME</recordfield> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>PERSON_FIRSTNAME.value</name> <recordfield>PERSON.FIRSTNAME</recordfield> diff --git a/entity/Contract_entity/entityfields/contact_id/displayValueProcess.js b/entity/Contract_entity/entityfields/contact_id/displayValueProcess.js index 5badfc772a90e1e057c0ed3a480063f68de010a9..85822946ab4fe0ba7730ca93fd6fca69250a5b33 100644 --- a/entity/Contract_entity/entityfields/contact_id/displayValueProcess.js +++ b/entity/Contract_entity/entityfields/contact_id/displayValueProcess.js @@ -3,4 +3,4 @@ import("system.vars"); import("Contact_lib"); import("system.neon"); -result.string(RelationUtils.getNameByPersOrgWithRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file +result.string(ContactUtils.getFullTitleByContactId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/contact_id/linkedContextProcess.js b/entity/Contract_entity/entityfields/contact_id/linkedContextProcess.js index 242297cdf0e97a6b0a61004ba62ca1301a6cc791..e678b842c5b6cf510473693a355fa7833dcf28e8 100644 --- a/entity/Contract_entity/entityfields/contact_id/linkedContextProcess.js +++ b/entity/Contract_entity/entityfields/contact_id/linkedContextProcess.js @@ -2,4 +2,4 @@ import("system.vars"); import("system.result"); import("Contact_lib"); -result.string(RelationUtils.getContextByRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file +result.string(ContactUtils.getContextByRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Countries_Entity/Countries_Entity.aod b/entity/Countries_Entity/Countries_Entity.aod index a7e4e6dabf44922eb4b4d4dd292e2cf0def56b02..672fa2572514c9b665af4f87f7ed5db52f7c184a 100644 --- a/entity/Countries_Entity/Countries_Entity.aod +++ b/entity/Countries_Entity/Countries_Entity.aod @@ -15,7 +15,6 @@ <entityProvider> <name>ISO2_NAME</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>83e8a2e6-aa80-4b35-a0ad-8dad483ed428</name> @@ -108,6 +107,7 @@ <dbRecordContainer> <name>db</name> <alias>Data_alias</alias> + <orderClauseProcess>%aditoprj%/entity/Countries_Entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> <linkInformation> <linkInformation> <name>cc219004-43fd-4a3f-bee0-be5e732c61f1</name> diff --git a/entity/Countries_Entity/recordcontainers/db/orderClauseProcess.js b/entity/Countries_Entity/recordcontainers/db/orderClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9537434d69525e936a42f0a975a3d8b09392d1bc --- /dev/null +++ b/entity/Countries_Entity/recordcontainers/db/orderClauseProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("system.db"); + +result.object({"case AB_COUNTRYINFO.ISO2 when 'DE' then 2500 when 'AT' then 2490 when 'CH' then 2480 else 100 end": db.DESCENDING + ,"AB_COUNTRYINFO.NAME_LATIN": db.ASCENDING}); \ No newline at end of file diff --git a/entity/Countries_Entity/titleProcess.js b/entity/Countries_Entity/titleProcess.js index 0410b3c20565ef2329a237909c752a668c1373e1..6a1357835421f5c8fe5231388b03ee15dd29f58b 100644 --- a/entity/Countries_Entity/titleProcess.js +++ b/entity/Countries_Entity/titleProcess.js @@ -1,3 +1,3 @@ import("system.result"); import("system.vars"); -result.string(vars.get("$field.NAME")) \ No newline at end of file +result.string(vars.get("$field.NAME_TRANSLATED")); \ No newline at end of file diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod index 855f7f249af838c60bb8d65abbcd8603f816114e..1203a37bd4b840f0fb8427e57e43c5645191deb2 100644 --- a/entity/Document_entity/Document_entity.aod +++ b/entity/Document_entity/Document_entity.aod @@ -20,26 +20,27 @@ </entityProvider> <entityField> <name>NAME</name> - <title>Dateiname</title> + <title>Filename</title> <mandatory v="true" /> <state>AUTO</state> </entityField> <entityField> <name>TYPE</name> - <title>Dateityp</title> + <title>Filetype</title> <state>READONLY</state> </entityField> <entityField> <name>SIZE</name> - <title>Dateigröße</title> + <title>Filesize</title> <contentType>FILESIZE</contentType> <state>READONLY</state> </entityField> <entityField> <name>DATE_EDIT</name> - <title>Datum</title> + <title>Date</title> <contentType>DATE</contentType> - <outputFormat>yyyy-MM-dd HH:mm:ss</outputFormat> + <resolution>MINUTE</resolution> + <outputFormat>dd.MM.yyyy HH:mm:ss</outputFormat> <state>READONLY</state> </entityField> <entityField> diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index d265803d223fbe08b7e67a9c29306665d04092ba..cd4ccf5beb0ec7cefecff191293e8d234353b888 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -276,12 +276,6 @@ <fieldName>KeywordMedium</fieldName> <isConsumer v="false" /> </entityDependency> - <entityDependency> - <name>2ed3c1ee-0cae-4017-aaf2-49bf4307abc4</name> - <entityName>Address_entity</entityName> - <fieldName>KeywordAddressType</fieldName> - <isConsumer v="false" /> - </entityDependency> <entityDependency> <name>04b28ce6-a144-4c19-ac2d-4cfbc3568700</name> <entityName>Organisation_entity</entityName> diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 392df6ebfc652fe6a1549c00b26bb07b56f36c1e..d1523d93507445f54c874ff6b38fc91e6d6df28e 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -31,6 +31,7 @@ <title>Creation date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offerdate/valueProcess.js</valueProcess> </entityField> @@ -78,6 +79,8 @@ <entityField> <name>VAT</name> <title>Total VAT</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> <state>READONLY</state> </entityField> <entityField> @@ -140,12 +143,16 @@ <entityField> <name>NET</name> <title>Total net</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> <state>READONLY</state> </entityField> <entityField> <name>TotalGross</name> <documentation>%aditoprj%/entity/Offer_entity/entityfields/totalgross/documentation.adoc</documentation> <title>Total gross</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/valueProcess.js</valueProcess> </entityField> diff --git a/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js b/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js index ef417d00db927adfdb10354ec3346c74f15bceeb..08ad146eeefe97e12cfe29fc61672ae76f34c01b 100644 --- a/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js +++ b/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js @@ -4,4 +4,4 @@ import("Contact_lib"); import("system.neon"); -result.string(RelationUtils.getNameByPersOrgWithRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file +result.string(ContactUtils.getFullTitleByContactId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js b/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js index 242297cdf0e97a6b0a61004ba62ca1301a6cc791..e678b842c5b6cf510473693a355fa7833dcf28e8 100644 --- a/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js +++ b/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js @@ -2,4 +2,4 @@ import("system.vars"); import("system.result"); import("Contact_lib"); -result.string(RelationUtils.getContextByRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file +result.string(ContactUtils.getContextByRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/salesproject_id/mandatoryProcess.js b/entity/Offer_entity/entityfields/salesproject_id/mandatoryProcess.js index 419ee8c0b688b7f9586fbd5b21184903cc66834c..05b1f9bd5c0c54e2c707e0ac6f2fce2ea12850e0 100644 --- a/entity/Offer_entity/entityfields/salesproject_id/mandatoryProcess.js +++ b/entity/Offer_entity/entityfields/salesproject_id/mandatoryProcess.js @@ -2,7 +2,7 @@ import("system.vars"); import("system.result"); import("Contact_lib"); -var type = RelationUtils.getRelationType(vars.get("$field.CONTACT_ID"), vars.get("$field.CONTACT_PERSON_ID"), vars.get("$field.CONTACT_ORG_ID")); +var type = ContactUtils.getRelationType(vars.get("$field.CONTACT_ID"), vars.get("$field.CONTACT_PERSON_ID"), vars.get("$field.CONTACT_ORG_ID")); result.string(type != 2); diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod index a54c888b50d4e7b2c3f0adaf10acd992d0dc981a..ef7a5704ad94ffbfc651111d093b60d707890591 100644 --- a/entity/Offeritem_entity/Offeritem_entity.aod +++ b/entity/Offeritem_entity/Offeritem_entity.aod @@ -16,6 +16,8 @@ <entityField> <name>DISCOUNT</name> <title>Discount %</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0</outputFormat> </entityField> <entityField> <name>GROUPCODEID</name> @@ -57,6 +59,8 @@ <entityField> <name>PRICE</name> <title>Unit price</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> </entityField> <entityField> <name>PRODUCT_ID</name> @@ -74,6 +78,8 @@ <name>QUANTITY</name> <documentation>%aditoprj%/entity/Offeritem_entity/entityfields/quantity/documentation.adoc</documentation> <title>Quantity</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0</outputFormat> <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/quantity/valueProcess.js</valueProcess> <onValueChange>%aditoprj%/entity/Offeritem_entity/entityfields/quantity/onValueChange.js</onValueChange> <onValueChangeTypes> @@ -90,6 +96,8 @@ <entityField> <name>VAT</name> <title>VAT</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> <state>READONLY</state> </entityField> <entityParameter> diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index 23d366a6831b753ec462f8c47ec31c669c838ad2..a279f454693a961bbb649f309660e85dcc2f255d 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -31,6 +31,7 @@ <title>Creation date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/salesorderdate/valueProcess.js</valueProcess> </entityField> @@ -389,6 +390,7 @@ <name>OFFER_ID</name> <title>Offer</title> <linkedContext>Offer</linkedContext> + <state>READONLY</state> <valueProcess>%aditoprj%/entity/Order_entity/entityfields/offer_id/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/offer_id/displayValueProcess.js</displayValueProcess> </entityField> diff --git a/entity/Order_entity/entityfields/contact_id/displayValueProcess.js b/entity/Order_entity/entityfields/contact_id/displayValueProcess.js index 5badfc772a90e1e057c0ed3a480063f68de010a9..85822946ab4fe0ba7730ca93fd6fca69250a5b33 100644 --- a/entity/Order_entity/entityfields/contact_id/displayValueProcess.js +++ b/entity/Order_entity/entityfields/contact_id/displayValueProcess.js @@ -3,4 +3,4 @@ import("system.vars"); import("Contact_lib"); import("system.neon"); -result.string(RelationUtils.getNameByPersOrgWithRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file +result.string(ContactUtils.getFullTitleByContactId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Order_entity/entityfields/contact_id/linkedContextProcess.js b/entity/Order_entity/entityfields/contact_id/linkedContextProcess.js index 242297cdf0e97a6b0a61004ba62ca1301a6cc791..e678b842c5b6cf510473693a355fa7833dcf28e8 100644 --- a/entity/Order_entity/entityfields/contact_id/linkedContextProcess.js +++ b/entity/Order_entity/entityfields/contact_id/linkedContextProcess.js @@ -2,4 +2,4 @@ import("system.vars"); import("system.result"); import("Contact_lib"); -result.string(RelationUtils.getContextByRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file +result.string(ContactUtils.getContextByRelationId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index e79bb55e698a63d0ab89562f748292c095e8a8ff..8546885e0c6fac6514549c4b229952894a742452 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -305,24 +305,6 @@ <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> <iconId>VAADIN:CART</iconId> </entityActionField> - <entityField> - <name>PRICE_POLITICS</name> - <title>Price politics</title> - <consumer>KeywordPrice_Politics</consumer> - <searchable v="false" /> - </entityField> - <entityField> - <name>STRENGTH</name> - <title>Strength</title> - <consumer>KeywordStrenght</consumer> - <searchable v="false" /> - </entityField> - <entityField> - <name>WEAKNESS</name> - <title>Weakness</title> - <consumer>KeywordWeakness</consumer> - <searchable v="false" /> - </entityField> <entityField> <name>STANDARD_EMAIL_COMMUNICATION</name> <title>standard email</title> diff --git a/entity/Organisation_entity/entityfields/address_id/displayValueProcess.js b/entity/Organisation_entity/entityfields/address_id/displayValueProcess.js index ad0d57c105476296ea6fe2d811c487db5abb3d4f..f212ec24e70e27e30a7f0a66299874a335617f4d 100644 --- a/entity/Organisation_entity/entityfields/address_id/displayValueProcess.js +++ b/entity/Organisation_entity/entityfields/address_id/displayValueProcess.js @@ -2,18 +2,7 @@ import("system.db"); import("system.vars"); import("system.result"); import("PostalAddress_lib"); -import("Sql_lib"); var addrId = vars.get("$field.ADDRESS_ID"); -var addr = ""; -if (addrId) -{ - var select = "select ADDRESS.COUNTRY, ADDRESS.ADDRESS, ADDRESS.BUILDINGNO, ADDRESS.ZIP, ADDRESS.CITY from ADDRESS "; - var addrData = db.array(db.ROW, - SqlCondition.begin() - .andPrepare("ADDRESS.ADDRESSID", addrId) - .buildSql(select)); - - addr = AddressUtils.formatOneline.apply(this, addrData); -} +var addr = AddressUtils.getFormattedOnlineAddressById(addrId); result.string(addr); \ No newline at end of file diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 822529f6d2cd47861ea8197412375af32dba9718..140dfda122631b0b75635246b0c91b8d7a717e02 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -15,6 +15,7 @@ <title>Date of birth</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> </entityField> <entityField> <name>FIRSTNAME</name> @@ -147,6 +148,7 @@ <mandatory v="false" /> <searchable v="true" /> <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/Person_entity/entityfields/organisation_id/onValueChange.js</onValueChange> </entityField> <entityConsumer> @@ -339,7 +341,6 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <element>FIRSTNAME</element> <element>MIDDLENAME</element> <element>LASTNAME</element> - <element>TITLESUFFIX</element> </fields> </entityFieldGroup> <entityProvider> diff --git a/entity/Person_entity/entityfields/address_id/displayValueProcess.js b/entity/Person_entity/entityfields/address_id/displayValueProcess.js index ad0d57c105476296ea6fe2d811c487db5abb3d4f..f212ec24e70e27e30a7f0a66299874a335617f4d 100644 --- a/entity/Person_entity/entityfields/address_id/displayValueProcess.js +++ b/entity/Person_entity/entityfields/address_id/displayValueProcess.js @@ -2,18 +2,7 @@ import("system.db"); import("system.vars"); import("system.result"); import("PostalAddress_lib"); -import("Sql_lib"); var addrId = vars.get("$field.ADDRESS_ID"); -var addr = ""; -if (addrId) -{ - var select = "select ADDRESS.COUNTRY, ADDRESS.ADDRESS, ADDRESS.BUILDINGNO, ADDRESS.ZIP, ADDRESS.CITY from ADDRESS "; - var addrData = db.array(db.ROW, - SqlCondition.begin() - .andPrepare("ADDRESS.ADDRESSID", addrId) - .buildSql(select)); - - addr = AddressUtils.formatOneline.apply(this, addrData); -} +var addr = AddressUtils.getFormattedOnlineAddressById(addrId); result.string(addr); \ No newline at end of file diff --git a/entity/Person_entity/entityfields/full_name_fieldgroup/valueProcess.js b/entity/Person_entity/entityfields/full_name_fieldgroup/valueProcess.js index c39d231e9c0c04f41704c75149d3375291f45ecf..b3a098ff143cffbd6bd95e276a5b5c0ba689d3d7 100644 --- a/entity/Person_entity/entityfields/full_name_fieldgroup/valueProcess.js +++ b/entity/Person_entity/entityfields/full_name_fieldgroup/valueProcess.js @@ -1,9 +1,14 @@ import("system.vars"); import("system.result"); +import("Util_lib"); +import("Contact_lib"); -result.string((vars.get("$field.SALUTATION") ? vars.get("$field.SALUTATION") + " " : "") - + (vars.get("$field.TITLE") ? vars.get("$field.TITLE") + " " : "") - + (vars.get("$field.FIRSTNAME") ? vars.get("$field.FIRSTNAME") + " " : "") - + (vars.get("$field.MIDDLENAME") ? vars.get("$field.MIDDLENAME") + " " : "") - + (vars.get("$field.LASTNAME") ? vars.get("$field.LASTNAME") + " " : "") - + vars.get("$field.TITLESUFFIX")) \ No newline at end of file +var contact = new Contact(); +contact.salutation = vars.get("$field.SALUTATION"); +contact.title = vars.get("$field.TITLE"); +contact.firstname = vars.get("$field.FIRSTNAME"); +contact.middlename = vars.get("$field.MIDDLENAME"); +contact.lastname = vars.get("$field.LASTNAME"); + +var renderer = new ContactTitleRenderer(contact, null); +result.string(renderer.asString()); \ No newline at end of file diff --git a/entity/Person_entity/entityfields/organisation_id/displayValueProcess.js b/entity/Person_entity/entityfields/organisation_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..efe14ce09df366b0c5b96e6dadb3c309e9d98469 --- /dev/null +++ b/entity/Person_entity/entityfields/organisation_id/displayValueProcess.js @@ -0,0 +1,16 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("Sql_lib"); + +var organisationId = vars.get("$field.ORGANISATION_ID"); +var orgname = ""; + +if (organisationId) +{ + res = db.cell(SqlCondition.begin() + .andPrepare("ORGANISATION.ORGANISATIONID", organisationId) + .buildSql("select ORGANISATION.NAME from ORGANISATION")); +} + +result.string(res); \ No newline at end of file diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index 7621e778584db2d6a5ae01d505796eb43077b2e6..1a477cb4efeb741f94a6a05935e782a714a44ba4 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -62,20 +62,18 @@ <mandatory v="true" /> </entityField> <entityField> - <name>currentPurchasePriceId</name> + <name>currentPurchasePrice</name> <title>Curr. purchase price</title> - <contentType>NUMBER</contentType> - <outputFormat>#,##0.00 €</outputFormat> + <contentType>TEXT</contentType> <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Product_entity/entityfields/currentpurchasepriceid/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Product_entity/entityfields/currentpurchaseprice/valueProcess.js</valueProcess> </entityField> <entityField> - <name>currentSalesPriceId</name> + <name>currentSalesPrice</name> <title>Curr. sales price</title> - <contentType>NUMBER</contentType> - <outputFormat>#,##0.00 €</outputFormat> + <contentType>TEXT</contentType> <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Product_entity/entityfields/currentsalespriceid/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Product_entity/entityfields/currentsalesprice/valueProcess.js</valueProcess> </entityField> <entityConsumer> <name>Organisations</name> diff --git a/entity/Product_entity/entityfields/currentpurchaseprice/valueProcess.js b/entity/Product_entity/entityfields/currentpurchaseprice/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e9ef972e437973279fcf9144c2504ab288b20df6 --- /dev/null +++ b/entity/Product_entity/entityfields/currentpurchaseprice/valueProcess.js @@ -0,0 +1,9 @@ +import("system.translate"); +import("system.text"); +import("system.result"); +import("system.vars"); +import("Product_lib"); + +var price = ProductUtils.getCurrentProductPrice(vars.get("$field.PRODUCTID"), "PP"); +if (price.length > 0) + result.string(text.formatDouble(price[0], "#,##0.00", true) + " " + price[1]); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/currentpurchasepriceid/valueProcess.js b/entity/Product_entity/entityfields/currentpurchasepriceid/valueProcess.js deleted file mode 100644 index 67eac3b8220e51644ee450e4d74252cb89a3c8dc..0000000000000000000000000000000000000000 --- a/entity/Product_entity/entityfields/currentpurchasepriceid/valueProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.result"); -import("system.vars"); -import("Product_lib"); - -result.string(ProductUtils.getCurrentProductPrice(vars.get("$field.PRODUCTID"), "PP")); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/currentsalesprice/valueProcess.js b/entity/Product_entity/entityfields/currentsalesprice/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..50bd3113611e859c5288cb2fe8a4851384a3a001 --- /dev/null +++ b/entity/Product_entity/entityfields/currentsalesprice/valueProcess.js @@ -0,0 +1,9 @@ +import("system.translate"); +import("system.text"); +import("system.result"); +import("system.vars"); +import("Product_lib"); + +var price = ProductUtils.getCurrentProductPrice(vars.get("$field.PRODUCTID"), "SP"); +if (price.length > 0) + result.string(text.formatDouble(price[0], "#,##0.00", true) + " " + price[1]); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/currentsalespriceid/valueProcess.js b/entity/Product_entity/entityfields/currentsalespriceid/valueProcess.js deleted file mode 100644 index dfac7a4979bc666a1b65a3609bc5e19a773a2021..0000000000000000000000000000000000000000 --- a/entity/Product_entity/entityfields/currentsalespriceid/valueProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.result"); -import("system.vars"); -import("Product_lib"); - -result.string(ProductUtils.getCurrentProductPrice(vars.get("$field.PRODUCTID"), "SP")); \ No newline at end of file diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod index 6ecc49a490101f0629121b04192eb4f39a1366a0..811cb33671947750fbc166c2aa2d4cd2cdf26f27 100644 --- a/entity/Productprice_entity/Productprice_entity.aod +++ b/entity/Productprice_entity/Productprice_entity.aod @@ -60,6 +60,7 @@ <title>Valid from</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/valid_from/valueProcess.js</valueProcess> <onValidation>%aditoprj%/entity/Productprice_entity/entityfields/valid_from/onValidation.js</onValidation> @@ -69,6 +70,7 @@ <title>Valid until</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <onValidation>%aditoprj%/entity/Productprice_entity/entityfields/valid_to/onValidation.js</onValidation> </entityField> <entityField> diff --git a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod index e8b81e54cf2499e9a48fdc0eded6edebaeb2c335..cab3c0a17ff4df23b59399e852b2dbeae08615de 100644 --- a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod +++ b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod @@ -13,6 +13,7 @@ <title>Excreted</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> </entityField> <entityField> <name>INFO</name> @@ -71,7 +72,7 @@ <linkedContext>Organisation</linkedContext> </entityField> <entityField> - <name>ORG_NAME</name> + <name>ORGANISATION_NAME</name> <state>READONLY</state> <onValueChangeTypes> <element>MASK</element> @@ -99,21 +100,6 @@ </entityParameter> </children> </entityConsumer> - <entityField> - <name>ORG_PRICE_POLITICS</name> - <title>Price politics</title> - <consumer>KeywordPrice_Politics</consumer> - </entityField> - <entityField> - <name>ORG_STRENGTH</name> - <title>Strength</title> - <consumer>KeywordStrenght</consumer> - </entityField> - <entityField> - <name>ORG_WEAKNESS</name> - <title>Weakness</title> - <consumer>KeywordWeakness</consumer> - </entityField> <entityConsumer> <name>Organisations</name> <fieldType>DEPENDENCY_OUT</fieldType> @@ -219,6 +205,30 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <title>Attributes</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>RelationsForSpecificObject</fieldName> + </dependency> + <children> + <entityParameter> + <name>objectType_param</name> + <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>objectRowId_param</name> + <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>filteredAttributeIds_param</name> + <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -252,7 +262,7 @@ <recordfield>SALESPROJECT_COMPETITION.INFO</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> - <name>ORG_NAME.value</name> + <name>ORGANISATION_NAME.value</name> <recordfield>ORGANISATION.NAME</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> @@ -279,18 +289,6 @@ <name>STATUS.value</name> <recordfield>SALESPROJECT_COMPETITION.STATUS</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_PRICE_POLITICS.value</name> - <recordfield>ORGANISATION.PRICE_POLITICS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_STRENGTH.value</name> - <recordfield>ORGANISATION.STRENGTH</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_WEAKNESS.value</name> - <recordfield>ORGANISATION.WEAKNESS</recordfield> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_ID.displayValue</name> <recordfield>ORGANISATION.NAME</recordfield> @@ -303,18 +301,6 @@ <name>PHASE.value</name> <recordfield>SALESPROJECT_COMPETITION.PHASE</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_PRICE_POLITICS.displayValue</name> - <expression>%aditoprj%/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_price_politics.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_WEAKNESS.displayValue</name> - <expression>%aditoprj%/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_weakness.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORG_STRENGTH.displayValue</name> - <expression>%aditoprj%/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_strength.displayvalue/expression.js</expression> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>PHASE.displayValue</name> <expression>%aditoprj%/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression> diff --git a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..76d502d1caf3f69fdc72c4fb9b90c4ce9631375f --- /dev/null +++ b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); + +result.object([ + '8af37871-d407-4414-98ad-e64dbaa5794a', // Price politics + '558419b2-6113-4060-b88d-cc6324754765', // Strength + '71226196-2812-4d70-b90f-c3e2c14fd4d1' // Weakness +]); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ef0d5bcac51027b862291e5abd61c0c05773a8df --- /dev/null +++ b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.CONTACT_ID")); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9e359dfbd05a73d0010c8e90a0a645160e0087e4 --- /dev/null +++ b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("Organisation"); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_price_politics.displayvalue/expression.js b/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_price_politics.displayvalue/expression.js deleted file mode 100644 index d352cbd476f1f9c7225a6d4e287f254d0478fb4b..0000000000000000000000000000000000000000 --- a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_price_politics.displayvalue/expression.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("Keyword_lib"); -import("KeywordRegistry_basic"); - -var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPricePolitics(), "ORGANISATION.PRICE_POLITICS"); -result.string(sql); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_strength.displayvalue/expression.js b/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_strength.displayvalue/expression.js deleted file mode 100644 index 0071a532b7942b287c869f4eaef13c430b057297..0000000000000000000000000000000000000000 --- a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_strength.displayvalue/expression.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("Keyword_lib"); -import("KeywordRegistry_basic"); - -var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectStrenght(), "ORGANISATION.STRENGTH"); -result.string(sql); \ No newline at end of file diff --git a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_weakness.displayvalue/expression.js b/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_weakness.displayvalue/expression.js deleted file mode 100644 index 1f3ec844e7b00069d9f8bb49e3f1842402b71bdd..0000000000000000000000000000000000000000 --- a/entity/SalesprojectCompetition_entity/recordcontainers/db/recordfieldmappings/org_weakness.displayvalue/expression.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("Keyword_lib"); -import("KeywordRegistry_basic"); - -var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectWeakness(), "ORGANISATION.WEAKNESS"); -result.string(sql); \ No newline at end of file diff --git a/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod b/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod index 0b5b4f36811f65accf7671703ce5da1448b845b3..8a5a058e9f830cb7b795b4a78a71d668282dcbdb 100644 --- a/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod +++ b/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod @@ -13,6 +13,7 @@ <title>End date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <searchable v="true" /> </entityField> <entityField> @@ -20,6 +21,7 @@ <title>Date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> </entityField> <entityField> <name>SALESPROJECT_CYCLEID</name> diff --git a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod index 8236c364d7279bdbd07d424076d6b521032ab020..0d0c6958258a7f614ddfdb5fefdb589d4075130d 100644 --- a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod +++ b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod @@ -13,6 +13,7 @@ <title>Planned</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> </entityField> <entityField> <name>GROUPCODE</name> @@ -23,10 +24,6 @@ <name>INFO</name> <title>Info</title> </entityField> - <entityField> - <name>CONTACT_ID</name> - <mandatory v="true" /> - </entityField> <entityField> <name>SALESPROJECT_FORECASTID</name> <valueProcess>%aditoprj%/entity/SalesprojectForecast_entity/entityfields/salesproject_forecastid/valueProcess.js</valueProcess> @@ -113,10 +110,6 @@ <name>INFO.value</name> <recordfield>SALESPROJECT_FORECAST.INFO</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACT_ID.value</name> - <recordfield>SALESPROJECT_FORECAST.CONTACT_ID</recordfield> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>SALESPROJECT_FORECASTID.value</name> <recordfield>SALESPROJECT_FORECAST.SALESPROJECT_FORECASTID</recordfield> diff --git a/entity/SalesprojectForecast_entity/entityfields/volume/titleProcess.js b/entity/SalesprojectForecast_entity/entityfields/volume/titleProcess.js index e8c2da35cd446c7b78eb3384dd01998dcf787450..dd25fd0e8ea4a00efb98164071eff5dbc65ee362 100644 --- a/entity/SalesprojectForecast_entity/entityfields/volume/titleProcess.js +++ b/entity/SalesprojectForecast_entity/entityfields/volume/titleProcess.js @@ -1,4 +1,4 @@ import("system.result"); import("system.translate"); -result.string(translate.text("${VOLUME_MONEY}") + translate.text("${THOUSAND_SHORT}") + translate.text("${EURO_SIGN}")); \ No newline at end of file +result.string(translate.text("${VOLUME_MONEY}") + " " + translate.text("${THOUSAND_SHORT}") + " " + translate.text("${EURO_SIGN}")); \ No newline at end of file diff --git a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod b/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod index d3b3857806ca98a0473e3e2b4a30bc0ce7851130..bac19d2e222c5d52d3278b86abff4a73fbb251f2 100644 --- a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod +++ b/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod @@ -30,6 +30,8 @@ <entityProvider> <name>SalesprojectMembers</name> <fieldType>DEPENDENCY_IN</fieldType> + <targetContextField>TARGETCONTEXT</targetContextField> + <targetIdField>CONTACT_ID</targetIdField> <recordContainer>db</recordContainer> <dependencies> <entityDependency> @@ -54,7 +56,7 @@ <description>PARAMETER</description> </entityParameter> <entityField> - <name>ORG_NAME</name> + <name>ORGANISATION_NAME</name> <title>Company</title> <state>READONLY</state> </entityField> @@ -158,14 +160,17 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt <entityField> <name>CONTACTROLE</name> <title>Function</title> + <state>READONLY</state> </entityField> <entityField> <name>DEPARTMENT</name> <title>Department</title> + <state>READONLY</state> </entityField> <entityField> <name>POSITION</name> <title>Position</title> + <state>READONLY</state> </entityField> </entityFields> <recordContainers> @@ -206,7 +211,7 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt </linkInformation> <recordFieldMappings> <dbRecordFieldMapping> - <name>ORG_NAME.value</name> + <name>ORGANISATION_NAME.value</name> <recordfield>ORGANISATION.NAME</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> diff --git a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod index 21932998caae17deea9a8766310468eadcaca9fb..aba44317376e981cc9864b5540ebf433e5cb418f 100644 --- a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod +++ b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod @@ -39,6 +39,7 @@ <title>Date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> </entityField> <entityField> <name>INFO</name> diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index d44fc215bf3cd2089e6a2be3c7676d8c3963a317..089cb81db92d660ca6d693bbe7f07e1da63a1694 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -29,6 +29,7 @@ <title>Rollout</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/enddate/valueProcess.js</valueProcess> </entityField> <entityField> @@ -70,6 +71,7 @@ <title>Project start</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startdate/valueProcess.js</valueProcess> </entityField> @@ -83,7 +85,8 @@ <name>VOLUME</name> <title>Volume</title> <description>The displayValue from the recoord container adds T € (translated)</description> - <contentTypeProcess>%aditoprj%/entity/Salesproject_entity/entityfields/volume/contentTypeProcess.js</contentTypeProcess> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/volume/displayValueProcess.js</displayValueProcess> + <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/volume/onValidation.js</onValidation> </entityField> <entityConsumer> <name>Organisations</name> @@ -501,10 +504,6 @@ <name>CONTACT_ID.displayValue</name> <recordfield>ORGANISATION.NAME</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>VOLUME.displayValue</name> - <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/volume.displayvalue/expression.js</expression> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>PROBABILITY.displayValue</name> <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression> diff --git a/entity/Salesproject_entity/entityfields/volume/contentTypeProcess.js b/entity/Salesproject_entity/entityfields/volume/contentTypeProcess.js deleted file mode 100644 index ce76b0444f1f77a3b3c25eab41c4940feb10702f..0000000000000000000000000000000000000000 --- a/entity/Salesproject_entity/entityfields/volume/contentTypeProcess.js +++ /dev/null @@ -1,13 +0,0 @@ -import("system.result"); -import("system.vars"); -import("system.neon"); - -var recordState = vars.get("$sys.recordstate"); -if (recordState == neon.OPERATINGSTATE_EDIT || recordState == neon.OPERATINGSTATE_NEW) -{ - result.string("NUMBER"); -} -else -{ - result.string("TEXT"); -} \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/volume/displayValueProcess.js b/entity/Salesproject_entity/entityfields/volume/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..55d8076a7378a810484d3ce8390ff36034d4dba4 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/volume/displayValueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +var volume = vars.get("$field.VOLUME"); +result.string(parseInt(volume) + " " + translate.text("${THOUSAND_SHORT}") + " " + translate.text("${EURO_SIGN}")) \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/volume/onValidation.js b/entity/Salesproject_entity/entityfields/volume/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..bf0a8f97253cff58d9188c390b044ecc2f1c26d5 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/volume/onValidation.js @@ -0,0 +1,15 @@ +import("system.translate"); +import("system.result"); +import("system.vars"); +import("PostalAddress_lib"); +import("Entity_lib"); + +// TODO: displayValue + contentType number crashes so we use TEXT and validate ourselve +// Workaround for 1035861 + +var volume = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.VOLUME")); +var message = ""; +if (!/^\d+\.?\d*$/.test(volume)) + message = translate.text("Only numbers are allowed."); + +result.string(message); \ No newline at end of file diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/volume.displayvalue/expression.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/volume.displayvalue/expression.js deleted file mode 100644 index 542d45f41cf7db2349f5a6908b87813c5565f725..0000000000000000000000000000000000000000 --- a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/volume.displayvalue/expression.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.translate"); -import("system.result"); -import("Sql_lib"); - -var maskingUtils = new SqlMaskingUtils(); -result.string(maskingUtils.concat(["char(SALESPROJECT.VOLUME)", "'" + translate.text("${THOUSAND_SHORT}") + "'", "'" + translate.text("${EURO_SIGN}") + "'"], " ", true)) \ No newline at end of file diff --git a/entity/Stock_entity/Stock_entity.aod b/entity/Stock_entity/Stock_entity.aod index 5011a77554e7ca13aa40f85d40eb645f92963ca7..2fc3e2fa984debad331b4c7eb62e5aab4bd2cf0e 100644 --- a/entity/Stock_entity/Stock_entity.aod +++ b/entity/Stock_entity/Stock_entity.aod @@ -11,6 +11,7 @@ <title>Date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Stock_entity/entityfields/entrydate/valueProcess.js</valueProcess> </entityField> diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index 3a67fd90a3cb8daf8bc8f3c4d1cd6e68d2b98995..9b17a3c0b6901ee6de3b798ca389a3ef110f092a 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -60,6 +60,7 @@ <title>start date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <groupable v="true" /> <valueProcess>%aditoprj%/entity/Task_entity/entityfields/start_date/valueProcess.js</valueProcess> <onValidation>%aditoprj%/entity/Task_entity/entityfields/start_date/onValidation.js</onValidation> @@ -69,6 +70,7 @@ <title>maturity date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maturity_date/valueProcess.js</valueProcess> <onValidation>%aditoprj%/entity/Task_entity/entityfields/maturity_date/onValidation.js</onValidation> </entityField> @@ -173,7 +175,7 @@ </entityConsumer> <entityConsumer> <name>ModuleTrees</name> - <title>Baum</title> + <title>Tree</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> @@ -215,16 +217,16 @@ <entityActionField> <name>newActivity_action</name> <fieldType>ACTION</fieldType> - <title>Neue Aktivität</title> + <title>New activity</title> <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity_action/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PLUS</iconId> + <iconId>NEON:HISTORY</iconId> </entityActionField> <entityActionField> <name>newTask_action</name> <fieldType>ACTION</fieldType> - <title>Neue Aufgabe</title> + <title>New task</title> <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newtask_action/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PLUS</iconId> + <iconId>VAADIN:TASKS</iconId> </entityActionField> <entityParameter> <name>RowId_param</name> diff --git a/entity/Timetracking_entity/Timetracking_entity.aod b/entity/Timetracking_entity/Timetracking_entity.aod index e361b597e5adc2d4b20e55e86349ceab3c81776e..b39f8f8e77181201653a9d706efa042c6cf765d6 100644 --- a/entity/Timetracking_entity/Timetracking_entity.aod +++ b/entity/Timetracking_entity/Timetracking_entity.aod @@ -16,9 +16,10 @@ <entityField> <name>MINUTES</name> <title>Time</title> - <contentType>NUMBER</contentType> + <contentType>TEXT</contentType> <mandatory v="true" /> <displayValueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/minutes/displayValueProcess.js</displayValueProcess> + <onValidation>%aditoprj%/entity/Timetracking_entity/entityfields/minutes/onValidation.js</onValidation> </entityField> <entityField> <name>OBJECT_ID</name> @@ -47,6 +48,7 @@ <title>Date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/date/valueProcess.js</valueProcess> </entityField> diff --git a/entity/Timetracking_entity/entityfields/minutes/onValidation.js b/entity/Timetracking_entity/entityfields/minutes/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..8080e185f4cc8a1f4b3a3dc07081b6b04cf036eb --- /dev/null +++ b/entity/Timetracking_entity/entityfields/minutes/onValidation.js @@ -0,0 +1,15 @@ +import("system.translate"); +import("system.result"); +import("system.vars"); +import("PostalAddress_lib"); +import("Entity_lib"); + +// TODO: displayValue + contentType number crashes so we use TEXT and validate ourselve +// 1035861 + +var minutes = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MINUTES")); +var message = ""; +if (!/^\d+$/.test(minutes)) + message = translate.text("Only numbers are allowed."); + +result.string(message); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 3089411e79d7343329144da9356d6b354a788725..333f1811e09074b643c328dc1f265387f295e881 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -2514,6 +2514,48 @@ <entry> <key>Salesdashboard</key> </entry> + <entry> + <key>Discount %</key> + </entry> + <entry> + <key>Memo</key> + </entry> + <entry> + <key>Function</key> + </entry> + <entry> + <key>Relational</key> + </entry> + <entry> + <key>test</key> + </entry> + <entry> + <key>Only numbers are allowed.</key> + </entry> + <entry> + <key>Superordinate Attribute</key> + </entry> + <entry> + <key>${SALESPROJECT_OFFER}</key> + </entry> + <entry> + <key>${SALESPROJECT_NEGOTIATION}</key> + </entry> + <entry> + <key>Filesize</key> + </entry> + <entry> + <key>Filename</key> + </entry> + <entry> + <key>Filetype</key> + </entry> + <entry> + <key>Special price list</key> + </entry> + <entry> + <key>New attribute</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 84e7cd2b6dc961f06289ba1c2e263d35f6601cbb..794fae92df857eaf46e2004a40ebb66f230e07fb 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -58,6 +58,14 @@ <key>Communication data</key> <value>Kommunikationsdaten</value> </entry> + <entry> + <key>${SALESPROJECT_NEGOTIATION}</key> + <value>Negotiation</value> + </entry> + <entry> + <key>Filename</key> + <value>Dateiname</value> + </entry> <entry> <key>Male</key> <value>Männlich</value> @@ -86,6 +94,10 @@ <key>Time expenses</key> <value>Aufwand</value> </entry> + <entry> + <key>${SALESPROJECT_OFFER}</key> + <value>Offer</value> + </entry> <entry> <key>Status</key> <value>Status</value> @@ -358,7 +370,7 @@ </entry> <entry> <key>standard address</key> - <value>Standardadresse</value> + <value>Standard-Adresse</value> </entry> <entry> <key>Create receipt</key> @@ -373,6 +385,7 @@ </entry> <entry> <key>Key account</key> + <value>Großkunde</value> </entry> <entry> <key>Cover letter</key> @@ -995,6 +1008,10 @@ <key>Show all offers</key> <value>Alle Angebote anzeigen</value> </entry> + <entry> + <key>Filetype</key> + <value>Dateityp</value> + </entry> <entry> <key>child of</key> <value>Kind von</value> @@ -1003,6 +1020,10 @@ <key>Products</key> <value>Produkte</value> </entry> + <entry> + <key>Filesize</key> + <value>Dateigrösse</value> + </entry> <entry> <key>Industry 1</key> <value>Branche 1</value> @@ -1395,7 +1416,7 @@ </entry> <entry> <key>New activity</key> - <value>Aktivität erstellen</value> + <value>Neue Aktivität</value> </entry> <entry> <key>July</key> @@ -1649,9 +1670,6 @@ <key>Title (original language)</key> <value>Titel (ursprüngliche Sprache)</value> </entry> - <entry> - <key>Parent Attribute</key> - </entry> <entry> <key>Attribute Relation</key> <value></value> @@ -1724,6 +1742,10 @@ <entry> <key>Paraguay</key> </entry> + <entry> + <key>New attribute</key> + <value>Neues Attribut</value> + </entry> <entry> <key>Solomon Islands</key> </entry> @@ -1919,6 +1941,10 @@ <entry> <key>United States dollar</key> </entry> + <entry> + <key>Superordinate Attribute</key> + <value>Übergeordnetes Attribut</value> + </entry> <entry> <key>Kyrgyzstan</key> </entry> @@ -2149,6 +2175,7 @@ </entry> <entry> <key>${PRICELIST_SERVICE}</key> + <value>Service</value> </entry> <entry> <key>English</key> @@ -2358,7 +2385,8 @@ <value>Stunden</value> </entry> <entry> - <key>Special price list1</key> + <key>Special price list</key> + <value>Sonderpreisliste</value> </entry> <entry> <key>Christmas Island</key> @@ -2451,6 +2479,7 @@ </entry> <entry> <key>${PRICELIST_DEFAULT}</key> + <value>Standard</value> </entry> <entry> <key>Customer recommendation</key> @@ -2824,6 +2853,7 @@ </entry> <entry> <key>Tree</key> + <value>Baum</value> </entry> <entry> <key>100%</key> @@ -2945,6 +2975,28 @@ <key>supporter - supported</key> <value>Unterstützt - Wird unterstützt von</value> </entry> + <entry> + <key>Memo</key> + </entry> + <entry> + <key>Function</key> + </entry> + <entry> + <key>Relational</key> + </entry> + <entry> + <key>test</key> + </entry> + <entry> + <key>Only numbers are allowed.</key> + <value>Es sind nur Zahlen erlaubt.</value> + </entry> + <entry> + <key>Parent Attribute</key> + </entry> + <entry> + <key>Special price list1</key> + </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 144d7408513a252e27207e6ea0eb17de36b67062..abbf572093d0f286c71424b49653862be97d33e0 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -17,7 +17,6 @@ </entry> <entry> <key>Activity</key> - <value></value> </entry> <entry> <key>Name</key> @@ -69,7 +68,6 @@ </entry> <entry> <key>Activities</key> - <value></value> </entry> <entry> <key>Female</key> @@ -752,7 +750,6 @@ </entry> <entry> <key>Offer report</key> - <value></value> </entry> <entry> <key>New offer</key> @@ -1755,6 +1752,7 @@ </entry> <entry> <key>${PRICELIST_SERVICE}</key> + <value>Service</value> </entry> <entry> <key>English</key> @@ -1959,6 +1957,7 @@ </entry> <entry> <key>Special price list1</key> + <value>Special price list</value> </entry> <entry> <key>Christmas Island</key> @@ -2019,6 +2018,7 @@ </entry> <entry> <key>Key account</key> + <value></value> </entry> <entry> <key>Brunei Darussalam</key> @@ -2052,6 +2052,7 @@ </entry> <entry> <key>${PRICELIST_DEFAULT}</key> + <value>Standard</value> </entry> <entry> <key>Customer recommendation</key> @@ -2538,6 +2539,50 @@ <entry> <key>Salesdashboard</key> </entry> + <entry> + <key>Discount %</key> + </entry> + <entry> + <key>Memo</key> + </entry> + <entry> + <key>Function</key> + </entry> + <entry> + <key>Relational</key> + </entry> + <entry> + <key>test</key> + </entry> + <entry> + <key>Only numbers are allowed.</key> + </entry> + <entry> + <key>Superordinate Attribute</key> + </entry> + <entry> + <key>${SALESPROJECT_OFFER}</key> + <value>Offer</value> + </entry> + <entry> + <key>${SALESPROJECT_NEGOTIATION}</key> + <value>Negotiation</value> + </entry> + <entry> + <key>Filesize</key> + </entry> + <entry> + <key>Filename</key> + </entry> + <entry> + <key>Filetype</key> + </entry> + <entry> + <key>Special price list</key> + </entry> + <entry> + <key>New attribute</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/AddressType/AddressType.aod b/neonContext/AddressType/AddressType.aod new file mode 100644 index 0000000000000000000000000000000000000000..c0acbfc73bfe0319b362981309a496d194235155 --- /dev/null +++ b/neonContext/AddressType/AddressType.aod @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> + <name>AddressType</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entity>AddressType_entity</entity> +</neonContext> diff --git a/neonContext/Attribute/Attribute.aod b/neonContext/Attribute/Attribute.aod index 3504918a02b55108b0a0b0d7985b65676c4551c4..490a8f162c38c09ff9745b63ddff2f9f3edb30d2 100644 --- a/neonContext/Attribute/Attribute.aod +++ b/neonContext/Attribute/Attribute.aod @@ -8,7 +8,6 @@ <filterview>AttributeFilter_view</filterview> <editview>AttributeEdit_view</editview> <preview>AttributePreview_view</preview> - <lookupview>AttributeFilter_view</lookupview> <entity>Attribute_entity</entity> <references> <neonViewReference> diff --git a/neonContext/AttributeRelation/AttributeRelation.aod b/neonContext/AttributeRelation/AttributeRelation.aod index 3d56373fb0ac8111c7d1df0efc29eee8f5c1b36f..d22d27e6d7bb6a4f4af9686983b4ebba55157301 100644 --- a/neonContext/AttributeRelation/AttributeRelation.aod +++ b/neonContext/AttributeRelation/AttributeRelation.aod @@ -14,5 +14,9 @@ <name>d2970ead-0da7-4fad-9f82-0c02fe85fe2c</name> <view>AttributeRelationEdit_view</view> </neonViewReference> + <neonViewReference> + <name>e23b445d-12eb-400c-9153-af6b026654e6</name> + <view>AttributeRelationPreviewList</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/Organisation/Organisation.aod b/neonContext/Organisation/Organisation.aod index 26e9b98ce2551670cd108cf2ad6cc54f7486eed9..f6ed8390a1ccd3f99b71b5df881ca0cca5ccbc82 100644 --- a/neonContext/Organisation/Organisation.aod +++ b/neonContext/Organisation/Organisation.aod @@ -27,10 +27,6 @@ <name>68c233a5-ac5a-4aa7-b795-cd5aeb7af2e6</name> <view>OrganisationEdit_view</view> </neonViewReference> - <neonViewReference> - <name>bb592f88-fa9f-4ecc-98cc-51a7903dc970</name> - <view>OrganisationAttr_view</view> - </neonViewReference> <neonViewReference> <name>27c1cd03-506a-4e1e-a080-79b9dca6eefd</name> <view>OrganisationLookup_view</view> diff --git a/neonDashboard/Home/Home.aod b/neonDashboard/Home/Home.aod index c5f89ec119a76d74b445df7c34bf1b1c17df2951..beae892d0e6a0845711ed569185bca3d4a276061 100644 --- a/neonDashboard/Home/Home.aod +++ b/neonDashboard/Home/Home.aod @@ -3,6 +3,7 @@ <name>Home</name> <title>My Dashboard</title> <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:HOME</icon> <dashboardType>PRIVATE</dashboardType> <editRoles /> <defaultDashlets> diff --git a/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod b/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod index b401b585bd726d843dad69d6482bebf8551eb5a7..2b42818bb7d9df37fcd3656865c3a41450027e7f 100644 --- a/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod +++ b/neonDashboard/Vertriebsdashboard/Vertriebsdashboard.aod @@ -3,7 +3,7 @@ <name>Vertriebsdashboard</name> <title>Salesdashboard</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <icon>NEON:LOGO_A</icon> + <icon>VAADIN:CHART_GRID</icon> <dashboardType>PUBLIC</dashboardType> <editRoles> <element>INTERNAL_ADMINISTRATOR</element> diff --git a/neonView/ActivityDetail_view/ActivityDetail_view.aod b/neonView/ActivityDetail_view/ActivityDetail_view.aod index 5c1f702b4d3c5bfd08ee3174cf04c44329c6dc64..3409dd71072b0365b04e4a66f649950932adbe10 100644 --- a/neonView/ActivityDetail_view/ActivityDetail_view.aod +++ b/neonView/ActivityDetail_view/ActivityDetail_view.aod @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> <name>ActivityDetail_view</name> - <title>Beschreibung</title> + <title>Description</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/AddressEdit_view/AddressEdit_view.aod b/neonView/AddressEdit_view/AddressEdit_view.aod index 60a769bd9d3b7e03293cb832b6c904b70a19630c..74be246944169d13557a1832e318c6e292494ddb 100644 --- a/neonView/AddressEdit_view/AddressEdit_view.aod +++ b/neonView/AddressEdit_view/AddressEdit_view.aod @@ -21,10 +21,6 @@ <name>d8a7a16b-9d7f-44d7-bbb1-b0404d5b8b8f</name> <entityField>COUNTRY</entityField> </entityFieldLink> - <entityFieldLink> - <name>e7804363-405d-429d-91c9-23de9685cc9a</name> - <entityField>STATE</entityField> - </entityFieldLink> <entityFieldLink> <name>c70668f3-6722-4a90-86d6-0d89be06dbe1</name> <entityField>ADDRESS</entityField> @@ -41,6 +37,10 @@ <name>fafca9d6-c6dd-4b66-b1ff-1d6ba451827b</name> <entityField>CITY</entityField> </entityFieldLink> + <entityFieldLink> + <name>e7804363-405d-429d-91c9-23de9685cc9a</name> + <entityField>STATE</entityField> + </entityFieldLink> </fields> </genericViewTemplate> </children> diff --git a/neonView/AddressFilter_view/AddressFilter_view.aod b/neonView/AddressFilter_view/AddressFilter_view.aod index 78f5d08807b8c870c61f898395c631ad52193115..4c33eb1e108945b9ab272e0bff15b1ecfe24f2ce 100644 --- a/neonView/AddressFilter_view/AddressFilter_view.aod +++ b/neonView/AddressFilter_view/AddressFilter_view.aod @@ -17,6 +17,10 @@ <name>852583d4-1883-4b36-963f-6f3a4df63a89</name> <entityField>ADDR_TYPE</entityField> </neonTableColumn> + <neonTableColumn> + <name>10e9e08f-db9b-4789-a4b4-b2a0a750b069</name> + <entityField>COUNTRY</entityField> + </neonTableColumn> <neonTableColumn> <name>32b8b6f0-bdbc-4a4b-b98c-0a22861b0e6c</name> <entityField>ADDRESS</entityField> @@ -33,10 +37,6 @@ <name>57247c5c-6498-420b-b288-68ca316cf7f2</name> <entityField>CITY</entityField> </neonTableColumn> - <neonTableColumn> - <name>10e9e08f-db9b-4789-a4b4-b2a0a750b069</name> - <entityField>COUNTRY</entityField> - </neonTableColumn> <neonTableColumn> <name>9a965a25-a8aa-4777-865e-138624f2d848</name> <entityField>STATE</entityField> diff --git a/neonView/AddressList_view/AddressList_view.aod b/neonView/AddressList_view/AddressList_view.aod index ab275f2b133aa5e18f0c73f3a177f71a4f29c44a..ab11f3f168a5411ca39e31ab8e53f2c98c64af55 100644 --- a/neonView/AddressList_view/AddressList_view.aod +++ b/neonView/AddressList_view/AddressList_view.aod @@ -22,10 +22,6 @@ <name>dfaa01a1-0b11-4f92-aa18-89f12ebb2db5</name> <entityField>COUNTRY</entityField> </neonTableColumn> - <neonTableColumn> - <name>17039f2e-4253-4242-bcc4-b75483adfbd0</name> - <entityField>STATE</entityField> - </neonTableColumn> <neonTableColumn> <name>4e5e6a4f-f43e-4861-a912-fb05e576f960</name> <entityField>ADDRESS</entityField> @@ -42,6 +38,10 @@ <name>12727b21-0359-4430-a9c2-54eb48e2e864</name> <entityField>CITY</entityField> </neonTableColumn> + <neonTableColumn> + <name>17039f2e-4253-4242-bcc4-b75483adfbd0</name> + <entityField>STATE</entityField> + </neonTableColumn> </columns> </titledListViewTemplate> </children> diff --git a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod index 4192daba616b5f41261d4545ae65b0fb90d82dc5..e343aeea66dcf9790222f33a2c13d9042203bc91 100644 --- a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod +++ b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod @@ -16,6 +16,10 @@ <name>b210372e-dfd3-4cec-bc2e-84b72aebb2b6</name> <entityField>ADDR_TYPE</entityField> </neonTableColumn> + <neonTableColumn> + <name>d8a7a26b-9d7f-44d7-bbb1-b0404d5b8b2f</name> + <entityField>COUNTRY</entityField> + </neonTableColumn> <neonTableColumn> <name>c20668f3-6722-4a90-86d6-0d29be06dbe1</name> <entityField>ADDRESS</entityField> @@ -32,10 +36,6 @@ <name>fafca2d6-c2dd-4b66-b1ff-1d6ba451827b</name> <entityField>CITY</entityField> </neonTableColumn> - <neonTableColumn> - <name>d8a7a26b-9d7f-44d7-bbb1-b0404d5b8b2f</name> - <entityField>COUNTRY</entityField> - </neonTableColumn> <neonTableColumn> <name>945bd8e7-9d0d-4e32-8908-24d8dfb74463</name> <entityField>STATE</entityField> diff --git a/neonView/AnyContactLookup_view/AnyContactLookup_view.aod b/neonView/AnyContactLookup_view/AnyContactLookup_view.aod index 4273a0ee681dcf1f137be5d18a1b010ffc6b32bb..c6ca766c71de2386e22e89289b7d6581866cd8c8 100644 --- a/neonView/AnyContactLookup_view/AnyContactLookup_view.aod +++ b/neonView/AnyContactLookup_view/AnyContactLookup_view.aod @@ -18,15 +18,11 @@ </neonTableColumn> <neonTableColumn> <name>ca59a64a-adce-49c3-93ad-2978c81809f8</name> - <entityField>ORG_NAME</entityField> - </neonTableColumn> - <neonTableColumn> - <name>814b3f18-106a-443e-8415-762669f862e6</name> - <entityField>PERSON_FIRSTNAME</entityField> + <entityField>ORGANISATION_NAME</entityField> </neonTableColumn> <neonTableColumn> <name>4b05d812-aa6c-49a5-afa3-ea5cd99560ef</name> - <entityField>PERSON_LASTNAME</entityField> + <entityField>PERSON_FULL_NAME</entityField> <width v="75" /> <expandRatio v="100" /> </neonTableColumn> @@ -38,6 +34,10 @@ <name>16174be3-c8fb-46a8-8f73-f6b8d8fad963</name> <entityField>STANDARD_EMAIL_COMMUNICATION</entityField> </neonTableColumn> + <neonTableColumn> + <name>c7d50d7a-11da-491c-a4be-7d5f75d335f0</name> + <entityField>ADDRESS_ID</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod index 6f180a2023453e5b98aa02932e15315fd076c27f..626b9f0d2c86e82065ba3be5adb8e8222989920f 100644 --- a/neonView/AttributeFilter_view/AttributeFilter_view.aod +++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod @@ -5,17 +5,36 @@ <majorModelMode>DISTRIBUTED</majorModelMode> <filterable v="true" /> <layout> - <boxLayout> + <groupLayout> <name>layout</name> - </boxLayout> + </groupLayout> </layout> <children> <treetableViewTemplate> - <name>Treetable</name> + <name>Treetable_template</name> <parentField>ATTRIBUTE_PARENT_ID</parentField> + <favoriteActionGroup1>AttributeActions</favoriteActionGroup1> <titleField>ATTRIBUTE_NAME</titleField> <descriptionField>ATTRIBUTE_TYPE</descriptionField> <entityField>#ENTITY</entityField> </treetableViewTemplate> + <tableViewTemplate> + <name>Table_template</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>4dae1a23-8798-42ff-998c-7f5fedc7dcc5</name> + <entityField>ATTRIBUTE_NAME</entityField> + </neonTableColumn> + <neonTableColumn> + <name>ed7598ea-c29c-4d04-9b28-27ee3b28a5b1</name> + <entityField>ATTRIBUTE_TYPE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>cc88ea53-2673-4c6e-ac2e-6766d2698453</name> + <entityField>ATTRIBUTE_ACTIVE</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> </children> </neonView> diff --git a/neonView/AttributePreview_view/AttributePreview_view.aod b/neonView/AttributePreview_view/AttributePreview_view.aod index f3e5d5fa9e51b0d3fedf0e8f0b07f37f8c561472..4ebba8e503f92b6b617857ec1904bcb729c47d19 100644 --- a/neonView/AttributePreview_view/AttributePreview_view.aod +++ b/neonView/AttributePreview_view/AttributePreview_view.aod @@ -24,6 +24,10 @@ <name>5f20a5d4-0343-4b8c-92bf-15eeb2483ba9</name> <entityField>ATTRIBUTE_PARENT_ID</entityField> </entityFieldLink> + <entityFieldLink> + <name>7e64cd02-e91e-4845-bc77-256a4945670e</name> + <entityField>KEYWORD_CONTAINER</entityField> + </entityFieldLink> <entityFieldLink> <name>e00bfeb1-7003-4d5a-b71a-c6921e255c9d</name> <entityField>ATTRIBUTE_ACTIVE</entityField> diff --git a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod new file mode 100644 index 0000000000000000000000000000000000000000..41ed1f745ebc495d92c4b4cc9c0006764e5e90de --- /dev/null +++ b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>AttributeRelationPreviewList</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <titledListViewTemplate> + <name>attributes</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>ca2fb22d-2987-443d-8e69-fccaba68e0c5</name> + <entityField>AB_ATTRIBUTE_ID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>a4661c55-6e51-4884-b460-0ef1dca7c5f7</name> + <entityField>ATTRIBUTERELATION_VALUE</entityField> + </neonTableColumn> + </columns> + </titledListViewTemplate> + </children> +</neonView> diff --git a/neonView/OrganisationAttr_view/OrganisationAttr_view.aod b/neonView/OrganisationAttr_view/OrganisationAttr_view.aod deleted file mode 100644 index 776e229c1ed02a1c41f2600c4f1928dbb5974117..0000000000000000000000000000000000000000 --- a/neonView/OrganisationAttr_view/OrganisationAttr_view.aod +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> - <name>OrganisationAttr_view</name> - <description>TODO: View verknüpfung von generics momentan nicht möglich! Desshalb habe ich die Felder nochmal direkt verknüpft, damit es zumindest nutzbar ist. -TODO: diese Felder werden später als Attribute implementiert</description> - <majorModelMode>DISTRIBUTED</majorModelMode> - <layout> - <noneLayout> - <name>layout</name> - </noneLayout> - </layout> - <children> - <genericViewTemplate> - <name>OrgAttributes</name> - <showDrawer v="true" /> - <drawerCaption>Attributes</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>504f38a1-5642-42c5-9f43-cc20897330ec</name> - <entityField>PRICE_POLITICS</entityField> - </entityFieldLink> - <entityFieldLink> - <name>1c7a75d0-9032-4f63-8128-410d0c80dc0e</name> - <entityField>STRENGTH</entityField> - </entityFieldLink> - <entityFieldLink> - <name>8719c99b-89bb-472d-9596-109d921a1cf2</name> - <entityField>WEAKNESS</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> - </children> -</neonView> diff --git a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod index 42815a374b95759344d91eb754372de398619373..a8f5cd47c2dbbb9bb37a9c70b53c31a0b0c7e8df 100644 --- a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod +++ b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod @@ -63,6 +63,10 @@ <name>213d7434-cac6-42d8-aa3a-d893dc77b7b3</name> <entityField>STANDARD_PHONE_COMMUNICATION</entityField> </neonTableColumn> + <neonTableColumn> + <name>067eeef9-9a98-483b-9b4f-67bcc46eca3a</name> + <entityField>ADDRESS_ID</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod index a491b144cddf6da2928a3ebe0e4be62f705c1c88..d51544e0e9ef248bca1a46d11f8c2af2d00401ec 100644 --- a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod +++ b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod @@ -28,6 +28,10 @@ <name>44f2a229-3288-448e-9f74-b29751ab3c49</name> <entityField>STANDARD_EMAIL_COMMUNICATION</entityField> </neonTableColumn> + <neonTableColumn> + <name>6e0191b5-468b-41f6-b87e-732bb1c0ded8</name> + <entityField>ADDRESS_ID</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/PersonFilter_view/PersonFilter_view.aod b/neonView/PersonFilter_view/PersonFilter_view.aod index 5aaf1f8ecc20c5a5b5ddd0b60e60ca0bf219b6ae..0d52a18a1b932ec96237fcb26c330bff4de24671 100644 --- a/neonView/PersonFilter_view/PersonFilter_view.aod +++ b/neonView/PersonFilter_view/PersonFilter_view.aod @@ -70,6 +70,10 @@ <name>1b99eaf7-7ce7-4b7d-bb71-f21e6cae4417</name> <entityField>STANDARD_PHONE_COMMUNICATION</entityField> </neonTableColumn> + <neonTableColumn> + <name>4e9d69fc-a072-41b9-a089-0a9c5c1e37c2</name> + <entityField>ADDRESS_ID</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/PersonLookup_view/PersonLookup_view.aod b/neonView/PersonLookup_view/PersonLookup_view.aod index f93afb3fdd66e9f9b654d0b7ae378bd3c0447832..4c71e4b72b2294d0d34cbe55b9631d063f120299 100644 --- a/neonView/PersonLookup_view/PersonLookup_view.aod +++ b/neonView/PersonLookup_view/PersonLookup_view.aod @@ -32,6 +32,10 @@ <name>eb778e57-1f2d-436e-b22a-e92f7a190606</name> <entityField>STANDARD_EMAIL_COMMUNICATION</entityField> </neonTableColumn> + <neonTableColumn> + <name>27d03313-3ec6-438f-b79b-724369316ef3</name> + <entityField>ADDRESS_ID</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/neonView/PersonPreview_view/PersonPreview_view.aod b/neonView/PersonPreview_view/PersonPreview_view.aod index ae395531ab792a06b8029ee086e108cddee63e3b..a46e953f3c5307e1248693928966ddaf93a78b68 100644 --- a/neonView/PersonPreview_view/PersonPreview_view.aod +++ b/neonView/PersonPreview_view/PersonPreview_view.aod @@ -11,7 +11,7 @@ <cardViewTemplate> <name>PersHeader_template</name> <iconField>IMAGE</iconField> - <titleField>NAME_fieldGroup</titleField> + <titleField>FULL_NAME_fieldGroup</titleField> <descriptionField>ORGANISATION_ID</descriptionField> <entityField>#ENTITY</entityField> </cardViewTemplate> diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod index b027cff6ec46895f9a2012132616409c72fc59f3..ec357f90b38dd8275058f1310dedab536c091ed7 100644 --- a/neonView/ProductPreview_view/ProductPreview_view.aod +++ b/neonView/ProductPreview_view/ProductPreview_view.aod @@ -54,12 +54,12 @@ <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>b93cd0c5-7028-496b-9709-ed57ba53ab47</name> - <entityField>currentPurchasePriceId</entityField> + <name>e47628f5-dd89-4a5d-bb39-8edf8dba9e73</name> + <entityField>currentPurchasePrice</entityField> </entityFieldLink> <entityFieldLink> - <name>6e4db325-6546-47f8-8dfa-ae60e8c37a13</name> - <entityField>currentSalesPriceId</entityField> + <name>da93c159-d0b2-41d4-8ebe-7f28f623356c</name> + <entityField>currentSalesPrice</entityField> </entityFieldLink> </fields> </genericViewTemplate> diff --git a/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod b/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod index 4d5f8da9ec87ed5acd40a327d0eeebc1769c2346..a75b6dbedd4669e0e74988874158a0b115adb5c2 100644 --- a/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod +++ b/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod @@ -36,25 +36,10 @@ </entityFieldLink> </fields> </genericViewTemplate> - <genericViewTemplate> - <name>OrgAttrWorkaround_template</name> - <showDrawer v="true" /> - <drawerCaption>Attributes</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>9cf17ad8-d91f-4445-b66c-9227bc237787</name> - <entityField>ORG_PRICE_POLITICS</entityField> - </entityFieldLink> - <entityFieldLink> - <name>e9d9fefd-3493-458e-b9aa-a0300de4f771</name> - <entityField>ORG_STRENGTH</entityField> - </entityFieldLink> - <entityFieldLink> - <name>032e932c-038c-4a74-94e8-39e0be31fbae</name> - <entityField>ORG_WEAKNESS</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> + <neonViewReference> + <name>a0ff837d-f2f8-4e14-8246-3acdd6653be0</name> + <entityField>Attributes</entityField> + <view>AttributeRelationPreviewList</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod index 29c93d4f39c080379433f65949323e2d101c1c11..2181c73016332558c0b0bd74e3f74f0cf09592b0 100644 --- a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod +++ b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod @@ -54,6 +54,10 @@ <entityField>#ENTITY</entityField> <title></title> <columns> + <neonTableColumn> + <name>2cbd6486-e1e4-4660-94f9-1b71e29b11ba</name> + <entityField>IMAGE</entityField> + </neonTableColumn> <neonTableColumn> <name>6702bb75-1c57-42a7-9cf0-acd7cd8515f5</name> <entityField>CONTACT_ID</entityField> diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod index 86f931d7521318c8f855c0602cfed8fe337205b2..ac2bea3a9905982d4254ae0c7e33426a74f7d04e 100644 --- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod +++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod @@ -20,9 +20,9 @@ <view>ActivityFilter_view</view> </neonViewReference> <neonViewReference> - <name>b0302dd4-fd72-4d34-8c22-70d3a721347f</name> - <entityField>#ENTITY</entityField> - <view>SalesprojectCycle_view</view> + <name>9dbe03b3-e5d3-4db8-b542-506b13322d4f</name> + <entityField>SalesprojectForecasts</entityField> + <view>SalesprojectForecastFilter_view</view> </neonViewReference> <neonViewReference> <name>5d7248e8-3f3e-4262-8f13-6d5eff7165c1</name> @@ -44,11 +44,6 @@ <entityField>SalesprojectMembers</entityField> <view>SalesprojectMemberFilter_view</view> </neonViewReference> - <neonViewReference> - <name>a989abee-e88b-46b1-a78b-b16fa11de634</name> - <entityField>SalesprojectClassifications</entityField> - <view>SalesprojectClassificationFilter_view</view> - </neonViewReference> <neonViewReference> <name>c0027b4d-c014-4053-a595-daad9a73ad5c</name> <entityField>Timetrackings</entityField> diff --git a/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod b/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod index bd7d56408d9e22ddf4829b409a028b2510d5efd0..325028978da8c455396bc3871c94340d38de2ee9 100644 --- a/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod +++ b/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod @@ -15,7 +15,7 @@ <columns> <neonTableColumn> <name>27e658bc-c134-4fef-a3a5-b172852d606e</name> - <entityField>ORG_NAME</entityField> + <entityField>ORGANISATION_NAME</entityField> </neonTableColumn> <neonTableColumn> <name>59e6aea1-9752-48b5-9d91-43edd0c1d670</name> diff --git a/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod b/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod index 94da8a83f6260b6d127edfca968580167262ab7e..dc494029004cf195eeb62b92d4b27b187d13c1e2 100644 --- a/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod +++ b/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod @@ -14,17 +14,5 @@ <descriptionField>SALESPROJECT_ROLE</descriptionField> <entityField>#ENTITY</entityField> </cardViewTemplate> - <genericViewTemplate> - <name>SalesprojectMemberInfo_template</name> - <showDrawer v="true" /> - <drawerCaption>Details</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>9eafb9df-5b00-4e1f-aacf-04c62cfaddf0</name> - <entityField>RELATIONSHIP</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> </children> </neonView> diff --git a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml index f5e48e9b9d2743f01d7bb5b6d402f4759aecc779..365041d05129931d01e7a9392530fb089da6e44f 100644 --- a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml +++ b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml @@ -4,7 +4,7 @@ <insert tableName="AB_KEYWORD_ATTRIBUTE"> <column name="AB_KEYWORD_ATTRIBUTEID" value="1d5c5d49-0ffd-47fb-af10-542f7cf454cd"/> - <column name="NAME" value="organinsation"/> + <column name="NAME" value="organisation"/> <column name="CONTAINER" value="AddressType"/> <column name="TYPE" value="BOOL_VALUE"/> </insert> diff --git a/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml b/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml index a66ac3b370297109422637e54f1d0ed906b4ba9a..9e0b5a7112973263fbffaa25761aa8e5b95f23b6 100644 --- a/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml +++ b/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml @@ -4,6 +4,12 @@ <addColumn tableName="AB_ATTRIBUTE"> <column name="KEYWORD_CONTAINER" type="VARCHAR(80)"/> </addColumn> + <addColumn tableName="AB_ATTRIBUTE"> + <column name="ATTRIBUTE_INFO" type="NCLOB"/> + </addColumn> + <addColumn tableName="AB_ATTRIBUTE"> + <column name="SORTING" type="INTEGER"/> + </addColumn> <addColumn tableName="AB_ATTRIBUTERELATION"> <column name="MEMO_VALUE" type="NCLOB"/> </addColumn> diff --git a/others/db_changes/data_alias/basic/2019.2/ActivityCategory.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/ActivityCategory.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/ActivityCategory.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/ActivityCategory.xml diff --git a/others/db_changes/data_alias/basic/2019.2/AddressType.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/AddressType.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/AddressType.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/AddressType.xml diff --git a/others/db_changes/data_alias/basic/2019.2/CommunicationMedium.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/CommunicationMedium.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/CommunicationMedium.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/CommunicationMedium.xml diff --git a/others/db_changes/data_alias/basic/2019.2/OfferProbability.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/OfferProbability.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/OfferProbability.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/OfferProbability.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesProjectCompetitionPhase.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectCompetitionPhase.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesProjectCompetitionPhase.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectCompetitionPhase.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesProjectPhase.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectPhase.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesProjectPhase.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectPhase.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesProjectPricePolitics.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectPricePolitics.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesProjectPricePolitics.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectPricePolitics.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesProjectState.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectState.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesProjectState.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectState.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesProjectStrength.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectStrength.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesProjectStrength.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectStrength.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesProjectWeakness.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectWeakness.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesProjectWeakness.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesProjectWeakness.xml diff --git a/others/db_changes/data_alias/basic/2019.2/SalesprojectCompetitionState.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesprojectCompetitionState.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/SalesprojectCompetitionState.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/SalesprojectCompetitionState.xml diff --git a/others/db_changes/data_alias/basic/2019.2/TaskPriority.xml b/others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/TaskPriority.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/TaskPriority.xml rename to others/db_changes/data_alias/basic/2019.2/KeywordRelatedStructureChanges/TaskPriority.xml diff --git a/others/db_changes/data_alias/basic/2019.2/changelog.xml b/others/db_changes/data_alias/basic/2019.2/changelog.xml index fdbb022fcb46c91b2c946b4463a729c149c5d243..64b6861a57843b46fae97676f4ff215d486f3bd7 100644 --- a/others/db_changes/data_alias/basic/2019.2/changelog.xml +++ b/others/db_changes/data_alias/basic/2019.2/changelog.xml @@ -1,6 +1,6 @@ <?xml version="1.1" encoding="UTF-8" standalone="no"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> - <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_privat.xml" context="example"/> + <include relativeToChangelogFile="true" file="data/ORGANISATION_private.xml"/> <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_gfk.xml" context="example"/> <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_mnf.xml" context="example"/> <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_lichtenstein.xml" context="example"/> @@ -40,6 +40,10 @@ <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1008.xml" context="example"/> <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1009.xml" context="example"/> <include relativeToChangelogFile="true" file="data/example_task/base.xml" context="example"/> + + <include relativeToChangelogFile="true" file="AttributeKeyword.xml"/> + <include relativeToChangelogFile="true" file="data/example_attribute/Attribute.xml" context="example"/> + <include relativeToChangelogFile="true" file="data/example_attribute/AttributeUsage.xml" context="example"/> <include relativeToChangelogFile="true" file="update_TaskType_Task.xml"/> @@ -57,17 +61,18 @@ <include relativeToChangelogFile="true" file="ObjectRelation_add_type_exampleData.xml" context="example"/> --> <!--References to the Keyword Values--> - <include relativeToChangelogFile="true" file="OfferProbability.xml"/> - <include relativeToChangelogFile="true" file="ActivityCategory.xml"/> - <include relativeToChangelogFile="true" file="CommunicationMedium.xml"/> - <include relativeToChangelogFile="true" file="AddressType.xml"/> - <include relativeToChangelogFile="true" file="SalesProjectStrength.xml"/> - <include relativeToChangelogFile="true" file="SalesProjectPhase.xml"/> - <include relativeToChangelogFile="true" file="SalesProjectState.xml"/> - <include relativeToChangelogFile="true" file="SalesProjectWeakness.xml"/> - <include relativeToChangelogFile="true" file="SalesProjectPricePolitics.xml"/> - <include relativeToChangelogFile="true" file="TaskPriority.xml"/> - <include relativeToChangelogFile="true" file="SalesprojectCompetitionState.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/OfferProbability.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/ActivityCategory.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/CommunicationMedium.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/AddressType.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectStrength.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectPhase.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectState.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectWeakness.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectPricePolitics.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/TaskPriority.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesprojectCompetitionState.xml"/> + <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectCompetitionPhase.xml"/> <!--References to the reference files--> <include relativeToChangelogFile="true" file="AditoBasic/init_OfferProbability.xml"/> @@ -79,10 +84,16 @@ <include relativeToChangelogFile="true" file="AditoBasic/init_TaskPriority.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectCompetitionState.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_AttributeType.xml"/> - <include relativeToChangelogFile="true" file="SalesProjectCompetitionPhase.xml"/> - <include relativeToChangelogFile="true" file="AttributeKeyword.xml"/> <include relativeToChangelogFile="true" file="Contact_add_columns.xml"/> <include relativeToChangelogFile="true" file="SalesOrder_source_offer.xml"/> <include relativeToChangelogFile="true" file="Product_remove_fk.xml"/> + + <include relativeToChangelogFile="true" file="drop_contact_id_sp_forecast.xml"/> + + <include relativeToChangelogFile="true" file="fix_sp_phases.xml"/> + + <include relativeToChangelogFile="true" file="drop_pricePolitics-weakness-strength.xml"/> + + <include relativeToChangelogFile="true" file="update_pricelist_keyword.xml"/> </databaseChangeLog> diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_organisation/ORGANISATION_privat.xml b/others/db_changes/data_alias/basic/2019.2/data/ORGANISATION_private.xml similarity index 100% rename from others/db_changes/data_alias/basic/2019.2/data/example_organisation/ORGANISATION_privat.xml rename to others/db_changes/data_alias/basic/2019.2/data/ORGANISATION_private.xml diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml b/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml new file mode 100644 index 0000000000000000000000000000000000000000..9ccc46c08d8a92dbf13ea0b33e0bbe3d1e85add3 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml @@ -0,0 +1,1736 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="s.listl" id="f1b149fb-bd9d-44b7-a334-8f6d77261b95"> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Mitbewerber"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Preispolitik"/> + <column name="ATTRIBUTE_PARENT_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> + <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> + <column name="KEYWORD_CONTAINER" value="SalesprojectPricePolitics"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="558419b2-6113-4060-b88d-cc6324754765"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Stärke"/> + <column name="ATTRIBUTE_PARENT_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> + <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> + <column name="KEYWORD_CONTAINER" value="SalesprojectStrength"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Schwäche"/> + <column name="ATTRIBUTE_PARENT_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> + <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> + <column name="KEYWORD_CONTAINER" value="SalesprojectWeakness"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Interessen"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="53266a7c-58ed-47dc-bbe8-9e00b33cb344"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Kulanz"/> + <column name="ATTRIBUTE_PARENT_ID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Schadensart"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Regulierung"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Technische Merkmale"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e7e05c6e-6108-44bd-824a-c076dfa5ae93"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="B"/> + <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="ed4c3079-51b0-4bb5-b228-55de4309d5ab"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="0 gering"/> + <column name="ATTRIBUTE_PARENT_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="6266b41c-fa20-47b9-bd71-5633015d0796"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="gut"/> + <column name="ATTRIBUTE_PARENT_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Stimmung"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="6"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Risiko"/> + <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="4"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="54018b5e-0e02-48d1-873c-1c934d2e97ed"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Rennrad"/> + <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="292825e8-fa96-4b7b-8dab-71955ae14571"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="A"/> + <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="4fcd8bb8-72fd-48d0-9e64-4c80e5177c36"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="NPO"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_INFO" value="Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden."/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Doku Vorlagen Verwendung"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="2b6e3225-9447-4706-9313-62c9463d6671"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Handwerk"/> + <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="be60e4b3-19b1-48a9-ad5c-c7d38698b4a1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Dumpingpreis Wettbewerb"/> + <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="6d15f683-389e-4915-9043-c4cfdf188095"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Vollberechnung"/> + <column name="ATTRIBUTE_PARENT_ID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_INFO" value="Konditionen die bei Angebotserstellung übernommen werden"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Konditionen"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Sonstiges"/> + <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Produkttyp"/> + <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="6"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="b1c552a0-eab9-417d-9f12-039d41603f6d"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="mittel"/> + <column name="ATTRIBUTE_PARENT_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="9e20d257-e2a7-4ef7-9253-1d8ed971b7b9"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="D"/> + <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="1 mittel"/> + <column name="ATTRIBUTE_PARENT_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="32612c75-b32c-4043-88c4-e8237acf8d5c"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="liebt Geselligkeit"/> + <column name="ATTRIBUTE_PARENT_ID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="6db07a20-86bc-48da-8b27-b39bdd73b86b"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Projektverschiebung Kunde"/> + <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="85c9cdd8-f7a6-4210-840e-fab8628f4dbe"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Qualitätsproblem Kunde"/> + <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="7c39913b-a07c-4332-96ff-7b34b566ff49"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Wein"/> + <column name="ATTRIBUTE_PARENT_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="07fc6730-6c83-4996-bfd9-41c18765a10a"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Wechsel Entscheidungsträger"/> + <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="4"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="26385e16-6b2f-428c-9c28-1bfa9c2ccf6f"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Finanzdienstleistung"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Sport"/> + <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="7f01bfa6-ce9d-4964-b1e2-3cd5464d076a"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Gerät/Maschine"/> + <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e857f9ee-fb27-4507-8381-46ba0a181cef"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Jahresurlaub"/> + <column name="ATTRIBUTE_PARENT_ID" value="acaf54c3-9613-4740-aa22-4f6ebd0d6cb0"/> + <column name="ATTRIBUTE_TYPE" value="NUMBER "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="005b2ec8-68f3-4cbe-b9e5-783526e4c288"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Fernreisen"/> + <column name="ATTRIBUTE_PARENT_ID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="4dce5406-9a91-4a92-b55e-d1313c18f9c6"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Teilberechnung"/> + <column name="ATTRIBUTE_PARENT_ID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="9cfa5ce3-f1ae-4d18-9a65-0571f5ffb786"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="PERS"/> + <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Beurteilung"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Branche"/> + <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Zielgruppe"/> + <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="bb0c6356-33be-4e7c-a409-9ef5145f7aae"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Dienstleistung"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="17746b46-2702-447a-b749-a92bfdf4bb38"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Kunde"/> + <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="d0a9eb78-6dcf-48e0-ba91-04a3ba104d26"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Interessent"/> + <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e4a60941-513f-4e75-a787-f00070ecb00a"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Hersteller"/> + <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="1d30d0ab-6103-4972-84c0-fd23eef15ca1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Wettbewerber"/> + <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Betreuung"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="786148de-56b3-497e-88db-2ff5e4dc0bd7"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Kontaktierung"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="1d4c071b-237e-4a11-abff-0acaeaf6f8b1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Signatur"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="79ee6a0f-5192-4db3-9b05-156fd18b01b4"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Bier"/> + <column name="ATTRIBUTE_PARENT_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Genuss"/> + <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="a3972e57-d081-463a-a33c-5d4d3af6d8f2"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Motorrad"/> + <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="4"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="6819c616-a580-4bd6-ba41-9ba1db569dc4"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Drehzahl (rpm)"/> + <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + <column name="ATTRIBUTE_TYPE" value="NUMBER "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="4c28a67b-dbc5-4399-bf33-b52e4cf82ffd"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="ORG"/> + <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="2318607b-556a-4537-92f0-9870ee9a9201"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Zigarren"/> + <column name="ATTRIBUTE_PARENT_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="43321e69-c8aa-4b0e-9c4e-8cde74f5c0fc"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Verschleißteil"/> + <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Maschinenbau"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Loyalität"/> + <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="5"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="b93fc811-e0dc-4e50-9ca6-107f43ac4c0c"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Tabellen Daten"/> + <column name="ATTRIBUTE_PARENT_ID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="915d566f-acbe-448c-a7b6-11898adc3880"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Liefersperre"/> + <column name="ATTRIBUTE_TYPE" value="BOOLEAN "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="d14f6eea-8760-43bf-ad3a-e7c3e4416392"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Partner"/> + <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="4"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Geburtstagsliste"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="10"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="62b43c0f-9afb-4b57-8b7d-de38d43a9d47"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Nein"/> + <column name="ATTRIBUTE_PARENT_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="ddf607c0-a45b-4255-bf4e-b2d515df4b86"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Ja"/> + <column name="ATTRIBUTE_PARENT_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Projektart"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="3265f271-2e85-42b2-84af-c9e23e8a1e8c"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Intern"/> + <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="615d3850-ef32-4988-9a8d-7b702b489194"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Partner"/> + <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="be3b5fe2-2146-4eab-80a4-3c1cf4d6156a"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Bestandskunde"/> + <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="87204e4b-2db2-4eb4-b216-5e16b227561e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Interessent"/> + <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="4a9625ed-0cd9-445f-ae13-5bdbfdf3f38c"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Fussball"/> + <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="66271d11-a275-4141-8f84-86ab2ed3fedf"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Förderband"/> + <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + <column name="ATTRIBUTE_TYPE" value="BOOLEAN "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="fa0171cf-2e0d-4ff0-bbe7-8ff083a96593"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="weitere Daten"/> + <column name="ATTRIBUTE_PARENT_ID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="974bbd28-08b3-41a4-bd74-7d9c3c778249"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="kein Risiko"/> + <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="5"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="9350afa2-7181-4eb4-b731-3699fe71b0f6"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="schlecht"/> + <column name="ATTRIBUTE_PARENT_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="d8949d8f-051b-4f5b-ba61-5af49e9499cc"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Ersatzteil"/> + <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="23a4d394-9fae-4205-a811-730d5109c115"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Segeln"/> + <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="b78ef891-16a3-4354-bc95-7b70ef5b4e2e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Werkzeugwechsler"/> + <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + <column name="ATTRIBUTE_TYPE" value="BOOLEAN "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="617da3f5-d8bc-45ff-85a1-258621ea2a0b"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Logistik"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="7"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="1a3c1c77-e57c-4481-a67f-adf7e084ea90"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="IT"/> + <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="953e3b5e-0ca7-4215-8dee-b0ba28ef1bf9"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Zahlungsproblem Kunde"/> + <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="2bdb04cb-4cd3-4454-802c-8e2b4a5e2e36"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Behörde"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="6"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="30be2556-e09b-4169-be32-d4bafeb89a2f"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Tourismus"/> + <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="acafca42-8ef4-4c21-abe8-1c2ca358a5aa"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Handel"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="4"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="79378933-9f74-4391-b876-4528b582661f"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Bauwesen"/> + <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="5"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="2 gross"/> + <column name="ATTRIBUTE_PARENT_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="7b687991-601c-4d75-b201-00a6cc9c6b93"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Gewicht (kg)"/> + <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + <column name="ATTRIBUTE_TYPE" value="NUMBER "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Bonität"/> + <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Beruf"/> + <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + <column name="ATTRIBUTE_TYPE" value="COMBO "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="acaf54c3-9613-4740-aa22-4f6ebd0d6cb0"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Personal"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="957d61a4-0038-46e0-b5a3-fc2a5d413004"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="C"/> + <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="zusätzliche Daten"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="4d4ef830-68e6-4228-9e4f-13614d841328"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Wirtschaft"/> + <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="bb62ae03-be34-4d34-885c-27591c5bf1b4"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Golf"/> + <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="0afb463f-6ce4-4dfb-b093-09a8fcd925a3"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> + <column name="ATTRIBUTE_NAME" value="Bauteil"/> + <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="bad29370-3c47-4ac7-8d5d-4e86439000ef"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Mitarbeiterkonto"/> + <column name="ATTRIBUTE_TYPE" value="GROUP "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="97c6f6ec-2ed2-4c26-8612-b524e3ef15db"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="DOCUMENT"/> + <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="fffbb6b5-05ea-4f76-83c6-cf2cb29ef576"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="unvollständige Lieferung"/> + <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="5c188c8c-14b2-4c66-ad48-65b750e05353"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Qualitätsbeanstandung"/> + <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="1"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="3600aba4-01d4-4ca3-a3e7-79e0b946a2b1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="fehlerhafte Lieferung"/> + <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="2"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="66b64741-a896-4404-874a-b83b3525fcff"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Transportschaden"/> + <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="c0fb9a3a-89a5-46a4-9b95-f48c9481375e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="EVENT"/> + <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> + <column name="SORTING" valueNumeric="3"/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Zahlungskondition"/> + <column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="3a6e11fc-b00a-4cf3-975a-a5e8b60fc5cb"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Lieferkondition"/> + <column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Preisliste"/> + <column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e7886e41-252e-414c-a169-5d1481d010c8"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Lieferant"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="44d53f3a-a8cd-4e79-bc09-a6e17d678e7e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Rückantwort Kampagne"/> + <column name="ATTRIBUTE_PARENT_ID" value="786148de-56b3-497e-88db-2ff5e4dc0bd7"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="e8999504-5851-4934-a3f1-fb4b513d41e9"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="schreibt für"/> + <column name="ATTRIBUTE_PARENT_ID" value="1d4c071b-237e-4a11-abff-0acaeaf6f8b1"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="33cb83f1-aee2-469e-b57d-666ac6725f61"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="Unterkampagne von"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="093c7337-c134-4be5-a215-dc94804c3511"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> + <column name="ATTRIBUTE_NAME" value="übergeordnete Kampagne von"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="28fd7a4b-72d8-40ff-a893-a9479abcf19e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Feiertag"/> + <column name="ATTRIBUTE_PARENT_ID" value="bad29370-3c47-4ac7-8d5d-4e86439000ef"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="14847ea6-b6fd-43f6-a819-af2b1e53177e"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Innendienst"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="cd90b9e3-e663-4248-b9ed-4e25ed330c58"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Aussendienst"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="7abdc3a7-f46b-4021-b695-7fde6b21c6a4"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Service"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="2f963668-9e8c-41d7-aee4-6beaf37492e4"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Besuchsfrequenz"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="ff84c147-27c7-4698-83ff-0e25b1d33851"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Vorgesetzter von"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="d637fc6c-9452-4498-8379-ec71d946cbab"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="berichtet an"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="6bdb658c-94bc-4e68-aefb-a38483ee68b1"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Gebiet"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="3e5736c4-93ff-4471-96f5-48bb34ab53d2"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Urlaubsgenehmigung durch"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<insert tableName="AB_ATTRIBUTE"> + <column name="AB_ATTRIBUTEID" value="3f119858-9d69-4903-a572-d286be151f73"/> + <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> + <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> + <column name="ATTRIBUTE_NAME" value="Urlaubsprüfung durch"/> + <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="ATTRIBUTE_TYPE" value="TEXT "/> +</insert> +<rollback> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="752d7706-ac6e-4b51-a918-4265531794a4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="8af37871-d407-4414-98ad-e64dbaa5794a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="558419b2-6113-4060-b88d-cc6324754765"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="53266a7c-58ed-47dc-bbe8-9e00b33cb344"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e7e05c6e-6108-44bd-824a-c076dfa5ae93"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="ed4c3079-51b0-4bb5-b228-55de4309d5ab"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="6266b41c-fa20-47b9-bd71-5633015d0796"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="54018b5e-0e02-48d1-873c-1c934d2e97ed"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="292825e8-fa96-4b7b-8dab-71955ae14571"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="4fcd8bb8-72fd-48d0-9e64-4c80e5177c36"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="2b6e3225-9447-4706-9313-62c9463d6671"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="be60e4b3-19b1-48a9-ad5c-c7d38698b4a1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="6d15f683-389e-4915-9043-c4cfdf188095"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="ab545654-1fce-4993-b763-0ec469781302"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="b1c552a0-eab9-417d-9f12-039d41603f6d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="9e20d257-e2a7-4ef7-9253-1d8ed971b7b9"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="32612c75-b32c-4043-88c4-e8237acf8d5c"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="6db07a20-86bc-48da-8b27-b39bdd73b86b"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="85c9cdd8-f7a6-4210-840e-fab8628f4dbe"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="7c39913b-a07c-4332-96ff-7b34b566ff49"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="07fc6730-6c83-4996-bfd9-41c18765a10a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="26385e16-6b2f-428c-9c28-1bfa9c2ccf6f"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="65f0027d-7939-4342-b531-f31f10c3c045"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="7f01bfa6-ce9d-4964-b1e2-3cd5464d076a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e857f9ee-fb27-4507-8381-46ba0a181cef"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="005b2ec8-68f3-4cbe-b9e5-783526e4c288"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="4dce5406-9a91-4a92-b55e-d1313c18f9c6"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="9cfa5ce3-f1ae-4d18-9a65-0571f5ffb786"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="bb0c6356-33be-4e7c-a409-9ef5145f7aae"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="17746b46-2702-447a-b749-a92bfdf4bb38"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="d0a9eb78-6dcf-48e0-ba91-04a3ba104d26"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e4a60941-513f-4e75-a787-f00070ecb00a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="1d30d0ab-6103-4972-84c0-fd23eef15ca1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="786148de-56b3-497e-88db-2ff5e4dc0bd7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="1d4c071b-237e-4a11-abff-0acaeaf6f8b1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="79ee6a0f-5192-4db3-9b05-156fd18b01b4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="a3972e57-d081-463a-a33c-5d4d3af6d8f2"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="6819c616-a580-4bd6-ba41-9ba1db569dc4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="4c28a67b-dbc5-4399-bf33-b52e4cf82ffd"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="2318607b-556a-4537-92f0-9870ee9a9201"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="43321e69-c8aa-4b0e-9c4e-8cde74f5c0fc"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="9882c4bc-a3d9-43a9-8238-81ef39387869"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e73ed929-8631-46de-b28f-eb1423abb808"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="b93fc811-e0dc-4e50-9ca6-107f43ac4c0c"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="915d566f-acbe-448c-a7b6-11898adc3880"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="d14f6eea-8760-43bf-ad3a-e7c3e4416392"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="62b43c0f-9afb-4b57-8b7d-de38d43a9d47"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="ddf607c0-a45b-4255-bf4e-b2d515df4b86"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="3265f271-2e85-42b2-84af-c9e23e8a1e8c"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="615d3850-ef32-4988-9a8d-7b702b489194"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="be3b5fe2-2146-4eab-80a4-3c1cf4d6156a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="87204e4b-2db2-4eb4-b216-5e16b227561e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="4a9625ed-0cd9-445f-ae13-5bdbfdf3f38c"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="66271d11-a275-4141-8f84-86ab2ed3fedf"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="fa0171cf-2e0d-4ff0-bbe7-8ff083a96593"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="974bbd28-08b3-41a4-bd74-7d9c3c778249"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="9350afa2-7181-4eb4-b731-3699fe71b0f6"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="d8949d8f-051b-4f5b-ba61-5af49e9499cc"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="23a4d394-9fae-4205-a811-730d5109c115"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="b78ef891-16a3-4354-bc95-7b70ef5b4e2e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="617da3f5-d8bc-45ff-85a1-258621ea2a0b"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="1a3c1c77-e57c-4481-a67f-adf7e084ea90"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="953e3b5e-0ca7-4215-8dee-b0ba28ef1bf9"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="2bdb04cb-4cd3-4454-802c-8e2b4a5e2e36"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="30be2556-e09b-4169-be32-d4bafeb89a2f"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="acafca42-8ef4-4c21-abe8-1c2ca358a5aa"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="79378933-9f74-4391-b876-4528b582661f"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="7b687991-601c-4d75-b201-00a6cc9c6b93"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="acaf54c3-9613-4740-aa22-4f6ebd0d6cb0"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="957d61a4-0038-46e0-b5a3-fc2a5d413004"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="4d4ef830-68e6-4228-9e4f-13614d841328"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="bb62ae03-be34-4d34-885c-27591c5bf1b4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="0afb463f-6ce4-4dfb-b093-09a8fcd925a3"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="bad29370-3c47-4ac7-8d5d-4e86439000ef"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="97c6f6ec-2ed2-4c26-8612-b524e3ef15db"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="fffbb6b5-05ea-4f76-83c6-cf2cb29ef576"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="5c188c8c-14b2-4c66-ad48-65b750e05353"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="3600aba4-01d4-4ca3-a3e7-79e0b946a2b1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="66b64741-a896-4404-874a-b83b3525fcff"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="c0fb9a3a-89a5-46a4-9b95-f48c9481375e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="292fae38-6557-466d-8843-3b1b4a1f6599"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="3a6e11fc-b00a-4cf3-975a-a5e8b60fc5cb"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e7886e41-252e-414c-a169-5d1481d010c8"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="44d53f3a-a8cd-4e79-bc09-a6e17d678e7e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="e8999504-5851-4934-a3f1-fb4b513d41e9"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="33cb83f1-aee2-469e-b57d-666ac6725f61"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="093c7337-c134-4be5-a215-dc94804c3511"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="28fd7a4b-72d8-40ff-a893-a9479abcf19e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="14847ea6-b6fd-43f6-a819-af2b1e53177e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="cd90b9e3-e663-4248-b9ed-4e25ed330c58"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="7abdc3a7-f46b-4021-b695-7fde6b21c6a4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="2f963668-9e8c-41d7-aee4-6beaf37492e4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="ff84c147-27c7-4698-83ff-0e25b1d33851"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="d637fc6c-9452-4498-8379-ec71d946cbab"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="6bdb658c-94bc-4e68-aefb-a38483ee68b1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="3e5736c4-93ff-4471-96f5-48bb34ab53d2"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTE"> + <where>AB_ATTRIBUTEID = ?</where> + <whereParams> + <param value="3f119858-9d69-4903-a572-d286be151f73"/> + </whereParams> +</delete> +</rollback> + </changeSet> +</databaseChangeLog> diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_attribute/AttributeUsage.xml b/others/db_changes/data_alias/basic/2019.2/data/example_attribute/AttributeUsage.xml new file mode 100644 index 0000000000000000000000000000000000000000..e6019bb9b660635d94b05846fc6b0673494611a9 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/data/example_attribute/AttributeUsage.xml @@ -0,0 +1,523 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="s.listl" id="33bfbf9d-e3b9-4dd0-94e5-f22c74bc3014"> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="c4f2943f-a63c-4ede-815b-0d588f33d5fb"/> + <column name="AB_ATTRIBUTE_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="cf947eee-dc58-40ad-92b0-f30314a8b2a7"/> + <column name="AB_ATTRIBUTE_ID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="81426072-72e5-4a69-945e-754b7fd0bcf7"/> + <column name="AB_ATTRIBUTE_ID" value="558419b2-6113-4060-b88d-cc6324754765"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="18d77833-d551-405c-8a96-9e99cb4d722d"/> + <column name="AB_ATTRIBUTE_ID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="900d4e93-0927-407b-a7bc-bb535fa0caa9"/> + <column name="AB_ATTRIBUTE_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="OBJECT_TYPE" value="Salesproject"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="1f2749b3-1402-46fb-892a-e68b9a39065d"/> + <column name="AB_ATTRIBUTE_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="20f400fc-4709-4ecc-a8ca-d8fe405b5e2a"/> + <column name="AB_ATTRIBUTE_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="140b87a4-4f8e-4ae5-84d5-4bc26fa51901"/> + <column name="AB_ATTRIBUTE_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="5b9d5f38-4486-4586-8de0-9c607d51e698"/> + <column name="AB_ATTRIBUTE_ID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> + <column name="OBJECT_TYPE" value="Document_entity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="9216c562-b361-4a9d-be60-a6fdf9bdc07c"/> + <column name="AB_ATTRIBUTE_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="f06dd320-4757-4261-aace-cb827a313d28"/> + <column name="AB_ATTRIBUTE_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="8adfbc93-2daa-4e6b-a3ce-76110b46e458"/> + <column name="AB_ATTRIBUTE_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="OBJECT_TYPE" value="Activity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="6ad188dc-5e76-467a-9bc3-8c63f50862ae"/> + <column name="AB_ATTRIBUTE_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="OBJECT_TYPE" value="Contract"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="31b6b6f1-b980-4b14-a382-a718be560009"/> + <column name="AB_ATTRIBUTE_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> + <column name="OBJECT_TYPE" value="Document_entity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="c32d3322-5ff6-400a-82b6-4f8524ec7f6b"/> + <column name="AB_ATTRIBUTE_ID" value="b78ef891-16a3-4354-bc95-7b70ef5b4e2e"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="e744c324-27ca-4d91-bf57-c487a904d8d6"/> + <column name="AB_ATTRIBUTE_ID" value="6819c616-a580-4bd6-ba41-9ba1db569dc4"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="e5ccaa2e-1cae-4ac8-b76c-5c06eac0e53d"/> + <column name="AB_ATTRIBUTE_ID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="9e9829fe-880d-4b65-b729-34a99b37c5bf"/> + <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="86d385a6-f97f-4868-a65a-9b60940886f0"/> + <column name="AB_ATTRIBUTE_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="89be2b44-2766-4dea-9a73-725b84a20d6d"/> + <column name="AB_ATTRIBUTE_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> + <column name="OBJECT_TYPE" value="Contact"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="0766ff88-304d-41a7-8224-642a0aee5587"/> + <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="OBJECT_TYPE" value="Salesproject"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="ef63620d-f247-4ca0-bd92-9efa0b14676e"/> + <column name="AB_ATTRIBUTE_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="512ef5be-3381-42ac-860a-b1fbb9be665b"/> + <column name="AB_ATTRIBUTE_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + <column name="OBJECT_TYPE" value="Activity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="dbb70409-43b2-4a94-b7f7-bbb4e4ba101d"/> + <column name="AB_ATTRIBUTE_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="f579e0d5-42f4-4682-99b5-358e06ffe4a1"/> + <column name="AB_ATTRIBUTE_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="06afbdb4-a9e1-493d-b45e-c14e114a9cc7"/> + <column name="AB_ATTRIBUTE_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Salesproject"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="d31efbea-3583-4772-9b5b-b900ab88c9a3"/> + <column name="AB_ATTRIBUTE_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="e79d1096-a2e0-4c4f-acca-2f5976699dcd"/> + <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="9a145e7f-bb66-4541-bb99-28c2dd944f3d"/> + <column name="AB_ATTRIBUTE_ID" value="fa0171cf-2e0d-4ff0-bbe7-8ff083a96593"/> + <column name="OBJECT_TYPE" value="Document_entity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="37855ddd-c5cb-4692-86a5-3a94aae7c455"/> + <column name="AB_ATTRIBUTE_ID" value="7b687991-601c-4d75-b201-00a6cc9c6b93"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="fade7115-40fb-41a2-8f71-dbb6905176e9"/> + <column name="AB_ATTRIBUTE_ID" value="b93fc811-e0dc-4e50-9ca6-107f43ac4c0c"/> + <column name="OBJECT_TYPE" value="Document_entity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="97dce2df-5757-4a2e-89a1-60a9a88d181c"/> + <column name="AB_ATTRIBUTE_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="66cac4bb-6dd9-4ddd-b329-14d4542bfd2e"/> + <column name="AB_ATTRIBUTE_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="05576033-1bee-4547-ab82-fdfcdd039642"/> + <column name="AB_ATTRIBUTE_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> + <column name="MAX_COUNT" valueNumeric="0"/> + <column name="MIN_COUNT" valueNumeric="2"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="6fd80f33-6d9a-4b95-b420-c3c5b249caf9"/> + <column name="AB_ATTRIBUTE_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="7c0f32be-d3f5-48be-8b7e-a80eb6ade28d"/> + <column name="AB_ATTRIBUTE_ID" value="786148de-56b3-497e-88db-2ff5e4dc0bd7"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="4ff67f07-1aa7-47d4-8e5f-c4860793085a"/> + <column name="AB_ATTRIBUTE_ID" value="915d566f-acbe-448c-a7b6-11898adc3880"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="8593dbe5-617a-4f09-a789-02b54157b1d3"/> + <column name="AB_ATTRIBUTE_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="96d0c724-a00a-4d04-ad44-6a4014318e5a"/> + <column name="AB_ATTRIBUTE_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="ebb3b2a2-0fd2-4307-8f21-c118e7ad7b8e"/> + <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Contact"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="755239d0-7fe3-46bc-8ec4-923977148455"/> + <column name="AB_ATTRIBUTE_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="4d649c71-ba74-4ee1-ba73-6155327190d4"/> + <column name="AB_ATTRIBUTE_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="OBJECT_TYPE" value="Person"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="0826cf13-f379-417d-9fed-302fe44a618e"/> + <column name="AB_ATTRIBUTE_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Activity"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="2d2c7f0f-29aa-42e8-88f5-b6234d52e349"/> + <column name="AB_ATTRIBUTE_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> + <column name="MIN_COUNT" valueNumeric="1"/> + <column name="OBJECT_TYPE" value="Organisation"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="be7d0f5c-8941-4b3d-b128-bab67e1d609b"/> + <column name="AB_ATTRIBUTE_ID" value="66271d11-a275-4141-8f84-86ab2ed3fedf"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<insert tableName="AB_ATTRIBUTEUSAGE"> + <column name="AB_ATTRIBUTEUSAGEID" value="44398121-8b60-41ff-a657-84b2b5c1e034"/> + <column name="AB_ATTRIBUTE_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> + <column name="OBJECT_TYPE" value="Product"/> +</insert> +<rollback> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="c4f2943f-a63c-4ede-815b-0d588f33d5fb"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="cf947eee-dc58-40ad-92b0-f30314a8b2a7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="81426072-72e5-4a69-945e-754b7fd0bcf7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="18d77833-d551-405c-8a96-9e99cb4d722d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="900d4e93-0927-407b-a7bc-bb535fa0caa9"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="1f2749b3-1402-46fb-892a-e68b9a39065d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="20f400fc-4709-4ecc-a8ca-d8fe405b5e2a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="140b87a4-4f8e-4ae5-84d5-4bc26fa51901"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="5b9d5f38-4486-4586-8de0-9c607d51e698"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="9216c562-b361-4a9d-be60-a6fdf9bdc07c"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="f06dd320-4757-4261-aace-cb827a313d28"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="8adfbc93-2daa-4e6b-a3ce-76110b46e458"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="6ad188dc-5e76-467a-9bc3-8c63f50862ae"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="31b6b6f1-b980-4b14-a382-a718be560009"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="c32d3322-5ff6-400a-82b6-4f8524ec7f6b"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="e744c324-27ca-4d91-bf57-c487a904d8d6"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="e5ccaa2e-1cae-4ac8-b76c-5c06eac0e53d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="9e9829fe-880d-4b65-b729-34a99b37c5bf"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="86d385a6-f97f-4868-a65a-9b60940886f0"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="89be2b44-2766-4dea-9a73-725b84a20d6d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="0766ff88-304d-41a7-8224-642a0aee5587"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="ef63620d-f247-4ca0-bd92-9efa0b14676e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="512ef5be-3381-42ac-860a-b1fbb9be665b"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="dbb70409-43b2-4a94-b7f7-bbb4e4ba101d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="f579e0d5-42f4-4682-99b5-358e06ffe4a1"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="06afbdb4-a9e1-493d-b45e-c14e114a9cc7"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="d31efbea-3583-4772-9b5b-b900ab88c9a3"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="e79d1096-a2e0-4c4f-acca-2f5976699dcd"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="9a145e7f-bb66-4541-bb99-28c2dd944f3d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="37855ddd-c5cb-4692-86a5-3a94aae7c455"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="fade7115-40fb-41a2-8f71-dbb6905176e9"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="97dce2df-5757-4a2e-89a1-60a9a88d181c"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="66cac4bb-6dd9-4ddd-b329-14d4542bfd2e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="05576033-1bee-4547-ab82-fdfcdd039642"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="6fd80f33-6d9a-4b95-b420-c3c5b249caf9"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="7c0f32be-d3f5-48be-8b7e-a80eb6ade28d"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="4ff67f07-1aa7-47d4-8e5f-c4860793085a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="8593dbe5-617a-4f09-a789-02b54157b1d3"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="96d0c724-a00a-4d04-ad44-6a4014318e5a"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="ebb3b2a2-0fd2-4307-8f21-c118e7ad7b8e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="755239d0-7fe3-46bc-8ec4-923977148455"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="4d649c71-ba74-4ee1-ba73-6155327190d4"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="0826cf13-f379-417d-9fed-302fe44a618e"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="2d2c7f0f-29aa-42e8-88f5-b6234d52e349"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="be7d0f5c-8941-4b3d-b128-bab67e1d609b"/> + </whereParams> +</delete> +<delete tableName="AB_ATTRIBUTEUSAGE"> + <where>AB_ATTRIBUTEUSAGEID = ?</where> + <whereParams> + <param value="44398121-8b60-41ff-a657-84b2b5c1e034"/> + </whereParams> +</delete> +</rollback> + </changeSet> +</databaseChangeLog> diff --git a/others/db_changes/data_alias/basic/2019.2/drop_contact_id_sp_forecast.xml b/others/db_changes/data_alias/basic/2019.2/drop_contact_id_sp_forecast.xml new file mode 100644 index 0000000000000000000000000000000000000000..3f6430b6e1fd2a7fa0a74e918157b2fc30c33b28 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/drop_contact_id_sp_forecast.xml @@ -0,0 +1,14 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="0601eb26-fc5e-4b57-ad18-2b6a064f383f"> + <dropColumn tableName="SALESPROJECT_FORECAST" columnName="CONTACT_ID"/> + + <rollback> + <addColumn tableName="SALESPROJECT"> + <column name="CONTACT_ID" type="CHAR(36)"> + <constraints nullable="false"/> + </column> + </addColumn> + </rollback> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/basic/2019.2/drop_pricePolitics-weakness-strength.xml b/others/db_changes/data_alias/basic/2019.2/drop_pricePolitics-weakness-strength.xml new file mode 100644 index 0000000000000000000000000000000000000000..59d462631e8c07712b7edd59b82de439d4e6399a --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/drop_pricePolitics-weakness-strength.xml @@ -0,0 +1,20 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="4aae69ae-85ca-4bdf-a13d-e7e6db13172c"> + <dropColumn tableName="ORGANISATION" columnName="WEAKNESS"/> + <dropColumn tableName="ORGANISATION" columnName="STRENGTH"/> + <dropColumn tableName="ORGANISATION" columnName="PRICE_POLITICS"/> + + <rollback> + <addColumn tableName="ORGANISATION"> + <column name="WEAKNESS" type="CHAR(36)"/> + </addColumn> + <addColumn tableName="ORGANISATION"> + <column name="STRENGTH" type="CHAR(36)"/> + </addColumn> + <addColumn tableName="ORGANISATION"> + <column name="PRICE_POLITICS" type="CHAR(36)"/> + </addColumn> + </rollback> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/basic/2019.2/fix_sp_phases.xml b/others/db_changes/data_alias/basic/2019.2/fix_sp_phases.xml new file mode 100644 index 0000000000000000000000000000000000000000..0e36cda05c7f4a9b8437307a4baa25356b31aa66 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/fix_sp_phases.xml @@ -0,0 +1,53 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="3e7869e8-5cc1-4db8-bc3b-d2d719722cb0"> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID in(?,?,?,?,?,?,?,?,?)</where> + <whereParams> + <param value="f630f573-baae-4041-aeb0-41ff30ad188a"/> + <param value="4895c091-f810-4c64-9bba-698c07a59c5e"/> + <param value="b255450e-418c-41dd-be47-26c69aedbffa"/> + <param value="de2e8c2a-ef34-4d62-8d65-a4ca530e7236"/> + <param value="58f6b20b-0cae-4a1c-bb47-d2bfaab58df5"/> + <param value="4f957f7d-173d-4450-8502-ba8dc3351db3"/> + <param value="ee7de36d-b33b-4e5c-b750-5ec2798d2964"/> + <param value="1991320a-3e15-4ed3-867a-5c7c39a4cf4a"/> + <param value="adb3d122-992c-4d00-88a8-c04ec6e15cd3"/> + </whereParams> + </delete> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="028af5dd-1071-4108-8685-ed7124376706"/> + <column name="KEYID" value="4814b51b-40f5-49bc-897b-f0933b9fc12c"/> + <column name="TITLE" value="MQC"/> + <column name="CONTAINER" value="SalesprojectPhase"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + + <update tableName="AB_KEYWORD_ENTRY"> + <column name="TITLE" value="${SALESPROJECT_OFFER}"/> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="0e8eab64-4c79-4eed-9746-0ac6fc397620"/> + </whereParams> + </update> + + <update tableName="AB_KEYWORD_ENTRY"> + <column name="TITLE" value="${SALESPROJECT_NEGOTIATION}"/> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="405e2b7b-20c2-4824-a8b5-c7a533784ef3"/> + </whereParams> + </update> + + <sql>update AB_KEYWORD_ENTRY set SORTING = SORTING+1 where AB_KEYWORD_ENTRYID in ( + '8a2d19c9-bc32-437e-9261-78ed30110e92', + '46f55a58-dbe4-40ae-9306-481df9095088', + 'afa8cf58-07e8-4ee9-b24e-96cb6fa76aec', + 'c9483fb9-c295-43d2-94e0-8c949cf6dc47', + '0e8eab64-4c79-4eed-9746-0ac6fc397620', + '405e2b7b-20c2-4824-a8b5-c7a533784ef3') + </sql> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/basic/2019.2/update_pricelist_keyword.xml b/others/db_changes/data_alias/basic/2019.2/update_pricelist_keyword.xml new file mode 100644 index 0000000000000000000000000000000000000000..d0d5bc9de47f081e3fbb0c66bdd8982831ce2004 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/update_pricelist_keyword.xml @@ -0,0 +1,13 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="dcb90106-a55a-4506-94e3-af4d15d5b587"> + + <update tableName="AB_KEYWORD_ENTRY"> + <column name="TITLE" value="Special price list"/> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="b47478a1-1fac-4e74-921f-b47c146e034d" /> + </whereParams> + </update> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js index 6648cbb580b63d43cbb9819bc1f3db67b83e52c4..010f064aef2e1a8bfc867c756aae7b2065b5b58a 100644 --- a/process/Attribute_lib/process.js +++ b/process/Attribute_lib/process.js @@ -14,15 +14,16 @@ import("Sql_lib"); function AttributeUtil () {} /** - * Gives a list of all available attributes for a context. This is used in the possibleItems + * Gives an array of all available attributes for a context. This is used in the possibleItems * process for the attribute id in AttributeRelation * * @param {String} pObjectType the object type (= context) - * @param {boolean} pIncludeGroups + * @param {boolean} [pIncludeGroups=false] + * @param {String[]} [pFilteredAttributeIds=[]] Whitleist of attribute ids * - * @return {String[][]} two-dimensional array of attributeIds and names + * @return {String[]} array of attributeIds */ -AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups) +AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFilteredAttributeIds) { if (pObjectType == null) return []; @@ -31,16 +32,26 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups) + " join AB_ATTRIBUTEUSAGE on AB_ATTRIBUTEID = AB_ATTRIBUTE_ID"; attrCond = SqlCondition.begin() .andPrepare("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType) - .and("ATTRIBUTE_TYPE != '" + $AttributeTypes.COMBOVALUE + "'") + .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, "# <> ?") .and("ATTRIBUTE_ACTIVE = 1"); + if (pFilteredAttributeIds != undefined && pFilteredAttributeIds.length > 0) + { + var filteredIdsCondition = new SqlCondition(); + + pFilteredAttributeIds.forEach(function(id) + { + this.orPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", id); + }, filteredIdsCondition); + + attrCond.andSqlCondition(filteredIdsCondition); + } + if (!pIncludeGroups) attrCond.and("ATTRIBUTE_TYPE != '" + $AttributeTypes.GROUP + "'"); - var attributes = db.array(db.COLUMN, attrCond.buildSql(attrSql)).map(function (id) - { - return [id, AttributeUtil.getFullAttributeName(id)]; - }); + var attributes = db.array(db.COLUMN, attrCond.buildSql(attrSql)); + return attributes; } @@ -125,18 +136,29 @@ function AttributeRelationUtils () {} /** * gets the value of an attributeRelation for one dataset (e. g. a person) + * + * @param {String} pAttributeId attribute-id + * @param {String} pObjectRowId row-id of the dataset + * @param {String} [pObjectType=null] object-type + * + * @return {String|null} the value of the attribute */ AttributeRelationUtils.getAttribute = function (pAttributeId, pObjectRowId, pObjectType) { - var attrCond = SqlCondition().begin() + var attrCond = SqlCondition.begin() .andPrepare("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", pAttributeId) .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", pObjectRowId); if (pObjectType != null) attrCond.andPrepare("AB_ATTRIBUTERELATION.OBJECT_TYPE", pAttributeId); - var attrSql = AttributeRelationUtils.getSqlUtil(); - var attributeValues = db.array(db.ROW, attrCond.buildSql(attrSql.sqlSelect)); - return attrSql.getFieldFromType(attributeValues); + var attributeSql = attrCond.buildSql("select ATTRIBUTE_TYPE, " + AttributeTypeUtil.getAllDatabaseFields() + + " from AB_ATTRIBUTERELATION join AB_ATTRIBUTE on AB_ATTRIBUTE_ID = AB_ATTRIBUTEID"); + var attributeValues = db.array(db.ROW, attributeSql); + if (attributeValues.length == 0) + return null; + + var valueIndex = AttributeTypeUtil.getTypeColumnIndex(attributeValues[0]) + 1; + return attributeValues[valueIndex]; } AttributeRelationUtils.getAttributes = function () @@ -152,59 +174,6 @@ AttributeRelationUtils.setAttribute = function () //TODO: implement } -/** - * Builds an object for the work with the values of attributeRelations. This should make - * the attribute type definition more flexible, the returned object has the following properties - * and methods: - * - * columns = array of all database columns in AB_ATTRIBUTERELATION that hold attribute values - * typeColMap = object with the attribute type as key and the index in the columns-array with the column holding - * the value for that attribute type as value - * sqlSelect = an sql-select string where the columns are the type of the attribute plus the value columns - * getFieldFromType = a method that takes a one-dimensional array that has been created with a query using the 'sqlSelect' property - * and returns the value at the right position of that array depending on the type. For example: - * //type, values - * vals = ["TEXT", "abcdef", "", "", "", ""]; - * the method would return "abcdef", because it looks at the first position where the type is, e. g. "TEXT" - * and then it gets the value at, for example, index 1 because the typeColMap object says that the value for type "TEXT" - * is at position 1. - * - */ -AttributeRelationUtils.getSqlUtil = function () -{ - var sqlMap = { - columns : [], - typeColMap : {} - }; - for (let type in $AttributeTypes) - { - type = $AttributeTypes[type]; - if (type.databaseField) - { - var typeKey = type.toString(); - var colIndex = sqlMap.columns.indexOf(type.databaseField); - if (colIndex == -1) - { - colIndex = sqlMap.columns.length; - sqlMap.columns.push(type.databaseField); - } - sqlMap.typeColMap[typeKey] = colIndex; - } - } - - sqlMap.sqlSelect = "select ATTRIBUTE_TYPE, " + sqlMap.columns.join(", ") + " from AB_ATTRIBUTERELATION " - + " join AB_ATTRIBUTE on AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID "; - - sqlMap.getFieldFromType = function (pTypeAndValues) - { - if (pTypeAndValues.length > 0) - return pTypeAndValues[this.typeColMap[pTypeAndValues[0]] + 1]; - return null; - } - - return sqlMap; -} - /*********************************************************************************************************************/ /** @@ -255,7 +224,7 @@ AttributeHandler.prototype.getAttributeType = function () //TODO: maybe the type */ AttributeHandler.prototype.getAttributeField = function () { - return $AttributeTypes.getEntityField(this.getAttributeType()); + return AttributeTypeUtil.getEntityField(this.getAttributeType()); } /** @@ -265,7 +234,7 @@ AttributeHandler.prototype.getAttributeField = function () */ AttributeHandler.prototype.getAttributeContentType = function () { - return $AttributeTypes.getContentType(this.getAttributeType()); + return AttributeTypeUtil.getContentType(this.getAttributeType()); } /** @@ -363,6 +332,10 @@ $AttributeTypes.MEMO = { entityField : "MEMO_VALUE" }; + + +function AttributeTypeUtil () {} + /** * returns the required contentType for the given attribute type * @@ -370,7 +343,7 @@ $AttributeTypes.MEMO = { * (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT) * @return {String} the contentType for the attribute */ -$AttributeTypes.getContentType = function (pAttributeType) +AttributeTypeUtil.getContentType = function (pAttributeType) { if (pAttributeType in $AttributeTypes) return $AttributeTypes[pAttributeType].contentType; @@ -384,7 +357,7 @@ $AttributeTypes.getContentType = function (pAttributeType) * (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT) * @return {String} the field for the attribute */ -$AttributeTypes.getEntityField = function (pAttributeType) +AttributeTypeUtil.getEntityField = function (pAttributeType) { if (pAttributeType in $AttributeTypes) return $AttributeTypes[pAttributeType].entityField; @@ -398,7 +371,7 @@ $AttributeTypes.getEntityField = function (pAttributeType) * (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT) * @return {String} the database field for the attribute */ -$AttributeTypes.getDatabaseField = function (pAttributeType) +AttributeTypeUtil.getDatabaseField = function (pAttributeType) { if (pAttributeType in $AttributeTypes) return $AttributeTypes[pAttributeType].databaseField; @@ -412,9 +385,46 @@ $AttributeTypes.getDatabaseField = function (pAttributeType) * (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT) * @return {String} the name the attribute */ -$AttributeTypes.getName = function (pAttributeType) +AttributeTypeUtil.getName = function (pAttributeType) { if (pAttributeType in $AttributeTypes) return translate.text($AttributeTypes[pAttributeType].displayName); return null; } + +AttributeTypeUtil._initTypeColumnData = function () +{ + columns = []; + typeColumnMap = {}; + for (let type in $AttributeTypes) + { + type = $AttributeTypes[type]; + if (type.databaseField) + { + var typeKey = type.toString(); + var colIndex = columns.indexOf(type.databaseField); + if (colIndex == -1) + { + colIndex = columns.length; + columns.push(type.databaseField); + } + typeColumnMap[typeKey] = colIndex; + } + } + this._allDBColumns = columns; + this._typeColumnMap = typeColumnMap; +} + +AttributeTypeUtil.getAllDatabaseFields = function () +{ + if (this._allDBColumns == undefined) + AttributeTypeUtil._initTypeColumnData(); + return this._allDBColumns; +} + +AttributeTypeUtil.getTypeColumnIndex = function (pAttributeType) +{ + if (this._typeColumnMap == undefined) + AttributeTypeUtil._initTypeColumnData(); + return this._typeColumnMap[pAttributeType.trim()]; +} diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js index 019c9557e71d7f258dd425977c6ef2ba61dbcfdf..dfe2c88b7b0f91219ea2f4fa54d047364d21bb25 100644 --- a/process/Contact_lib/process.js +++ b/process/Contact_lib/process.js @@ -3,6 +3,7 @@ import("system.vars"); import("system.result"); import("system.db"); import("Sql_lib"); +import("Util_lib"); import("Context_lib"); /** @@ -11,7 +12,7 @@ import("Context_lib"); * Do not create an instance of this! * @class */ -function RelationUtils() {} +function ContactUtils() {} /** * Get the type of contact. <br> @@ -38,15 +39,15 @@ function RelationUtils() {} * 2 if privat person <br> * 3 if person of an organisation <br> */ -RelationUtils.getRelationType = function(pRelationId, pPersId, pOrgId) +ContactUtils.getRelationType = function(pRelationId, pPersId, pOrgId) { if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) { - return RelationUtils.getRelationTypeByRelation(pRelationId); + return ContactUtils.getRelationTypeByRelation(pRelationId); } else { - return RelationUtils.getRelationTypeByPersOrg(pPersId, pOrgId); + return ContactUtils.getRelationTypeByPersOrg(pPersId, pOrgId); } } @@ -60,9 +61,9 @@ RelationUtils.getRelationType = function(pRelationId, pPersId, pOrgId) * 2 if privat person <br> * 3 if person of an organisation <br> */ -RelationUtils.getRelationTypeByRelation = function(pRelationId) +ContactUtils.getRelationTypeByRelation = function(pRelationId) { - var relationData = RelationUtils.getPersOrgIds(pRelationId); + var relationData = ContactUtils.getPersOrgIds(pRelationId); if (relationData[0]) { return this.getRelationTypeByPersOrg(relationData[1], relationData[2]); @@ -95,7 +96,7 @@ RelationUtils.getRelationTypeByRelation = function(pRelationId) * 2 if privat person <br> * 3 if person of an organisation <br> */ -RelationUtils.getRelationTypeByPersOrg = function(pPersId, pOrgId) +ContactUtils.getRelationTypeByPersOrg = function(pPersId, pOrgId) { if (!pPersId) { @@ -138,9 +139,9 @@ RelationUtils.getRelationTypeByPersOrg = function(pPersId, pOrgId) * * @return {String} contextname or "" if both ids are empty */ -RelationUtils.getContextByPersOrg = function(pPersId, pOrgId) +ContactUtils.getContextByPersOrg = function(pPersId, pOrgId) { - switch (RelationUtils.getRelationTypeByPersOrg(pPersId, pOrgId)) + switch (ContactUtils.getRelationTypeByPersOrg(pPersId, pOrgId)) { case 1: // Org return ContextUtils.getContextName("Organisation"); @@ -159,10 +160,10 @@ RelationUtils.getContextByPersOrg = function(pPersId, pOrgId) * @param {String} pRelationId * @return {String} contextname or "" if contact not found */ -RelationUtils.getContextByRelationId = function(pRelationId) +ContactUtils.getContextByRelationId = function(pRelationId) { - var relationData = RelationUtils.getPersOrgIds(pRelationId); - return RelationUtils.getContextByPersOrg(relationData[1], relationData[2]) + var relationData = ContactUtils.getPersOrgIds(pRelationId); + return ContactUtils.getContextByPersOrg(relationData[1], relationData[2]) } /** @@ -171,7 +172,7 @@ RelationUtils.getContextByRelationId = function(pRelationId) * @param {String} pRelationId * @return {String[]} result as [persid, orgid] if one of them is null in the db, "" will be returned as the id. */ -RelationUtils.getPersOrgIds = function(pRelationId) +ContactUtils.getPersOrgIds = function(pRelationId) { if (pRelationId) { return db.array(db.ROW, @@ -186,58 +187,27 @@ RelationUtils.getPersOrgIds = function(pRelationId) /** * get the name of the person or organisation - * The parameters have to be selected from the same contact. * - * @param {String} pPersId value of the person_id selected from CONTACT - * @param {String} pOrgId value of the org_id selected from CONTACT - * @param {String} pPersFirstname value of the firstname selected from PERSON - * @param {String} pPersLastname value of the lastname selected from PERSON - * @param {String} pOrgname value of the name selected from ORGANISATION - * @param {String} [pTitle=undefined] value of the title selected from PERSON. You can ommit this parameter if you do not want to append the title + * @param {String} pContactId the contact id where pers-name or orgname shall be loaded * * @return {String} the name or "" */ -RelationUtils.getNameByPersOrg = function(pPersId, pOrgId, pPersFirstname, - pPersLastname, pOrgname, pTitle) +ContactUtils.getFullTitleByContactId = function(pContactId) { - if(!pPersId && !pOrgId) - return ""; - else + if (pContactId) { - switch (RelationUtils.getRelationTypeByPersOrg(pPersId, pOrgId)) - { - case 1: // Org - return pOrgname; - case 2: // private Person - case 3: // Person - var name = ""; - - if (pTitle != undefined && pTitle) - name = pTitle + " "; - - return name + pPersFirstname.concat(" " , pPersLastname); - default: - return ""; - } - } -} - -/** - * get the name of the person or organisation - * - * @param {String} pRelationId the contact id - * @param {Boolean} [pTitle=false] also add the title for persons - * - * @return {String} the name or "" - */ -RelationUtils.getNameByPersOrgWithRelationId = function(pRelationId, pTitle) -{ - if (pRelationId) { var data = db.array(db.ROW, SqlCondition.begin() - .andPrepare("CONTACT.CONTACTID", pRelationId) - .buildSql("select CONTACT.PERSON_ID, CONTACT.ORGANISATION_ID, PERSON.FIRSTNAME, PERSON.LASTNAME, PERSON.TITLE, ORGANISATION.NAME from CONTACT CONTACT join ORGANISATION on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID left join PERSON on PERSON.PERSONID = CONTACT.PERSON_ID", "1 = 2")); - - return RelationUtils.getNameByPersOrg(data[0], data[1], data[2], data[3], data[5], (pTitle ? data[4] : undefined)); + .andPrepare("CONTACT.CONTACTID", pContactId) + .buildSql("select ORGANISATION.NAME, PERSON.SALUTATION, PERSON.TITLE, PERSON.FIRSTNAME, PERSON.MIDDLENAME, PERSON.LASTNAME " + + "from CONTACT CONTACT " + + "join ORGANISATION on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID " + + "left join PERSON on PERSON.PERSONID = CONTACT.PERSON_ID", "1 = 2")); + if (data.length == 0) + return ""; + var contact = new Contact(); + [contact.organisationName, contact.salutation, contact.title, contact.firstname, contact.middlename, contact.lastname] = data; + var renderer = new ContactTitleRenderer(contact); + return renderer.asString(); } return ""; @@ -248,28 +218,165 @@ RelationUtils.getNameByPersOrgWithRelationId = function(pRelationId, pTitle) * * @return {String} */ -RelationUtils.getFullRelationFromString = function() +ContactUtils.getFullRelationString = function() { return " CONTACT join ORGANISATION on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID" + " left join PERSON on PERSON.PERSONID = CONTACT.PERSON_ID" + " left join ADDRESS on ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID"; } + /** - * returns the select string for the contact joined with org, person, address - * - * @param {String} pIdField field used as id + * object for handling of a single contact + * provides static- and instance-functions + * + * @class * - * @return {String} */ -RelationUtils.getFullRelationSelectString = function(pIdField) +function Contact() { - if(pIdField == undefined) - pIdField = "CONTACTID"; + //storage for information + this.salutation = ""; + this.title = ""; + this.firstname= ""; + this.middlename = ""; + this.lastname = ""; + this.suffix = ""; - var maskingUtils = new SqlMaskingUtils(); + this.customercode = ""; + this.organisationName = ""; + + this._contactType = Contact.TYPES.Auto; +} - return " " + pIdField + "," - + maskingUtils.concat( [ maskingUtils.concat(["SALUTATION", "TITLE", "FIRSTNAME", "LASTNAME"]) , "NAME"], " - " ) + " as anzeige, " - + "CUSTOMERCODE, NAME, ZIP, CITY, TITLE, FIRSTNAME, LASTNAME "; -} \ No newline at end of file +/** + * sets the contactType of a contact + * reserved for future implementation + * + * @param {String} pContactType contactType that shall be set; value of Contact.TYPES. + * + * @return void + */ +Contact.prototype.setContactType = function (pContactType) +{ + if (! ObjectUtils.existsValue(Contact.TYPES, pContactType)) + throw new TypeError("the given contact type is not a valid value and not a contact type"); + + this._contactType = pContactType; +}; + +/** + * returns the contactType of a contact + * reserved for future implementation + * + * @return {String} the contactType is a value of Contact.TYPES. + */ +Contact.prototype.getContactType = function () +{ + return this._contactType; +}; + +/** + * constants for types of Contacts + * use only within functions + * reserved for future implementation + * + * @static + */ +Contact.TYPES = { + Organisation: "organisation", + Contact: "contact", + Private: "private", + Auto: null +}; + +/** + * creates a new Contact-object with a preset of DB-columns + * + * @static + */ +Contact.createWithColumnPreset = function() +{ + var contact = new Contact(); + contact.salutation = "PERSON.SALUTATION"; + contact.title = "PERSON.TITLE"; + contact.firstname= "PERSON.FIRSTNAME"; + contact.middlename = "PERSON.MIDDLENAME"; + contact.lastname = "PERSON.LASTNAME"; + contact.suffix = "PERSON.TITLESUFFIX"; + contact.customercode = "ORGANISATION.CUSTOMERCODE"; + contact.organisationName = "ORGANISATION.NAME"; + return contact; +}; + +/** + * object for rendering a Contact-object into text representation or an sql that represents the text + * provides static- and instance-functions + * + * @param {Contact} pContact The Contact-object to render + * @param {Number} pOptions additional options for rendering; use values of ContactTitleRenderer.OPTIONS and pass them by bitwise OR concatination; e.g.: + * OPTION_1 | OPTION_2 | OPTION_5 + * + * @class + * + */ +function ContactTitleRenderer(pContact, pOptions) +{ + this.contact = pContact; + if (pOptions !== undefined)//null means null which is "no option"; so check exactly for undefined + this._options = pOptions; + else + this._options = ContactTitleRenderer.OPTIONS.IncludeOrganisation; + + //function that renders the contact into a sql expression (e.g. for a subselect) + this._asSqlFn = function(){ + var maskingUtil = new SqlMaskingUtils(); + var res = maskingUtil.concat([this.contact.salutation, this.contact.title, this.contact.firstname, this.contact.middlename, this.contact.lastname].filter(function (e){ + return e != ""; + }), " "); + if (this._options & ContactTitleRenderer.OPTIONS.IncludeOrganisation && this.contact.organisationName) + res = maskingUtil.concat([res, this.contact.organisationName], " | "); + return res; + }; + + //function that renders the contact into a text (e.g. for a displayValue) + this._asStringFn = function (){ + var res = StringUtils.concat(" ", [this.contact.salutation, this.contact.title, this.contact.firstname, this.contact.middlename, this.contact.lastname]); + + if (this._options & ContactTitleRenderer.OPTIONS.IncludeOrganisation && this.contact.organisationName) + res = StringUtils.concat(" | ", [res, this.contact.organisationName]); + return res; + } +} + +/** + * constants for options for the ContactTitleRenderer + * use only within functions + * + * @static + */ +ContactTitleRenderer.OPTIONS = { + IncludeOrganisation: 1 +}; + +/** + * function that renders the contact into a sql expression (e.g. for a subselect) + * what this function exactly does depends on specified values and options specified in the Renderer-object + * + * @return {String} sql-expression that can be placed inside a select statement + */ +ContactTitleRenderer.prototype.asSql = function () +{ + return this._asSqlFn.apply(this, arguments); +}; + +/** + * function that renders the contact into text + * what this function exactly does depends on specified values and options specified in the Renderer-object + * + * @return {String} rendered values as text + */ +ContactTitleRenderer.prototype.asString = function () +{ + return this._asStringFn.apply(this, arguments); +}; diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 058f498fa6c9b9fbff0404cc52c957ee07fc974c..a2480fc3437ee723677644de79d322af03cdda1a 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -1,4 +1,3 @@ -import("system.logging"); import("system.translate"); import("system.project"); import("system.vars"); diff --git a/process/Person_lib/process.js b/process/Person_lib/process.js index c5ad5751f5658c861d30f4243e78295b96a07cc5..2fe262fac3ee20b20078c4ff90293500a8b77f16 100644 --- a/process/Person_lib/process.js +++ b/process/Person_lib/process.js @@ -1,6 +1,7 @@ import("system.result"); import("Binary_lib"); import("Sql_lib"); +import("Contact_lib"); /** * a static Utility class for the Person context. @@ -55,9 +56,12 @@ PersUtils.removeImage = function(pPersId) */ PersUtils.getResolvingDisplaySubSql = function(pRelationIdField) { - var maskingHelper = new SqlMaskingUtils(); - //TODO: verify if there is a better solution for the usage of this as a displayValueExpression --> automatic use of #TITLE - return "select " + maskingHelper.concat(["PERSON.FIRSTNAME", "PERSON.LASTNAME"]) + "from PERSON \n\ + var contact = Contact.createWithColumnPreset(); + var renderer = new ContactTitleRenderer(contact, null); + var selectExpression = renderer.asSql(); + + //TODO: verify if there is a better solution for the usage of this as a displayValueExpression --> automatic use of #TITLE | waiting vor implementation + return "select " + selectExpression + "from PERSON \n\ join CONTACT on (PERSON.PERSONID = CONTACT.PERSON_ID) \n\ where CONTACT.CONTACTID = " + pRelationIdField; } \ No newline at end of file diff --git a/process/PostalAddress_lib/process.js b/process/PostalAddress_lib/process.js index c18e69398a84f6f99591b495c4d5622167679884..40445e11ecbd90447ef35c2df80f330ee39473fc 100644 --- a/process/PostalAddress_lib/process.js +++ b/process/PostalAddress_lib/process.js @@ -3,6 +3,7 @@ import("system.db"); import("Sql_lib"); import("Contact_lib"); import("Keyword_lib"); +import("Util_lib"); /** * Methods for addresses. * Todo: evtl. übernahme / anpassung der Adresslib aus altem Basic. 1030856 @@ -26,19 +27,35 @@ function AddressUtils(){} */ AddressUtils.formatOneline = function (pCountry, pAddressLine, pBuildingNo, pZipCode, pCity) { - var country = pCountry || ""; - var addressLine = pAddressLine || ""; - var buildingNo = pBuildingNo || ""; - var zipCode = pZipCode || ""; - var city = pCity || ""; - return [country, addressLine, buildingNo, zipCode, city] - .filter(function (v) - { - return v != ""; - }) - .join(", "); + return StringUtils.concat(", ", [pCountry, pAddressLine, pBuildingNo, pZipCode, pCity]); }; +/** + * returns the formatted address by the ADDRESSID as one line + * + * TODO: Dummy method! Übernahme der Adresslib aus altem Basic + * + * @params {String} pAddressId ADDRESSID of the address which shall be loaded + * + * @return {String} formatted address + */ +AddressUtils.getFormattedOnlineAddressById = function(pAddressId) +{ + var addrId = pAddressId; + var addr = ""; + if (addrId) + { + var select = "select ADDRESS.COUNTRY, ADDRESS.ADDRESS, ADDRESS.BUILDINGNO, ADDRESS.ZIP, ADDRESS.CITY from ADDRESS "; + var addrData = db.array(db.ROW, + SqlCondition.begin() + .andPrepare("ADDRESS.ADDRESSID", addrId) + .buildSql(select)); + + addr = AddressUtils.formatOneline.apply(this, addrData); + } + return addr; +} + /** * Returns the formatted standard address for the contact. * @@ -47,7 +64,7 @@ AddressUtils.formatOneline = function (pCountry, pAddressLine, pBuildingNo, pZip * @return {String} */ AddressUtils.getAddress = function(pRelationId) { - var address = db.array(db.ROW, SqlCondition.begin().andPrepare("CONTACT.CONTACTID", pRelationId).buildSql('select CONTACTID, ADDRESS, BUILDINGNO, ZIP, CITY, "NAME", FIRSTNAME, LASTNAME, TITLE from' + RelationUtils.getFullRelationFromString(), "1=0")); + var address = db.array(db.ROW, SqlCondition.begin().andPrepare("CONTACT.CONTACTID", pRelationId).buildSql('select CONTACTID, ADDRESS, BUILDINGNO, ZIP, CITY, "NAME", FIRSTNAME, LASTNAME, TITLE from' + ContactUtils.getFullRelationString(), "1=0")); // TODO: currently there are some relations without standard address. Use Hardcoded one. if (!address[1]) { @@ -58,7 +75,7 @@ AddressUtils.getAddress = function(pRelationId) { address[4] = dummyAddress[3]; } - var type = RelationUtils.getRelationTypeByRelation(pRelationId); + var type = ContactUtils.getRelationTypeByRelation(pRelationId); return AddressUtils.formatAddress(type, address[1], address[2], address[3], address[4], address[5], address[6], address[7], address[8]); } @@ -86,7 +103,7 @@ AddressUtils.getAddressById = function(pAddressId) { address[4] = dummyAddress[4]; } - var type = RelationUtils.getRelationTypeByRelation(address[0]); + var type = ContactUtils.getRelationTypeByRelation(address[0]); var names = db.array(db.ROW, SqlCondition.begin() .andPrepare("CONTACT.CONTACTID", address[0]) diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js index 1d51b694be88511c165cc9ccfd30e80e16657cdf..99a29735c11b6866fa20079f8846c6fcaeded0d3 100644 --- a/process/Product_lib/process.js +++ b/process/Product_lib/process.js @@ -27,7 +27,7 @@ function ProductUtils() {} * * @example productUtils.getCurrentProductPrice(vars.get("$field.PRODUCTID"), "PP") * - * @return {String} currently valid product price + * @return {Array[]} currently valid product price with currency: [price, "CURRENCY"] or [] if no price found */ ProductUtils.getCurrentProductPrice = function(pid, buySell) { if (pid != undefined && pid != "" && buySell != undefined && buySell != "") @@ -36,20 +36,19 @@ ProductUtils.getCurrentProductPrice = function(pid, buySell) { var actualPriceCondition = SqlCondition.begin() .andPrepare("PRODUCTPRICE.BUYSELL", buySell) .andPrepare("PRODUCTPRICE.PRODUCT_ID", pid) - .andPrepare("PRODUCTPRICE.CURRENCY", 1) // TODO: warum ist Currency hardgecoded auf 1?? --> Einheitliche Währungen einbauen (auch zeichen vor oder nach der zahel, etc.) 1034949 .andPrepare("PRODUCTPRICE.VALID_FROM", today, "# <= ?") .andSqlCondition(SqlCondition.begin() .orPrepare("PRODUCTPRICE.VALID_TO", today, "# >= ?") .or("PRODUCTPRICE.VALID_TO is null"), "1 = 2"); var productPriceData = db.array(db.ROW, actualPriceCondition.buildSql("select PRICE, CURRENCY from PRODUCTPRICE", "1 = 2", "order by VALID_FROM desc")); - + if (productPriceData[0] && productPriceData[1]) - return productPriceData[0] + " " + KeywordUtils.getViewValue($KeywordRegistry.currency(), productPriceData[1]); + return [productPriceData[0], KeywordUtils.getViewValue($KeywordRegistry.currency(), productPriceData[1])]; else - return ""; + return []; } else { - return ""; + return []; } } diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js index bfe2e05841546c263bffe7c908bec33834ff44f7..e677069ded29df17642361879c8b9d2fa146cd85 100644 --- a/process/Sql_lib/process.js +++ b/process/Sql_lib/process.js @@ -859,7 +859,10 @@ SqlMaskingUtils.prototype.concat = function(fields, separatorCharacter, autoTrim retSql += " case when " + _isNotEmpty(fields[i + 1]) + " then " + _trimIfAutoTrimEnabled(fields[i]) + separatorSql + " else " + _trimIfAutoTrimEnabled(fields[i]) + " end "; else retSql += _trimIfAutoTrimEnabled(fields[i]); - retSql += " else '' end "; + //this blank is used just as in the old concat function which means this concat function has the same (wrong) behaviour + //TODO: find way to fix the case when separator is not a whitepsace (e.g. space) + //this concat-function does not work properly if you concat [<<value>>, <<null>>, <<value>>] by comma + retSql += " else ' ' end "; } return retSql; } diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js index b27d5d9c3c802b1d8449e4b6e2f3e15f6520cdd9..3b5cc6b09496cf7cfb89ccafdaafcf635dc62bc4 100644 --- a/process/Util_lib/process.js +++ b/process/Util_lib/process.js @@ -14,6 +14,31 @@ import("system.datetime"); import("Offer_lib"); import("Date_lib"); +/** + * Class containing static utility functions for string-actions + * Do not create an instance of this + * + * @class + */ +function StringUtils(){} + +/** + * concats severel elements by a separator; the separator is only applied if a element is not null and not an empty string ""; + * + * @param {String} pSeparator specifies how the not empty elements shall be concatenated + * @param {String[]} pElements elements that shall be joined by the separator + * + * @return {String} concatenated string; if all elements are empty an emtpy string is returned + * + */ +StringUtils.concat = function(pSeparator, pElements) +{ + var res = pElements.filter(function(e){ + return e != null && e != ""; + }).join(pSeparator); + return res; +}; + /** * Class containing static utility functions for use with arrays * Do not create an instance of this! @@ -348,6 +373,33 @@ JSONUtils.customStringify = function(obj) { return stringify(obj); } +/** + * Class containing functions for Javascript-Objects + * Do not create an instance of this + * + * @class + */ +function ObjectUtils(){} + +/** + * checks if a value exists in the object + * mostly usefull for primitve datatypes + * + * @param pObject {Object} the object where the value is searched + * @param pValue {Boolean|Number|String} the value that is searched + * + * @return {Boolean} true if the value was found, false if not + */ +ObjectUtils.existsValue = function(pObject, pValue) +{ + for (var key in pObject) + { + if (pObject[key] === pValue) + return true; + } + return false; +}; + /** * Class containing functions for sequential numbers * Do not create an instance of this!