Возникла проблема с профайлером контакта в лиде. Нужно сделать что бы можно было редактировать поля и кнопкой(новосозданной прям в профайлере) сохранять.

Суть проблемы: 

- поля исчезают если они пустые

- поля нельзя изменять, даже если стоит признак enabled: true. Например меняю значение справочника(всплывающее окно) - жму выбрать - значение остается то что до выбора

-----------------------------------

Есть еще один вариант: делать правки контакта через миникарточку. Жму на кнопку, выхываю миникарточку:

this.openMiniPage({
	recordId: this.get("MasterColumnValue"),
	operation: Terrasoft.ConfigurationEnums.CardOperation.EDIT,
	entitySchemaName: "Contact",
	targetId: "LeadContactProfileSchemaProfileHeaderValueHyperlink"
});

и в консоле 3 ошибки, вот ода из них:

Context for module ViewModule_MiniPageListener_MiniPage_AccountMiniPage is not found, component will not be created.
если развернуть стек ошибок:
writeWarnMessage	@	core-base.js:691
injectedExt.create	@	core-base.js:728
(anonymous)	@	BaseExtendedMenu.js?…9b29238e0fea52c7:30
initExtendedMenuButtonCollections	@	BaseExtendedMenu.js?…9b29238e0fea52c7:28
initEmailExtendedMenuButtonCollections	@	EmailExtendedMenu.js…9b29238e0fea52c7:19
init	@	ContactMiniPage.js?h…9b29238e0fea52c7:7

 

Нравится

5 комментариев

В профайлере нельзя редактировать данные. Профайлер — это отдельная программа, предназначенная для просмотра SQL-запросов, которые отправляет система в базу данных.

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

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

клиент хочет что бы это было именно слева. Как вариант:

сделать все необходимые поля для контакта(виртуальные, атрибуты) и внизу влепить кнопку сохранить. кроме этого нужно сделать функционал выбирания и создания нового контакта. 

Нет ли пути полегче этого?

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

да они хотят прям на странице лида его править.. А какие идеи почему миникарточка редактирования не открывается?

На странице лида можно править поля лида. Поля контакта можно править на странице контакта.

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

Пытаюсь осознать как осуществлять подключение к другой базе (настраиваем интеграцию). 

Я правильно понимаю, что можно все это реализовать через C# с использованием БП и его элемента "Задание-сценарий"? (задача - забрать из базы нужные данные и их потом обработать).

Просто не могу найти пример этой реализации. И почему на академии нет такой статьи - это было бы очень полезно.

 

 

Нравится

5 комментариев

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

Но, если решили из бизнес-процесса, то в элементе [Задание-сценарий] можно вызывать веб-сервис, который будет выполнять интеграцию.

Подробнее о более подходящем для Вашей задачи способе интеграции можно почитать здесь.

Также, начиная с версии 7.12 появился новый элемент процесса [Вызвать веб-сервис], в котором реализована пользовательская возможность подключения интеграции REST-сервисами. Об этом подробнее на Академии можно почитать в отдельном разделе.

Алла Савельева,

Просто мне показалось, что там описано больше именно о том как интегрироваться с BPM (и его объектами). Мне же хочется из BPM пойти в стороннюю БД (а это не совсем сторонний сервис). Не встречали именно такого примера? 

Если вторая база доступна из основной, то можно интегрироваться на уровне SQL. Настроить linked server, написать в основной базе view, работающие со второй, зарегистрировать по этой view схему с такими же колонками и далее работать с ней для чтения, как с обычной.

Если нужно туда ещё и писать, можно добавить в view триггеры II, IU, ID, которые пишут в таблицы второй базы. Или же сделать хранимку и запускать её из C#-скриптов в БП.

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

А можно немного поподробней про последний вариант?

См. на сайте Microsoft: Linked Servers.

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

Привет всем!

Предисловие, имею бизнес процесс, который запускается когда в деталь-справочнике поле(Product list Employees Amount) имеет значение больше или ровно 1(раздел Employees), далее считывает с раздела Product поле Amount и деталь с  полем( Product list Employees Amount), далее идет математика: 

раздел Product с полем Amount - раздел Employees с деталь-справочником где поле (Product list Employees Amount)

далее идет получения значения что получилось в итоге с заменой значения в поле Amount в детали.

Изображение удалено.

Смысл проблемы такая, что не всегда корректно считает, бывает что N-запись из деталь-справочника берет не то поле из записи. К примеру имеем в разделе Product поле Amount = 50, отнимаем 30, потом 18 и 2, в итоге должно получится 0, но почему-то получаю -28, как понял получилось, что-то вроде этого 50-30-18-30, вместо 50-30-18-2

Изображение удалено.

 

Нравится

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

Для начала запустите SQL Server Profiler и посмотрите какие запросы идут в базу данных при выполнении процесса.

Может быть значение данного поля ещё где-то меняется в момент выполнения реализованного процесса или же в самом процессе допущена ошибка?

Для начала запустите SQL Server Profiler и посмотрите какие запросы идут в базу данных при выполнении процесса.

Может быть значение данного поля ещё где-то меняется в момент выполнения реализованного процесса или же в самом процессе допущена ошибка?

Нужно видеть ваши формулы в элементах процесса

Владимир Соколов пишет:

Нужно видеть ваши формулы в элементах процесса

Какой элемент интересует? 

Проблему решил, элемент не правильно считывал данные, решение можно тут найти:

https://academy.terrasoft.ru/documents/technic-bpms/7-12/kak-chitat-dan…

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

В BPMS_UG.pdf (~стр.266) есть текст:

ИНФОРМАЦИЯ ДЛЯ СПЕЦИАЛИСТОВ ПО ВНЕДРЕНИЮ Если настройка кейса в проектной среде выполнялась для раздела, в котором был отключен настроенный по умолчанию кейс, то перед переносом созданного кейса в рабочую среду необходимо выполнить привязку данных по отключенному кейсу.

 

Уважаемые, сертифицированные специалисты, хотел уточнить какую "привязку данных по отключенному кейсу" нужно делать? И где на проектной среде или на рабочей?

Возможно, имеется ввиду, что на рабочей среде кейс пока еще включен и таким образом нужно его отключить?

Нравится

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

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

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

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

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

Алла Савельева пишет:

Привязку нужно реализовать на среде разработки

 Спасибо за пояснения, но привязку чего и к чему?

gfdshdfsh,

Привязку данных по отключенному кейсу к пакету, в котором ведется разработка.

Алла Савельева,

большое спасибо за помощь!

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

Появилась необходимость загружать пользователей из AD. Но количество атрибутов мало и хочется их увеличить. Стоит вопрос - как? Может кто занимался подобными доработками?

Нравится

1 комментарий

Согласно базовой логики системы, Вы можете настроить синхронизацию своего поля в насстройках синхронизации LDAP, выбрав неиспользованное поле в bpm. К сожалению, настроить синхронизацию с созданным в bpmonline полем нельзя.

В старых версиях системы набор атрибутов, которые синхронизируются с LDAP? был статичен. Реализация была выполнена на уровне "ядра" приложения. Просто настройками этот набор изменить не получится.

В последних эту логику вынесли в схему LDAPUtilities, которую можно переопределить своей версией на уровне конфигурации. Но тогда этот механизм нужно будет самостоятельно поддерживать и адаптировать при обновлениях системы.

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

Добрый день!

Как можно отправить данные с bpmonline на внешний сайт  при изменении статуса Обращения ? 

Нужны либо все данные обращения, либо его ИД.

Нравится

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

Добрый день)

Посмотрите пост.

Подробнее о выборе способа интеграции можно почитать на Академии.

Добрый день)

Посмотрите пост.

Подробнее о выборе способа интеграции можно почитать на Академии.

Начиная с 7.12 появился элемент БП «веб-сервис». То есть, можно добавить БП на событие изменения поля, а в нём запустить сервис.

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

Добрый день. Действовал по инструкции с академии по добавлению пользовательского элемента кампании и столкнулся со следующей проблемой: в метаданных кампании в описании моего элемента не отображаются поля, которые я объявил в элементе из-за чего при обновлении страницы пропадают все заполненные поля в моем элементе. То есть я создал файл BSDeliveryElementSchema

define("BSDeliveryElementSchema", ["BSDeliveryElementSchemaResources", "CampaignBaseCommunicationSchema"],
    function(resources) {
        Ext.define("Terrasoft.manager.BSDeliveryElementSchema", {
            // Родительская схема.
            extend: "Terrasoft.CampaignBaseCommunicationSchema",
            alternateClassName: "Terrasoft.BSDeliveryElementSchema",
            // Идентификатор менеджера. Должен быть уникальным.
            managerItemUId: "a1226f93-f3e3-4baa-89a6-11f2a9ab2d71",
            // Подключаемые миксины.
            mixins: {
                campaignElementMixin: "Terrasoft.CampaignElementMixin"
            },
            // Название элемента.
            name: "BSDelivery",
            // Привязка ресурсов.
            caption: resources.localizableStrings.Caption,
            titleImage: resources.localizableImages.TitleImage,
            largeImage: resources.localizableImages.LargeImage,
            smallImage: resources.localizableImages.SmallImage,
            // Имя схемы карточки редактирования.
            editPageSchemaName: "BSDeliveryElementPropertiesPage",
            // Тип элемента.
            elementType: "BSDelivery",
            // Полное имя класса, соответствующего данной схеме.
            typeName: "Terrasoft.Configuration.BSDeliveryElement, Terrasoft.Configuration",
            // Переопределение свойств стилей для отображения.
            color: "rgba(55, 119, 188, 1)",
            width: 69,
            height: 55,
            // Настройка специфических свойств элемента.
            deliveryId: null,
            // Определение типов связей, исходящих из элемента.
            getConnectionUserHandles: function() {
                return ["CampaignSequenceFlow", "CampaignConditionalSequenceFlow"];
            },
            // Расширение свойств для сериализации.
            getSerializableProperties: function() {
                var baseSerializableProperties = this.callParent(arguments);
                return Ext.Array.push(baseSerializableProperties, ["DeliveryId"]);
            },
            // Настройка отображения иконок на диаграмме кампании.
            getSmallImage: function() {
                return this.mixins.campaignElementMixin.getImage(this.smallImage);
            },
            getLargeImage: function() {
                return this.mixins.campaignElementMixin.getImage(this.largeImage);
            },
            getTitleImage: function() {
                return this.mixins.campaignElementMixin.getImage(this.titleImage);
            }
        });
        return Terrasoft.BSDeliveryElementSchema;
    });

Потом файл BSDeliveryElementPropertiesPage

define("BSDeliveryElementPropertiesPage", ["LookupUtilities"],
    function(LookupUtilities) {
        return {
            attributes: {
 
                "DeliveryId":{
                	"dataValueType": this.Terrasoft.DataValueType.LOOKUP,
                	"type": this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
                	"referenceSchemaName": "BeesenderDelivery",
					"isRequired": true,
					"isLookup": true
                },
 
                "DeliveryCollection": {
					"dataValueType": this.Terrasoft.DataValueType.COLLECTION,
					"type": this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN
				},
            },
            methods: {
                init: function() {
                    this.callParent(arguments);
                    this.initAcademyUrl(this.onAcademyUrlInitialized, this);
                },
 
                getContextHelpCode: function() {
                    return "CampaignBSDeliveryElement";
                },
 
                initParameters: function(element) {
                    this.callParent(arguments);
                    this.set("DeliveryId", element.deliveryId);
                },
 
                saveValues: function() {
                    this.callParent(arguments);
                    var element = this.get("ProcessElement");
                    element.deliveryId = this.getDelivery();
 
                },
 
                getDelivery: function(){
                	var delivery = this.get("DeliveryId");
                	return delivery ? delivery : "";
                },
 
 
                loadDeliverySchemaLookup: function() {
					var self = this;
					var config = this.getDeliveryLookupConfig();
					LookupUtilities.Open(this.sandbox, config, function(args) {
						var collection = args.selectedRows;
						if (collection.getCount() > 0) {
							var selectedItem = collection.getItems()[0];
							self.set("DeliveryId", selectedItem);
						}
					}, this, null, false, false);
				},
 
				/**
				 * Gets email lookup config
				 * @protected
				 * @return {object}
				 */
				getDeliveryLookupConfig: function() {
					var config = {
						entitySchemaName: "BeesenderDelivery",
						multiSelect: false,
						hideActions: true
					};
					return config;
				},
 
				prepareDeliveryList: function(filterParameter, list) {
					if (list && list instanceof Terrasoft.Collection) {
						list.clear();
					}
					var filters = null;
					this.prepareLookupList(filters, filterParameter, "BeesenderDelivery",
						"DeliveryCollection", this);
				},
 
 
            },
            diff: [
 
                {
                    "operation": "insert",
                    "name": "ContentContainer",
                    "propertyName": "items",
                    "parentName": "EditorsContainer",
                    "className": "Terrasoft.GridLayoutEdit",
                    "values": {
                        "itemType": Terrasoft.ViewItemType.GRID_LAYOUT,
                        "items": []
                    }
                },
 
                {
                    "operation": "insert",
                    "name": "BSDeliveryLabel",
                    "parentName": "ContentContainer",
                    "propertyName": "items",
                    "values": {
                        "layout": {
                            "column": 0,
                            "row": 0,
                            "colSpan": 24
                        },
                        "itemType": this.Terrasoft.ViewItemType.LABEL,
                        "caption": {
                            "bindTo": "Resources.Strings.BSDeliveryText"
                        },
                        "classes": {
                            "labelClass": ["t-title-label-proc"]
                        }
                    }
                },
 
                {
                    "operation": "insert",
                    "name": "DeliveryLabel",
                    "parentName": "ContentContainer",
                    "propertyName": "items",
                    "values": {
                        "layout": {
                            "column": 0,
                            "row": 3,
                            "colSpan": 24
                        },
                        "classes": {
                            "labelClass": ["t-title-label-proc"]
                        },
                        "itemType": this.Terrasoft.ViewItemType.LABEL,
                        "caption": {
                            "bindTo": "Resources.Strings.DeliveryCaption"
                        }
                    }
                },
 
                {
                    "operation": "insert",
                    "name": "DeliveryId",
                    "parentName": "ContentContainer",
                    "propertyName": "items",
                    "values": {
                    	"bindTo": "DeliveryId",
                        "labelConfig": {
                            "visible": false
                        },
                        "layout": {
                            "column": 0,
                            "row": 4,
                            "colSpan": 24
                        },
                        "itemType": this.Terrasoft.ViewItemType.LOOKUP,
                        "classes": {
                            "labelClass": ["feature-item-label"]
                        },
                        "controlConfig": { 
                        	"tag": "DeliveryId",
                        	"loadVocabulary": {
								"bindTo": "loadDeliverySchemaLookup"
							},
							"prepareList": {
								"bindTo": "prepareDeliveryList"
							},
							"list": {
								"bindTo": "DeliveryCollection"
							},
                        }
                    }
                }
            ]
        };
    }
);

Файл BSDeliveryElement. Код файла BSDeliveryCampaignProcessElement  приводить не стал, так как я понимаю, что он не относится к формированию метаданных. 

namespace Terrasoft.Configuration
{
    using System;
    using Terrasoft.Common;
    using Terrasoft.Core;
    using Terrasoft.Core.Campaign;
    using Terrasoft.Core.Process;
 
    [DesignModeProperty(Name = "DeliveryId",
        UsageType = DesignModeUsageType.NotVisible, MetaPropertyName = DeliveryPropertyName)]
    public class BSDeliveryElement : CampaignSchemaElement
    {
 
        private const string DeliveryPropertyName = "DeliveryId";
 
        public BSDeliveryElement() {
            ElementType = CampaignSchemaElementType.AsyncTask;
        }
 
        public BSDeliveryElement(BSDeliveryElement source)
                : base(source) {
            ElementType = CampaignSchemaElementType.AsyncTask;
            DeliveryId = source.DeliveryId;
        }
 
        // Идентификатор действия элемента.
        protected override Guid Action {
            get {
                return CampaignConsts.CampaignLogTypeMailing;
            }
        }
 
        //откуда это взять?
        [MetaTypeProperty("{D12151EF-672A-4F5F-BE2B-76F2501444D0}")]
        public Guid DeliveryId{
        	get;
        	set;
        }
 
        protected override void ApplyMetaDataValue(DataReader reader) {
            base.ApplyMetaDataValue(reader);
            switch (reader.CurrentName) {
                case DeliveryPropertyName:
                	DeliveryId = reader.GetGuidValue();
                	break;
                default:
                	break;
            }
        }
 
        public override void WriteMetaData(DataWriter writer) {
            base.WriteMetaData(writer);
            writer.WriteValue(DeliveryPropertyName, DeliveryId, Guid.Empty);
        }
        public override object Clone() {
            return new BSDeliveryElement(this);
        }
 
        public override ProcessFlowElement CreateProcessFlowElement(UserConnection userConnection) {
            var executableElement = new BSDeliveryCampaignProcessElement {
                UserConnection = userConnection,
                DeliveryId = DeliveryId
            };
            InitializeCampaignProcessFlowElement(executableElement);
            return executableElement;
        }
    }
}

После сохранения/публикации схем мой элемент успешно появился в списке элементов кампании и без проблем добавляется/сохраняется в кампании. Но после обновления страницы я вижу, что поле Delivery остается не заполненным и его надо заново заполнять. Решил проверить метаданные этой кампании. Заметил, что в сравнении с элементом кампании Email-рассылка в метаданных моего элемента отсутствует DeliveryId, хотя все сделано по инструкции и по аналогии с Email-рассылкой. Также интересно, откуда в примере берется заполнение MetaTypeProperty для SmsText и PhoneNumber?

{
  "MetaData": {
    "Schema": {
      "ManagerName": "CampaignSchemaManager",
      "UId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
      "Name": "Campaign1",
      "CreatedInPackageId": "ecf839d6-c220-43d4-8eaf-f342565ddec6",
      "Methods": [],
      "LocalizableStrings": [],
      "Usings": [],
      "PackageUId": "b9e0a92c-eb1e-4b05-ae29-0d4845242e29",
      "CreatedInVersion": "7.13.0.284",
      "Parameters": [],
      "IsLogging": false,
      "ParentSchemaUId": "371c5d61-06ed-4bda-a905-c00ea6d19551",
      "EntitySchemaUId": "1f9bb71a-eb9c-4220-a40e-9b623eacfec8",
      "Mappings": [],
      "NotificationCaption": {
        "TypeName": "Terrasoft.Core.Process.ProcessSchemaParameter",
        "UId": "cdd58be7-2dba-4a5e-869b-1ad5d6d7513a",
        "Name": "NotificationCaption",
        "CreatedInSchemaUId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
        "ModifiedInSchemaUId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
        "DataValueType": "8b3f29bb-ea14-4ce5-a5c5-293a929b6ba2",
        "SourceValue": {
          "Source": 3,
          "Value": "[#[PropertyValue:Caption]#]"
        }
      },
      "FlowElements": [
        {
          "TypeName": "Terrasoft.Configuration.MarketingEmailElement, Terrasoft.Configuration",
          "UId": "2fc1fc81-629d-4c83-9932-0fa0609d7754",
          "Name": "MarketingEmail1",
          "CreatedInSchemaUId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
          "ModifiedInSchemaUId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
          "CreatedInPackageId": "b9e0a92c-eb1e-4b05-ae29-0d4845242e29",
          "ContainerUId": "bd0ac34a-1036-48d7-b196-79707e0ad01a",
          "Position": "240;225",
          "Size": "69;55",
          "MarketingEmailId": "2371319a-ceb4-420a-82a1-a1a64fa8f342"
        },
        {
          "TypeName": "Terrasoft.Configuration.BSDeliveryElement, Terrasoft.Configuration",
          "UId": "c3cc6526-de41-474f-a6fc-bc89ec4159a6",
          "Name": "BSDelivery1",
          "CreatedInSchemaUId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
          "ModifiedInSchemaUId": "68e7407a-2b0c-4d74-a64d-d9538cfdac09",
          "CreatedInPackageId": "b9e0a92c-eb1e-4b05-ae29-0d4845242e29",
          "ContainerUId": "bd0ac34a-1036-48d7-b196-79707e0ad01a",
          "Position": "462;241",
          "Size": "69;55"
        }
      ],
      "EntityId": "65e2191f-6ad3-412b-96d6-e89202afaca7"
    }
  }
}

 

Нравится

2 комментария

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

Значение поля может не сохранятся если:

1. Неправильно реализованы методы ApplyMetaDataValue или WriteMetaData 

2. Обязательно наличие атрибута для поля

3. Неправильно указан тип поля

На сколько я понимаю, вы добавляете справочное поле - DeliveryId. В базовой схеме MarketingEmailElement можно посмотреть реализацию для справочного поля MarketingEmailId и сравнить со своей реализацией.

Demchenko Olha пишет:

Добрый день, а уникальный идентификатор в атрибуте его генерировать случайным образом или его надо брать какой-то конкретный? 

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

Добрый день!



Интересует вопрос: как показать модальное окно с картинкой? Точнее что для этого необходимо. Для примера взял https://marketplace.terrasoft.ru/app/new-year-motivation-bpmonline (процесс как раз показывает картинки), но не могу до конца разобраться что из всего является обязательным. По сути у меня уже есть справочник с картинками и описанием. Дальше надо в БП вызвать собственно само модальное окно (из картинки и текста). Для этого нужная страница этого модального окна и все? И как тогда его вызывать из БП?

Нравится

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

Быстров Сергей,

Вы правы, к сожалению, вызвать модальное окно пользовательскими средствами, используя существующую функциональность элементов процесса [Преднастроенная страница] и [Автогенерируемая страница] нельзя sad

Пример работы с модальным окном приведен в этом посте.

Если говорить о примере с картинками, который Вы приводили, то там для вызова окна с картинкой реализовано специальное действие процесса 'Показать окно с картинкой'.

А непосредственно вызов модального окна реализован в UsrImageScreenUtilities в функции openImageScreen.

Для решения Вашей задачи Вы можете либо вызвать уже реализованное кастомное модальное окно, используя элемент процесса [Преднастроенная страница], либо использовать элемент [Автогенерируемая страница] для настройки нужного окна.

Алла Савельева,

Но это вызывает страницу на весь экран, а мне хотелось бы показать маленькую картинку поверх других окон (около трети всего экрана). Или такими способами можно и такое окно открыть, а не обязательно на весь экран?

Есть отдельная сущность, модальное окно. Функции для работы с ним  — в схеме LookupUtilitiesV2.

Быстров Сергей,

Вы правы, к сожалению, вызвать модальное окно пользовательскими средствами, используя существующую функциональность элементов процесса [Преднастроенная страница] и [Автогенерируемая страница] нельзя sad

Пример работы с модальным окном приведен в этом посте.

Если говорить о примере с картинками, который Вы приводили, то там для вызова окна с картинкой реализовано специальное действие процесса 'Показать окно с картинкой'.

А непосредственно вызов модального окна реализован в UsrImageScreenUtilities в функции openImageScreen.

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

Доброго дня!



Предположим, что есть контрагент ООО "Сад и огород".

У этого контрагента есть 4 заказа в истории заказов со следующими продуктами в заказе.



Заказ №1 Яблоки, Груши, Картофель

Заказ №2 Сливы, Груши, Картофель

Заказ №3 Яблоки, Картофель, Сливы

Заказ №4 Груши, Картофель

В разделе "Заказы" создана деталь отображающая продукты в последнем заказе по данному контрагенту, т.е. в заказе №4 видны "продукты в заказе" заказа №3, в заказе №3 видны "продукты в заказе "заказа №2 и.т.д. Сейчас сформирован заказ №5 на Яблоки и Сливы.



А теперь сам вопрос: Есть ли возможность настроить фильтрацию (создать бизнес-процесс) для этой детали таким образом , чтобы в ней отображались предыдущие заказы только по продуктам в текущем заказе? Т.е. если в новом заказе "продукт в заказе" Яблоки и Сливы, то следовательно в детали должны отображаться последние заказы либо с Яблоками, либо со Сливами, либо с Яблоками и Сливами вместе.

 

Нравится

2 комментария

Попробуйте посмотреть в этой теме и сделать аналогично для своего кейса https://community.terrasoft.ru/articles/primery-filtrov-v-detali

Бизнес-процесс к фильтрации не относится.

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

Либо же разбираться с нестандартной фильтрацией на детали, как тут.

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

Здравствуйте! Ребята, кто сталкивался, подскажите, как в коннекторе Софтекса к Октелл передать значение набранного номера при входящем звонке?

Суть задачи, в зависимости от того на какой номер-телефонную линию(например 0445556667) позвонил клиент,  дальше запускать определенные процессы. Но к сожалению, в коннекторе выведены поля "Номер от" и "Номер кому", которые при входящем звонке показывают |Номер От - номер клиента, который позвонил|, а /Номер Кому - внутренний номер сотрудника, который поднял, например 110. Как нам получить номер линии, на которую позвонил клиент к нам в офис, например 044-555-666-7 при входящем звонке. Спасибо!

РS.Переписывались с разработчиком, компанией СОФТЕКС, они сами не знают, как я предполагаю, привлекали программистов к разработке, поэтому сами в этом продукте ничего не понимают!

Если кто еще не купил коннектор, не советую Вам этот коннектор, так как по факту в нем нет поддержки, отвечают на вопросы как боты в фейсбуке. Очень не серьезные ребята...Вместо того чтобы разобраться, помочь и решить проблему, один ответ на все - мы не знаем ничего о нашем коннекторе, спросите в Октеле ...хотя причем тут Октелл к коннектору - непонятно...

 

Нравится

1 комментарий

Дмитрий, для выяснения логики работы интеграции нужно посмотреть, какие данные передаёт Oktell. Если только два этих номера, то получить третий неоткуда.

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

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