Всем добрый день. Версия 7.15.

Существует инструкция: https://academy.terrasoft.ru/documents/administration/7-15/individualnye-nastroyki-uchetnoy-zapisi-pochty?document=administration#CSH_6 по добавлению подписи в письма.

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

Нравится

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

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

scr_chapter_content_designer_create_template_multilanguage.gif

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

Добрый день!

Версия продукта: 7.14.1.935

Bpm Online Service

Если на странице есть 2 поля типа справочник, которые опираются на разные объекты, то можно ли для них настроить фильтрацию друг от друга только на уровне js (например, за счет использования filtration)?

Или требуется пересаживать их на новый объект, который содержит в себе значения обоих полей (скажем, join этих объектов + объекта, который содержит в себе описание связей)?

Нравится

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

Александр Кулиш,

Мне ранее помогали коллеги из Сообщества Террасофт c фильтрацией по группе ответственных и Сервису. Возможно что-то пригодится Вам для реализации Вашей задачи. Посмотрите следующий пост:

https://community.terrasoft.ru/questions/kak-nastroit-filtr-po-servisu-i-gruppe-otvetstvennyh

Добрый день!

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

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

Напишите подробнее, какую задачу пытаетесь решить.

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

Добрый день!

Извините за задержку с ответом. Ожидал оповещения на почту в случае комментариев, но видимо они уже не ходят.

На карточке обращения есть поля:

1) группа исполнителя

2) исполнитель

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

Григорий Чех,

 

Добрый день!

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

Александр Кулиш,

Мне ранее помогали коллеги из Сообщества Террасофт c фильтрацией по группе ответственных и Сервису. Возможно что-то пригодится Вам для реализации Вашей задачи. Посмотрите следующий пост:

https://community.terrasoft.ru/questions/kak-nastroit-filtr-po-servisu-i-gruppe-otvetstvennyh

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

Добрый день!

Версия продукта: 7.14.1.935

Bpm Online Service



Идет доработка формы реклассификации в разделе обращений.

"Схема карточки редактирования действия реклассификации"

Был создал замещающий клиентский модуль.

Каким образом можно для кастомных полей прописать, чтобы при открытии формы реклассификации поля заполнялись текущими значениеми из обращения?

 

Нравится

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

В этой карточке ReclassificationEditPage аналогичная логика реализована для полей из объекта обращения ServicePact, ServiceItem и Category. Попробуйте для своих полей сделать в коде подобным образом.

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

Добрый день!

Извините за задержку с ответом. Ожидал оповещения на почту в случае комментариев, но видимо они уже не ходят.

Да, спасибо. Так и делал.

Только не все действия удалось вычленить из того кода. 

Можете подсказать, какая логика в реклассификаторе отвечает за первоначальное заполнение полей при открытии консоли?

Попытки корректировки логики именно в этой части к успеху пока не привели.

О какой консоли речь?

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

Есть карточка Обращения. В ней заполнены необходимые поля.

Далее открываю консоль Реклассификации.

Вопрос: куда копать, чтобы найти логику заполнения полей консоли Реклассификации при ее открытии?

Ранее коробочный js-файл консоли реклассификации крутил, но не смог верным образом изменить заполнение новых полей.

Смотрите код ReclassificationEditPage. Что такое «консоль реклассификации» — увы, не знаю, стандартно такого механизма в системе нет. Возможно, это дополнение или проектная доработка.

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

Возможно я неверно выразился.

Из карточки заявки выбираем действие: "Реклассифицировать обращения"

js-страница: ReclassificationEditPage

Ее я и называл консолью.

В CasePage вижу нечто похожее на искомое:

/**
 * Prepares Reclassification properties name.
 * @protected
 * @virtual
 * @return {Array} Reclassification properties name.
 */
prepareReclassificationPropertyNames: function() {
	return ["Id", "Contact", "Account", "Category", "ServiceItem", "ServicePact", "ServiceCategory"];
},
.....
/**
 * Returns Reclassification default values.
 * @protected
 * @virtual
 * @return {Array} Reclassification default values.
 */
getRunReclassificationDefaultValues: function() {
	var defaultValues = [];
	var propertyNames = this.prepareReclassificationPropertyNames();
	Terrasoft.each(propertyNames, function(name) {
		this.addDefaultValue(defaultValues, name);
	}, this);
	return defaultValues;
},
 
.....
/**
 * Returns run Reclassification config.
 * @protected
 * @virtual
 * @return {Array} Run Reclassification config.
 */
getRunReclassificationConfig: function() {
	var defaultValues = this.getRunReclassificationDefaultValues();
	return {
		"schemaName": "ReclassificationEditPage",
		"operation": "add",
		"primaryColumnValue": null,
		"moduleId": this.sandbox.id + "_ReclassificationEditPage",
		"isSeparateMode": false,
		"isInChain": true,
		"defaultValues": defaultValues
	};
},

 

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

Огромное спасибо!

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

Добрый день!

Версия продукта: 7.14.1.935

Bpm Online Service



Идет доработка формы реклассификации в разделе обращений.

"Схема карточки редактирования действия реклассификации"

Был создал замещающий клиентский модуль.

Добавляю кастомное поле и для него

attributes "isRequired":true

но на выходе не вижу звездочки около поля.

Это стандартная ситуация или все же логика должна отрабатывать?

Нравится

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

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

Возникла необходимость доработать процесс "Установка показателей просроченности обращений". Я скопировал данный процесс в свой пакет, отредактировал его под поставленные задачи. Обнаружил, что старый процесс "Установка показателей просроченности обращений" запускается каждый час системной настройкой CaseOverduesCheckTerm. Но не могу понять, как в этой системной настройке заменить старый процесс на мой, отредактированный. Помогите, пожалуйста, подскажите как это сделать?

Нравится

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

Добавление запуска конкретного процесса CaseOverduesSettingProcess с интервалом из системной настройки CaseOverduesCheckTerm прописано в CaseSection:

/**
 * Sets initial values for SatisfactionUpdateProcessJob
 * @protected
 */
initSatisfactionUpdateProcessJob: function() {
	this.callSyncJobService(ServiceDeskConstants.SetSatisfactionTaskPeriod,
			"SatisfactionUpdateProcessJob", "SatisfactionUpdateProcess");
	var wasCheckTermSet = StorageUtilities.getItem("wasCheckTermSet");
	if (wasCheckTermSet) {
		return;
	}
	StorageUtilities.setItem(true, "wasCheckTermSet");
	this.Terrasoft.SysSettings.querySysSettingsItem("CaseOverduesCheckTerm",
			this.callOverdueSetter, this);
},
 
/**
 * Create a scheduler to run the process at intervals.
 * @param {Integer} value Value of the period in minutes
 * @param {String} jobname Name of the task scheduler
 * @param {String} processName The name of the process
 */
callSyncJobService: function(value, jobname, processName) {
	var config = {
		serviceName: "SyncJobService",
		methodName: "CreateSyncJob",
		data: {
			request: {
				JobName: jobname,
				ProcessName: processName,
				PeriodInMinutes: value
			}
		}
	};
	this.callService(config, this.Terrasoft.emptyFn, this);
},
 
/**
 * Create a scheduler start the installation process indicators overdue appeals.
 * @param {Integer} value The value of the system setting "Term inspection overdue treatment Minutes".
 * @overridden
 */
callOverdueSetter: function(value) {
	this.callSyncJobService(value, "CaseOverduesSettingJob", "CaseOverduesSettingProcess");
},

То есть, как минимум, нужно будет заменить в коде в самом конце фрагмента название процесса на Ваш, чтобы в планировщик добавлялся уже он. Если при этом в системе ещё останется Job для запуска старого процесса, надо будет удалять запуском метода CreateSyncJob из веб-сервиса SyncJobService с нулевым периодом, что означает удаление.

Показать все комментарии
NLB
Балансировка нагрузки
7.13_()
service

Добрый день.

 

Подскажите, где почитать про настройку балансировщика для bpm`online на Windows? Есть статья про HAProxy, но она не подходит, ввиду отсутствия серверов на линуксе.

 

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

Нравится

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

Добрый день, Илья.



Мы рекомендуем использовать haproxy для балансировки нагрузки в режиме sticky session. Haproxy разворачивается на пограничном сервере с ОС Linux. Другие способы балансировки мы не тестировали и не рекомендуем.

https://academy.terrasoft.ru/documents/technic-sdk/7-14/infrastruktura-prilozheniya

 

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

У меня есть .htm файл, который лежит на серваке. Мне нужно этот файл поставить вместо баннера на главной странице. В ссылке на страницу прописываю путь (file://10.221.8.110/c$/portal_message.htm), не работает. Пишу (10.221.8.110/c$/portal_message) - тоже не работает. 

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

Подскажите пожалуйста, как мне это сделать? Может нужно в IIS в определенную папку файлик положить, или еще что?

Нравится

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

Протокол file — это ссылка на файл на локальном компьютере. Том, где запущен браузер.

В обсуждаемом случае нужно поднять на сервере IIS (или другой веб-сервер, например, Apache) и сделать файл доступным по HTTP или HTTPS с других компьютеров. И прописать адрес по этому протоколу.

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

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

Всем доброго дня. Версия 7.13.4.

На портал (в рабочее место портала) были добавлены разделы.

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

Они открываются под портальным пользователем. Там всё хорошо.

Но требуется, чтобы они были видны и под пользователем Сотрудника. В том же виде, что и на портале. Как это сделать?

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

Нравится

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

Добрый день!

Если я не ошибаюсь, разделы портала отличаются от обычных и их нельзя добавлять в рабочие места обычных сотрудников (и наоборот). Как вариант обхода данного ограничения - создание дубликатов разделов на основе этих же объектов. Ну и не забудьте продумать настройку прав - кому и что должно быть доступно / видно.

Добрый день!

Если я не ошибаюсь, разделы портала отличаются от обычных и их нельзя добавлять в рабочие места обычных сотрудников (и наоборот). Как вариант обхода данного ограничения - создание дубликатов разделов на основе этих же объектов. Ну и не забудьте продумать настройку прав - кому и что должно быть доступно / видно.

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

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

Добрый день!Если я не ошибаюсь, разделы портала отличаются от обычных и их нельзя добавлять в рабочие места обычных сотрудников (и наоборот)

А как же "Обращения" и "База знаний"? 

Владимир, это полностью разные разделы. Общие у них только объекты, а страницы свои: PortalCaseSection, PortalCasePage, PortalCaseSectionActionsDashboard, PortalKnowledgeBaseSection, PortalKnowledgeBasePage и др.

Показать все комментарии
дубли
Проверка на дубли
PostgreSQL
7.14_()
studio

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

Хотелось бы добавить кастомное правило поиска дублей. Действовал с оглядкой на https://academy.terrasoft.ru/documents/technic-sdk/7-14/dobavlenie-pravila-poiska-dubley ,но возникла сложность при объявлении типов параметров, если аналог с mscql UNIQUEIDENTIFIER - uuid, то какой аналог у CreatingObjectInfo? 

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

Как она будет взаимодействовать с elasticsearch в таком случае

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

Было бы прекрасно, если бы имелся какой-нибудь пример на postgresql.

Bpm'online развернут on-site. Глобальный поиск и тд настроены

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

Нравится

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

Посмотрите статью в академии ДОБАВЛЕНИЕ ПРАВИЛА ПОИСКА ДУБЛЕЙ

Руслан, добрый день!



Для PostgreSQL доступен только новый функционал дедупликации, который завязан на сервис глобального поиска.

Инструкция по настройке массового поиска дублей для приложений on-site:

https://academy.terrasoft.ru/documents/administration/7-14/nastroyka-massovogo-poiska-dubley

Григорий Чех, На неё я и оглядывался, когда пытался добавить правило

Мотков Илья,

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

Для Postgre есть только поиск дублей на основе ElasticSearch. Старые разработки на основе хранимых процедур работать не будут.

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

Добрай день. При компиляции в WSC появляется данная ошибка. По всей видимости исполнитель заказа устанавливал надстройку "Flushing Redis cache for bpm'online" (имеется на маркетплейсе), тестировал и некорректно удалил (либо совсем не удалял), затем мне был передан пакет который не компилируется.

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

Пробовали через "Установку и удаление приложений", при компиле в конфигурации выдает "Не удалось найти список приложений" и ноль ошибок в списке.

Как и где удалить все упоминания об этой надстройке? Деинсталлятора у нее не имеется.

Нравится

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

Удалите зависимость из descriptor.json вашего пакета

Удалите зависимость из descriptor.json вашего пакета

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