Коллеги, приветствую.

Нужно реализовать уведомление пользователю, что через 2 часа срок разрешения обращения закончится.

 

2 часа (120 минут) буду зашивать в системную настройку (чтобы можно было варьировать админу)

 

Хочу реализовать с помощью БП по таймеру, который раз в час будет отбирать обращения по определенным критериям. 
далее, из записи вычитаю поле "время разрешения" (тип поля - дата/время) и тут главная загвозка.... как мне высчитать, что обращение должно разрешиться через 2 часа (120 минут)?

 

если должно решиться больше 2 часов - пропустить запись

если меньше, то по идее, должно было уже отправиться уведомление.

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

из идей:

  1. пробовать преобразовать поле с помощью формул .TotalHours/.TotalMinutes в часы/минуты и сравнивать..
  2. попробовать с помощью формул .AddMinutes(), .AddHours() добавить настройке "текущее время и дата" значение системной настройки и сравнить...

в общем, буду рада советом, а сама пошла пока пробовать :) 

Нравится

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

Создаю новое поле - Reminding time. И его сравниваю.

 

Ещё процессы, которые его заполняют. И поле с временем, когда уведомление было отправлено. Это позволит избежать ситуации, когда таймер не сработает, например. Надо всего лишь выбирать те, у которых время уведомления прошло, но уведомление не было отправлено

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

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

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

Нравится

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

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

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

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

Добрый день! Как можно поставить активный линк (тек. Запись объекта) в элементе "Вопрос пользователю". 

В БП использую элемент "Вопрос пользователю" В БП на входе есть параметр (ID тек. записи), Как сделать чтобы при отображении вопроса пользователю был линк на  (ID тек. записи). 

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

Нравится

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

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

Нравится

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

Добрый день, Евгений.
Снизу прикрепил пример, где я добавил конкретный участок кода в исключение при компиляции. В результате warning CS4014 не появился. Можно реализовать не только препроцессором.
Более детально можно найти в официальной документации:
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/supp…

using System;
using System.Threading.Tasks;
 
public static class Test{
 
	static void CallingMethodAsync(int millisecondsDelay)
	{
		Console.WriteLine("  Entering calling method.");
 
		// Call #1.
		// Call an async method. Because you don't await it, its completion
		// isn't coordinated with the current method, CallingMethodAsync.
		// The following line causes warning CS4014.
		#pragma warning disable CS4014
		CalledMethodAsync(millisecondsDelay);
		#pragma warning restore CS4014
	}
 
	static async Task CalledMethodAsync(int millisecondsDelay)
	{
		Console.WriteLine("    Entering called method, starting and awaiting Task.Delay.");
 
		await Task.Delay(millisecondsDelay);
 
		Console.WriteLine("    Task.Delay is finished--returning from called method.");
	}
}

 

Добрый день, Евгений.
Снизу прикрепил пример, где я добавил конкретный участок кода в исключение при компиляции. В результате warning CS4014 не появился. Можно реализовать не только препроцессором.
Более детально можно найти в официальной документации:
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/supp…

using System;
using System.Threading.Tasks;
 
public static class Test{
 
	static void CallingMethodAsync(int millisecondsDelay)
	{
		Console.WriteLine("  Entering calling method.");
 
		// Call #1.
		// Call an async method. Because you don't await it, its completion
		// isn't coordinated with the current method, CallingMethodAsync.
		// The following line causes warning CS4014.
		#pragma warning disable CS4014
		CalledMethodAsync(millisecondsDelay);
		#pragma warning restore CS4014
	}
 
	static async Task CalledMethodAsync(int millisecondsDelay)
	{
		Console.WriteLine("    Entering called method, starting and awaiting Task.Delay.");
 
		await Task.Delay(millisecondsDelay);
 
		Console.WriteLine("    Task.Delay is finished--returning from called method.");
	}
}

 

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

Нужно перенести между стендами фильтры для раздела, фильтры и условия фильтрации переносятся скриптом, а "Настройка прав" :

При переносе фильтров осталась пустой. Каким образом можно перенести фильтры с настройкой прав?

Спасибо

Нравится

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

Добрый день.

 

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

1. https://community.terrasoft.ru/questions/perenos-prav-dostupa

2. https://community.terrasoft.ru/questions/nastroyki-prav-dostupa-na-obek…

 

Насколько известно нет возможности переносить права на объекты с помощью пакета.
Такая возможность официально не поддерживается.

В текущей ситуации права нужно заново настраивать на продуктивной среде либо в базе из новых записей таблицы сформировать insert-запрос (т.е. перенести записи на уровне базы данных с одной базы в другую с помощью SQL запросов), а потом прикрепить его к пакету как SQL-скрипт (вкладка - "SQL-сценарии"). 

Для этого на эталонной среде необходимо сформировать insert-запросы на основании записей со следующих таблиц:

- SysAdminUnit (Объект администрирования: пользователи и роли)
- SysUserInRole (Непосредственные вхождения пользователей в роли)
- SysFuncRoleInOrgRole (Вхождение функциональной роли в организационную)
- SysAdminOperation (Системные операции, если необходимо)
- SysAdminOperationGrantee (Доступ к системным операциям, если необходимо)
- SysEntitySchemaOperationRight (Доступ к объектам)
- SysEntitySchemaRecordDefRight (Доступ к записям по умолчанию)
- SysEntitySchemaColumnRight (Доступ к колонкам объекта)
- SysAdminUnitGrantedRight (Делегирование)
- SysWorkplace – (Рабочее место пользователя)
- SysAdminUnitInWorkplace – (Пользователи в рабочем месте)
- SysModuleInWorkplace – (Раздел в рабочем месте)

 

Для формирования запросов можно воспользоваться Microsoft SQL Server Database Publishing Wizard и подобными инструментами.

Нашёл решение, настройки прав для фильтров для раздела Case находятся в таблице SysCaseFolderRight

Добрый день.

 

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

1. https://community.terrasoft.ru/questions/perenos-prav-dostupa

2. https://community.terrasoft.ru/questions/nastroyki-prav-dostupa-na-obek…

 

Насколько известно нет возможности переносить права на объекты с помощью пакета.
Такая возможность официально не поддерживается.

В текущей ситуации права нужно заново настраивать на продуктивной среде либо в базе из новых записей таблицы сформировать insert-запрос (т.е. перенести записи на уровне базы данных с одной базы в другую с помощью SQL запросов), а потом прикрепить его к пакету как SQL-скрипт (вкладка - "SQL-сценарии"). 

Для этого на эталонной среде необходимо сформировать insert-запросы на основании записей со следующих таблиц:

- SysAdminUnit (Объект администрирования: пользователи и роли)
- SysUserInRole (Непосредственные вхождения пользователей в роли)
- SysFuncRoleInOrgRole (Вхождение функциональной роли в организационную)
- SysAdminOperation (Системные операции, если необходимо)
- SysAdminOperationGrantee (Доступ к системным операциям, если необходимо)
- SysEntitySchemaOperationRight (Доступ к объектам)
- SysEntitySchemaRecordDefRight (Доступ к записям по умолчанию)
- SysEntitySchemaColumnRight (Доступ к колонкам объекта)
- SysAdminUnitGrantedRight (Делегирование)
- SysWorkplace – (Рабочее место пользователя)
- SysAdminUnitInWorkplace – (Пользователи в рабочем месте)
- SysModuleInWorkplace – (Раздел в рабочем месте)

 

Для формирования запросов можно воспользоваться Microsoft SQL Server Database Publishing Wizard и подобными инструментами.

Сергей Рогов,

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

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

Было такое приложение Custom filter constructor for Creatio от Banza. https://marketplace.terrasoft.ru/app/custom-filter-constructor-creatio  Перенастройка фильтра на быстрый поиск. Удобно в целом. Было потому что теперь по ссылке доступ запрещен. 
Приложение с ошибками, но работало.

На версии 7.17.4. Поставили 7.18.4 - приложение умерло. Поддержка от Банзы по почте молчит.
Что случилось с приложением? Как вернуть к жизни? или как отключить его в уже настроенном разделе? Т.к. пропало все, в том числе возможность вернуть стандартный механизм установки фильтров.

Вариант как отключить нашел - удалить приложение. Так что теперь вопрос как его вернуть? т.к. пользователям понравилось и они его требуют.

Нравится

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

Добрый день!

Летом связывалась с Банза по данному приложению, они ответили, что на 18ой версии оно "пока" не работает, надо актуализировать. Сроков так и не удаалось от них получить.

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

Приветствую!

 

Интересует следующий вопрос: возможно ли реализовать автоматическое заполнение детали/деталей на записи при массовом импорте данных в раздел из Excel без указания в шаблоне полей детали.

 

Условный пример: У меня имеется раздел Контакты, на записи Контакта имеется деталь Навыки (деталь с редактируемым реестром).

В данной детали всегда должно быть n-количество записей с условно такими полями:
НаименованиеНавыка (string), Включен (bool), УровеньВладения (lookup)

Сами записи (заполнены только наименования, остальное пусто):

Навык1

Навык2

Навык 3
 

Данные записи должны быть в детали Навыки на каждом Контакте. При добавление контакта кнопкой Добавить можно предзаполнять исходя из isAddMode или isCopyMode, но если загрузка данных производится через импорт, то каким образом данную деталь на каждую добавленную запись заполнить, так скажем, значениями по-умолчанию?

Нравится

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

Добрый день, Ирина.

 

Вашу задачу можно решить несколькими вариантами:

1) написать sql-запрос, который вставит нужные данные во все детали для загруженных записей. Такой запрос нужно запустить после импорта;

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

2) импортом из Excel. Подготовить файл с данными, в котором каждая строка будет содержать название навыка и поле-ссылку, идентифицирующую родительскую запись. Таким образом, если у Вас 3 навыка и 2 записи в родительской таблице, то в этом файле должно быть 6 строк по 3 навыка на каждую родительскую запись.

Добрый день, Ирина.

 

Вашу задачу можно решить несколькими вариантами:

1) написать sql-запрос, который вставит нужные данные во все детали для загруженных записей. Такой запрос нужно запустить после импорта;

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

2) импортом из Excel. Подготовить файл с данными, в котором каждая строка будет содержать название навыка и поле-ссылку, идентифицирующую родительскую запись. Таким образом, если у Вас 3 навыка и 2 записи в родительской таблице, то в этом файле должно быть 6 строк по 3 навыка на каждую родительскую запись.

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

Добрый день, есть задача:
По условию сделать 10 полей обязательными для заполнения, 
Интересует есть ли возможность не создавать 10 бизнес-правил, а подредактировать одно бизнес-правило?

Нравится

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

Открыть код схемы и с помощью copy-paste быстро создать  и подредактировать остальные 

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

Спасибо, в атрибутах колонок?

Сергей Рогов,

нет, в businessRules: /**SCHEMA_BUSINESS_RULES*/

https://academy.terrasoft.ua/docs/developer/front-end_development/clien…

 

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

Спасибо!

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

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

Нравится

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

Добрый день!
Уточните, пожалуйста, с какой проблемой Вы столкнулись?

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

Добрый день, появилась необходимость отсортировать статьи Базы знаний, а в частности, в виджете на портале, отображать статьи для портала, для этого на карточку записи Стать добавил логическое поле "Отображать на портале", вопрос в создании фильтра для виджета портала, имел ли кто-то опыт такой доработки?
Находил решения где статьи сортировали на основе ролевой модели, но этот вариант пока вынужден отложить.

Нравится

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

Добрый день

Вы можете сделать свой виджет по аналогии с базовым виджетом PopularKnowledgeBaseArticlesListModule (Список популярных статей на портале)

 

Сортировка устанавливается в конфиге, в методе initConfig.

В базовом виджете сортировка такая:

this.moduleConfig = {
  ....
  "orderDirection": 2,
  "orderColumn": "[Like:KnowledgeBase].Id",
  ...
}

 

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