Ошибка RowLevelSecurityException: Could not read security token from entity на платформе 7.2.8

Добрый день.
Имеются две сущности Order и Task. В Order список Task (OnetoMany и Composition).
В скрине редактирования Order имеется отдельный контейнер для Task (лоадер с условиием).
В контроллере скрина редактирования Order в слушателе события onBeforeShow задается параметр для лоадера.
Если в группах доступа добавить ограничение для Task на чтение (groovy скрипт “return true” или “return false”, проверка в памяти), создать Order, а потом попытаться его изменить, то выскакивает ошибка :

Exception in com.haulmont.cuba.web.widgets.CubaButton: com.haulmont.cuba.core.global.RowLevelSecurityException: Could not read security token from entity ru.palestiner.test.entity.Order-b80eb7fe-82e4-ed57-fe74-082a36284378 [detached], even though there are active READ/ALL constraints for the property: tasks

app.log (112.7 КБ)
Ссылка на тестовый проект: https://github.com/Palestiner/RowLevelSecurityException

1 симпатия

Добрый день.

Для того, чтобы загружать связанные сущности, необходимо использовать вложенный контейнер, который будет по свойству property="tasks" загружать только те задачи, которые связаны с этим конкретным заказом. Так же для отображения этих задач нужно добавить на экран таблицу, связанную с вложенной колекцией сущностей.

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

Кроме того, вам необходимо добавить атрибуты сущности Task во view fullorder-view, а так же создать экран редактирования для сущности Task.

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

1 симпатия