Создание заказа из лида
Добрый день.
Подскажите, есть ли возможность создавать заказ из лида и переносить все продукты из лида в заказ?
Нравится
Ваша задача решается примерно так:
Код написал, но не проверял. Чуть-что, напишите.
Все, что вам остается, это добавить кнопку куда хотите на страницу Лида и вызвать по кнопке этот код.
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.
Ваша задача решается примерно так:
Код написал, но не проверял. Чуть-что, напишите.
Все, что вам остается, это добавить кнопку куда хотите на страницу Лида и вызвать по кнопке этот код.
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);
}