При установке приложения Data binding tool for Creatio на 7.18.5 выходит ошибка:
2022-01-13 19:14:58,126 При компиляции конфигурационной библиотеки возникли ошибки и (или) предупреждения
2022-01-13 19:14:58,126 Autogenerated/Src/GlbDataBindingService.GlbDataBinding.cs(30,37) ошибка CS0117: 'HttpContext' does not contain a definition for 'Current'
2022-01-13 19:14:58,126 Autogenerated/Src/GlbDataBindingService.GlbDataBinding.cs(100,11) ошибка CS0234: The type or namespace name 'Text' does not exist in the namespace 'ServiceStack' (are you missing an assembly reference?)

Нравится

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

аналогичная проблема при установке скл-консоли с маркетплейса: https://marketplace.terrasoft.ru/app/sql-executor-creatio

У вас случайно не линукс с net.core?

Ольга П.,

Попробовал установить скл-консоль на наш стенд, первая ошибка точно такая же, все верно.

Андрей Дубков,

да

Ольга П.,

Спасибо, подозревал, что дело в этом, так как на фреймворке ставится без ошибок...

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

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

Нравится

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

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

 

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

 

Готовых скриптов по решению этой задачи также нет.

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

Добрый день!

Переименовал объекты имеющие отношения к разделу. 

Поправил название объекта и полей  на страницах. 

На разделе меню вид есть. но в нем нет раздела меню Открыть мастер раздела.

На странице нет вообще меню Вид.

На нетронутых разделах все имеется в наличии. 

При загрузке получаю предупреждение

- all-combined.js:41 Колонка Id не объявлена в ViewModel элемента меню

Что то мне подсказывает, что проблема связана с этим. 

Сам раздел и страницы грузятся без проблем.

Будьте добры помогите с проблемой!

Нравится

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

Добрый день, Максим!

Рекомендую сделать полную генерацию всех схем и компиляцию приложения в разделе Конфигурация.

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

Как можно удалить файл в ходе БП ?

Пример: 

Нужно в  ходе БП удалить все файлы кроме файла который загрузили в конце (По дате ) 

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

Нравится

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

Добрый день.

 

Можно в БП реализовать такую логику 2-мя стандартными элементами.

1. С помощью элемента 'Чтение данных' получить Id последней загруженной записи:

2. С помощью элемента 'Удаление данных':

Добрый день.

 

Можно в БП реализовать такую логику 2-мя стандартными элементами.

1. С помощью элемента 'Чтение данных' получить Id последней загруженной записи:

2. С помощью элемента 'Удаление данных':

Спасибо 

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

Добрый день, форумчане!

Пытаюсь создать свой провайдер для работы с чатом. Вот по этой статье.

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

Полез в дебаг, и обнаружил что при отправке сообщения. Source устанавливает в признак 2  - сторонний разработчики. Имя канала пусто. Хотя сам id моего канала есть.

   {
        Facebook = 0,
        Telegram = 1,
        ThirdParty = 2,
        WhatsApp = 3
    }

Происходит попытка собрать worker для ThirdParty. Но так как его нет, а есть мой канал Test. Отправка падает.

Если при получении сообщения я задаю канал прям в ChannelName. От при отправке из фронта в обратную сторону. такого параметра я не вижу. Теоретически имя канало должно вытягиваться из провайдера канал или самого имени канала. Но такого кода в методе public OmnichannelMessagingServiceResponse SendMessage(MessagingMessage message) 

Уже перелопатил весь код. Не могу найти ответ. Либо это не доработка террасофта, либо я чего то не понимаю.

При получении сообщения мы задаем канал вот тут

ChannelId = message.ChannelId, 
				MessageDirection = MessageDirection.Incoming,
				MessageType = messageType,
				// Указывает на источник канала (сторонние разработчики).
				Source = ChannelType.ThirdParty, 
				// Имя провайдера. В дальнейшем будет использоваться как идентификатор провайдера.
				ChannelName = "Test" 

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

Будьте добры. помогите с вопросом. Код прошерстил. Связь в коде нашел только с Source. ChannelName при вызове SendMessage приходит пустой.

При дебаге я подменил значение   ChannelName на Test. все заработало. Но кода для заполнения канала нет. В том числе и со стороны фронта. Где бы это могло храниться, не нашел так же. Нашел все связи OmniChat и прочее. 

В общем я в тупике. помогите если кто то в теме!

Нравится

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

Здравствуйте, мы расширили список провайдеров и теперь не обязательно использовать ThirdParty = 2,
сейчас список следующий:
Facebook, Telegram,  ThirdParty, WhatsApp, Skype, Viber, Instagram, WeChat, Line, Blackberry, Hangouts, Slack, Snapchat, Signal, Kakaotalk, Discord, Imo, Kik, Qq,    iMessage,  WebSite, VK, OK, Twitter, Workplace, Teams

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

Test - название канала, а провайдер ThirdParty. Исходя из этого необходимо добавить реализацию для отправки сообщений на провайдер ThirdParty. Пример есть в схеме OmnichannelMessagingAppEventListener (метод BindOutcomeMessageWorker).
В методе описана зависимость использования воркера исходя из провайдера, такую же логику необходимо добавить для воркера ThirdParty.

Алёна Доля,

 

Добрый день!

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

Негрий Максим Михайлович,

 У MessageManager, есть по две реализации каждого метода. Например:

        /// <summary>
        /// Save message
        /// </summary>
        /// <param name="message">Message from messenger.</param>
        public void Receive(UnifiedMessage message) {
            MessageIncomeWorker.Receive(message);
        }

        /// <summary>
        /// Save message
        /// </summary>
        /// <param name="message">Message from messenger.</param>
        /// <param name="messenger">messenger name.</param>
        public void Receive(UnifiedMessage message, string messenger) {
            MessageIncomeWorker.Receive(message, messenger);
        }

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

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

Сделал сервис для .netcore по стате https://academy.terrasoft.ru/docs/developer/back-end_development/config…

Обращаюсь к сервису из вкладки браузера после входа в систему http://172.23.1.117/rest/UsrCustomConfigurationService/SomeMethod

но получаю сообщение 404 (Creatio развернуто в докере, докер перезапускал, все компилировал). Прошу подсказать что еще можно сделать чтоб сервис заработал?
 

 namespace Terrasoft.Configuration.UsrCustomConfigurationService
{
    using System;
    using System.Collections.Generic;
    using System.Security;
    using System.ServiceModel;
    using System.ServiceModel.Activation;
    using System.ServiceModel.Web;
    using System.Web.SessionState;
    using Terrasoft.Common;
    using Terrasoft.Core;
    using Terrasoft.Core.DB;
    using Terrasoft.Core.Factories;
    using Terrasoft.Core.ServiceModelContract;
    using Terrasoft.Web.Common;
    using Terrasoft.Web.Http.Abstractions;
 
     #region Class: UsrCustomConfigurationService
 
    [ServiceContract]
 
     [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
 
    public class UsrCustomConfigurationService: BaseService
    {
        #region Methods: Public
        /* Метод веб-сервиса. */
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "SomeMethod", 
            BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json,
            ResponseFormat = WebMessageFormat.Json)]
        public string SomeMethod() {
            
            var httpContext = HttpContext.Current;
            return "12345";
        }
        #endregion
    }
    #endregion
}

 

Нравится

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

Столкнулись с похожей проблемой -- нам помогла перезагрузка :)

Столкнулись с похожей проблемой -- нам помогла перезагрузка :)

Вадим Курунов,

Спасибо, помогло! Надеюсь в следующих релизах такое не потребуется

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

Добрый день

 

При установке приложения  IIT E-Signature for Creatio возникли ошибки. Логи во вложении. 

Как исправить?

 

 

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

Нравится

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

Подскажите как установить свою вкладку "по умолчанию" в панели действий.Изображение удалено.

Сейчас открывается на вкладке "Следующие шаги", а нужно вкладку отправки сообщения(portal-message-tab)

Нравится

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

Добрый день.
Просьба повторно отправить скриншот.

При открытии нового обращения панель действий выглядит так

Нужно сделать что бы было как у портальных, открыта вкладка "сообщения"

 

Добрый день

Игорь, страница портала имеет свой модуль ActionsDashboard - PortalCaseSectionActionsDashboard. В нем есть пример как инициализировать DefaultTab. 

Значит можете заместить CaseSectionActionsDashboard и сделать то, что вам нужно

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

Здравствуйте. Добавил Tost в систему как в дополнении https://marketplace.terrasoft.ru/app/toast-notifications-creatio, добавил в него элемент процесса что бы из бизнес процесса было удобно на фронт отправлять сообщения в Tost, работает отлично и красиво, спасибо ребятам за их реализацию, но проблема в том что работает только когда включен режим "Отладки" в системных настройках, кода он выключен выдает ошибку

Нравится

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

Начал разбираться в стандартных чатах и возникли вопросы
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&lt;UserConnection&gt;("UserConnection");
Guid chatId = Get&lt;Guid&gt;("ChatId");
string textMessage = Get&lt;string&gt;("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);
}

 

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