|  06.07.2005, 15:02 | #1 | 
| Участник | отслеживание существования записей в подчиненной таблице 
			
			Есть форма, на ней 2 грида: в один выводится главный источник данных, в другой -подчиненный Вопрос: как сделать так, чтобы невозможно было завести запись в главном источнике, но не завести в подчиненном(хотя бы 2 записи в подчиненном должны быть заведены). Напрашивается : отслеживать перемещение в строках "главного" грида и проверять заведены ил записи. У DS есть метод leaverecord, который по идее должен срабатывать именно при переходе к иной записи(Ax 2.5), но почему-то он не срабатывает. Есть идеи почему? Можно конечно обзавестись переменными и на active все отслеживать, но удобней ест-но было бы на leaverecord пока запись является текущей. Можно еще все это по закрытии формы проверять.., но хотелось бы все делать сразу, Если что-то подобное обсуждалось - тыркните носом или скажите где можно в стандартной функциональности что-либо такое глянуть. Спасибо. | 
|  | 
|  06.07.2005, 16:36 | #2 | 
| Участник | 
			
			а чем метод active() не устраивает?
		 | 
|  | 
|  06.07.2005, 16:45 | #3 | 
| Участник | 
			
			AXDVS, active() например срабатывает и при открытии формы с гридом на каждой записи этого грида - и что ты будешь делать с этими проверками в таком режиме? kitty, т.к. Вы ставите вопрос так: "как сделать так, чтобы невозможно было завести запись", то напрашивается решение повесить проверку на write() основной таблицы. | 
|  | 
|  06.07.2005, 16:57 | #4 | 
| Участник | 
			
			тк запись после создания/редактирования в основном гриде  должна сначала сохраниться, а потом только мы можем перейти к подчиненному Ds и там редактировать /создавать записи, то write  к сожалению не прокатывает .
		 | 
|  | 
|  06.07.2005, 17:05 | #5 | 
| Модератор | 
			
			А если прописать relation и свойство validate поставить в Yes? С Уважением, Георгий. | 
|  | 
|  06.07.2005, 17:15 | #6 | 
| Участник | 
			
			Георгий, обратите внимание на условие: нужно чтобы было МИНИМУМ 2 ПОДЧИНЕННЫХ ЗАПИСИ !  Через  validate=yes это не решается.
		 | 
|  | 
|  06.07.2005, 17:37 | #7 | 
| Модератор | 
			
			Ах, да! Прошу извинить, вспылил, был неправ!   Странная постановка задачи какая-то. Тогда согласен с Вами - validateWrite - самое оно. Но если сначала создается папа, которго нельзя создать, пока нет как минимум 2х детей, которых невозможно создать без папы, то что-то тут не так, имхо... может не прокатить.  А нельзя поменять постановку задачи? С Уважением, Георгий | 
|  | 
|  06.07.2005, 17:43 | #8 | 
| Moderator | 
			
			При такой постановке можно предложить такой вот кривой способ: для создания записей использовать отдельную форму с временными родительской и дочерней таблицами, а по ОК переносить все это дело в базу...
		 
				__________________ Андрей. | 
|  | 
|  06.07.2005, 20:05 | #9 | 
| Участник | 
			
			... и мой кривой пятачок в эту странную копилку: - при создании родительской записи создавать сразу же две подчиненных, с обязательными для заполнения полями (чтобы нельзя было уйти не заполнив) - в delete() у подчиненных записей проверять чтобы их не оставалось меньше двух, иначе не давать удалять. Т.е., если же правда нужно удалить кривую запись, пусть юзер создаст сначала третью правильную а только потом удаляет вторую кривую | 
|  | 
|  | 
| 
 |