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

До этого обращение имело статус : изменил статус активности Диагностировать и решить инцидент #SRХХХ с категорией Выполнить с "Не начата" на "Завершена" Сегодня в 15:54

Есть ли возможность переоткрыть закрытое обращение?

Нравится

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

Здравствуйте, Георгий!



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



Что касается вопроса, то в базовой логике приложения механизм переоткрытия обращений из стадии "Закрыто" не предусмотрен.



Реализовать необходимую задачу можно несколькими способами: 

1) Построить бизнес-процесс, что к примеру с помощью элементов "Читать данные" и "Изменить данные" будет переводить обращение в стадию "Переоткрыто".

2) В справочнике "Состояния обращений" для стадии "Закрыто" снять признак "Конечное состояние".

3) Доработать функционал с помощью кода.

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

Добрый день, сделал копию бд, стал ставить локально, версии creatio, postgres, расположение и именования папок идентичное. Уже делал бэкап и восстанавливал на другую машину, работало без проблем. Подскажите, может кто-то сталкивался и знает. Права на папке где creatio лежит, тоже проверил, там все в порядке. Пароль от postgres и от бд тоже знаю, connectionString весь проверил, локально все компоненты IIS тоже есть.Изображение удалено.

 

Нравится

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

БД  и приложение Creatio на одной машине (серваке)?

Pavel Litvinovich,

Да, и бд и creatio на одной локалке

Добрый день.

Проверьте, корректно ли прописаны параметры подключения к БД в ConnectionStrings.config.

 

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

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

При попытке это сделать, вылезает окошко со следующей ошибкой:

Возникла ошибка при сохранении: Произошла одна или несколько ошибок.

При этом, если нажать на отмену и открыть БП заново, видно, что внесённые изменения сохранены. Но при этом скомпилировать внесённые изменения система не предлагает.

Где можно увидеть, что за ошибки возникли?

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

Нравится

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

Добрый день

После установки пакета Printable forms setup for Creatio (https://marketplace.terrasoft.ru/app/reports-setup-creatio) перестал работать стенд

Уже и Redis чистил и Исходники генерил, но при компиляции выдает ошибку  Зависимый пакет "NavReportMaster" не найден

Уже не знаю как восстановить работу стенда

Нравится

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

либо что-то не доставилось, либо просмотри зависимости в новых пакетах, нет ли там NavReportMaster. мб мусорные зависимости от пакетов разработки остались

Варфоломеев Данила,

Как их можно удалить?

Иван Ратников,

 

Попробуйте восстановить базу данных из резервной копии.

Алла Савельева,

если б это было возможно...

Иван Ратников пишет:

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

Про зависимости пакетов можете почитать здесь:

https://academy.terrasoft.ru/docs/7-17/developer/development_tools/pack…

Скрипт для разблокировки пакета:

 UPDATE "SysPackage" SET "InstallType" = 0, "IsChanged" = 1, "IsLocked" = 1 WHERE "Name" = 'NamePackage';

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

Для начала нужно понять, в каком пакете осталась зависимость от NavReportMaster. Это можно выяснить скриптом:

 

SELECT sp2.Name FROM SysPackageDependency

LEFT JOIN SysPackage sp1 ON sp1.Id = SysPackageId

LEFT JOIN SysPackage sp2 ON sp2.Id = DependOnPackageId

WHERE sp1.Name = 'NavReportMaster'

 

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

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

Добрый день, занимаюсь обновлением creatio sales c 7.16 на 7.18,

столкнулся с проблемой конфигурирования сервиса выгрузки дистрибутивов.

Файл downloader.json настроил следующим образом:

{

    "WebRootDirectory": "C:\inetpub\wwwroot\Sales",

    "WorkDirectory": "C:\copy",

    "Site": "название из IIS",

    "Product": "SalesEnterprise",

    "DbEngineType": "PostgreSQL",

    "VersionBuild": "7.16.1.2135",

    "SkipBinary": "true",

    "ConnectionString": "Server=1.2.3.4;Port=5432;Database=crm;User ID=postgres;password=12345;Timeout=500;CommandTimeout=400;MaxPoolSize=1024;",

    "CurrentSchemaName": "public"

}

Часть данных в конфиге и логах обезличил.

Папка с UpdateService находится в корне диска с дистрибутивом на сервере.

Вот лог ошибок:

ConvertFrom-Json : Нераспознанная escape-последовательность. (29): {

        "WebRootDirectory": "C:\inetpub\wwwroot\Sales",

        "WorkDirectory": "C:\copy",

        "Site": "название из IIS",

        "Product": "SalesEnterprise",

        "DbEngineType": "PostgreSQL",

        "VersionBuild": "7.16.1.2135",

        "SkipBinary": "true",

        "ConnectionString": "Server=1.2.3.4;Port=5432;Database=crm;User ID=postgres;password=12345;Timeout=50

0;Comm

andTimeout=400;MaxPoolSize=1024;",

        "CurrentSchemaName": "public"

}

C:\UpdaterService\Downloader.ps1:407 знак:23

+     $config = $content | ConvertFrom-Json

+                          ~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-Json], ArgumentException

    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

Add-Member : Не удается привязать аргумент к параметру "InputObject", так как он имеет значение NULL.

C:\UpdaterService\Downloader.ps1:463 знак:18

+         $environment | Add-Member "Locale" "ENU" -Force

+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidData: (:) [Add-Member], ParameterBindingValidationException

    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.AddMemberCo

   mmand

Add-Member : Не удается привязать аргумент к параметру "InputObject", так как он имеет значение NULL.

C:\UpdaterService\Downloader.ps1:466 знак:18

+         $environment | Add-Member "SkipVersions" @() -Force

+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidData: (:) [Add-Member], ParameterBindingValidationException

    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.AddMemberCo

   mmand

Нравится

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

Добрый день.

 

Попробуйте указать информацию по путям к директориям через 2 слеша - у Вас через 1.

 

Также рекомендую прочитать ещё раз внимательно иструкцию по обновлению на Академии.

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

В противном случае для настройки выгрузки Вы можете использовать упрощенный вид файла json:

{
"WebRootDirectory": "c:\\inetpub\\wwwroot\\delivery",
"WorkDirectory": "c:\\temp\\delivery",
"Site": "имя вашего сайта в IIS",
"Product": "Studio",
"VersionBuild": "7.14.1.935"
}

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

 

Добрый день.

 

Попробуйте указать информацию по путям к директориям через 2 слеша - у Вас через 1.

 

Также рекомендую прочитать ещё раз внимательно иструкцию по обновлению на Академии.

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

В противном случае для настройки выгрузки Вы можете использовать упрощенный вид файла json:

{
"WebRootDirectory": "c:\\inetpub\\wwwroot\\delivery",
"WorkDirectory": "c:\\temp\\delivery",
"Site": "имя вашего сайта в IIS",
"Product": "Studio",
"VersionBuild": "7.14.1.935"
}

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

 

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

Добрый день!

После добавления визирования в стандартный раздел Продаж (Opportunity), перестали приходить уведомления в Центр уведомлений коммуникационной панели. Уведомления были добавлены отметкой чек-бокса "Enable approval in section" в секции "Approval" мастера разделов. Уведомления перестали приходить в том числе и для разделов Order, Invoice, по которым они ранее приходили. Индикатор визирования в коммуникационной панели отображается,  но текст уведомления в коммуникационной панели отсутствует. Добавление схемы "OpportunityVisaNotificationProvider", записи "Terrasoft.Configuration.OpportunityVisaNotificationProvider" в таблицу "NotificationProvider" не помогло.



В консоли браузера выводится ошибка :

POST https://salesbpm.elcoin.co.uk/0/rest/VisaDataService/GetVisaEntities
[HTTP/2 400 Bad Request 84ms]
Error while sending request response status:
    400 (Bad Request)
    request url: https://salesbpm.elcoin.co.uk/0/rest/VisaDataService/GetVisaEntities
    method: POST
    request data: {"sysAdminUnitId":"3190ebaf-a3cf-461d-95f6-29115215bd39","requestOptions":{"isPageable":true,"rowCount":15}} 
The server encountered an error processing the request. The exception message is '42601: each UNION query must have the same number of columns'. See server logs for more details. The exception stack trace is:
 
at Npgsql.NpgsqlConnector.<DoReadMessage>d__157.MoveNext() 
--- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Npgsql.NpgsqlConnector.<ReadMessage>d__156.MoveNext() 
--- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Npgsql.NpgsqlConnector.<ReadMessage>d__156.MoveNext() --- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Npgsql.NpgsqlConnector.<ReadExpecting>d__163`1.MoveNext() 
--- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Npgsql.NpgsqlDataReader.<NextResult>d__32.MoveNext() 
--- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Npgsql.NpgsqlDataReader.NextResult() at Npgsql.NpgsqlCommand.<Execute>d__71.MoveNext() --- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Npgsql.NpgsqlCommand.<ExecuteDbDataReader>d__92.MoveNext() 
--- End of stack trace from previous location where exception was thrown 
--- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Npgsql.NpgsqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at Polly.Policy.<>c__DisplayClass119_0`1.<Execute>b__0(Context ctx, CancellationToken ct) at Polly.Policy.<>c__DisplayClass129_0`1.<ExecuteInternal>b__0(Context ctx, CancellationToken ct) at Polly.Policy.<>c__DisplayClass103_0.<NoOp>b__1(Context ctx, CancellationToken ct) 
at Polly.NoOp.NoOpEngine.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken) at Polly.Policy.<>c.<NoOp>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.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.DB.PostgreSql.PostgreSqlExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters, CommandBehavior behavior, CancellationToken cancellationToken) at Terrasoft.Core.DB.DBExecutor.InternalExecuteReader(String sqlText, QueryParameterCollection queryParameters) at Terrasoft.Configuration.VisaHelper.GetVisaData(Select entitiesSelect) at Terrasoft.Configuration.VisaHelper.GetEntities(RequestOptions requestOptions) at SyncInvokeGetVisaEntities(Object , Object[] , Object[] ) 
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

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

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

Подскажите, пожалуйста, как это можно исправить?

Нравится

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

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

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



Дополнено:

В методе GetEntitiesSelect

Должно работать при таком наборе колонок (на разных версиях возможно может быть больше/меньше):

Id","CreatedOn","CreatedById","ModifiedOn","ModifiedById","ProcessListeners","Objective","VisaOwnerId","IsAllowedToDelegate","DelegatedFromId","StatusId","SetById","SetDate","IsCanceled","Comment","VisaSchemaName","Title","VisaObjectId","Date","Account","Contact","VisaSchemaTypeId","VisaTypeName","VisaSchemaCaption","SchemaName","ImageId".



В методе AddColumns

"Id","Objective","StatusId","IsCanceled","SysAdminUnitId","VisaSchemaName","VisaObjectId","Account","Contact","SchemaName","ImageId"



И 

public override void SetColumns(List<string> columns) {

            columns.Add("Id");

            columns.Add("Title");

            columns.Add("Date");

            columns.Add("Account");

            columns.Add("Contact");

            columns.Add("VisaObjectId");

            columns.Add("SchemaName");

            columns.Add("ImageId");

        }

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

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



Дополнено:

В методе GetEntitiesSelect

Должно работать при таком наборе колонок (на разных версиях возможно может быть больше/меньше):

Id","CreatedOn","CreatedById","ModifiedOn","ModifiedById","ProcessListeners","Objective","VisaOwnerId","IsAllowedToDelegate","DelegatedFromId","StatusId","SetById","SetDate","IsCanceled","Comment","VisaSchemaName","Title","VisaObjectId","Date","Account","Contact","VisaSchemaTypeId","VisaTypeName","VisaSchemaCaption","SchemaName","ImageId".



В методе AddColumns

"Id","Objective","StatusId","IsCanceled","SysAdminUnitId","VisaSchemaName","VisaObjectId","Account","Contact","SchemaName","ImageId"



И 

public override void SetColumns(List<string> columns) {

            columns.Add("Id");

            columns.Add("Title");

            columns.Add("Date");

            columns.Add("Account");

            columns.Add("Contact");

            columns.Add("VisaObjectId");

            columns.Add("SchemaName");

            columns.Add("ImageId");

        }

Литвинко Павел,

Подскажите,

1) базовый - это BaseVisaNotificationProvider? 

2) должна ли быть запись для нового раздела Opportunity в таблице "NotificationProvider" ?

3) нужно ли добавлять копии БП по подобию "OrderVisaBaseSubprocess", 

"OrderVisaBaseSubprocessOrder1",

"OrderVisaBaseProcess",

"OrderVisaBaseProcessOrder1" ?

 

Литвинко Павел,

Спасибо, починил! Отличие было в другом разделе.

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

Согласно описанию тут:

https://community.terrasoft.ru/articles/nastroika-znacenii-polei-detali…

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

        "defaultValues": {
            "UsrContract": {//колонка детали
                "masterColumn": "Id"//колонка основной записи (Важно! добавление id тоже нужно прописать (если связь не по id, а иначе - ориентироваться на блок "filter":))
            },
            "Account": {//колонка детали
                "masterColumn": "Account"//колонка основной записи
            },
            "UsrProject": {//колонка детали
                "masterColumn": "UsrProject"//колонка основной записи
            }
        }

Можно ли передать здесь другие значения? какие можно? Прошу пример синтаксиса.

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

 

Нравится

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

Мерещук Сергей,

'masterColumn' - это название атрибута.

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

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

Также передавать данные можно через sandbox. Подробнее посмотрите в статье на Академии.

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

 

"defaultValues": {
            "Product": {//колонка на вашей детали (в объекте)
                "masterColumn": "Product"//колонка из основной записи 
            }
        }

Литвинко Павел,

мой вопрос в том, можно ли передать подобным образом иные значения? что-то кроме значений "masterColumn"

Мерещук Сергей,

'masterColumn' - это название атрибута.

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

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

Также передавать данные можно через sandbox. Подробнее посмотрите в статье на Академии.

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

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

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

добавлен скрипт на оф сайте

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

Устранил ошибку связанную с CORS. И ничего, подскажите, что я упускаю.

Спасибо.

Нравится

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

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

И куда именно?

Булат Хабирзянов, добрый день!

 

 

Уточните, пожалуйста, Вы вносили указанный код на лендинг? 

Также сверьтесь с документацией:

https://academy.terrasoft.ru/docs/user/instrumenty_crm/lendingi_i_web_f…

Роман Казекин,

Код внесен на сайт

При обработке запроса к сайту вылетает на страницу авторизации

Вопрос закрыт, serviceUrl был прописан некорректно, нужно было добавить "/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData"

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

Добрый день.



С чем это может быть связано, и как это поправить?

 

Версия Creatio - 7.16.1.2135.

Нравится

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

Вверху справа, под кнопкой Настройки, справа от Молнии выпадающее меню, нажмите там на галочку "Все" (находится внизу списка)

Добрый день.

 

Сделайте скриншот схемы объекта, чтобы было понятно, где Вы смотрите.

Вверху справа, под кнопкой Настройки, справа от Молнии выпадающее меню, нажмите там на галочку "Все" (находится внизу списка)

Литвинко Павел,

 спасибо!

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

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



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



Error while saving: Конфликт инструкции INSERT с ограничением FOREIGN KEY "FKLAgjV0BBzQyDeCfqA7BsIwad5RA". Конфликт произошел в базе данных "creatio2", таблица "dbo.SysCulture", column 'Id'.

Выполнение данной инструкции было прервано.



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

Таблица SysCulture заполнена, у пользователя соответствующий SysCultureId корректный.

Попробовал ему попереключать языки Ru <-> En, не помогло.



Куда копать?

Нравится

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

Проверил по БД, данный внешний ключ связывает с SysCulture таблицу SysPackageResourceChecksum.

Добрый день,

Советую ознакомится с этим вопросом, там помогла перезагрузка редиса. 

Если это не помогло, то советую выполнить в БД скрипт UPDATE SysPackageResourceChecksum SET IsChanged = 0 WHERE IsChanged = 1 после чего снова перезагрузить редис.

В итоге почему-то помогло установка русской локали в качестве локали по-умолчанию. После этого проблема исчезла и не вернулась и после возврата английской локали в качестве дефолтной.

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