Skip to content
Snippets Groups Projects
Commit 42bf2f05 authored by Benjamin Ulrich's avatar Benjamin Ulrich :speech_balloon: Committed by Sebastian Pongratz
Browse files

[Projekt: xRM-Sales][TicketNr.: 1085057][Umsatzprognose aus Firmenfilter]

parent 2437f6f9
No related branches found
No related tags found
No related merge requests found
Showing with 320 additions and 8 deletions
......@@ -1187,6 +1187,13 @@
<selectionType>UNBOUND</selectionType>
<iconId>VAADIN:MONEY</iconId>
</entityActionField>
<entityActionField>
<name>openTurnover</name>
<title>Open Turnover</title>
<onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/filterviewactiongroup/children/openturnover/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<iconId>VAADIN:CHART</iconId>
</entityActionField>
<entityActionField>
<name>addAttributeToSelection</name>
<title>Set attribute (use filter result)</title>
......@@ -1315,7 +1322,7 @@
</dependency>
<children>
<entityParameter>
<name>ContactId_param</name>
<name>ContactIds_param</name>
<valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnovers/children/contactid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
......
import("system.neon");
import("Context_lib");
import("FilterViewAction_lib");
import("system.vars");
var contactIds = [];
var currentContext = ContextUtils.getCurrentContextId();
if (vars.get("$sys.selection").length > 0)
{
contactIds = vars.get("$sys.selection");
}
else
{
contactIds = FilterViewActionUtils.getUidsByEntityFilter(currentContext, vars.get("$sys.filter"));
}
var params = {
"ContactIds_param": JSON.stringify(contactIds)
};
neon.openContext("Turnover", "TurnoverDynamicMultiDataChartOrganisationGrouping_view", null, neon.OPERATINGSTATE_SEARCH, params, null);
\ No newline at end of file
......@@ -201,7 +201,7 @@
</children>
</entityProvider>
<entityParameter>
<name>ContactId_param</name>
<name>ContactIds_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
......
......@@ -6,10 +6,10 @@ import("Keyword_lib");
import("KeywordRegistry_basic");
import("system.result");
var contactId = vars.get("$param.ContactId_param");
var contactIds = vars.get("$param.ContactIds_param");
var salesprojectId = vars.get("$param.SalesprojectIdDynamicChart_param");
if(contactId || salesprojectId)
if(contactIds || salesprojectId)
{
var filter = {
type: "group",
......@@ -24,11 +24,29 @@ if(contactId || salesprojectId)
}]
};
if(contactId)
if(contactIds)
{
filter.childs[0].name = "ORGANISATION_ID";
filter.childs[0].key = contactId;
filter.childs[0].value = OrganisationUtils.getNameByContactId(contactId);
contactIds = JSON.parse(contactIds);
filter.operator = "OR";
for (i = 0; i < contactIds.length; i++)
{
if(i != 0)
{
filter.childs.push({
type: "row",
name: null,
operator: "EQUAL",
contenttype: "TEXT",
key: null,
value: null
});
}
filter.childs[i].name = "ORGANISATION_ID";
filter.childs[i].key = contactIds[i];
filter.childs[i].value = OrganisationUtils.getNameByContactId(contactIds[i]);
}
}
else if(salesprojectId)
{
......
......@@ -9496,6 +9496,27 @@
<entry>
<key>TrueType Font</key>
</entry>
<entry>
<key>No recipient is marked for test run replacement.</key>
</entry>
<entry>
<key>Should a test email be sent to you instead?</key>
</entry>
<entry>
<key>Copy Recipients</key>
</entry>
<entry>
<key>copy</key>
</entry>
<entry>
<key>There are no test recipients.</key>
</entry>
<entry>
<key>The test run is not properly configured.</key>
</entry>
<entry>
<key>Open Turnover</key>
</entry>
</keyValueMap>
<font name="Dialog" style="0" size="11" />
<sqlModels>
......
......@@ -38,6 +38,10 @@
<key>Default phone</key>
<value>Standard Telefon</value>
</entry>
<entry>
<key>Open Turnover</key>
<value>Umsatzprognose öffnen</value>
</entry>
<entry>
<key>Number of clicks</key>
<value>Anzahl Klicks</value>
......
......@@ -9611,6 +9611,27 @@
<entry>
<key>TrueType Font</key>
</entry>
<entry>
<key>No recipient is marked for test run replacement.</key>
</entry>
<entry>
<key>Should a test email be sent to you instead?</key>
</entry>
<entry>
<key>Copy Recipients</key>
</entry>
<entry>
<key>copy</key>
</entry>
<entry>
<key>There are no test recipients.</key>
</entry>
<entry>
<key>The test run is not properly configured.</key>
</entry>
<entry>
<key>Open Turnover</key>
</entry>
</keyValueMap>
<font name="Dialog" style="0" size="11" />
</language>
......@@ -22,5 +22,9 @@
<name>d54348be-db01-4f89-ad3f-99ef35fa7e32</name>
<view>TurnoverDynamicMultiDataChart_view</view>
</neonViewReference>
<neonViewReference>
<name>2356a379-c5d3-4eea-b81e-ad3eb70a7309</name>
<view>TurnoverDynamicMultiDataChartOrganisationGrouping_view</view>
</neonViewReference>
</references>
</neonContext>
<?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.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8">
<name>TurnoverDynamicMultiDataChartOrganisationGrouping_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/neonView/TurnoverDynamicMultiDataChartOrganisationGrouping_view/documentation.adoc</documentation>
<filterable v="true" />
<layout>
<groupLayout>
<name>layout</name>
</groupLayout>
</layout>
<children>
<dynamicMultiDataChartViewTemplate>
<name>ColumnChart</name>
<chartType>COLUMN</chartType>
<yAxisLabel>Volume</yAxisLabel>
<defaultGroupFields>
<element>ORGANISATION_ID</element>
</defaultGroupFields>
<maxDBRow v="1000" />
<columns>
<neonDynamicMultiDataChartColumn>
<name>e799a70f-0d62-4871-bf78-208450514924</name>
<entityField>PLANNING_VOLUME</entityField>
<aggregateEntityField>PlanningVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>42754fbc-e0e4-4175-bed1-1b8a612f0b1a</name>
<entityField>FORECAST_VOLUME</entityField>
<aggregateEntityField>ForecastVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>7e55a377-7b61-47ce-a969-a0eec026eb4d</name>
<entityField>FORECAST_VOLUME_weighted</entityField>
<aggregateEntityField>ForecastVolumeWeighted_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>ef1322ac-a717-4a29-bda0-09bb2cafd124</name>
<entityField>TURNOVER_VOLUME</entityField>
<aggregateEntityField>TurnoverVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
</columns>
</dynamicMultiDataChartViewTemplate>
<dynamicMultiDataChartViewTemplate>
<name>LineChart</name>
<chartType>LINE</chartType>
<yAxisLabel>Volume</yAxisLabel>
<defaultGroupFields>
<element>ORGANISATION_ID</element>
</defaultGroupFields>
<maxDBRow v="1000" />
<columns>
<neonDynamicMultiDataChartColumn>
<name>c89c74f6-97d2-407c-97bb-705badd0a47b</name>
<entityField>PLANNING_VOLUME</entityField>
<aggregateEntityField>PlanningVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>cb37d17b-0582-4858-b821-0d0bf9d31936</name>
<entityField>FORECAST_VOLUME</entityField>
<aggregateEntityField>ForecastVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>73faf8fc-faf8-469e-b9b8-50fc1784b759</name>
<entityField>FORECAST_VOLUME_weighted</entityField>
<aggregateEntityField>ForecastVolumeWeighted_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>6cc4169a-bf40-4bb6-b842-00b8dcf00e7c</name>
<entityField>TURNOVER_VOLUME</entityField>
<aggregateEntityField>TurnoverVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
</columns>
</dynamicMultiDataChartViewTemplate>
<dynamicMultiDataChartViewTemplate>
<name>AreaChart</name>
<chartType>AREA</chartType>
<yAxisLabel>Volume</yAxisLabel>
<defaultGroupFields>
<element>ORGANISATION_ID</element>
</defaultGroupFields>
<maxDBRow v="1000" />
<columns>
<neonDynamicMultiDataChartColumn>
<name>a21fd450-e912-426d-a714-670d7cf238e7</name>
<entityField>PLANNING_VOLUME</entityField>
<aggregateEntityField>PlanningVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>4a2291ee-ede4-45c1-b1cc-1ed6e7a91e56</name>
<entityField>FORECAST_VOLUME</entityField>
<aggregateEntityField>ForecastVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>5dfa62d6-a0ff-4a10-a041-8de6fe9c635a</name>
<entityField>FORECAST_VOLUME_weighted</entityField>
<aggregateEntityField>ForecastVolumeWeighted_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>f2e8b9c6-fbda-4715-b118-311f9d5eeb12</name>
<entityField>TURNOVER_VOLUME</entityField>
<aggregateEntityField>TurnoverVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
</columns>
</dynamicMultiDataChartViewTemplate>
<dynamicMultiDataChartViewTemplate>
<name>BarChart</name>
<chartType>BAR</chartType>
<yAxisLabel>Volume</yAxisLabel>
<defaultGroupFields>
<element>ORGANISATION_ID</element>
</defaultGroupFields>
<maxDBRow v="1000" />
<columns>
<neonDynamicMultiDataChartColumn>
<name>3157970c-538f-45d9-89ea-00d514c14e43</name>
<entityField>PLANNING_VOLUME</entityField>
<aggregateEntityField>PlanningVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>48aebea0-789c-40da-ab0a-e859f76c7ba0</name>
<entityField>FORECAST_VOLUME</entityField>
<aggregateEntityField>ForecastVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>2138239a-aba5-4d49-84cb-f4cd03be0a09</name>
<entityField>FORECAST_VOLUME_weighted</entityField>
<aggregateEntityField>ForecastVolumeWeighted_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>d8e81828-77cd-4066-a924-b9a7b3bd4fbf</name>
<entityField>TURNOVER_VOLUME</entityField>
<aggregateEntityField>TurnoverVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
</columns>
</dynamicMultiDataChartViewTemplate>
<dynamicMultiDataChartViewTemplate>
<name>SplineChart</name>
<chartType>SPLINE</chartType>
<yAxisLabel>Volume</yAxisLabel>
<defaultGroupFields>
<element>ORGANISATION_ID</element>
</defaultGroupFields>
<maxDBRow v="1000" />
<columns>
<neonDynamicMultiDataChartColumn>
<name>7481739d-d6e6-4c48-bcae-8b593d8d6834</name>
<entityField>PLANNING_VOLUME</entityField>
<aggregateEntityField>PlanningVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>fa8e7b00-0a3e-42c9-8848-8e6e423cbe1a</name>
<entityField>FORECAST_VOLUME</entityField>
<aggregateEntityField>ForecastVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>ff7437b9-b517-482a-a1fa-814bc58acfe9</name>
<entityField>FORECAST_VOLUME_weighted</entityField>
<aggregateEntityField>ForecastVolumeWeighted_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
<neonDynamicMultiDataChartColumn>
<name>b3ed1ac2-5449-4dd6-b45d-372ffeaff6c8</name>
<entityField>TURNOVER_VOLUME</entityField>
<aggregateEntityField>TurnoverVolume_aggregate</aggregateEntityField>
</neonDynamicMultiDataChartColumn>
</columns>
</dynamicMultiDataChartViewTemplate>
<treeTableViewTemplate>
<name>TreeTable</name>
<showChildrenCount v="false" />
<defaultGroupFields>
<element>ORGANISATION_ID</element>
</defaultGroupFields>
<isCreatable v="false" />
<isDeletable v="false" />
<isEditable v="false" />
<columns>
<neonTreeTableColumn>
<name>96b1a5cf-a9d2-4082-bff7-664a16bfefb7</name>
<entityField>GroupField</entityField>
</neonTreeTableColumn>
<neonTreeTableColumn>
<name>3b98f8bc-643c-4fa9-be27-e1770cfb04f0</name>
<entityField>PLANNING_VOLUME</entityField>
<aggregateEntityField>PlanningVolume_aggregate</aggregateEntityField>
</neonTreeTableColumn>
<neonTreeTableColumn>
<name>f5279d1a-1794-4d1e-9821-a1bb37188bc1</name>
<entityField>FORECAST_VOLUME</entityField>
<aggregateEntityField>ForecastVolume_aggregate</aggregateEntityField>
</neonTreeTableColumn>
<neonTreeTableColumn>
<name>989c33e7-1833-44c3-94f6-81c2d09049dc</name>
<entityField>FORECAST_VOLUME_weighted</entityField>
<aggregateEntityField>ForecastVolumeWeighted_aggregate</aggregateEntityField>
</neonTreeTableColumn>
<neonTreeTableColumn>
<name>91d3962e-1d4b-4923-bbd5-ed6e2453d1d2</name>
<entityField>TURNOVER_VOLUME</entityField>
<aggregateEntityField>TurnoverVolume_aggregate</aggregateEntityField>
</neonTreeTableColumn>
<neonTreeTableColumn>
<name>80ec8777-8d68-4904-922d-1a7045fb5a5c</name>
<entityField>emptyField</entityField>
</neonTreeTableColumn>
</columns>
</treeTableViewTemplate>
</children>
</neonView>
== TurnoverDynamicMultiDataChartOrganisationGrouping_view
This View is no different to TurnoverDynamicMultiDataChart_view except the defaultGroupFields: the normal view has the YEAR set,
and the viewtemplates of this view have the ORGANISATION_ID set.
Reason being, that we want to have the organisation set as defaultGroupField when usng the "openTurnover" action from Organisation_entity.
There currently is no way of dynamically changing the defaultGroupField, so this very similar view has to exist.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment