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

Нравится

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) Разделы, схемы страниц и т.д на портал создаются отдельно, по подобию как реализовано с обращениями и базой знаний. Иструкцию как создать и зарегистрировать раздел для портала прикрепил "Установка+разделов+на+портале".

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

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

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

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

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

По указанной ссылке выдает 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. Предварительно рекомендуем сделать копию базы данных.

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

Здравствуйте!
В разделе "Активности" есть представление "Планирование визитов". На нем расположен список контрагентов, расписание и карта.
Если я добавляю эти объекты в свой раздел,то они располагаются друг под другом. Подскажите, пожалуйста, где можно настроить их позиции так, чтобы они были как на планировании визитов (т.е., в строчку, а не столбиком)?

Нравится

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

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

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

Если я правильно понял, то Вы имеете в виду объекты: реестр, расписание и карта. Если это те объекты, о которых речь, то их позиционирование регламентируется CSS стилями. Подробнее о расположении элементов в строку с помощью CSS можно почитать тут:
http://htmlbook.ru/samlayout/blochnaya-verstka/strochno-blochnye-elemen…
И по запросу в Google:
css div расположение элементов в строку

"E.Podkovka" написал:

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


Действительно, добавил свой модуль с разметкой и подключил его. Все заработало. Спасибо!

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

Добрый день, друзья!
Есть необходимость вести учет занятости кабинетов предприятия (по аналогии с переговорками), с получением итогов - какие кабинеты больше используются.
У меня возникла идея создать кастомный тип активности "Кабинет", и привязать к нему 10 кабинетов, каждый из которых, является категорией данного типа с именем "Кабинет №1", "Кабинет №2" и .т.д.
Таким образом можно создавать в расписании эти активности, перетаскивать их и динамическими группами смотреть загрузку по кабинетам.
Однако я предвижу проблему, что разные пользователи смогут накладывать на одно и то же время активности одинаковой категории и может возникнуть путаница.
Подскажите, может я изобретаю велосипед, и все можно решить иначе и проще.
Спасибо!

Нравится

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

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

Спасибо

А почему просто не создать контакт с названием "Кабинет 1" и т.д. и добавлять его в деталь "участники активности". Тогда при фильтрации по отвественному "Кабинет 1" можно смотреть расписание, когда кабинет занят, а когда свободен. Также можно в последующем выстраивать аналитику по загруженности кабинетов.

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

Если у Вас в разделе «Активности» создана новая пользовательская страница (например, «Визит»), то для поля «Результат» значения в выпадающем списке будут отсутствовать (Рис. 1).


Рис. 1

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


Рис. 2

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


Рис. 3

Нравится

Поделиться

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

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

Нравится

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