Процесс останавливается на элементе ПРИВЯЗАТЬ ПРОЦЕСС К ОБЪЕКТУ

Добрый день, подскажите в чем может быть проблема есть БП в котором открываются кастомные страницы по нажатию на кнопки, через раз стопорится на элементе ПРИВЯЗАТЬ ПРОЦЕСС К ОБЪЕКТУ в журнале пишет что выполняется на диаграмме показывает что остановился на этом элементе при это переход по страницам не происходит вечный спинер и в консоли ошибка :

Uncaught TypeError: Cannot set property 'showNextPrcEl' of undefined

Нравится

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

На привязке стопорится, если Id, который привязывается, не определён. 

На привязке стопорится, если Id, который привязывается, не определён. 

Дмитрий, слишком мало информации, чтобы сходу назвать причину. Для начала, проверьте, дело в элементе привязки или в визуальных с окнами и кнопками, разнеся их отдельно. Возможно, действительно, как пишет Владимир, некорректно передаётся 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.

 

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

Владимир Соколов,

спасибо за подсказку буду проверять

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