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

как эти же команды реализовать з помощью WorkspaceConsole

Нравится

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

Добрый день, Стас.



Аналога этих команд в WorkspaceConsole нет. Вы можете познакомиться с такой утилитой как clio, в ней реализованы все эти возможности.

https://github.com/Advance-Technologies-Foundation/clio

Добрый день, Стас.



Аналога этих команд в WorkspaceConsole нет. Вы можете познакомиться с такой утилитой как clio, в ней реализованы все эти возможности.

https://github.com/Advance-Technologies-Foundation/clio

Mykhailo Storozhuk,

спасибо

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

Добрый день! Коллеги, существует ли аналог SQL Executor, только для .NET Core ?

Возможно у Terrasoft есть планы в бэклоге на реализацию подобного модуля для обеих платформ?

Нравится

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

Александр, добрый день! аналогичного решения, совместимого с .Net Core, на маркетплейсе нет.

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

Подскажите как добавить набор полей на страницу "Обращения", ниже кейса и выше панели вкладок?Изображение удалено.

Нравится

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

Добрый день, Сергей.



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

 

define("ContactPageV2", [],
	function() {
		return {
			entitySchemaName: "Contact",
			details: /**SCHEMA_DETAILS*/{
				"ConfItem": {
					"schemaName": "ConfItemInContactDetail",
					"entitySchemaName": "ConfItemUser",
					"filter": {
						"masterColumn": "Id",
						"detailColumn": "Contact"
					}
				}
			}/**SCHEMA_DETAILS*/,
			diff: /**SCHEMA_DIFF*/[
				{
				"operation": "insert",
				"parentName": "TabsContainer",
				"propertyName": "items",
				"index":0,
				"name": "TestContainer",
				"values": {
					"itemType": Terrasoft.ViewItemType.CONTAINER,
					"layout": {
						"column": 0,
						"row": 0,
						"colSpan": 24
					},
					"items": []
				}
			},
				{
				"operation": "insert",
				"name": "UsrTest",
				"parentName": "TestContainer",
				"propertyName": "items",
				"index": 0,
				"values": {
					"caption": "Test",
					"layout": {"column": 1, "row": 1},
					"items": []
					}
				}
			]/**SCHEMA_DIFF*/
		};
	});

 

Mykhailo Storozhuk, Спасибо!

Mykhailo Storozhuk,

А как их сгруппировать в 2 колонки? Пытаюсь менять column, row. Но ничего не получается. 

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

Также если вы хотите разместить колонки на одной строке, необходимо указывать один и тот же row.

{
				"operation": "insert",
				"parentName": "GeneralInfoTab",
				"name": "ContactGeneralInfoControlGroup",
				"propertyName": "items",
				"values": {
					"itemType": Terrasoft.ViewItemType.CONTROL_GROUP,
					"items": []
				}
			},
			{
				"operation": "insert",
				"parentName": "ContactGeneralInfoControlGroup",
				"propertyName": "items",
				"name": "ContactGeneralInfoBlock",
				"values": {
					"itemType": Terrasoft.ViewItemType.GRID_LAYOUT,
					"items": [],
					"collapseEmptyRow": true
				}
			},

 

Mykhailo Storozhuk,

Спасибо!

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

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

 

Параметр - период, за который сформировать отчет (с какой даты по какую).

На данный момент я добавляю 2 дополнительные колонки (CreatedOn) в представление и фильтрую по ним.

 

Вопрос - можно как-либо улучшить данный функционал (хранимыми процедурами, например)?

и дополнительный вопрос - какой Id лучше использовать при создании представления в Creatio? На данный момент я беру Id тех записей, которые используются в отчёте (следовательно, которые уже есть в БД), хотелось бы узнать, есть ли более правильный подход или можно оставить так, как есть.

Нравится

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

Добрый день.

 

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

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

 

Относительно того, какой Id лучше использовать, можно либо генерировать новый Id в представлении (например, в T-SQL функцией newid()), либо делать так, как Вы, - использовать Id записей. Фактически значение этого поля ни на что не влияет, а нужно только для сохранения представления в конфигурации, так как Id является обязательным параметром для создания схемы представления.

Добрый день.

 

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

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

 

Относительно того, какой Id лучше использовать, можно либо генерировать новый Id в представлении (например, в T-SQL функцией newid()), либо делать так, как Вы, - использовать Id записей. Фактически значение этого поля ни на что не влияет, а нужно только для сохранения представления в конфигурации, так как Id является обязательным параметром для создания схемы представления.

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

Добрый день. 

Есть вопрос по работе с данными выбранной коллекции записей. 

Выбираем коллекцию записей http://joxi.ru/82QXRYncVpKNdm

Как потом можно считать количество активностей по каждой записи в отобранной коллекции?

Обьясню для чего это нужно:

Есть Лиды, по ним есть Активности. 

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

Возможно есть какой то другой вариант реализации, подскажите.

Нравится

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

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

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

Подробнее об этой функциональности читайте по ссылке на Академии.

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

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

Подробнее об этой функциональности читайте по ссылке на Академии.

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

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

После обработки сигнала, в бизнес-процессах стоит блок чтение данных из таблицы, в которую добавилась запись. И периодически возникают ситуации, когда чтение данных работает в одном процессе, а в других - чтение данных возвращает, что нет такой записи.

Хотя id добавляемой записи передается во все бизнес-процессы по сигналу.

Я пробовала убрать блок чтение записи, и после срабатывания сигнала, у меня вызывался скрипт, где я делала селект по id добавляемой записи, и селект возвращается пустой.

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

Нравится

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

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

Сидоров Александр Валерьевич, спасибо за ответ. Дело в том, что эти бизнес-процессы очень объемные и не совпадают по смыслу. Хотелось бы их разграничить

Татьяна,

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

Александр,

да, я вас поняла. У нас каждый бизнес-процесс является объединением множества событий. Пример во вложении. Если использовать ваше решение, то необходимо разделить бизнес-процесс на части, чего мы хотим избежать. Возможно, я что-то неправильно поняла

Татьяна,

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

Александр,

Спасибо большое за ответ, будем думать

Татьяна, возможно даже лучше будет обратится не к CSM, а сразу в техническую поддержку Terrasoft.

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

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

Нравится

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

я как понимаю сегодня маркет плейс сломан, ибо я качаю одно приложение, а мне кидает совершенно другой пакет в некоторых случаях, например , когда пытаюсь скачать redis flusher

Дмитрий, добрый день! по приложению SQL Executor for Creatio вернули кнопку Установить. Уточните, по каким решениям получаете другой пакет (помимо redis flusher)?

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

Был ли у кого-то опыт добавление счетчика записей в заголовок групп?

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

 

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

Нравится

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

Вадим, задача отображения к-ва не сложная. А вот задача "как избавиться от большой нагрузки на сервера" гораздно сложнее. После того, как N пользователей откроют группы, то сразу же уйдет масса запросов. Да, их конечно можно поставить в очередь, чтобы одинаковые группы не пересчитывались несколько раз, но это будет неверно. Разные пользователи имеют разные права. 

А если это динамическая группа рассылки, где фильтры достаточно сложные, то это количество может считаться от секунд до минут. И это только для одной группы. Сложно представить, сколько запросов будет обрабатываться от, скажем 50-ти пользователей в системе

 

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

 

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

Начал разбираться в стандартных чатах и возникли вопросы

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

2. Как я могу обработать сообщение и давать на них автоматические ответы7 

К примеру человек ввел /status ему выдается сообщение о статусе груза к примеру. Или он  ввел номер записи и ему выдало данные по ней из системы?

Нравится

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

Добрый день!



По п.1. В данный момент данный функционал отсутствует в продукте, есть пожелание на доработку.



По п.2, данный вопрос лежит в плоскости интеграций по API и настройки чат-ботов, к сожалению, не располагаю такой информацией.

Здравствуйте! Я пробовал делать отправку из задания-сценария. Перехатить сообщения пока не получилось, но если есть у кого-то есть пример, то буду признателен.

 

Пример кода на отправку, что бы сообщение отправилось, необходим чат с контактом, собственно переменная chatId:

using Terrasoft.Configuration.Omnichannel.Messaging
using System.Linq
using OmnichannelMessaging
using OmnichannelProviders.Domain.Entities
using MessageDirection = OmnichannelProviders.Domain.Entities.MessageDirection
 
//Сам код:
 
UserConnection userConnection = Get<UserConnection>("UserConnection");
Guid chatId = Get<Guid>("ChatId");
string textMessage = Get<string>("TextMessage");
 
DateTime foo = DateTime.Now;
long unixTime = ((DateTimeOffset)foo).ToUnixTimeSeconds();
 
var messageManager = new MessageManager(userConnection);
var messages = messageManager.GetMessagesByChatId(chatId);
var unifiedMessage = messages.FirstOrDefault();
 
if (unifiedMessage != null) {
	UnifiedMessage message = new UnifiedMessage {
		Recipient = unifiedMessage.MessageDirection == MessageDirection.Incoming ? unifiedMessage.Sender : unifiedMessage.Recipient,
		Sender = unifiedMessage.MessageDirection == MessageDirection.Incoming ?	unifiedMessage.Recipient : unifiedMessage.Sender,
		MessageDirection = MessageDirection.Outcoming,
		ChatId = chatId.ToString(),
		ChannelId = unifiedMessage.ChannelId,
		Source = unifiedMessage.Source,
		MessageType = OmnichannelProviders.Domain.Entities.MessageType.Text,
		Message = textMessage,
		Timestamp = unixTime
	};
    messageManager.Send(message);
}

 

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

Добрый день. В обращениях пропала кнопка "настроить права доступа" во всех остальных разделах все корректно отображается. Как можно обратно вывестиИзображение удалено.

Нравится

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

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

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

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

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