Добрый день.

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

Прикрепленные файлы

Нравится

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

Здравствуйте, Иван!

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

Примечание. после применения переводов необходимо перезайти в систему - тогда изменения вступят в силу.

Дарина, здравствуйте!

Мы реализовывали Ваш кейс следующим образом:

- нашли соответствующую запись в Переводах - https://prnt.sc/hyys9e

- применили переводы

- перезашли в приложение

В результате название кнопки изменилось - http://prntscr.com/hyyvkq

Если Вы действовали по описанному алгоритму, и название кнопки не изменилось, напишите нам в службу поддержки на support@terrasoft.ru для более детального рассмотрения Вашего кейса.

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

Добрый день!

На маркетплэйсе в данный момент существует только одно решение по интеграции скриптов телефонных продаж в CRM (коннектор скриптдизайнер).

Скажите пожалуйста, быть может кто-то пробовал реализовывать скрипты продаж своими способами (может даже внутренними средствами bpm: через бизнес-процессы)?

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

Нравится

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

Здравствуйте, Александр!

Для решения вашей бизнес цели Вы можете использовать базовый функционал bpm'online, например, создать бизнес процесс, который будет запускаться по сигналу Звонок. После чего будет выполнять переход по созданным страницам (элемент "Автогенерируемая страница"). 

Альтернативный вариант, чтобы не нагружать систему по "сигналу Звонок" Вы можете назначить операторам организационную роль "Оператор КЦ", тогда на CTI - панели будут отображаться бизнес процессы которые можно запускать во время звонка. Указываются в справочнике "Действия cti панели".

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

Нужно сделать самую обычную колонку в реестре в которой бы отображалось 2 значения в зависимости от того что есть на детале. Можно ли сделать виртуальную колонку? или делать колонку в объекте и ее пересчитывать при изменении записей на детале?

Нравится

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

Виталий, добрый день!

Не совсем понял вопроса, можно описать кейс поподробнее?

И что вы подразумеваете под "виртуальной колонкой" и как вы собираетесь её показывать в реестре?

Тёскин Дмитрий Валерьевич,

Колонка вычисляется из других колонок, данные из колонки нигде не хранятся. Эта колонка должна быть в реестре раздела.

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

Так вы сможете не только отобразить колонку в реестре, но и фильтровать по ней в фильтрах

Владимир Соколов,

Так и будет, че это я прицепился вычисляемой колонке... Че только не взбредет в 12 ночи...

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

Коллеги, доброго времени суток. Версия 7.11.

Хотелось бы прояснить вопрос с запуском бизнес-процесса из задания-сценария. Сразу оговорю, вариант с элементом "Подпроцесс" не подходит, т.к. планируется получение выборки данных запросов по нескольким условиям с дополнительными манипуляциями, что возможно делать только внутри Script Task.



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



Нашёл вот такую тему: https://community.terrasoft.ru/questions/zapusk-bp-iz-elementa-zadanie-…



Внутри другого процесса в скрипт таске вызываю следующий код:



var userConnection = Get("UserConnection");

/* тут всякие манипуляции */



Dictionary parameters = new Dictionary();

parameters["UsrTestParameter"] = UsrCaseId.ToString();

processExecutor = userConnection.ProcessEngine.ProcessExecutor;

processExecutor.Execute("UsrStartTestProcess", parameters);



При компиляции процесс выдаёт ошибку: The name 'processExecutor' does not exist in the current context на строчке processExecutor = userConnection.ProcessEngine.ProcessExecutor;



Что я делаю не так? Что ещё должно быть подключено?

Нравится

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

Денис, привет!

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

var user = UserConnection;
var processSchemaManager = (ProcessSchemaManager)user.GetSchemaManager(@"ProcessSchemaManager");
var processSchema = processSchemaManager.GetInstanceByName(@"ProcessName");
var process = processSchema.CreateProcess(user);
process.SetPropertyValue(@"ContactId", ContactId);
process.Execute(user);

 

Приветствую, Денис!

Запустить бизнес-процесс с элемента задания-сценария можно написав в текст сценария следующий код:

UserConnection userConnection = Get<UserConnection>("UserConnection");
var manager = userConnection.ProcessSchemaManager;
var processSchema = manager.GetInstanceByName(@"UsrStartTestProcess");
var process = processSchema.CreateProcess(userConnection);
if (processSchema.Parameters.ExistsByName(@"UsrTestParameter"))
{
    //здесь выполняется передача параметров в БП, где parameters - коллекция в текущем БП, UsrTestParameter - коллекция в запускаемом БП
    process.SetPropertyValue(@"UsrTestParameter", parameters);
}
process.Execute(userConnection);

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

Кормильцев Андрей,

Андрей, спасибо! Похоже, работает.

Если ещё будут вопросы, я задам в Техподдержке.

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

Всем доброго времени суток.

Версия 7.11.

В сценариях бизнес-процессов можно писать запросы к базе, и задавать при этом фильтры, например:

var esqAgentFilter = esqClient.CreateFilterWithParameters(FilterComparisonType.Equal, "UsrAgent", UsrAgentId);

Существует ли в БП аналог createColumnInFilterWithParameters? К примеру, мне нужен запрос двух уровней: сначала я ищу записи в одном объекте, и нахожу несколько записей, соответствующих запросу, после чего мне нужно в другом объекте найти все записи, которые соответствовали всем найденным в первом запросе.

Обычно с этим справляется как раз createColumnInFilterWithParameters, но есть ли он в БП?

Нравится

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

Денис, добрый день!

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

Денис, добрый день

Аналогичного элемента нет. Есть 2 варианта:

1. Использовать сценарий

2. Реализовать свой собственный элемент, который будет делать то что вам нужно

 

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

Доброго времени суток,

Я бы хотел попросить помощи в реализации подобного SQL запроса через entitySchemaQuery на фронт енде

Select id,
       name
from TableA 
where 
    accountId = '777' 
    and (name <> 'Igor' 
         OR name <> 'Alex') 

Из того что я пробовал

var esQuery = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "TableA" });
				esQuery.addColumn("Id");
				esQuery.addColumn("Name");
 
var esqMainFilter = esQuery.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "account", "777");
 
var esqFirstFilter = esQuery.createColumnFilterWithParameter(Terrasoft.ComparisonType.NOT_EQUAL, "Name", "Igor");
var esqSecondFilter = esQuery.createColumnFilterWithParameter(Terrasoft.ComparisonType.NOT_EQUAL, "Name", "Alex");
 
 
var secondaryFilter = Terrasoft.createFilterGroup();
secondaryFilter.logicalOperation = Terrasoft.LogicalOperatorType.OR;
secondaryFilter.add("esqFirstFilter", esqFirstFilter);
secondaryFilter.add("esqSecondFilter", esqSecondFilter);
 
 
esQuery.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
esQuery.filters.add("esqMainFilter", esqMainFilter);
esQuery.filters.add("esqSecondaryFilter", secondaryFilter);

Спасибо!

Нравится

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

Добрый день, 

Вот пример похожего запроса через entitySchemaQuery на клиенте

esQuery = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Contact" });
esQuery.addColumn("Name");
 
var esqMainFilter = this.Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Account", "b3f737a4-d95b-4c87-9082-8d0deb421882");
esQuery.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
esQuery.filters.addItem(esqMainFilter);
 
var esqFirstFilter = this.Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.NOT_EQUAL, "Name", "test2");
var esqSecondaryFilter = this.Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.NOT_EQUAL, "Name", "test3");
 
var filterCollection = this.Terrasoft.createFilterGroup();
filterCollection.logicalOperation = Terrasoft.LogicalOperatorType.OR;
filterCollection.addItem(esqFirstFilter);
filterCollection.addItem(esqSecondaryFilter);
 
esQuery.filters.addItem(filterCollection);
esQuery.getEntityCollection();

используем this.Terrasoft.createFilterGroup() для того что бы добавить группу фильтров с OR.

выполнив этот запрос в консоли браузера профайлером отловила запрос который пришел в БД, выглядит он следующим образом:

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

Есть процесс, который при добавлении "Обращения" его изменяет и устанавливает "Группу ответственных".

Так вот если обращение создал портальный пользователь то данное поле не заполняется, как так?

Нравится

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

Добрый день, Евгений!

 

Речь о базовом процессе или о каком-то вашем кастомном? Если о кастомном, то нужно, как минимум, посмотреть на него. Можете выложить схему или скриншоты здесь, или обратится для анализа в техническую поддержку на адрес support@terrasoft.ru 

Адасюк Валерий Викторович,

Кастомный. Там все просто и тривиально, читаем обращение если оно соответсвует фильтру, то измени его.

Грубо говоря.

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

Под всеми работает, а под порталом не работает.

Евгений.,

А процесс вообще запускается? Поля, на основании которых должна быть установлена группа ответственных Сервис и сервисный договор заполнены в обращении? С какой ошибкой падает процесс (в логе можно посмотреть)? На каком элементе останавливается?

Адасюк Валерий Викторович,

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

Евгений.,

В таком случае нужен доступ на среду с данным процессом для выявления причин. Напишите запрос на 

 support@terrasoft.ru с описанием проблемы и рамках технической поддержки проблема будет проанализирована и решена.

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

Добрый день.

Мне необходимо заблокировать (сделать не доступный для редактирования) поле "Решение" в разделе "Обращение". 

По условию:

Поле "Состояние обращение" = Решено

Поле "Решение" заполнено.

Подскажите пожалуйста как это сделать.

Нравится

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

Добрый день, Евгений!

Для решения своей задачи Вы можете воспользоваться базовым функционалом в виде бизнес-правил. А именно использовать правило [Делать поле редактируемым]. С информацией о том, как добавить условие выполнение правила Вы можете здесь: https://academy.terrasoft.ua/documents/sales-enterprise/7-11/kak-dobavi… и с информацией о том, как добавить действие бизнес-правила Вы можете здесь: https://academy.terrasoft.ua/documents/sales-enterprise/7-11/kak-dobavi…

Адасюк Валерий Викторович,

Валерий, спасибо. Но в бизнес правилах нет условия "Сделать заблокированным", там как вы и говорите правило  [Делать поле редактируемым], а мне нужно обратное действие

 

Евгений.,

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

Адасюк Валерий Викторович,

Валерий, что-то это не отрабатывает.

Возможно из-за того что на поле "Решение" наложена логика (код). Так-как это поле даже не выведено на страницу, вместо него контейнер, а к контейнеру нельзя обращаться через бизнес-правила

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

В блоке insert/merge поля Solution необходимо добавить свойство enabled и связать его с методом:

"enabled": {"bindTo": "SetSolutionEnabled"}

В методе SetSolutionEnabled описать логику доступности поля, например:

SetSolutionEnabled: function() {

         return this.get("IsMessageHistoryExists")=="id значения Решено"

}

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

Настроили простенький процесс, который открывает форму отправки email.

Проблема:

в поле "От кого" не проставляется значение

При этом, если сидеть под админом то поле заполняется.

 

Нравится

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

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

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

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

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

Спасибо.

Кормильцев Андрей,

Спасибо помогло

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

Доброго времени суток.

Есть проблема: не запускается сайт. Выдается следующая ошибка(на рисунке):

Ошибка сервера в приложении '/.

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

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

Работаю на ОС Windows 10

Но сайт нормально функционирует на ОС Windows Server 2012.

Может кто-то сталкивался с подобным?

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

Прикрепленные файлы

Нравится

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

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

 

Можете посмотреть решения подобных проблем на соответствующих профильных ресурсах в темах:

1. https://forums.asp.net/t/2116695.aspx?Unable+to+load+one+or+more+of+the…+

2. https://connect.microsoft.com/VisualStudio/feedback/details/607280/syst…

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

 

Проблему решил установкой net framework 4.7. До этого была версия 4.6.2.

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