Добрый день, коллеги! Может кто-то сталкивался с подобной проблемой

 

После обновления црм 7.15 до 7.18.1.2800.
В Бизнес процессах в которых присутствует интерактив - 
"Вопрос пользователю, Открыть страницу редактирования, Автогенерируемая страница, Преднастроенная страница" на этих элементах происходит ошибка:
Значение с именем "GroupType" не найдено

 

Terrasoft.Common.ItemNotFoundException: Значение с именем "GroupType" не найдено at 
Terrasoft.Core.Entities.EntityColumnValueCollection.GetByName(String name) at 
Terrasoft.Core.Entities.Entity.GetIsColumnValueLoaded(String valueName) at 
Terrasoft.Core.Entities.EntityUtilities.SafeGetColumnValue[TValue](IEntity source, String 
columnValueName, TValue defaultValue) at 
Terrasoft.Core.Process.SysProcessElementToDoListener.OnElementNotificationChanged(Object sender, 
EntityAfterEventArgs eventArgs, EntityChangeType entityChangeType) at 
Terrasoft.Common.CollectionUtilities.ForEach[T](IEnumerable`1 source, Action`1 action) at 
Terrasoft.Core.Entities.Entity.OnInserted(EntityAfterEventArgs e) at Terrasoft.Core.Entities.Entity.
<InsertToDBAsync>d__302.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
 Terrasoft.Core.Entities.Entity.InsertToDB(Boolean skipLookupColumnValues, Boolean validateRequired)
 at Terrasoft.Core.Entities.Entity.<InternalSaveAsync>d__288.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
 Terrasoft.Core.Entities.Entity.InternalSave(Boolean validateRequired, Boolean setColumnDefValue) at 
Terrasoft.Core.Entities.Entity.<SaveAsync>d__300.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 Terrasoft.Core.Entities.Entity.Save(Boolean validateRequired, Boolean setColumnDefValue) at 
Terrasoft.Core.Process.ProcessNotificationManager.Create(ProcessElementNotification notification) at 
Terrasoft.Core.Process.CommonProcessUtilities.ExecuteAndPublishDurationMetric(ProcessActivity 
source, Action action, String operationName) at Terrasoft.Core.Process.ProcessActivity.
<PublishNotification>b__111_0() at Terrasoft.Core.Process.ProcessActivity.RunInCultureScope(Action 
action) at Terrasoft.Core.Process.ProcessUserTask.AfterInternalExecute() at 
Terrasoft.Core.Process.ProcessActivity.ExecuteItem(ProcessExecutingContext context) at 
Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

 

Упоминание этого поля есть в:
\Terrasoft.WebApp\bin\Terrasoft.Core.xml
\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Core.xml

В версии 7.17 таких ошибок не было.

Нравится

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

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

Также, думаю, имеет смысл через Workspase Console провести генерацию и сборку

Аскар Абильгазин, все файлы генерировали по новой и пересобирали, но ошибка остается. Также создавали тестовые бизнес процессы для проверки блоков, также не уходит баг.

Алексей Клещевников,

Если вы создаете полностью новый процесс и пытаетесь из него просто открыть и завершить элемент автогенерируемой страницы - ошибка сохраняется ?

 

Аскар Абильгазин, создавал бизнес процесс такого вида - ошибка по-прежнему появляется 

Аскар Абильгазин,

Алексей Клещевников,

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

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

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

Добрый день!
 

Был ли у кого-то опыт отображения конструктора процесса в карточке объекта?

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

 

В стиле того, как это сделано в "кампаниях" продукта маркетинг

Нравится

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

Вадим, добрый день!

Чисто технически возможно реализовать что-то подобное на схему кампании, однако, для этого необходимо большое  количество трудозатрат. Наподоби вкладки "Обработка" в обращениях, "Схема кампании" является уникальным функционалом для раздела. Для его повторение необходимы навыки разработки, системой не предусмотрено повторение такого пользовательскими средствами. Если же вы всёже желаете это реализовать, то необходимо будет проанализировать содержимое пакетов Campaigns, CampaignDesigner, CampaignElements и тд.

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

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

Добрый вечер, возникла задача:
Нужно отфильтровывать SQL-запрос и создавать из него xlsx отчёт.

Фильтрация реализована с помощью хранимой процедуры, в которую из БП передаются значения, выбранные пользователем, но выгрузка в xlsx с помощью ExportToExcel выгружает только esq.

Можно ли как-нибудь перевести StoredProcedure в ESQ? Если нет, то как выгрузить StoredProcedure в xlsx?

 

Нравится

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

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

 

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

 

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

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

Спасибо. Не подскажите, а как потом хранимую функцию вызвать в БП и передать в esq?

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

И стандартными механизмами работать дальше с ESQ.

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

Добрый день!

Использую версию 7.18.2.

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

С помощью БП реализую следующее:

1. Приходит электронное письмо с вложением (файлы, документы и т.п.);

2. Получаю данные из письма (Заголовок, Тело письма, ....);

3. Получаю данные по отправителю;

4. Создаю новое обращение;

5. Прикрепляю файлы которые были в письме (их может быть несколько) к только что созданному Обращению (объект "файл и ссылки объекта раздела Обращения").

Но есть проблема! Отправляю письмо для проверки. При проверке выясняется следующее: файлы могут прикрепляться к Обращению (добавляться в объект "файл и ссылки объекта раздела Обращения"), а могут и не прикрепляться. Если было несколько вложений в письме, то может на деталь добавиться несколько одинаковых файлов, файлы дублируются. В чем может быть проблема?

Нравится

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

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

Это нестандартное поведение такого бизнес-процесса, так как вне зависимости от количества файлов они все должны обрабатываться корректно. Я так понимаю, каких-то закономерностей не выявлено? Возможно проблема воспроизводится только с конкретными типами файлов?

 

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

Олег Нефедьев,

Спасибо за ответ. Закономерности нет. Не зависит от формата.

Создавал БП которое отслеживает изменения в ActivityFile. Файлы добавляются, но если их количество в письме больше одного, то создаются дубликаты этих файлов, т.е. прикреплено к письму 2, 4, 7 штуки, то добавляется 4, 8, 14 соответственно. Если одно вложение, то все нормально.

Pavel Litvinovich,

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

Олег Нефедьев,

Спасибо!

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

Добрый день! В бизнес-процессе есть элемент "Автогенерируемая страница". Необходимо при нажатии кнопки "Открыть" перейти по ссылке. Подскажите, пожалуйста, где прописать код обработки данной кнопки?

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

Нравится

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

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

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

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

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

Нравится

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

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

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

Татьяна,

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

Александр,

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

Татьяна,

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

Александр,

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

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

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

Добрый день, коллеги. Столкнулся с проблемой: необходимо макросом передать в email комментарий от ответственного, который вводится на автогенерируемой странице. В БП есть параметр "Комментарий/Comment". Желательно как-то зацепить его с помощью макроса в шаблоне. В текущей реализации, шаблон не цепляет данное поле:

Нравится

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

Добрый день.

Используйте в элементе [Отправить письмо] опцию 'Произвольное письмо', которая позволяет в качестве макроса выбрать значение из параметров процесса.

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

Если же комментарий будет записываться в какое-то поле в таблицу [Обращение], тогда можно настроить шаблон и использовать его в элементе [Отправить письмо], но опять таки нужно убедиться, что комментарий записывается в поле обращения.

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

Здравствуйте! Нужно добавить перенос строки в вручную заполненный строковый параметр, для того чтобы выводить в разных местах с этим переносом. Как можно это сделать? \n и <br\> не работают

Нравится

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

Здравствуйте Андрей, обычный перенос текста делается следующим образом (в прикрепленных файлах пример), а более детальная информация находится по ссылке на Академии ( https://academy.terrasoft.ru/docs/user/biznes_processy/nastrojka_proces… ).

 

Если ваша бизнес-задача отличается от данного примера, опишите её более детальнее.

 

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

Добрый день!

Имеется бизнес-процесс который выполняет C# код (веб-сервис). Если выбрать стартовый сигнал Простое и самостоятельно запустить (нажав кнопку Запустить в БП), то все работает как надо.

Если создать Стартовый таймер, то при выполнении БП в Состоянии процесса появляется Ошибка. И соответственно БП не выполняется. В чем может быть проблема?

Описание ошибки:

System.ServiceModel.ServiceActivationException: Set AspNetCompatibilityEnabled true
   в Terrasoft.Web.Common.BaseService.get_UserConnection()
   в Terrasoft.Configuration.ExecuteScriptClass.ExecuteScriptMethod()
   в Terrasoft.Core.Process.UsrProcessTimerMethodsWrapper.ScriptTask2Execute(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessScriptTask.InternalExecute(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.ExecuteItem(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

Нравится

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

В ошибке написано,  "Set AspNetCompatibilityEnabled true", следовательно, нужно для параметра AspNetCompatibilityEnabled установить значение true.
Этот параметр указан во внешнем и во внутреннем Web.config

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

Дело в том, что уже установлено true. Но все равно не работает.

Pavel Litvinovich пишет:

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

Дело в том, что уже установлено true. Но все равно не работает.

Тогда надо проверить UserConnection, что он получен и передается куда надо в исходном коде 

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

Ниже мы рассмотрим пример настройки процесса автоматической отправки письма с вложением с помощью бизнес-процесса. 
Для этого нам понадобятся два элемента процесса: “Обработать файл” и “Отправить Email”. 

С помощью элемента процесса «Обработать файл» мы можем вычитать из детали «Файлы и ссылки» раздела необходимые файлы. Либо же получить этот файл из параметра процесса или сгенерировать отчет. 
В рамках этого элемента мы можем вычитанный файл использовать далее в процессе либо сохранить на деталь «Файлы и ссылки» другого раздела. 
В элементе процесса «Отправить Email», помимо стандартных настроек (От кого – Кому, и т.д.), нас интересует поле «Добавить вложение». 

В данное поле мы и будем передавать полученный в элементе процесса «Обработать файл» файл в письмо. 
Перейдем к самому процессу. Например, нам необходимо отправить email с файлом, который находится в детали «Файлы и ссылки» из записи конкретного контакта.  
(о том как запустить процесс из раздела подробно тут
В элементе процесса «Обработать файл» мы указываем источник, откуда мы получаем файл. В нашем примере это деталь «Файлы и ссылки» объекта. 
После указываем этот самый объект: Файл и ссылка контакта, в нашем случае. 
Далее настраиваем фильтр для файла и указываем, как и по какой колонке сортировать записи. 
После выбираем какие действия мы будем выполнять далее с  отфильтрованным файлом: используем далее в процессе (наш вариант) или сохраняем на деталь «Файлы и ссылки» другого раздела. 

Далее, в элементе «Отправить email» мы настраиваем все необходимые параметры (от кого, кому, письмо по шаблону или произвольное и т.д.). После чего в поле «Добавить вложение» мы можем указать файл вычитанный в элементе «Обработать файл». 


Во вложении архив с описанным процессом.

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

Нравится

Поделиться

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