Вопрос:

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

Ответ:

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

Предварительно необходимо создать шаблон, содержащий необходимый опросник.

Для этого необходимо перейти в раздел [Справочники] - Шаблоны email сообщений и добавить новый. Можно создать шаблон с использованием преднастроенных блоков в левой панели, либо же воспользоваться  html - форматированием для реализации собственного блока.

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

Алгоритм:

0. Создать параметр процесса с типом Уникальный идентификатор, условно, OrderId.

1. Элемент отправить email сообщение, От кого - значение из справочника Настройки синхронизации с почтовыми ящиками, режим - вручную, отображать автоматически - Да.

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

2. Элемент Обработка таймера, ожидать 86400 секунд

3. Отправить email, какое письмо - письмо по шаблону, вырбрать реализованный Вами шаблон, режим - автоматически, игнорировать ошибки при отправке - Нет.

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

 

Нравится

Поделиться

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

Вопрос

Повлияет ли удаление писем, загруженных при синхронизации, на переписку, которая велась до синхронизации ящика?

Например: 

Пользователь писал в систему из ящика_1 на технический ящик_2, на котором происходит парсинг в обращения, но ранее не синхронизировал ящик_1 с системой. После выполнения синхронизации ящика_1 переписка с его использованием не велась. Удалятся ли письма, написанные пользователем до синхронизации?

Ответ

Будут удалены только те письма, в которых ящик_1 является единственным

"владельцем" письма. Т. е. если с ящика_1 на ящик_2 было отправлено письмо и оно было загружено в систему из ящика_2, то оно не удалится.

Нравится

Поделиться

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

Симптомы

При выгрузке большого количества данных, через 30 секунд, происходит ошибка.

Причина

Причиной возникновения ошибки по таймауту, при выгрузке большого количества данных, или большого количества вложенных запросов, является компонента: Ext.Ajax

Стандартный таймаут которой равен 30 секундам.

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

Решение

Возможное решение, увеличение таймаута в "ядре" системы (...\Terrasoft.WebApp\Resources\ui\Terrasoft\core\). Файл ajax-provider.js в функции «request: function(config) { …», добавить следующие строчки кода:

Ext.Ajax.timeout = 90000;
Ext.override(Ext.data.proxy.Server, { timeout: Ext.Ajax.timeout });
Ext.override(Ext.data.Connection, { timeout: Ext.Ajax.timeout });

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

Нравится

Поделиться

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

Вопрос:

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

Ответ:

По данному кейсу: элемент "Изменить права" будет отрабатывать только в случае включенного администрирования по записям в объекте.

Проверить это возможно в разделе Администрирование, выбрав объект, для записи которого БП должен изменять права .



Рекомендуем ознакомиться со статьей на Академии: https://academy.terrasoft.ru/documents/studio/7-12/razdel-dostup-k-obek…

Также более подробно об элементе "Изменить прав доступа" можно прочесть по ссылке: https://academy.terrasoft.ru/documents/technic-bpms/7-11/element-proces…

 

 

Нравится

Поделиться

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

Задача

Параметр определнения скрыть/ раскрыть деталь при входе на страницу

Решение

Вы можете переопределить функцию onDetailCollapsedChanged, которая отвечает за отображение детали:

/**
* Обрабатывает сворачивание или разворачивание детали.
* @protected
* @virtual
* @param {Boolean} isCollapsed Признак свернутости/развернутости детали.
*/
onDetailCollapsedChanged: function(isCollapsed) {
    var profile = this.getProfile();
    var key = this.getProfileKey();
    if (profile && key) {
        profile.isCollapsed = isCollapsed;
        this.Terrasoft.utils.saveUserProfile(key, profile, false);
    }
    this.set("IsDetailCollapsed", isCollapsed);
},

 

Нравится

Поделиться

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

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

onDetailCollapsedChanged, а дальше нужно ее как-то вызвать из нужной мне детали, но как это корректно сделать не знаю

Стельмаш Дмитрий Сергеевич,

 

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

Для начала рекомендую вам посмотреть как происходит работа с атрибутом IsDetailCollapsed в схеме BaseDetailV2, чтобы понимать, как изменяется параметр.

 

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

В конфигурации создать "Замещающую модель представления" и наследоваться от какой-то детали - например ServicePactRecipientsDetail.

Использовав примерно такой код:

 define("ServicePactRecipientsDetail", [],
	function() {
		return {
			entitySchemaName: "ServiceInServicePact",
			messages: {},
			methods: {
				onDetailCollapsedChanged: function(isCollapsed) {
					debugger;
					var profile = this.getProfile();
					var key = this.getProfileKey();
					if (profile && key) {
						profile.isCollapsed = isCollapsed;
						this.Terrasoft.utils.saveUserProfile(key, profile, false);
					}
					this.set("IsDetailCollapsed", isCollapsed);
				}
			},
			diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
		};
	});

 

Григорьев Михаил Алексеевич,

Спасибо за подсказку. Я правильно понимаю что в данному случае, деталь будет разворачиваться на любой странице где она определена, а ни на конкретной странице?

Стельмаш Дмитрий Сергеевич,

 

Где вы выводите делать, там и будет она разворачиваться/сворачиваться.

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

Вопрос:

Добавили в контакт и деталь "Карьера" поле "Подразделение". Как сделать чтобы при изменении этого поля добавлялась запись в деталь карьера, как это происходит при изменении должности?

Ответ:

Реализовать эту задачу возможно бизнес-процессом. Его логика будет примерно следующая:

1. Начальный сигнал - получен сигнал от объекта Контакт - сигнал изменения записи - изменение поля Подразделение

2. Добавление записи - объект Карьера контакта - Добавить одну запись - Установить значения колонок (в зависимости от бизнес-цели)

Нравится

Поделиться

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

Вопрос

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

Ответ

В приложении не реализованы массовые действия с письмами в коммуникационной панели. Как обходное решение, можно создать справочник на основании объекта "Activity" и уже в нём настроить необходимый фильтр.

Нравится

Поделиться

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

Вопрос:

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

Ответ:

Для того чтобы получить id записи экземпляра процесса, необходимо вычитать данные из объекта System process log history и отфильтровать записи по полю Процесс, выбрав необходимый процесс.

Нравится

Поделиться

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

Вопрос:

Как сделать фиксацию времени при выборе новой стадии у кейса? Т.е. при выборе стадии "в работе" в колонку "время реакции" заносится текущая дата.

Ответ:

Можно создать процесс, который по сигналу изменения стадии обращения будет вычитывать обращение и  менять данное поле ориентируясь на смену стадии. Подробнее о функционале бизнес-процессов можно прочитать в Академии https://academy.terrasoft.ru/documents/technic-bpms/7-12/obzor-funkcion…;

Нравится

Поделиться

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

Вопрос:

Нужно привязать письмо (активность):

   а) к Обращению, в Обработку и Хронологию

   б) в Изменение в Выполнение на деталь E-mail

Ответ:

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



Для того, чтобы связать письмо, которое отправляется элементом "Отправить email",  необходимо перейти в расширенный режим данного элемента и заполнить параметр "Изменение" .

Здесь есть два варианта, а именно:

1. Изменение уже создано в системе - тогда необходимо просто вычитать необходимую запись и подставить её id в данный параметр

2. Изменения ещё нет - необходимо для начала его создать ( элемент "Добавить данные"), а после этого вычитать id созданной записи и подставить.



Если задача заключается в том, чтобы связать письмо, которое создалось другим способом (синхронизация почты или отправка вручную), необходимо:

а) вычитать id письма - раздел Активности, категория Email и другие фильтры для определения id;

б) вычитать id Изменения (см. пункты 1-2);

в) изменить данные - активность - пункт а.id - изменение = пункт б.id.

Нравится

Поделиться

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