Добрый день, подскажите в чем может быть проблема есть БП в котором открываются кастомные страницы по нажатию на кнопки, через раз стопорится на элементе ПРИВЯЗАТЬ ПРОЦЕСС К ОБЪЕКТУ в журнале пишет что выполняется на диаграмме показывает что остановился на этом элементе при это переход по страницам не происходит вечный спинер и в консоли ошибка :
Uncaught TypeError: Cannot set property 'showNextPrcEl' of undefined
Дмитрий, слишком мало информации, чтобы сходу назвать причину. Для начала, проверьте, дело в элементе привязки или в визуальных с окнами и кнопками, разнеся их отдельно. Возможно, действительно, как пишет Владимир, некорректно передаётся Id в элемент привязки.
Сам по себе LinkEntityToProcessUserTask устроен несложно, он вызывают функцию привязки, сделанную в ядре.
if (EntitySchemaId == Guid.Empty || EntityId == Guid.Empty) {
return false;
}
Guid sysSchemaId;
var entitySchemaIdParameter = new QueryParameter(EntitySchemaId);
var sysSchemaViewSelect = new Select(UserConnection).
Top(1).
Column("UId").
From("VwSysSchemaInWorkspace").
Where("Id").IsEqual(entitySchemaIdParameter).
Or("UId").IsEqual(entitySchemaIdParameter) as Select;
using (DBExecutor dbExecutor = UserConnection.EnsureDBConnection()) {
using (var reader = sysSchemaViewSelect.ExecuteReader(dbExecutor)) {
while (reader.Read()) {
sysSchemaId = UserConnection.DBTypeConverter.DBValueToGuid(reader[0]);
UserConnection.IProcessEngine.LinkProcessToEntity(Owner, sysSchemaId, EntityId);
}
}
}
return true;
Как видим, в самом начале идут проверки Id схемы и записи, если что-то из них пустое, выполнение прерывается с отрицательным результатом.
Можно попробовать отладиться или добавить в код действия логирование, чтобы выяснить, доходит ли вообще до вызова LinkProcessToEntity.
А действие в ядре учитывает права доступа и поэтому может падать с ошибкой, если у пользователя нет прав на чтение записи.
В бизнес-процессе есть элемент "Привязать процесс к объекту", в описании к нему указано что оно привязывает для просмотре в журнале. Имеет ли данные элемент влияние какое-то на работу процесса? Будет ли разница работы процесса с этим элементом и без него? И Если в нескольких процессах, которые запускают один другого, проставить "Привязать процесс к объекту" то повлияет ли это на производительность или на что-то еще?
Имеет ли данные элемент влияние какое-то на работу процесса?
- нет
Будет ли разница работы процесса с этим элементом и без него?
- нет (ну несчитая доп записи в БД)
И Если в нескольких процессах, которые запускают один другого, проставить "Привязать процесс к объекту" то повлияет ли это на производительность или на что-то еще?
- влияние на производительность практически не заметна, зато может существенно помочь при разрешении проблем в работе БП
Добрый день. Это полезный элемент для анализа журнала. Позволяет понять по какой записи был запущен процесс или какие использовал во время своей работы. Работает следующим образом: Указываете схему и ID записи в элементе "Привязать процесс к объекту". Далее в карточке лога журнала процесса можно увидеть запись на детали "Связанные объекты".
Имеет ли данные элемент влияние какое-то на работу процесса?
- нет
Будет ли разница работы процесса с этим элементом и без него?
- нет (ну несчитая доп записи в БД)
И Если в нескольких процессах, которые запускают один другого, проставить "Привязать процесс к объекту" то повлияет ли это на производительность или на что-то еще?
- влияние на производительность практически не заметна, зато может существенно помочь при разрешении проблем в работе БП
Можно, например зная id объекта можно выбрать все БПшки привязанные к нему как то так
SELECT * FROM SysProcessEntity s
LEFT JOIN SysProcessData ssd ON ssd.id=s.SysProcessId
LEFT JOIN SysSchema ss ON ss.id=ssd.SysSchemaId
WHERE s.EntityId='b34351c0-04b9-4786-8458-06ee55fc92c9'