|
01.03.2013, 16:48 | #1 |
Участник
|
Delete actions не работают по невидимым полям
Здравствуйте, коллеги.
Проблема (была): В системе имеется пара таблиц, связанных Relation по EDT. В подчинённой таблице были обнаружены записи, для которых нет соответствующих записей в главной таблице. Как выяснилось, на главной таблице настроен Delete action с типом cascade на подчинённую. Теоретически, в случае удаления записей из главной таблицы через интерфейс, соответствующие записи в подчинённой должны были удаляться автоматически. Однако в некоторых случаях этого не происходило. Если одновременно: - у пользователя настроен доступ непосредственно на эти таблицы (доступ выдан на таблицы, на соответствующий им Security Key - нет); - поле, являющееся внешним ключом в подчинённой таблице, имеет аттрибут Visible = no; то delete actions по этому relation не работают в принципе (никакие). Очень неожиданное поведение, на мой взгляд. Вообще, в системе много мест, где подобным образом настроены поля. При настройке прав доступа - мина с замедленным действием. Может я хотфикс какой пропустил? Или мануал не дочитал? В приложении приведён демо-проект, демонстрирующий данную "фичу". проверено на DAX4 SP2. Может кто-нибудь проверит на 2009? |
|
|
За это сообщение автора поблагодарили: mazzy (2), Logger (3), S.Kuskov (1). |
02.03.2013, 01:05 | #2 |
Программатор
|
doDelete() не влияет на все это дело?
|
|
02.03.2013, 08:39 | #3 |
Участник
|
Сперва тоже подумал, что удаляется из кода по dodelete(), но ничего подобного не нашёл. И на заведомо чистом тестовом примере воспроизводится (по крайней мере у меня).
|
|
02.03.2013, 09:58 | #4 |
Участник
|
На AX2009 не воспроизвелось.
|
|
|
|