Коллеги, здравствуйте. 

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

Если кто имеет понятие каким образом правильно выстроить этот БП в bpm, буду очень благодарен.

Заранее спасибо!

 

Нравится

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

Здравствуйте, Роман!

Бизнес-процес для вашей ситуации может выглядеть следующим образом (скриншот 1):

1.Для запуска БП, начальным событием будет сигнал от обьекта, в нашем случае это "Добавление нового контрагента" (скриншот 2);

2.С помощью действия системы [Изменить данные], мы ищем нашего нового контрагента по Id, и устанавливаем ему 

значение поля "Тип контрагента" - Клиент (скриншот 3).

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

Для этого Вам нужно:

1. Перейти в [Управление конфигурацией](скриншот 4);

2. Выбрать вкладку [Конфигурация];

3. Дальше [Схемы]-[Добавить]-[Замещающий обьект] (скриншот 5);

4. В Структуре выбрать "UsrEntity1", в свойствах [Родительский обьект] указать "Контрагент" (скриншот 6);

5. Затем в структуре перейти на вкладку [Type] - [Поведение]-[Значение по умолчанию]-[Установить константу] и в поле выбора значения

выбрать неоходимое (скриншот 7).

Роман,

У поля "Тип" объекта "Контрагент" можете выставить свойство "Значение по умолчанию", равное значению "Клиент".

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

Коллеги, привет!

Кто как решает проблему импорта "больших" данных в облачную CRM?

Нам нужно загрузить 1 000 000 записей в таблицу, при этом стандартные средства импорта ограничивают размер импортируемого файла 10 мб. В моём случае получается 4 файла по 250 000 записей. В принципе, преемлимо, но импорт длится вечность - ещё не удалось загрузить не 1. При этом ТП говорит, что загружать больше 50 000 записей за раз не рекомендуется. Это 20 операций импорта. Разве это промышленное решение?

Нравится

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

Здравствуйте, Вадим

Я передал Ваше пожелание аналитикам продукта на рассмотрение и анализ возможности оптимизации данного функционала в будущих версиях приложения.

Как вариант Вы можtnt разработать интеграцию с помощью Odata или DataService описаных в статье Академии Террасофт по ссылке https://academy.terrasoft.ru/documents/technic-sdk/7-11/integraciya-s-s… и "перегонять" данные с помощью данной интеграции.

Здравствуйте, Вадим!

Согласно заявленным требованиям к файлу импорта максимальное количество импортируемых строк в файле не должно превышать 50 000. Это количество, при котором файл импортируется без проблем.

Если данное количество не устраивает Вы можете реализовать собственный импорт используя веб службу Data Service или с помощью OData.

Новак Руслан пишет:

Если данное количество не устраивает Вы можете реализовать собственный импорт используя веб службу Data Service или с помощью OData.

Хороший вариант для приложения на Marketplace 

Коллеги, каким образом обеспечить проверку на уникальность импортируемых записей, в случае с o'Data?

Добрый вечер.

Данный вопрос можно решить несколькими способами:

1. На объекте можно добавить обработчик на событие "Перед добавлением записи" и в елементе "задание сценарий" реализовывать нужную проверку.

2. Добавить тригер на добавление записи в БД.

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

VladKapitanchyk,

Спасибо!

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

Добрый день.

Следую инструкции https://academy.terrasoft.ru/documents/marketing/7-11/ustanovka-servisa-globalnogo-poiska застрял на пункте 6. "Предварительные настройки конфигурационных файлов".

Не могу найти значения, которые нужно указать в конфиг-файлах компонентов

  • GlobalSearch.WebApp

  • GlobalSearch.WindowsService

  • GlobalSearch.Worker.WindowsService

Есть более подробное описание по настройке этих файлов или конкретный пример со значениями?

Нравится

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

Здравствуйте, Максим!

 

Для компонента GlobalSearch.WebApp, вам необходимо указать такие значения:

RabbitMq  - формат amqp://логин:пароль@rabbit-url:amqp_port/ где amqp_port – это порт api rabbitmq. Увидеть его можно в админ панели rabbitmq во вкладке overview:

ApiKey – пустая строка «»

DbName — название БД. – не используется

DbServerName — название сервера БД. - не используется

ElasticSearchUrl — URL к серверу ElasticSearch. Пример http://ru1-es-bpm.bpmonline.com:9201/

ConfigFolder – путь к доступной директории в файловой системе. Пример \\tscore-dev-15\GSSConfigs

 

Для компонента GlobalSearch.WindowsService.exe.config, необходимо указать такие значения:

DataCenterName = OnSiteDataCenter -  имя датацентра, в котором работает сервис.

DBServerNameTemplate – {0} - шаблон названия сервера БД

 

Все другие значения, которые указаны в инструкции на Академии https://academy.terrasoft.ru/documents/marketing/7-11/ustanovka-servisa-globalnogo-poiska?_ga=2.15657590.1384539171.1517901712-1106679796.1517901712#XREF_10690_bat есть в конфигурационных файлах.

 

Спасибо за обращение в службу поддержки Terrasoft.

Анна Журавель, здравствуйте.

Спасибо за помощь в настройке конфигов. Теперь столкнулся со следующей проблемой: 

https://academy.terrasoft.ru/documents/marketing/7-11/opisanie-api-servisa-globalnogo-poiska#XREF_17963_API

 здесь дан пример кода. Вот что у меня получилось

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

Почему может не находиться метод addsite?

 

 

Здравствуйте, Максим!



Судя по Вашим скриншотам, вы не совсем правильно сформулировали POST запрос и не прописали ApiKey и SiteName.

Данный POST запрос должен идти не к ElasticSearch, а к Global Search Service. В POST запросе необходимо указывать адрес сервиса который указан в IIS,а не путь к файлам сервиса.

В инструкции на Академии (https://academy.terrasoft.ru/documents/marketing/7-11/opisanie-api-servisa-globalnogo-poiska?_ga=2.128212741.845169317.1518421536-1106679796.1517901712#XREF_17963_API) указано, какие значения нужно присвоить параметрам ApiKey и SiteName, а именно :

•ApiKey — ключ авторизации (указывается в Web.config). Указывать нужно если не указали в этом файле.

•SiteName — название Вашего сайта.

Кроме этого, обращаем Ваше внимание на то, что Global Search Service нужно развернуть как отдельный сайт в IIS, а не как приложение сайта bpmonline.

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

Добрый день, коллеги!

Установлен bpm'online на сервере 2012 R2, в папке temp нет папки BPMonline. Вопрос - куда пишутся логи и пишутся ли они?

Нравится

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

Добрый день! По умолчанию путь для Log-файлов следующий:

C:\Windows\Temp\BPMonline\site x, где x - номер сайта в iis.

Обращаю Ваше внимание, что папка [Temp], находится в папке [Windows].

Также можете проверить, включено ли логирование в файле log4net.config в папке приложения. 

Большое спасибо!

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

Добрый день!

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

Нравится

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

Марат, добрый день.

Вы можете настроить отображение в дизайнере системы - Настройка рабочих мест.

Добрый день, Марат!

Добрый день!

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

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

И как его скрыть в этом случае?

 В разделе "Настройка рабочих мест" убрать данный раздел для той роли, которая не должна его видеть (в некоторых случаях может понадобиться создать два рабочих  места: 1 - с этим разделом для одной группы пользователей и 2 - без этого раздела).

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

Добрый день!



Подскажите, пожалуйста, как при смене статуса вручную на ActionsDashboard запустить валидацию на заполненность определенных полей?

И в случае, если всё заполнено, то сохранить карточку продажи с новым статусом, а если не заполнено, то сделать поля обязательными и не давать сохранить, пока они не заполенны?

Нравится

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

Владимир, добрый день.

Для примера рассмотрим реалзиацию для объекта Обращения.

Одним из возможных вариантов реализации будет следующий:

1.На странице [Обращения], открыть мастер раздела и во вкладке [Решение и закрытие], добавить новое текстовое поле типа "Строка"

Например с названием "Причина перехода на следующую стадию" http://prntscr.com/i97vb7

2.Перейдя в мастере раздела на [Бизнес правила], создадим новое БП  http://prntscr.com/i97viu

Это правило говорит, что при изменении состояния обращения с "Новое" на "В работе",

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

Обращаем Ваше внимание, что при создании БП в графе [Какое поле делать обязательным] следует указать название требуемой к заполнению строки из БД http://prntscr.com/i97vvk

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

он будет получать уведомление о том, что не заполнено обязательное поле указания причины http://prntscr.com/i97w4x 

При переходе по actiondashboard'у выполняется сохранение записи и валидация заполненных полей.

Спасибо, Андрей!



При реализации возникла проблема в связи с различиями в поведении ActionsDashboard и lookup-поля:



Имеется справочник QualifyStatus, он выведен на страницу LeadPageV2 через ActionDashboard, в разделе attributes страницы указаны дополнительные колонки кроме id и value:

"QualifyStatus": {

    lookupListConfig: {

        columns: ["Name", "StageNumber", "UsrIsTaken", "UsrIsOpportunity", "UsrIsDisqualified"]

    }

}

Но они не доступны в коде страницы работы через this.get("QualifyStatus"). Если же добавить на страницу Lookup с QualifyStatus и работать со справочником через него то данные поля становятся доступны

Кроме того, при неудачной валидации статус на ActionsDashboard перескакивает обратно, что не совсем логично

Добрый вечер.

Т.е. this.get("QualifyStatus") возвращает объект в котором нет указанных колонок?

Именно 

Добрый вечер.

Мне не удалось воспроизвести ваш кейс все корректно отрабатывает. Так что проблема не в коробке. Рекомендую проанализировать состояние объекта сразу после инициализации схемы и в момент вашего вызова, может «по пути» затираются его свойства.

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

Мне нужно в разделе продажи создать деталь "фильтр".

Деталь должна иметь такой же внешний вид, как у группы полей. 

Этими полями будут 4 справочника.  Необходимо отловить события изменения этих справочников.   

 

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

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

1. Хотя создал объект для детали,  поместил в него справочник привязанный к справочнику продаж с автозаполенением на уровне приложения. А также сделал связи по остальным своим 4-ым. справочникам.

2. Создал деталь, наследуя от "Базовая деталь".

3. Зарегистрировал эту деталь, через SQL

4. Добавил ее как обычную деталь, по Продажи и Id

 

 

Нравится

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

Под вторым пунктом Вы имеете в виду, что создали "Схему модели представления детали с реестром" и в ней унаследовались от "Базовая схема детали с реестром ( NUI )"?

Alex Zaslavsky,  "Базовая схема детали с реестром ( NUI )"  нет, посчитал, что это нужно именно для реестра. А мне нужно сделать по внешнему виду деталь аналогично как у группы полей, только, чтобы это была деталь. (Ответил из под второго акк)

atyurin,

А, я Вас неправильно понял. Даже не знаю чем помочь. У меня такое было, когда я однажды неправильно сделал регистрацию детали при помощи SQL запроса. Нужны хоть какие-то скрины схемы, детали, запроса.

Добрый день. Судя по описанию вы выбрали неверного родителя для схемы детали. Попробуйте создать деталь согласно статьи https://academy.terrasoft.ru/documents/technic-sdk/7-11/sozdanie-polzov…. Если у вас возникнут затруднения, пожалуйста, напишите на support@terrasoft.ru с предоставлением доступа к вашей среде для проведения отладки.

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

Добрый день.

Подскажите, пожалуйста, где редактируется данное меню http://prntscr.com/i925jy .

Заранее благодарен

Нравится

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

Здравствуйте, Станислав

Пользовательскими средствами приложения изменить набор пунктов данного модуля возможности нет, но Вы можете переопределить схему "LeftPanelTopMenuModule" из пакета "NUI" таким образом чтобы отображать необходимые Вам пункцты меню соориентироваться можно по методу loadItemsQuickAddMenu

Denys Diachenko,

Большое спасибо

В версии 7.11 есть такая таблица QuickAddMenuItem в ней и есть список того что выпадает в списке, и не надо переопределять схему LeftPanelTopMenuModule, там уже есть добавленные элементы, на примере них можно добавит свой. Только подтягивается вроде после перелогина в систему

Навроцкий Максим,

Спасибо

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

Есть код типа:

var Offset = Ext.get(OffsetId);

var BackgroundColor = "#FFFFFF";

if (OffsetValue > 10) { BackgroundColor = "orangered"; }

if (OffsetValue >= -10 && OffsetValue <= 10) { BackgroundColor = "Gold"; }

if (OffsetValue < -10) { BackgroundColor = "LimeGreen"; }

Offset.setStyle("background-color", BackgroundColor);

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

Как подписаться на событие прорисовки, или как сделать цвет постоянным? Может можно задать класс и повесить его в атрибут? а его менять уже? Как это можно реализовать?

Нравится

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

Добрый день

Вам нужно ловить момент после перерисовки, а то в dom еще не будет элемента.

Есть событие afterrender и afterrerender. Первое срабатывает при первом рендера, а второе при "повторных" (смена активной вкладки на странице)

"operation": "merge",
"name": "ClosureCode",
"values": {
	"afterrender": {"bindTo": "renderComponent"},
	"afterrerender": {"bindTo": "renderComponent"}
}

А в методе renderComponent уже сделать то, что вам нужно

Артем Гура, Работает! Благодарю!

 

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

Коллеги, Добрый день.

При авторизации пользователь автоматически попадает на главную страницу в системе.

Возможно ли изменить при входе пользователя стартовую страницу на объект ИТОГИ?

То есть при входе в систему пользователь автоматически попадает в ИТОГИ.

Или же на главной странице расположить некоторые виджеты?

 

Заранее спасибо

 

Нравится

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

Здравствуйте, Екатерина

Вы можете регулировать данный параметр на странице записи пользователя в поле "Домашняя страница" более подробно о этом описано с татье Академии Террасофт по ссылке https://academy.terrasoft.ru/documents/sales-enterprise/7-11/stranica-p…

Denys Diachenko, спасибо за информацию.

Есть ли возможность всё же на главную страницу вывести некоторые графики, показатели из блока аналитики или же итоги? 

Смолина Екатерина Михайловна,

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

Denys Diachenko, спасибо - это из контекста было понятно сразу.



Но вопрос можно ли на главную страницу вывести конкретный график или отчёт? Не менять на другой раздел стартовую страницу. 

 

Екатерина, пользовательскими средствами нельзя отобразить график на главной странице

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