| 
			
			 | 
		#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). | |
| 
			
			 | 
		#2 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			doDelete() не влияет на все это дело?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Сперва тоже подумал, что удаляется из кода по dodelete(), но ничего подобного не нашёл. И на заведомо чистом тестовом примере воспроизводится (по крайней мере у меня).
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			На AX2009 не воспроизвелось.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
	
	 | 
	
		
  |