Вопрос

Создание заказа из лида

Добрый день.

Подскажите, есть ли возможность создавать заказ из лида и переносить все продукты из лида в заказ?

Нравится

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

Ваша задача решается примерно так:

Код написал, но не проверял. Чуть-что, напишите.

Все, что вам остается, это добавить кнопку куда хотите на страницу Лида и вызвать по кнопке этот код.

createOrderFromLead: function() {
	var leadId = this.get("Id");
	var leadName = this.get("LeadName");
	var orderGenerateId = Terrasoft.generateGUID();
	var batchQuery = Ext.create("Terrasoft.BatchQuery");
 
	var createOrder = Ext.create("Terrasoft.InsertQuery", {
		rootSchemaName: "Order"
	});
 
	createOrder.setParameterValue("Id", orderGenerateId, Terrasoft.DataValueType.GUID);
	createOrder.setParameterValue("Number", leadName, Terrasoft.DataValueType.TEXT);
 
	batchQuery.add(createOrder);
 
	var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
		rootSchemaName: "LeadProduct"
	});
 
	esq.addColumn("Product");
	esq.filters.add(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id",
		leadId));
	esq.getEntityCollection(function(response) {
		if (response.success) {
			response.collection.each(function(item) {
				var productId = item.get("Id");
 
				var insertProduct = Ext.create("Terrasoft.InsertQuery", {
					rootSchemaName: "OrderProduct"
				});
 
				insertProduct.setParameterValue("Product", productId, Terrasoft.DataValueType.TEXT);
				insertProduct.setParameterValue("Order", orderGenerateId, Terrasoft.DataValueType.GUID);
 
				batchQuery.add(insertProduct);
				batchQuery.execute();
			});
		}
		else
		{
			batchQuery.execute();
		}
	}, this);
}



 

Можно создать кнопочку а-ля "Создать заказ" и под нее подвязать процесс, который будет читать "Продукты в лиде", далее элементом "Добавить данные" создать Заказ и наполнить "Продукты в заказе" из лида. Или Вы спрашиваете есть ли какое-нибудь готовое решение в системе? Насколько мне известно, то такого нет.

Alex Zaslavsky,

Да, хотелось бы готовое решение)

По процессу понятно, по типу процесса "создание продажи из лида".

Зверев Александр,

Для быстрых продаж через интернет магазин этот вариант не подходит. 

В таком случае нужно самостоятельно сделать или заказать нужную логику, как описал Alex Zaslavsky.

Ваша задача решается примерно так:

Код написал, но не проверял. Чуть-что, напишите.

Все, что вам остается, это добавить кнопку куда хотите на страницу Лида и вызвать по кнопке этот код.

createOrderFromLead: function() {
	var leadId = this.get("Id");
	var leadName = this.get("LeadName");
	var orderGenerateId = Terrasoft.generateGUID();
	var batchQuery = Ext.create("Terrasoft.BatchQuery");
 
	var createOrder = Ext.create("Terrasoft.InsertQuery", {
		rootSchemaName: "Order"
	});
 
	createOrder.setParameterValue("Id", orderGenerateId, Terrasoft.DataValueType.GUID);
	createOrder.setParameterValue("Number", leadName, Terrasoft.DataValueType.TEXT);
 
	batchQuery.add(createOrder);
 
	var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
		rootSchemaName: "LeadProduct"
	});
 
	esq.addColumn("Product");
	esq.filters.add(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id",
		leadId));
	esq.getEntityCollection(function(response) {
		if (response.success) {
			response.collection.each(function(item) {
				var productId = item.get("Id");
 
				var insertProduct = Ext.create("Terrasoft.InsertQuery", {
					rootSchemaName: "OrderProduct"
				});
 
				insertProduct.setParameterValue("Product", productId, Terrasoft.DataValueType.TEXT);
				insertProduct.setParameterValue("Order", orderGenerateId, Terrasoft.DataValueType.GUID);
 
				batchQuery.add(insertProduct);
				batchQuery.execute();
			});
		}
		else
		{
			batchQuery.execute();
		}
	}, this);
}



 

Литвинко Павел,

Спасибо большое! Сейчас протестирую)))

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