Вопрос

Добрый день!

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

Открываю метаданные страницы и вижу что с этим ID как раз прописан удаленный параметр данной страницы. Вопрос: как решить данную проблему и обновить список параметров для страницы?

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

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

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

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

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

Добрый день!

В процессе использую параметр с типом Коллекция объектов. Значение данного параметра передается в процесс из родительского процесса. Далее в элементе с типом задание сценарий происходит некая работа с коллекцией (по сути коллекция передается в другой метод, сами ее значения не меняются). После чего по условию БП либо идет дальше, либо возвращается в данный же кубик задание сценарий и должен снова вызвать метод и передать данную коллекцию в качестве параметра. Однако, при повторном заходе в задание сценарий, БП падает с ошибкой 

Terrasoft.Common.ItemNotFoundException: Элемент с идентификатором "00000000-0000-0000-0000-000000000000" не найден
   в Terrasoft.Core.ManagerItemCollection`1.GetByUId(Guid uid)
   в Terrasoft.Core.Manager`2.GetInstanceByUId(Guid uid)
   в Terrasoft.Core.Process.GetGoldWarrantyAmountProcess.get_ProductConditionCollection()
   в Terrasoft.Core.Process.GetGoldWarrantyAmountProcess.ScriptTask1Execute(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

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

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

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

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

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

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

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

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

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

Как работать с утилитой WorkspaceConsole, см. справку.

Откуда берётся файл, можно понять по его названию и содержимому.

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

Добрый день. 

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

Прикрепленные файлы
Error_BPM.jpg115.8 КБ

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

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

Попробуйте зайти сразу в менеджер лицензий:
kkm-crm/Lic/LicManager.aspx

А если нужно зайти сразу в конфигурацию и опубликоваться, можно после логина ввести kkm-crm/0/dev

Добрый день. Спасибо за предложенные способы. Но раньше доступ производился через интерфейс рабочей формы, поэтому и проблему надо решать.

Добавить комментарий

Блинов Герман пишет:

Если у вас проблема в лицензиях, то зайдите в менеджер лицензий как предложил выше, сформируйте файл лицензий, а потом загрузите их.
Потом после атворизации на сайте, зайдите сразу в конфигурацию так:
 kkm-crm/0/dev, после чего нажмите Скомпилировать все. После этого у вас все должно заработать в штатном режиме.

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

Всё это было сделано вчера ещё. Я тоже надеялся, что после компиляции всё заработает в штатном режиме, но нет - не помогло.

Если лицензии перезагрузили, конфигурацию опубликовали не помогло, попробуйте сайт и пул перезапустить в IIS и очистить Redis.

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

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

Добрый день!

При сохранении записи в детали средства связи возникают странные ошибки. Метод сохранения вызывает BatchQuery для Update сохраняемой записи. 

Однако при исполнении данного скрипта возникает следующая ошибка:

Конфликт инструкции DELETE с ограничением REFERENCE "FK4eIKa4vC33vluosjyKmFjgDPk3o". Конфликт произошел в базе данных "ArdshinBank7102-2", таблица "dbo.AppFormCommunication", column 'ContactCommunicationId'. ↵Выполнение данной инструкции было прервано."

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

Посмотрел событийные процессы объекта ContactCommunication, нигде нет удаления.

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

 

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

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

вот вам скрипт поиска зависимостей по ключу
 

SELECT
    C.CONSTRAINT_NAME,
    PK.TABLE_NAME,
    CCU.COLUMN_NAME,
    FK.TABLE_NAME,
    CU.COLUMN_NAME,
    C.UPDATE_RULE,
    C.DELETE_RULE
FROM
    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C INNER JOIN
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME INNER JOIN
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME INNER JOIN
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME INNER JOIN
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE CCU ON PK.CONSTRAINT_NAME = CCU.CONSTRAINT_NAME
WHERE
    FK.CONSTRAINT_TYPE = 'FOREIGN KEY' AND c.[CONSTRAINT_NAME] like '%KEY'
ORDER BY
    PK.TABLE_NAME, 
    FK.TABLE_NAME;

Вместо '%Key' -> '%FK4eIKa4vC33vluosjyKmFjgDPk3o' и смотрите какая колонка от какой зависит.

И насколько я понимаю update = delete->insert в sql

Так откуда зависимость, как раз понятно из сообщения: в другой таблице AppFormCommunication есть ссылка ContactCommunicationId. Но почему при изменении ContactCommunication связь сломалось — надо разбираться.

Update — это не Delete с Insert. Ведь при переименовании какого-нибудь контакта система не ругается на связи с ним.

Тут одно из двух: либо скрипт автора темы затирает первичный ключ Id в этих записях новыми значениями (что маловероятно), либо есть какая-то логика на изменении этой таблицы в виде отдельного БП, встроенного БП объекта или триггера в базе.

Понять можно либо изучением всех упоминаний объекта ContactCommunication во всех схемах, либо, если есть доступ к БД, запустить профайлер и смотреть, что за Delete.

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

Коллеги .добрый день.

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

А именно, перевел нужные названия и залил в данные SysTranslation. 

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

Раскопал, что значения берутся по факту для справочников из таблиц типа SYSНазвание_ОбъектаLcz. Тут как раз старые значения, как в них обновить?

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

В переводах кнопка "актуализация данных" не помогает.

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

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

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

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

Таблицы типы SysОбъектLcz нельзя привязать к пакету, т.к. их нет в конфигурации. 

Может, они подхватятся при синхронизации записей основного справочника?

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

можете пож-ста поподробнее.

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

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

Выполнил загрузку пакета по инструкции: 

https://academy.terrasoft.ru/documents/technic-sdk/7-12/zagruzka-paketo…

Командой: 

C:\bpmonline7.9.2\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -packageName=userPackage -workspaceName=Default -operation=InstallFromRepository -sourcePath=C:\SavedPackages -destinationPath=C:\TempPackages -skipConstraints=false -skipValidateActions=true -regenerateSchemaSources=true -updateDBStructure=true -updateSystemDBStructure=true -installPackageSqlScript=true -installPackageData=false -continueIfError=true -logPath=C:\Log

Где параметр "-packageName=userPackage" заменил на собственное название пакета.

Вместе с моим пакетом, подтянулись все другие пакеты, включая базовые. Сейчас стоит вопрос о том, как можно(если можно) вернуть Bpm  в исходное состояние(до загрузки нового пакета), а так же стоит вопрос, по какой причине такое могло произойти, если на параметр "-packageName" должен устанавливать только указанный пакет? 

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

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

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

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

Привет всем!

Система не получает сообщения из почтового ящика( MS Exchange) до тех пор пока в систему не войдет Supervisor, только после этого система начинает прием и обработку сообщений.

 

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

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

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

Для исправления данного кейса необходимо установить для пула приложений IIS, на котором работает приложение, Idle Timeout = 0

1. Настроить автоматический мониторинг Loader'a и приложения, ниже варианты:

  • С помощью бесплатного сервиса мониторинга https://uptimerobot.com/ настроить автоматический мониторинг c периодичностью 5-10 минут - наиболее быстрый путь
  • С помощью автоматического запуска скрипта мониторинга приложения. Шаблон скрипта PowerShell в приложении Ping.ps1, в нем необходимо изменить адрес приложения. После этого, нужно запланировать выполнение этого скрипта через планировщик Windows c периодичностью 5-10 минут. Автоматический запуск можно настроить по инструкции http://windowsnotes.ru/powershell-2/zapusk-powershell-skripta-po-raspisaniyu/.

 

2. Настроить автоматический запуск SQL-скрипта очистки \ перезапуска зависших заданий, скрипт в приложении ResetErrorQuartzTriggers.sql - с периодичностью 30 минут

  • Настроить автоматический запуск задания MSSQL, выполняющего этот скрипт - наиболее простой способ

Скрипты можно скачать по данной ссылке:https://dropmefiles.com/QhuAh

Shevchenko Andrey,

добрый день! скрипты выложите еще раз.

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

Выше в моем комментарии названия файлов являются кликабельными и вы можете скачать скрипты просто нажав на них.

Shevchenko Andrey,

не скачиваются скрипты. На dropmefiles пишет что файлы удалены, по самому скрипту - web страница недоступна

Ольга Кондратьева,

Добрый день! Можете скачать по ссылке - 

https://www.dropbox.com/sh/re9v0093hflrmuf/AADQ1_2KNUQgLJS2DnkB0Gyia?dl…

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

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

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

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

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

 

Большое спасибо!

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

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

Очередь настроена так:

Активность:

- Категория: Email

- Тип сообщения: Входящее

- Статус: Не начата

 

Проблема:

1) в списке Единого окна отображается разное кол-во записей. У одного пользователя не видны некоторые записи. Например у Supervisor 10 входящих, а у Artem 8 входящих, 2 записи должны отображаться, но их нет.

2) в списке Единого окна есть записи у которых Статус = Завершена, хотя в фильтре установлено отображать только Не начатые.

 

Как это окно работает, почему эти проблемы появились?

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

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

Здравствуйте, Дмитрий!

По порядку:

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

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

http://prntscr.com/k45uj4

2) Вы можете построить в разделе, по которому строится "Единое Окно", фильтр из очереди, чтобы убедиться в том какие записи попадут в очередь. По данному вопросу необходимо увидеть какие у Вас выполнены настройки в очереди. Возможно у Вас стоит условие фильтрации "ИЛИ", вместо "И"

 

Гриценко Игорь пишет:
Так же запись должна быть в Едином Окне в статусе "Не обработана" или "В работе", тогда она будет отображаться

Это неправильно. Поскольку отсутствует возможность настроить очередь. Я не знаю как, но там появились записи, которые не соответствуют фильтру и в статусе В работе или Не завершена. Такого не должно быть, это нонсенс. Человек ожидает - настроил фильтр очереди - и в этом списке четко именно те записи, которые удовлетворяют фильтру. Я считаю это баг, или вы недостаточно проработали этот вопрос. 

Гриценко Игорь пишет:
Вы можете построить в разделе, по которому строится "Единое Окно", фильтр из очереди, чтобы убедиться в том какие записи попадут в очередь

Эта опция не работает! сколько угодно строишь очередь, меняешь фильтр, все одно - записи не соответствуют фильтру. Там какой-то баг дополнительно. У меня все правильно с фильтрами, это самое простое что можно сделать, фильтр "И". Права раздать элементарно, да и при чем тут права, если записи, которые отображаются - не соответствуют фильтру, там присутствуют кроме фильтра - дополнительные записи. 

Т.е. вывод - этот баг, или недоработка, что в очереди присутствуют записи по фильтру + записи В работе или Не обработана. Вопрос решился только путем удаления старой очереди и создания НОВОЙ, что исключает возможность переноса очереди посредством Данных. это БАГ. Предлагаю рассмотреть этот вопрос и исправить в новых версиях, чтобы записи были только в соответсвии с фильтром, или добавить дополнительный фильтр, которым можно включать выключать фильтр непосредственно очередей (статусы и т.д. ) поскольку реально этими статусами с помощью очереди управлять нельзя.

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

Напишите на почту тех. поддержки - support@terrasoft.ru по данной проблеме.

Так же необходим будет кейс воспроизведения данной ошибки на базовой версии(без доработок) bpm'online (https://www.terrasoft.ru/trial?product=service).

Гриценко Игорь,

хорошо спасибо. 

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