Delete actions не работают по невидимым полям
Здравствуйте, коллеги.
Проблема (была):
В системе имеется пара таблиц, связанных Relation по EDT. В подчинённой таблице были обнаружены записи, для которых нет соответствующих записей в главной таблице. Как выяснилось, на главной таблице настроен Delete action с типом cascade на подчинённую. Теоретически, в случае удаления записей из главной таблицы через интерфейс, соответствующие записи в подчинённой должны были удаляться автоматически. Однако в некоторых случаях этого не происходило.
Если одновременно:
- у пользователя настроен доступ непосредственно на эти таблицы (доступ выдан на таблицы, на соответствующий им Security Key - нет);
- поле, являющееся внешним ключом в подчинённой таблице, имеет аттрибут Visible = no;
то delete actions по этому relation не работают в принципе (никакие).
Очень неожиданное поведение, на мой взгляд. Вообще, в системе много мест, где подобным образом настроены поля. При настройке прав доступа - мина с замедленным действием.
Может я хотфикс какой пропустил? Или мануал не дочитал?
В приложении приведён демо-проект, демонстрирующий данную "фичу".
проверено на DAX4 SP2. Может кто-нибудь проверит на 2009?
|