Вопрос

Добрый день! Возможно ли в интерфейсе BPM Online настроить уведомления в почту о том, что есть незакрытые активности?

Например: в системе была заведена активность "встреча" на понедельник. В понедельник эта встреча прошла, но пользователь забыл поставить статус в этой активности "Завершена". Необходимо, чтобы система во вторник, после проведения встречи направила пользователю уведомление в системе о том, что у него есть активность, плановое завершение которой прошло, но при этом она не завершена

У меня такой же вопрос

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

Если взять простой вариант без разработки, то вы можете добавить логическое поле с название Просрочена. Затем создать бизнес процесс с запуском по таймеру каждое утро, который для всех активностей которые не завершены и дата завершения < Сегодня проставит галочку в поле просрочена. Ну и еще один бизнес-процесс, который будет срабатывать на изменение поля Просрочено и отправлять сообщение с нужным вам текстом.

Сидоров Александр Валерьевич,

Александр, спасибо за ответ! Скорее всего такой вариант устроит.

Не могли бы Вы подсказать где можно найти более подробную инструкцию по созданию логических полей и бизнесс процессов?

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

А в этой статье есть готовое решение Вашей задачи:

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

Если просроченных задач очень много, то можно отправлять список одним письмом, используя добавление таблицы с задачами в текст письма с помощью дополнения https://marketplace.terrasoft.ua/template/data-table-e-mail-bpmonline

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

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

таблице со столбцами

Ответственный | Количество активностей

У меня такой же вопрос

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

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

За основу можете взять пример воронки продаж в дешбордах - там тоже реализована возможность фильтрации периода.

Также посмотрите статью на Академии по добавлению пользовательского виджета итогов.

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

За основу можете взять пример воронки продаж в дешбордах - там тоже реализована возможность фильтрации периода.

Также посмотрите статью на Академии по добавлению пользовательского виджета итогов.

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

Был создан бизнес-процесс, в нем создается активность типа "Выполнить задачу" с названием "Провести презентацию". В ней есть привязка процесса к обьекту. Запускается она по событию изменения стадии (в условии фильтр: "по процессу = да", "Id = Id текущей продажи". После перезагрузки страницы (чистки кэша) плитка появляется. Самое интересное что другие активности появляются нормально, до этой в предыдущем процессе и после нее нормально тоже в этом же процессе. Если отключить "по процессу = да" в сигнале - все идет нормально и появляется тоже

 

У меня такой же вопрос

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

Там, где комментарий «Привязка процесса к объекту» точно всё в порядке? Может, там элемент-разветвление забыли?

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

это модифицированный стандартный процесс, в той части он так и был

Так «был создан бизнес-процесс» или таки «модифицированный стандартный процесс»?wink

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

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

 создан на основе стандартного. Таймеров нет, иногда нормально появляется иногда нет, в том и проблема что без закономерности

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

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

Подскажите, как сделать, чтобы емейлы, приходящие на почту сотрудника отображались в его календаре активностей. При этом важно, чтобы отображались только те емейлы, контакты которых есть в CRM. То есть емейлы от всяких рассылок и прочего мусора не нужно отображать. 

Соответственно, если сотрудник написал исходящий емейл - он тоже должен отображаться в его календаре. 

У меня такой же вопрос

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

Попробуйте использовать встроенные бизнес-процессы объекта "Активности" (подробнее про встроенные бизнес-процессы тут: https://academy.terrasoft.ua/documents/technic-sdk/7-12/primer-ispolzovaniya-vstroennogo-processa-obekta-dobavlenie-avtonumeracii-k-polyu-stranicy, раздел "Алгоритм реализации кейса на стороне сервера").

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

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

Добрый день, известно, что для активностей можно сделать разные страницы для каждого из ее типов. Создал я тип Активности "Звонок" и создал для нее собственную страницу. Вопрос: как привязать то, что для типа активности "Звонок" создана новая страница к пакету?

У меня такой же вопрос

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

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

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

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

Demchenko Olha,

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

Victor Ivanitski,

Для привязки вашей страницы, нужно добавить запись в таблицу SysModuleEdit, где в CardSchemaUId указать UId вашей страницы из таблицы SysSchema.

Пример скрипта для выборки существующих привязанных страниц к Активности:
select * from SysModuleEdit where SysModuleEntityId in (select Id from SysModuleEntity where SysEntitySchemaUId in (select Uid from SysSchema where Name like 'Activity'))
 

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

Здравствуйте! Подскажите, пожалуйста, можно ли в местах, отмеченных на скриншоте добавить кнопки "Завершить" и соответствующий процесс?

У меня такой же вопрос

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

Здравствуйте, Мария.
Добавить кнопку "Завершить" в активную строку таблицы (Datagrid) можно.
В элементе Datagrid для этого предусмотрен параметр activeRowActions.
Пример его применения можно посмотреть
https://academy.terrasoft.ru/documents/technic-sdk/7-9/sozdanie-detali-…, там речь про деталь, но в Datagrid как раз добавляются кнопки.
Запуск соответствующего процесса по кнопке можно посмотреть здесь
https://academy.terrasoft.ru/documents/technic-sdk/7-9/zapusk-processa-…
Вот про второй пункт... К сожалению, не сталкивался...

"Maria H" написал: кнопки "Завершить" и соответствующий процесс?

"Лапшин Павел Александрович" написал: К сожалению, не сталкивался...

ПО поводу 2 пункта: Ломаем схему ReminderNotificationsSchema, в diff ищем

{
	"operation": "insert",
	"name": "ActionsButtonPostpone",
	"parentName": "NotificationActivityItemContainer",
	"propertyName": "items",
	"values": {
		"itemType": Terrasoft.ViewItemType.BUTTON,
		"classes": {
			"wrapperClass": ["notificationActionButtonWrap-class"]
		},
		"style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
		"menu": {
			"items": [{
				"caption": {"bindTo": "Resources.Strings.PostponeMenuItemCaption"},
				"menu": {
					"items": {"bindTo": "getNotificationActionButtonMenuItems"},
					"tag": "postpone"
				}
			}, {
				"caption": {"bindTo": "Resources.Strings.CancelMenuItemCaption"},
				"click": {"bindTo": "cancel"}
			}]
		}
	}
}

Накидываем в "menu" свою кнопку и обработчик.

Спасибо за помощь, второй пункт получился :smile:

а в первом случае при использовании activeRowActions возникает ошибка :

Uncaught Terrasoft.InvalidOperationException: Элемент "DataGrid" не должен содержать параментра "activeRowActions"

Подозреваю, что вы пытаетесь сделать merge. Скорее всего так не получится. Попробуйте как в baseSection:

diff:
{
	"operation": "insert",
	"name": "DataGridStopActivityAction",
	"parentName": "DataGrid",
	"propertyName": "activeRowActions",
	"values": {
		"className": "Terrasoft.Button",
		"style": "blue",
		"caption": "Завершить",
		"tag": "stopActivity"
	}
}
 
methods:
onActiveRowAction: function(buttonTag, primaryColumnValue) {
	this.callParent(arguments); //или скопировать switch из baseSection и отредактировать его
	if (buttonTag === "stopActivity") {
		//вызов процесса
	}
}

Спасибо :smile:

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

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

У меня такой же вопрос

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

Добрый день, Александр!

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

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

Но, Вы можете попытаться реализовать необходимую логику руководстуясь инструкцией:
1) Права на объекты для портальных пользователей регулируются справочником "Объекты, доступны пользователям портала", как правило, данный справочник заполняется с помощью скрипта "InsertPortalUserCanReadRightsMSSql" - в нем необходимо указать перечень объектов на которые будут даваться права. (данные права никак не относятся к администрированию системы).
2) На необходимые объекты должны быть розданы права на операции и на записи для пользователей портала.
3) Разделы, схемы страниц и т.д на портал создаются отдельно, по подобию как реализовано с обращениями и базой знаний. Иструкцию как создать и зарегистрировать раздел для портала прикрепил "Установка+разделов+на+портале".

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

Спасибо за подробный ответ! Буду разбираться.

Михаил, тоже интересует вопрос создания разделов и схем страниц на портале. Можете прикрепить файл, который упоминали в предыдущем комментрии "Установка+разделов+на+портале"?

Добрый день!

Инструкция доступна по адресу - http://tsrdp.tscrm.com/support/Pub/A.Armenchu/Установка+разделов+на+пор…

Арменчу Артём Александрович,

Артем, добрый день! 

По указанной ссылке выдает 404 ошибку

Николай, прошу прощения. 

Новая ссылка:

http://tsrdp.tscrm.com/support/Pub/Adasyuk/Установка раздела на портале.zip

Арменчу Артём Александрович,

Ссылки по прежнему битые. 
Есть вопрос: Как на портале можно создать несколько рабочих  мест с различным набором разделов и своей главной страницей для разных ролей пользователей портала (по аналогии с партнёрским порталом самообслуживания Теrrasoft)

Войдите или зарегистрируйтесь, чтобы комментировать
Идея
Было бы логично при ответе (Reply, Reply to All Forward) на письмо копировать все имеющиеся связи активности (Case, Invoice, Opportunity и остальные).Сейчас лишь подставляется Contact и Account
Реализована
4 комментария

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

Вы можете самостоятельно (базовыми средствами системы) управлять полями, которые будут копироваться при нажатии на кнопку "Копировать".
Для решения:
1) Заместите объект "Активность"
2) Разверните колонки объекта
3) Выберите нужную колонку
4) В свойствах колонки выберите признак "Копировать"
5) Опубликуйте объект

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

"Демьяник Алексей" написал:Вы можете самостоятельно (базовыми средствами системы) управлять полями, которые будут копироваться при нажатии на кнопку "Копировать".

Алексей, я же специально написал, что e-mail не копируется, а на него пишется ответ (Reply, Reply to All Forward). В этом случае, очевидно, в bpm срабатывает другая логика, нежели при простом копировании.

Я проверял - признак "Копировать" никак не влияет на поля при ответе на письмо (тем более, этот признак в базовой системе уже установлен)

В итоге для Case решилось небольшим кодированием:

define("EmailPageV2", ["BusinessRuleModule", "ConfigurationConstants"],
	function(BusinessRuleModule, ConfigurationConstants) {
		return {
			entitySchemaName: "Activity",
			methods: {
				copyEntityColumnValues: function(entity, actionType) {
					var contact = entity.get("Contact");
					var account = entity.get("Account");
					debugger;
					var caseid = entity.get("Case")
					if (caseid) {
						this.set("Case", caseid);
					}
					if (contact) {
						this.set("Contact", contact);
					}
					if (account) {
						this.set("Account", account);
					}
					this.updateRecepientsOnReply(entity, actionType);
				},
				getEmailSelectColumns: function() {
					return ["Id", "Author", "Owner", "Contact", "Account", "Sender",
						"Recepient", "CopyRecepient", "BlindCopyRecepient", "Body",
						"Title", "StartDate", "MessageType", "Type","Case"];
				}
			},
			details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
			diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
		};
	});

Здравствуйте, Владимир! Идея реализована в версии 7.11.0.

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

Добрый день!
Есть два вопроса по разделу планирование визитов в 7.6.

1)В разделе планирования визитов активности меняют цвет в соответствии со своим статусом. Этот код размещен на schedule-item.js. Как можно его переопределить под свои нужды? Необходимо менять цвет активности по другому условию (например)

2) Необходимо запретить пользовательское изменение размера активности на расписании. Т.е., изначально в активность вместо времени начала и конца сообщается время начала и ее длительность. Пользователь не должен иметь возможности увеличить ее. Размер активности для каждого контрагента будет статичным и меняться только по изменении соответствующего поля в контрагенте.

У меня такой же вопрос

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

Никита, непонятно, о каких визитах идет речь.

Визиты появились в версии 7.6.

По второму вопросу - какой у Вас конкретный вопрос?

"Безродный Андрей" написал:

Никита, непонятно, о каких визитах идет речь.

Визиты появились в версии 7.6.

По второму вопросу - какой у Вас конкретный вопрос?


Я наверное перепутал версию. Приложил скриншот по поводу 1 вопроса.
Второй вопрос. "Необходимо запретить пользовательское изменение размера активности на расписании." Как это можно сделать?

Никита, добрый день!

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

Что касается второго вопроса - есть вариант сделать объект "Активность" администрируемым по колонкам и раздать доступ только на просмотр колонок "Начало" и "Завершение" для всех пользователей. Хотя визуально размер активности в расписании будет изменяться, фактически в этих полях будут оставаться прежние значения.

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

Спасибо за помощь!

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

Добрый день!
В разделе Обращения в ITIL есть деталь Активности.
На данной детали при нажатии на кнопку Добавить появляется
выпадающий список: "Добавить задачу" или "E-mail"

Подскажите, пожалуйста, в какой схеме какого пакета реализован вызов данного выпадающего списка.
В схеме CaseActivityDetail не нашла подобного функционала.

Спасибо

У меня такой же вопрос

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

Добрый день!

Дарья, сам механизм находится в схеме BaseGridDetailV2, но Вы не сможете вносить туда модификации, да и не надо, в принципе.
Вы можете воспользоваться стандартными средствами работы СРМ: откройте мастер раздела "Активности", добавьте новую карточку редактирования для нужного типа, сделайте дизайн карточки, сохраните, выполните команду flushall в командной строке Redis Client. Предварительно внесите тип в справочник "Типы активности".
Этих действий достаточно.

Добрый день!
Но я не планировала делать новую карточку редактирования для нужного типа )
Я бы хотела внести изменения в начальные значения для существующего типа e-mail
При нажатии на действие "e-mail" в детали Активности в разделе Обращения хотела бы? чтобы в поле "Кому" подставлялся определенный адрес ( не конкретный адрес, а зависящий от данных в обращении).
Возможно ли такое?
В связи с этим и спрашивала, где находится вызов этих действий, чтобы найти далее какая карточка вызывается при нажатии на действие e-mail

Извините, не понял саму суть задачи. Что значит "чтобы в поле "Кому" подставлялся определенный адрес"?
Там байндинг происходит автоматически на открытие карточек AddTypedRecordButton => values => menu => items = >

"bindTo": "EditPages

".

		AddTypedRecordButton
				{
					"operation": "insert",
					"name": "AddTypedRecordButton",
					"parentName": "Detail",
					"propertyName": "tools",
					"values": {
						"itemType": Terrasoft.ViewItemType.BUTTON,
						"menu": {
							"items": {
								"bindTo": "EditPages"
							}
						},
						"visible": {"bindTo": "getAddTypedRecordButtonVisible"},
						"enabled": {"bindTo": "getAddTypedRecordButtonEnabled"},
						"style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
						"caption": {"bindTo": "Resources.Strings.AddButtonCaption"}
					}
				},

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

Добрый вечер!
Спасибо, я в принципе, получила ответ на свой вопрос.
При нажатии на действие "Email" вызывается обычная карточка ActivityPage, но только типизированная с типом e-mail
соответственно, те изменения, которые я хочу произвести ( заполнение некоторых значений по-умолчанию при нажатии на "email" в детали) необходимо делать в схеме CaseActivityDetail.
Просто я почему-то предположила, что здесь какая-то другая схема для e-mai участвует, и пыталась ее найти, но оказывается схема та же самая CaseActivityDetail

Спасибо

Кстати, вопрос как раз по теме - каким образом оттуда удалить лишний пункт? Дело в том, что при переезде с облачной версии на серверную система заново создала типы контрагента Конкурент, и он задвоился в этом выпадающем списке. Справочник типов-то мы вычистили, а вот этот пункт остался ..

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

Судя по описанию задачи необходимо удалить дублирующийся пункт “Конкурент” кнопки добавить в разделе Контрагенты. В таком случае следует удалить ненужные дубли в базе данных в таблицах : SysMuduleEdit, SysMuduleEditLcz. Предварительно рекомендуем сделать копию базы данных.

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