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

раньше было так, нашел скрин на академии, щас этого пункта почему то нет , после обновления на 7.18

Нравится

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

Добрый день, Дмитрий.

Было бы неплохо проверить действительно ли обновление виновник проблемы.

В целом же права на группы настраиваются в разделе Права доступа на объекты по принципу [Объект о котором идет речь]InFolder. Например для Case - CaseInFolder

Добрый день, Дмитрий.

Было бы неплохо проверить действительно ли обновление виновник проблемы.

В целом же права на группы настраиваются в разделе Права доступа на объекты по принципу [Объект о котором идет речь]InFolder. Например для Case - CaseInFolder

Показать все комментарии
Идея
Обсуждение

На продукте ServiceEnterprise обнаружил один баг по длине полей.

Создаем обращение. У обращения длина поля Subject=500 символов. Вставляем максимальную длину поля. 

в объекте Case пакета Case на событие CaseSaved работает процесс по созданию уведомления Reminding. для нового ответсвенного по обращени создается уведоление с текстом "Вас назначили ответственным по обращению №{0} “{1}”" (на русском языке) в поле SubjectCaption. Поле SubjectCaption в Reminding так же имеет длину 500 символов.

Таким образом при максимальной длине поля Тема в обращении получаем ошибку на уровне SQL по созданию записи "String or binary data would be truncated. The statement has been terminated." 

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

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

 

Здравствуйте, Алексей!



Нам удалось воспроизвести описанный Вами кейс.

Ошибка уже передана ответственной команде разработчиков и будет исправлена в релизе 7.18.2.



Благодарим.

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

Каким способом возможно вывести запуск разработанного бизнес процесса портальному пользователю

Нравится

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

Добрый день.

 

Пользователи портала лишены возможности запускать БП вручную.

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

 

Если БП инициирует пользователь портала, то выполнятся он должен от системного пользователя, Вы можете использовать реализацию подмены UserConnection, как это выполнено в базовом процессе "Запуск процесса Отправка email сообщения группе о назначении обращения" на элементе "Run send email to case group process".

Показать все комментарии
<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
 
  <add name="redis" connectionString="host=localhost;db=2;port=6379;timeout=20;maxReadPoolSize=10;maxWritePoolSize=500" />
  <add name="defPackagesWorkingCopyPath" connectionString="%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\TerrasoftPackages" />
  <add name="tempDirectoryPath" connectionString="%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\" />
  <add name="sourceControlAuthPath" connectionString="%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\Svn" />
  <add name="elasticsearchCredentials" connectionString="User=gs-es; Password=DEQpJMfKqUVTWg9wYVgi;" />
  <add name="influx" connectionString="url=http://10.0.7.161:30359; user=; password=; batchIntervalMs=5000" />
  <add name="messageBroker" connectionString="amqp://guest:guest@localhost/BPMonlineSolution" />
  <add name="db" connectionString="Data Source=MSKDTC01-SQL01\CRM; Initial Catalog=ELZTerrasoft; User ID=Terrasoft123; Password=Root123-4;MultipleActiveResultSets=True;Pooling=true;Max Pool Size=100" />
</connectionStrings>

выше мой файл настроек



у пользователя есть права владельца 



но при попытке открыть сайт выдает 

 

Security Exception

Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.



Exception Details: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)



Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.



Stack Trace:

 

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)]
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager) +1431
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +1085
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +70
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +964
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +109
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1529
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +156
   System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +258
   System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +312
   System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +202
   System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +413
   System.Data.SqlClient.SqlConnection.Open() +128
   Terrasoft.Core.DB.DBExecutor.<get_DBConnection>b__14_0() +22
   Polly.<>c__DisplayClass109_0.<Execute>b__0(Context ctx, CancellationToken ct) +23
   Polly.<>c__DisplayClass103_0.<NoOp>b__1(Context ctx, CancellationToken ct) +18
   Polly.NoOp.NoOpEngine.Implementation(Func`3 action, Context context, CancellationToken cancellationToken) +17
   Polly.<>c.<NoOp>b__103_0(Action`2 action, Context context, CancellationToken cancellationToken) +105
   Polly.Policy.Execute(Action`2 action, Context context, CancellationToken cancellationToken) +70
   Polly.Policy.Execute(Action action) +119
   Terrasoft.Core.DB.DBExecutor.get_DBConnection() +238
   Terrasoft.Core.DB.DBExecutor.PingDB(UserConnection userConnection) +47
 
[SecurityException: System login error. Error has been recorded in system log of the server. Please contact your system administrator.]
   Terrasoft.Core.DB.DBExecutor.PingDB(UserConnection userConnection) +240
   Terrasoft.Core.SystemUserConnection.InitializeCurrentUser(String userName, TimeZoneInfo timeZone, String clientIP, String agent, Boolean needRegisterSessionStart) +28
   Terrasoft.Core.SingleInstanceSystemUserConnectionProvider.Initialize(Boolean doLogin) +127
   Terrasoft.Core.AppConnection.InitializeSystemUserConnection(ConfigurationSection schemaManagerProviderConfigurationSection) +51
   Terrasoft.Core.AppConnection.Initialize() +493
   Terrasoft.WebApp.Loader.Global.InitializeAppConnection() +152
   Terrasoft.WebApp.Loader.Global.Application_Start(Object sender, EventArgs e) +230

Нравится

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

Дмитрий, добрый день! 

 

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



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

https://stackoverflow.com/questions/16256533/a-network-related-or-instance-specific-error-occurred-while-establishing-a-conne

и

https://thycotic.force.com/support/s/article/System-Data-SqlClient-SqlException-0x80131904

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

Всем доброго времени суток!

Столкнулся с проблемой, при сохранении Entity на событийном слое не срабатывает асинхронные операции.

Сохранение происходит в классе обработчике который подписан на очередь Rabbit

Выдает следующую ошибку:

EntityEventAsyncExecutor SendMessage - OnSavedMyEntityAsyncOperations

System.InvalidOperationException: Не удалось получить контекст выполнения фоновой операции. Для сервисов без авторизации необходимо вызвать Terrasoft.Web.Common.SessionHelper.SpecifyWebOperationIdentity.

   в Terrasoft.Core.ServiceBus.BusUtils.CreateUserContext(String userName, String sessionId, Guid externalAccessId)

   в Terrasoft.WebApp.ActorSystem.UserContextProvider.GetUserContext()

   в Terrasoft.ActorSystem.ActorReference.Tell(AppContextMessage message)

   в Terrasoft.Core.ActorSystem.Entities.EntityEventAsyncExecutor.SendMessage(Object parameters, Type operationType)

Как бороться с такой проблемой, может кто знает?

Спасибо!

Нравится

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

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

 

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

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

Добрый день.  Установил дополнение для отправки пуш увед. о сообщениях в ленте.

1. В тексте уведомления отображаются также теги HTML,  как с этим бороться?

2. При тегировании пользователя отправляется ссылка, но при открытии перехода не происходит 

Ios 14.6

спасибо

 

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

Нравится

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

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

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

При асинхронном запуске бизнес-процессов  в которых есть элемент - "Читать данные", постоянно выскакивает ошибка - Npgsql.NpgsqlOperationInProgressException: A command is already in progress.



Может кто сталкивался и знает как правильно работать с БД что бы при асинхронных запросах не было таких ошибок? 

Нравится

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

Андрей, что вы имеете ввиду под асинхронными? Фоновый режим? Как воспроизвести описанную проблему? И о какой версии идет речь?

Тарас Пономарёв,

EntityList.SplitOnParts(ChunkSize).AsParallel().AsOrdered().ForAll(EntityListPart=> { foreach(var entity in EntityListPart) {// тут запрос в бд, скажем дорогостоящий поиск по name like});

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

 

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

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

Добрый день! Обновили систему с очень старой версии, точнее 7.12 => 7.17. В одном из разделов были бизнес процессы, один использовал автогенерируемую страницу, а другой преднастроенную. До обновления при их срабатывании они автоматически отображались пользователю поверх других страниц. После обновления же такое поведение больше не наблюдается. Кто-нибудь сталкивался с подобным? Как это удалось решить?

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

Нравится

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

Добрый день.

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

Вам необходимо в первую очередь пошагово пройти по статье:

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/ra…

 

Самый простой способ проверить что вебсокеты настроены корректно описан тамже:

"В консоли разработчика веб-браузера введите команду Terrasoft.ServerChannel.ping(). При корректной настройке вебсокетов сервер ответит pong. При любом другом ответе сервера необходимо проверить правильность настройки вебсокетов."

 

 

Добрый день.

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

Вам необходимо в первую очередь пошагово пройти по статье:

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/ra…

 

Самый простой способ проверить что вебсокеты настроены корректно описан тамже:

"В консоли разработчика веб-браузера введите команду Terrasoft.ServerChannel.ping(). При корректной настройке вебсокетов сервер ответит pong. При любом другом ответе сервера необходимо проверить правильность настройки вебсокетов."

 

 

Тарас Пономарёв,

Terrasoft.ServerChannel.ping() - это работает. Как я понял, проблема возникает, когда процесс работает в фоне. 

Бершеда Д. Н.,

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

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

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

Нравится

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

Скорее всего ваш пакет унаследован от множества других пакетов (излишнее наследование) поэтому здесь вы видите названия одного и того же объекта, но замещенных в том или ином пакете соответственно

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

Dima Avdoshin,

Попробуйте включить профайлер непосредственно перед вводом искомого поля и посмотрите куда ушли запросы и собственно какие

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

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

Сейчас возникли вопросы.

1) Если привязывать реестр детали. Можем ли мы быть уверены что при переносе пакета будет использована последняя привязка.

2) Подскажите как правильно найти и удалить дубли из данных по ключу - устаревшие привязки.

Так же и со справочниками. Привязка осуществляется несколько раз.

Нравится

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

Алексей, добрый день.

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

Все настройки реестров сохраняются в объекте SysProfileData. В пакете можете отфильтровать записи по Тип = Данные и Объект = SysProfileData и удалить дубли.

Со справочниками чуть проще. Также фильтруете в Конфигурации по Тип = Данные и Объект = объект конкретного справочника и удаляете дубли.

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