Подскажите, как можно пакетно добавлять данные в деталь прилетающие со стороннего сервиса в виде json?

Нравится

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

Возможно эта статья Вам поможет https://academy.terrasoft.ru/documents/technic-sdk/7-16/funkcionalnost-…

Что Вы имеете в виду под «прилетающие со стороннего сервиса»? Вы можеете из БП на сайте 7.Х вызывать этот веб-сервис, а затем обработать полученную коллекцию данных, произвести вставку.

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

Зверев Александр,

У меня есть бп, который добавляет контакты, но делает это по одной записи на запрос, то сейчас мне приходится посылать по одному запросу, чтобы добавить один контакт. Как мне переписать бп так, чтобы он принимал контакты в виде json одним запросом и добавлял их?

Возможно эта статья Вам поможет https://academy.terrasoft.ru/documents/technic-sdk/7-16/funkcionalnost-…

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

Всем салют!

Не получается авторизоваться пост запросом из этой ссылки:

import requests
import time
 
if __name__ == "__main__":
    try:
        s = requests.session()
        headers = {
            
            'Content-Type': 'application/json',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',
            'ForceUseSession': 'true'
        }
        data={'UserName': 'Login', 'UserPassword': 'Password'}
        p = s.post('https://mysite.ru/ServiceModel/AuthService.svc/Login', headers=headers, data=data)
        s.cookies
        print(p.text)
    except Exception as e:
            print(f"\n\n\n\n{e}\n\n\n")
        
time.sleep(50)

Возвращает такую ошибку:

requests.packages.urllib3.connectionpool - DEBUG - "POST /Login HTTP/1.1" 400 3069
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Request Error</title>
  </head>
  <body>
    <div id="content">
      <p class="heading1">Request Error</p>
      <p>The server encountered an error processing the request. The exception message is 'There was an error checking start element of object of type Core.ServiceModelContract.AuthToken. Encountered unexpected character 'U'.'. See server logs for more details. The exception stack trace is: </p>
      <p>   at System.Runtime.Serialization.XmlObjectSerializer.IsStartObjectHandleExceptions(XmlReaderDelegator reader)
   at System.ServiceModel.Dispatcher.SingleBodyParameterMessageFormatter.ReadObject(Message message)
   at System.ServiceModel.Dispatcher.SingleBodyParameterDataContractMessageFormatter.ReadObject(Message message)
   at System.ServiceModel.Dispatcher.SingleBodyParameterMessageFormatter.DeserializeRequest(Message message, Object[] parameters)
   at System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(Message message, Object[] parameters)
   at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</p>
    </div>
  </body>
</html>

Нравится

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

Решено!

Вдруг кому пригодится решение:





p = s.post('https://mysite.ru/ServiceModel/AuthService.svc/Login', headers=headers, data=json.dumps(data))        

Решено!

Вдруг кому пригодится решение:





p = s.post('https://mysite.ru/ServiceModel/AuthService.svc/Login', headers=headers, data=json.dumps(data))        

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

Добрый день! Подскажите пожалуйста, как можно реализовать запуск бизнес-процесса на основании фильтрации в разделе? 



К примеру:

Есть заказы которые вручную отфильтровали по Состоянию и Дате создания, к этому результату необходимо применить БП который изменит значение текущего поля на другое (которое будет разово прописано в БП).



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

Нравится

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

под бизнес-задачу не подойдет готовое решение https://marketplace.terrasoft.ru/app/mass-updating-creatio? вроде бы выполняется то, что описано у вас в задаче

под бизнес-задачу не подойдет готовое решение https://marketplace.terrasoft.ru/app/mass-updating-creatio? вроде бы выполняется то, что описано у вас в задаче

И по сигналу на изменение этого поля можно запустить процесс 

Артём, если вопрос не в конкретном решении, покрываемом дополнением, а в общем случае, то это можно сделать базовыми средствами системы:

 

После выполнения фильтрации выбрать действие «Выбрать несколько записей», затем действие «Выбрать все» (это выберет не все в разделе, а именно отфильтрованные), а затем запустить ранее подключенный в мастере раздела БП для этих записей:

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

ЗП до 150 тысяч рублей.

Обязанности:

  • Проектирование и разработка систем на базе Terrasoft Creatio (bpm'online) с использованием серверного кода ASP.NET (C#) и JavaScript;
  • Разработка интеграций с внешними системами;
  • Разработка новых модулей системы и доработка существующих;
  • Установка и настройка коннекторов для интеграции с системой.



Требования:

  • Высшее образование;
  • Уверенное знание языка C#, JavaScript, SQL;
  • Умение работать с системами контроля версий GIT, SVN;
  • Опыт разработки под платформу Creatio (Terrasoft bpm'online);
  • Владение инструментами моделирования процессов, знание нотаций моделирования BPMN 2.0;
  • Аналитический склад ума и высокая скорость мышления;
  • Стремление к профессиональному росту.



Условия:

  • Работа в динамично развивающейся организации Правительства Москвы;
  • Интересные и амбициозные задачи;
  • Профессиональный коллектив;
  • Стабильная заработная плата;
  • График работы 5/2;
  • Оформление по ТК РФ.

Почта для связи Chugunkinams@edu.mos.ru

Нравится

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

В первом бизнес-процессе в элементе Задание-сценарий вызываю другой бизнес-процесс.

Во втором бизнес-процессе выполняется логика и заполняются два исходящих параметра. 

Как вычитать эти два параметр в первом бизнес-процессе

 var manager = context.UserConnection.ProcessSchemaManager;
 var processSchema = manager.GetInstanceByName("Второй процесс");
 var process = processSchema.CreateProcess(context.UserConnection);
 process.Execute(context.UserConnection);
       
 if (process.Status == Terrasoft.Core.Process.ProcessStatus.Done)
 {
        parameter1 = //вычитать параметр 1 второго процесса
        parameter2 = //вычитать параметр 2 второго процесса
  }

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

Спасибо.

Нравится

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

Сразу после запуска точно нельзя, он ведь ещё не отработал. А если делать средствами БП, в одном элементе запустить подпроцесс, далее элементе «Формула» или в условии перехода обратиться к его параметру, как тут:

scr_process_creation_designer_conditional_formula.png

Для получения:

var parametr1 = Get<Тип данных параметра>

("Код параметра");

 

Для присвоения:

Set("Код параметра", parametr1);

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

 

Сергей, если поискать, в SynchronizeWithGoogleModuleProcess есть пример такого получения параметров:

public virtual void LaunchProcess() {
	var entityManager = UserConnection.EntitySchemaManager;
	var manager = UserConnection.ProcessSchemaManager;
	var processSchema =  (ProcessSchema)manager.FindInstanceByUId(IntegrationProcessId);
	if (processSchema == null) {
		return;
	}
	var moduleProcess = processSchema.CreateProcess(UserConnection);
	moduleProcess.Execute(UserConnection);
	var syncGContactProcessUId = new Guid("2e4ae0af-2b8a-446f-bd58-7a66e3848de2");
	var syncGCalendarProcessUId = new Guid("0eceffe6-2795-439f-b915-118580947959");
	if (IntegrationProcessId == syncGContactProcessUId ||
		IntegrationProcessId == syncGCalendarProcessUId) {
		SyncProcessResult = (string)moduleProcess.GetPropertyValue("SyncResult");
	}
}

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

Ведь на момент выполнения функции Execute код скрипта продолжает выполняться, а дочерний БП ещё даже не запустился, process.Status не будет равен Terrasoft.Core.Process.ProcessStatus.Done.

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

 

Исходя из Вашего комментария понимаю, что забрать обратно параметры нельзя в интерпретируемых процессах?

Сразу после запуска точно нельзя, он ведь ещё не отработал. А если делать средствами БП, в одном элементе запустить подпроцесс, далее элементе «Формула» или в условии перехода обратиться к его параметру, как тут:

scr_process_creation_designer_conditional_formula.png

 У меня дело в том, что через подпроцесс должна пройти коллекция записей. Коллекцию я получаю в Задании-сценарий. 

Придётся менять архитектуру логики.

Александр, спасибо за отклик. 

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

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

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

Добрый день. Вопрос в том, что нужно на back-end аутентифицироваться с паролем, который находится в системной настройке с типом зашифрованная строка. Т.е. какой-то правильный decrypt 

Нравится

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

Здравствуйте! Воспользуйтесь данной конструкцией - https://prnt.sc/vdvss9

Как видно на скрине возвращаемое значение - 123456

хотя в системной настройке оно зашифровано - https://prnt.sc/vdvtrg

как и в БД - https://prnt.sc/vdvuni

Здравствуйте! Воспользуйтесь данной конструкцией - https://prnt.sc/vdvss9

Как видно на скрине возвращаемое значение - 123456

хотя в системной настройке оно зашифровано - https://prnt.sc/vdvtrg

как и в БД - https://prnt.sc/vdvuni

А как можно получить такую зашифрованую строку в бизнес-процессе без применения "Задания-сценарий"?

Александр Тыра,

добрый день! В БП система не даст Вам сохранить данное значение в параметр -

https://prnt.sc/vg0fwn

Если Вам необходимо использовать авторизацию в стороннем web-сервисе и то создайте, заранее, в разделе Web сервис, выбрать метод аутентификации Basic и добавить в него пароль - https://prnt.sc/vg0ji6

и в бп использовать уже элемент "Вызвать веб-сервис" - https://prnt.sc/vg0k4o, в данном контексте можно так использовать пароль в зашифрованном виде, иначе только через задание сценарий. Подробнее о работе с элементом "Вызвать веб-сервис" описано в данной статье

Нигрескул Алексей,

у меня JWT авторизация, так что получение токена я реализовал отдельным элементом процесса, и к нему как раз системная настройка с паролем. Реализовал через задание-сценарий, но думал есть более красивый способ. Видимо реализую еще один элемент процесса "Получение зашифрованной настройки" с выбором настройки и на выходе разшифрованный текст, будет наверно удобнее

Александр Тыра,

добрый день! Т.е. данный токен нужно передавать в Json-объекте, верно? В таком случае создаете веб сервис без авторизации, создаете метод POST делаете тело передаваемого объекта и в нем уже можно указать нашу зашифрованную переменную - 

https://prnt.sc/vgm9dg&nbsp;

https://prnt.sc/vgm9t6

Наверное Вы это искали?

 

Нигрескул Алексей,

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

var client = new RestClient(urlForToken);
client.Timeout = -1;
var request = new RestRequest(urlMethod, Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Accept",
  "text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8");
request.AddParameter("username", login);
request.AddParameter("password", password);
IRestResponse response = client.Execute(request);
if (response.StatusCode == HttpStatusCode.OK)
{
	Token = response.Content;
}
StatusCode = (int)response.StatusCode;

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

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

Добрый день! Помогите добавить в имеющийся запрос выборку top 1 (первую запись из результирующего набора).

 

Имеется данный запрос на странице карточки клиента:

 

var recordId = this.get("Id");

                var esq = Ext.create("Terrasoft.EntitySchemaQuery", {

                    rootSchemaName: "Inspectors"

                });

                var filterGroup = new esq.createFilterGroup();

                filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.AND;

                filterGroup.add("InspectorFilter1", esq.createColumnFilterWithParameter(

                    Terrasoft.ComparisonType.EQUAL, "Account", recordId));

                filterGroup.add("InspectorFilter2", esq.createColumnFilterWithParameter(

                    Terrasoft.ComparisonType.EQUAL, "InspectorsType", SNClientConstants.InspectorTypes.InspectorCredit));

                esq.addColumn("Inspector");    

                esq.getEntityCollection(function(result) {

                    if (result.success) {

                        var collection = result.collection;

                        collection.each(function(item) {

                            var inspector = item.get("Inspector");

                            if (inspector)

                            {

                                this.set("CreditInspectorCr", inspector);                                    

                            }

                        }, this);

                    }

                }, this);

  

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

Нравится

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

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

 

Вам нужно отсортировать записи по дате создания по убыванию и установить свойство rowCount = 1:

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
        rootSchemaName: "Inspectors"
});
var createdOnColumn = esq.addColumn("CreatedOn");
createdOnColumn.orderDirection = Terrasoft.OrderDirection.DESC;
createdOnColumn.orderPosition = 0;
esq.rowCount = 1;

 

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

 

Вам нужно отсортировать записи по дате создания по убыванию и установить свойство rowCount = 1:

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
        rootSchemaName: "Inspectors"
});
var createdOnColumn = esq.addColumn("CreatedOn");
createdOnColumn.orderDirection = Terrasoft.OrderDirection.DESC;
createdOnColumn.orderPosition = 0;
esq.rowCount = 1;

 

Отлично! Большое спасибо!

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

Разворачиваю Creatio на новой машине. Версия 7.16.4

 

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

 

Redis запущен и работает. Если его отключить, сообщение меняется.



Доступ к SQLserver есть. В SqlServer Profiler вижу входящие запросы, все выполняются без ошибок. Если у пользователя Supervisor в БД поменять язык, то и в интерфейсе язык поменялся (Authorization failed). 

 

Если указываю несуществующего в БД пользователя, сообщение также меняется (Invalid username or password specified. Verify that you have entered correct data or contact your system administrator. A system administrator can change the password on the user page)

 

Все компоненты Windows по списку проверила, все установлено.

 

В файле ProcessMaintenanceLog ошибка (см ниже). Куда дальше смотреть? Что проверять? 



2020-10-29 09:41:51,005 [208] WARN IIS APPPOOL\Creatio_7164 ProcessMaintenanceLog RunStep - Operation ProcessLogArchivingOperation failed

System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): Время ожидания операции истекло

   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()

   at System.Data.SqlClient.SqlDataReader.get_MetaData()

   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)

   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

   at Polly.Policy.<>c__DisplayClass119_0`1.b__0(Context ctx, CancellationToken ct)

   at Polly.Policy.<>c__DisplayClass129_0`1.b__0(Context ctx, CancellationToken ct)

   at Polly.Policy.<>c__DisplayClass103_0.b__1(Context ctx, CancellationToken ct)

   at Polly.NoOp.NoOpEngine.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.<>c.b__103_0(Action`2 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.ExecuteInternal[TResult](Func`3 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.Execute[TResult](Func`3 action, Context context, CancellationToken cancellationToken)

   at Polly.Policy.Execute[TResult](Func`1 action)

   at Terrasoft.DB.MSSql.MSSqlExecutor.FailoverExecute[TResult](DbCommand command, Func`1 func)

   at Terrasoft.Core.DB.DBExecutor.FailoverExecuteReader(DbCommand command, Func`1 func)

   at Terrasoft.Core.DB.DBExecutor.ExecuteCommand[TResult](Func`2 commandExecutionCallback, String sqlText, QueryParameterCollection queryParameters, CancellationToken cancellationToken)

   at Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters, CommandBehavior behavior, CancellationToken cancellationToken)

   at Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters)

   at Terrasoft.Core.DB.Select.ExecuteReader(ExecuteReaderReadMethod readMethod)

   at Terrasoft.Core.SchemaManager`1.GetLastSchemaResourceModification(UserConnection userConnection, Guid workspaceId)

   at Terrasoft.Core.SchemaManager`1.d__245.MoveNext()

   at Terrasoft.Core.SchemaManager`1.InitializeItems(Guid itemUId)

   at Terrasoft.Core.Entities.EntitySchemaManager.InitializeItems(Guid itemUId)

   at Terrasoft.Core.SchemaManager`1.InitializeItems()

   at Terrasoft.Core.Entities.EntitySchemaManager.InitializeItems()

   at Terrasoft.Core.SchemaManager`1.Initialize(SchemaManagerProvider provider, SchemaManagerProviderConfigurationElement configuration)

   at Terrasoft.Core.FileSystemEnabledSchemaManager`1.Initialize(SchemaManagerProvider provider, SchemaManagerProviderConfigurationElement configuration)

   at Terrasoft.Core.Entities.EntitySchemaManager.Initialize(SchemaManagerProvider provider, SchemaManagerProviderConfigurationElement configuration)

   at Terrasoft.Core.SchemaManagerProvider.InitializeSchemaManager(String managerName)

   at Terrasoft.Core.SchemaManagerProvider.<>c__DisplayClass53_0.b__1()

   at System.Lazy`1.CreateValue()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Lazy`1.get_Value()

   at Terrasoft.Core.SchemaManagerProvider.GetSchemaManager(String managerName)

   at Terrasoft.Core.SchemaManagerProvider.GetManager(String managerName)

   at Terrasoft.Core.UserConnection.get_EntitySchemaManager()

   at Terrasoft.Core.Process.ProcessLogArchiverStorage.GetSchemaColumnsNames(String schemaFrom)

   at Terrasoft.Core.Process.ProcessLogArchiverStorage.MoveToHistoryLog(DBExecutor dbExecutor, String schemaName)

   at Terrasoft.Core.Process.ProcessLogArchiverStorage.Archive()

   at Terrasoft.Core.Process.LoopOperationUtils.DelegateLoopOperation.RunStep(ILoopContext context)

   at Terrasoft.Core.Process.LoopOperationUtils.MetricLoopContext.Operation.RunStep(ILoopContext context)

   at Terrasoft.Core.Process.LoopOperationUtils.IgnoreErrorsLoopContext.Operation.RunStep(ILoopContext context)

ClientConnectionId:48337d16-1e7a-4442-a86b-cb508f53ff6f

Error Number:-2,State:0,Class:11


 

Нравится

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

Мне кажется, ошибка в логах  ProcessMaintenanceLog  связана с архивацией журнала процессов и не относится к неудачному входу. Посмотрите на ошибки в файлах Error.log (особенно в том, который относится к странице логина, не в папке \0\).

 

Также посмотрите в браузере в «Инструментах разработчика» обмен информацией с AuthService.svc, возможно, там будет больше информации.

 

Возможно, не хватает места на диске у сервера. Или требуется очистка Redis (иногда ещё бывает нужно перезапустить саму программу redis-cli.exe).

 

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

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

Добрый день.



При попытке подключиться с помощью плагина Word к серверу Creatio выдается ошибка:



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

Сервер указан правильно, доступ через браузер с того же ПК к нему есть. Пробовал с двумя учетными записями - с авторизацией через AD и через Creatio. 

Плагин скачивался с https://academy.terrasoft.ru/documents/administration/7-16/ustanovka-pl…, MS Word версии 2013

В чем может быть проблема?

Нравится

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

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

 

Да, если у Вас действительно 7.15, там, где качали, есть ссылка на более старый плагин. Раз у Вас нет поля «Конфигурация», наверно, качали новый? Они между собой несовместимы, причина, вероятно, как раз в этом.

Юрий, а дело не в том же, что в этой теме?

Может, неправильно прописан адрес, логин или пароль?

Узнать больше подробностей можно, посмотрев на обмен запросами плагина с сервером через Fiddler, там будет видно, когда и из-за чего сервер не пускает.

Зверев Александр,

да вроде бы все верно прописано, несколько раз проверил и перенабирал.  При попытке ввести заведомо ошибочные имена пользователя и пароль система сообщает "Login or password is incorrect". При попытке ввести заведомо неправильное имя сервера система сообщает "Невозможно разрешить удаленное имя [имя сервера]". При вводе правильных значений авторизация вроде бы проходит корректно, сбой случается на попытке получить список печатных форм.

 

Насчет использования Fiddler - к сожалению, у меня нет админских прав на свой ПК, поэтому мне придется обращаться с запросом в корпоративный хэлпдеск. Это может растянуться надолго. Может, подскажете, что именно следует проверить, или по каким причинам вообще подобная ошибка случается?



Сходство с темой по ссылке есть, но там предлагается опираться на содержимое поля Configuration, которого у меня почему-то нет.

Если всё так строго с правами, может и на уровне firewall всё заблокировано? Хотя, авторизация же прошла.

 

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

Зверев Александр,

я уже свои две недели в демке отработал, больше вроде не дают?

Так что мешает снова зарегистрироваться? Тем более, 7.17 вышла, заодно попробовать.

Зверев Александр,

логично...

 

Зарегистрировался, все подключилось без проблем. По всей видимости, ошибка связана с какими-то настройками нашего сервера, вопрос - с какими?

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

 

Да, если у Вас действительно 7.15, там, где качали, есть ссылка на более старый плагин. Раз у Вас нет поля «Конфигурация», наверно, качали новый? Они между собой несовместимы, причина, вероятно, как раз в этом.

Зверев Александр,

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



(На всякий случай для будущих читателей треда: чтобы запустить плагин, на 7.15 во всяком случае, также необходимо, чтобы пользователь, под которым вы авторизовались на своем ПК, имела права на доступ к серверу Creatio. Иначе авторизация сработает, но список шаблонов отобразится пустым).

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

На чистой сборке версии 7.16.4 Studio не получается добавить новый шаблон для отчета. 

Если нажать кнопку "Загрузить шаблон", и выбрать шаблон xlsx, то в консоле получаем ошибку.

ErrorCode: "FileSecurityException

"Message: "Файлы с расширением [jar,apk] запрещены настройками безопасности. Если вам необходимо работать с файлами такого типа, пожалуйста обратитесь к администратору системы, для того чтобы убрать данное расширение из системной настройки [Список запрещенных расширений файлов] (FileExtensionsDenyList)"

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

Не очень понимаю чем тут  [jar,apk], если идет загрузка xlsx. Тем не менее, если расширения [jar,apk] добавить в доверенные, то загрузка отрабатывает корректно. Не знаю где именно баг в дополнении или в creatio.

Нравится

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

Павел, добрый день!

 

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

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