Здравсвуйте!

Вопрос таков. Как кодом можно сделать двойную воронку по определенной колонке двух разделов?

Есть раздел заявки и заказы, оба имеют поле стадия заявки.

надо сделать кодом сквозную воронку продаж, где изначально одним цветом будут данные из заявок, а потом из заказов.

код ниже работает только для обычной воронки:

{

    "parameters": {

        "seriesConfig": [],

        "orderBy": "QualifyStatus.StageNumber",

        "orderDirection": "Ascending",

        "caption": "Воронка продаж",

        "sectionId": "7f3f22d6-f36b-1410-6584-1c6f65e16a47",

        "primaryColumnName": "Id",

        "yAxisConfig": {

            "position": 0

        },

        "schemaName": "qrtOrder",

        "sectionBindingColumn": "Id",

        "func": 1,

        "type": "funnel",

        "xAxisColumn": "qrtOrderStage",

        "YAxisCaption": "Продаж",

        "styleColor": "widget-coral",

        "filterData": "{\"className\":\"Terrasoft.FilterGroup\",\"items\":{\"53e3b5d1-690f-4fc2-9d45-dedb87f66279\":{\"className\":\"Terrasoft.InFilter\",\"filterType\":4,\"comparisonType\":4,\"isEnabled\":true,\"trimDateTimeParameterToDate\":false,\"leftExpression\":{\"className\":\"Terrasoft.ColumnExpression\",\"expressionType\":0,\"columnPath\":\"qrtOrderStage\"},\"isAggregative\":false,\"key\":\"53e3b5d1-690f-4fc2-9d45-dedb87f66279\",\"dataValueType\":10,\"leftExpressionCaption\":\"Стадия лида\",\"referenceSchemaName\":\"qrtOrderStage\",\"rightExpressions\":[{\"className\":\"Terrasoft.ParameterExpression\",\"expressionType\":2,\"parameter\":{\"className\":\"Terrasoft.Parameter\",\"dataValueType\":10,\"value\":{\"Name\":\"Потребность отсутствует\",\"Id\":\"51adc3ec-3503-4b10-a00b-8be3b0e11f08\",\"value\":\"51adc3ec-3503-4b10-a00b-8be3b0e11f08\",\"displayValue\":\"Потребность отсутствует\"}}},{\"className\":\"Terrasoft.ParameterExpression\",\"expressionType\":2,\"parameter\":{\"className\":\"Terrasoft.Parameter\",\"dataValueType\":10,\"value\":{\"Name\":\"Дисквалифицирован\",\"Id\":\"128c3718-771a-4d1e-9035-6fa135ca5f70\",\"value\":\"128c3718-771a-4d1e-9035-6fa135ca5f70\",\"displayValue\":\"Дисквалифицирован\"}}}]}},\"logicalOperation\":0,\"isEnabled\":true,\"filterType\":6,\"rootSchemaName\":\"Lead\",\"key\":\"\"}"

    },

    "configurationMessage": "GetChartConfig"

}

Нравится

2 комментария
Лучший ответ

Вообще, в настройке итогов уже есть стандартный блок, который так и называется, «Сквозная воронка» (см. схемы с FullPipeline в названии). Но он заточен под разделы лидов и продаж, это видно, например, в коде FullPipelineDesigner:

_getDefaultEntities: function() {
	return [
		{
			"schemaName": "Lead",
			"connectedWith": null,
			"calculatedOperations": [{"operation": "Amount", "targetColumnName": "Budget"}],
			"filters": null
		},
		{
			"schemaName": "Opportunity",
			"calculatedOperations": [{"operation": "Amount", "targetColumnName": "Budget"}],
			"connectedWith": {
				"type": 0,
				"schemaName": "Lead",
				"connectionSchemaName": "Lead",
				"parentSchemaColumnName": "Opportunity",
				"childSchemaColumnName": "Id"
			},
			"filters": null
		}
	];
},

Для адаптации под заявки и заказы могут потребоваться доработки в коде, возможно, лучше будет создать свой аналог, унаследовав от существующего с заменами разделов.

Вообще, в настройке итогов уже есть стандартный блок, который так и называется, «Сквозная воронка» (см. схемы с FullPipeline в названии). Но он заточен под разделы лидов и продаж, это видно, например, в коде FullPipelineDesigner:

_getDefaultEntities: function() {
	return [
		{
			"schemaName": "Lead",
			"connectedWith": null,
			"calculatedOperations": [{"operation": "Amount", "targetColumnName": "Budget"}],
			"filters": null
		},
		{
			"schemaName": "Opportunity",
			"calculatedOperations": [{"operation": "Amount", "targetColumnName": "Budget"}],
			"connectedWith": {
				"type": 0,
				"schemaName": "Lead",
				"connectionSchemaName": "Lead",
				"parentSchemaColumnName": "Opportunity",
				"childSchemaColumnName": "Id"
			},
			"filters": null
		}
	];
},

Для адаптации под заявки и заказы могут потребоваться доработки в коде, возможно, лучше будет создать свой аналог, унаследовав от существующего с заменами разделов.

Зверев Александр, Спасибо за ответ!

Показать все комментарии