Вопрос

Неоднократно задавал тут вопрос: возможно ли применить функционал расширенного фильтра к объекту "справочник".

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

на самом деле мне удалось этого добиться, правда не совсем стандартным способом...

  1. Создал раздел внутренними механизмами BPM
  2. Дропнул тейбл раздела в БД
  3. Создал представление (с inner join из 2 таблиц) с таким же названием в БД из п.2.
  4. Внес изменения в объект в БПМ - создал columns точь-в-точь как в представлении + установил признак "представление БД" (!)
  5. Закастомил страницу реестра.

Правда теперь не понимаю может ли эти изменения как-то негативно повлиять на работу приложения в целом?

У меня такой же вопрос

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

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

Только обычно создают в обратном порядке: сначала — схему с установленной галкой, потом — view в базе с такими же полями. Таблицы при этом не создаётся.

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

По поводу негативного влияния, всё зависит от кода view. Если он содержит ошибки или при наложении каких-то фильтров получится очень тяжёлый запрос на выборку, то база может «задуматься».

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

ключевое слово - расширенный фильтр.

К справочнику его не применить.

Соответственно создал раздел, (руками его создавать - неблагодарное дело). А уже потом ахалай-махалай с Vw...

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

Коллеги, приветствую!

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

Благодарю заранее.

У меня такой же вопрос

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

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

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

Обратите внимание, что для реализации такого алгоритма (проверки в отпуске начальник или нет) Вам нужно, чтобы в срм хранилась информация о календаре отпусков сотрудников.

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

Добрый день, коллеги.

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

Заранее благодарю :)

У меня такой же вопрос

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

Фильтрация печатных форм уже неоднократно обсуждалась например тут. Завяжите фильтрацию вашей печатной форме на статусе вашей заявки или каком то другом признаке (Например добавьте логическую колонку, по которой фильтровать можно ли печатать вашу заявку, те показывать печатную форму)

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

Как скомпилировать код cs, который расположен в папке Files?

У меня такой же вопрос

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

Создайте в Visual Studio проект [Class Library (.NET Framework)]  подключите нужные библиотеки Terrasoft.*.dll и ваши файлы из папти Files, скомпилируйте ваш проект и полученную dll загрузите во внешние сборки пакета.

Подробнее тут

Войдите или зарегистрируйтесь, чтобы комментировать

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

У меня такой же вопрос

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

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

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

Если есть доступ в базу, можно делать выборку по полю Source таблицы SysSchemaSource (для C#-кода) и Content таблицы SysSchemaContent (для JS-кода).

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

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

Есть нужда переименовать деталь, изменения ведутся в пользовательском пакете, текущий пакет стоит пользовательский, при попытке переименовать название через мастер раздела, изменения не сохраняются. При текущем пакете Custom, изменения сохранились (те же манипуляции). В чём может проблема? Неправильное наследование пакета? 

Заранее благодарю. 

У меня такой же вопрос

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

Какая версия. если  7,14 , то нужно обратится в техподержку за получением патча (обходного решения)

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

Скорее всего в ней будет написан текст ошибки.

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

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

Григорий Чех,

Уточни, пожалуйста, в версии 7.14 есть какая-то ошибка, связанная с этой функциональностью?

Григорий Чех,

Версия 7.12

А ещё в первую очередь попробовать перезапустить сайт и очистить Redis.

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

Я сейчас в пробной версии работаю, узнаю все. 

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

Хотелось бы брать документ для согласования из раздела "Документы".

Как это сделать? Если можно, максимально простыми словами, т.к. в кодах пока еще не разбираюсь.

Спасибо!

У меня такой же вопрос

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

Добрый день!
В bpm'online studio нет раздела "Документы". Вам нужно:
- использоваться bpm'online sales,
- либо ставить дополнение Docs из маркетплейс
- либо самому добавить раздел

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

Terrasoft.Common.DbOperationException: The INSERT statement conflicted with the FOREIGN KEY constraint "FKmCHVieuE4OQALQKNVhLvr9q9YI0". The conflict occurred in database "048295-crm-bundle", table "dbo.Contract", column 'Id'.
The statement has been terminated. ---> System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FKmCHVieuE4OQALQKNVhLvr9q9YI0". The conflict occurred in database "048295-crm-bundle", table "dbo.Contract", column 'Id'.
The statement has been terminated.
   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.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.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   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.DB.MSSql.MSSqlExecutor.FailoverExecute[TResult](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.Execute(String sqlText, QueryParameterCollection queryParameters)
   at Terrasoft.Core.Entities.Entity.InsertToDB(Boolean skipLookupColumnValues, Boolean validateRequired)
   --- End of inner exception stack trace ---
   at Terrasoft.Core.Entities.Entity.InsertToDB(Boolean skipLookupColumnValues, Boolean validateRequired)
   at Terrasoft.Core.Entities.Entity.InternalSave(Boolean validateRequired, Boolean setColumnDefValue)
   at Terrasoft.Core.Entities.Entity.Save(Boolean validateRequired, Boolean setColumnDefValue)
   at Terrasoft.Core.Process.ProcessEngineImpl.AddProcessListener(Entity entity, Guid processElementUId, String conditionData, String changedColumns, EntityChangeType entityChangeType)
   at Terrasoft.Core.Process.Configuration.ApprovalUserTask.InternalExecute(ProcessExecutingContext context)
   at Terrasoft.Core.Process.ProcessActivity.ExecuteElement(ProcessExecutingContext context)
   at Terrasoft.Core.Process.ProcessActivity.Execute(ProcessExecutingContext context)

У меня такой же вопрос

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

Здравствуйте. Это ошибка на уровне бд по внешнему ключу ссылающемуся на договор(Contract). Простыми словами нет договора 

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

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

Всем доброго дня. Версия 7.14.

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

 

Удалось найти, что список цветов задаётся в модуле DashboardEnums. Но добавление новых относится к запрещённому ныне переопределению модулей. Быть может есть всё-таки обходные пути?

У меня такой же вопрос

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

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

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

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

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

Проблемы с отправкой запроса. 
Как убрать из заголовка запроса Expect: 100-continue? 
Вызываем веб-сервис из бизнес процесса. 

У меня такой же вопрос

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

1) В блоке скриптаск самому реализовать на c# работу с вэб сервисом

2) Изменить параметр Максимальное число повторений в свойствах БП ниже названия и пакета (нужно проверить) 

Григорий Чех пишет:

1) В блоке скриптаск самому реализовать на c# работу с вэб сервисом

2) Изменить параметр Максимальное число повторений в свойствах БП ниже названия и пакета (нужно проверить) 

Григорий Чех,

сейчас стоит 5000

Стандартное значение равно 100. Видимо, с какой-то целью увеличивали.

Войдите или зарегистрируйтесь, чтобы комментировать