| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Банальная вроде бы задача, но я чего-то не могу разобраться. 
		
		
		
		
		
		
		
	Существует несколько карточных форм (фильтруют записи по значению одного поля) и табличная форма, ссылающиеся на одну и ту же таблицу. Задача на карточных формах сделать кнопку вызова табличной формы (чтобы в табличной форме при этом применялся такой же фильтр). Ну и RunFormOnRec соответственно тоже. Ну это не сложно - просто ставишь Run Form и указываешь RunFormView с такими же значениями как и в картотечной форме. НО нужно еще на табличной форме сделать меню с фильтрами. Делаю фильтры с помощью SETVIEW. Но у мнея складываеца такое впечатление, что SETVIEW фильтрует записи таблицы, а в то же время сама табличная форма продолжает фильтровать записи для отображения с теми параметрами, что были указаны в RunFormView при ее вызове. Чтобы это обойти стал делать по другому: RunFormView в картотечных формах не заполнять, а этот же фильтр ставить в OnAfterGetCurrRecord ориентируясь на значение поля, в текущей записи, т.к. она соответствует записи в карточной форме. Фильтры взаимоисключающие. И получается следущее. Вызываю табличную форму из первой карточной - все отлично. Закрываем ее, но фильтр то на источнике данных остается. (   в этом месте описания я понял, что его надо убирать перед закрытием формы OnQueryCloseForm()  SETVIEW('') )Обидно. Так долго писал, грамотно излагая. Как, все таки, верно говорится: "Правильно сформулированный вопрос уже содержит 80% ответа."  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Рановато я обрадовался  
		
		
		
		
		
		
		
	![]() Теперь другая проблема с формами. Форма кадровые приказы и в ней сабформа приказ на прием к примеру. Надо чтобы при вводе фамилии она заносилась в название приказа. Пишу следущее в TextBox OnAfterValidate сабформы, который содержит фамилию: Код: PersOrderHeader.GET("Order No.");
PersOrderHeader.Name:='Прием '+"Last Name";
PersOrderHeader.MODIFY;Если я пишу так: Код: PersOrderHeader.GET('ПРИМ070016'); //взял для отладки номер конкретного приказа
PersOrderHeader.Name:='Прием '+"Last Name";
PersOrderHeader.MODIFY;Подскажите как надо правильно делать?  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Форма не знает, что ей нужен UPDATE;
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			можно сделать так: 
		
		
		
		
		
		
		
	объявить переменную, такого же типа, как Rec, назовем ее NewRec; NewRec.reset(); NewRec.filtergroup(2); устанавливаем фильтры NewRec.filtergroup(0); form.run(0, NewRec);  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не лазил в эту форму, но могу предположить, что breakpoint на строку PersOrderHeader.GET("Order No."); поможет - посмотрите перед гетом чему равно "Order No.". 
		
		
		
		
		
		
		
	Могу предположить, что имя вносите до вставки самой строки (в сабформе) (при DelayedInsert=TRUE например)  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2 randrews 
		
		
		
		
		
		
		
	Нет в сабформе я пробовал менять в уже введенных строчках - в таблицу пишется а на контроле главной формы не отображается. как вот это победить?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Никак. Из сабформы основную форму обновить нельзя  
		
		
		
		
		
		
			 .  Ну или только на основную повесить таймер, который будет ее обновлять. Но отладка будет затруднительна.)
		
				__________________ 
		
		
		
		
	Должен остаться только один.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А может можно както повесить UPDATE на сочетание горячих клавишь, а из сабформы както его сэмулировать? 
		
		
		
		
		
		
		
	Еще какая-то странность переименовал дал одной кнопке Name вместо номера и теперь навижн ругаеца при вызове формы "Форма не распознает элемент 1000000060", что это такое?  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			У какого-то элемента, возможно сво-во ParentControl ссылается на этот номер. Выгрузите объект в TXT - поищите по "1000000060",  где эта цифра используеится
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Проверил - не ссылается. 
		
		
		
		
		
		
		
	Странно вообще. Компилируется нормально, а вот при вызове формы ругается. Причем я переименовал только 1 кнопку, которую сам до этого же и добавил. Просто сегодня мне стало надо делать ее невидимой в некоторые моменты и я дал ей имя чтоб к ней обращаться из кода. Теперь если я у нее имя удаляю и ставится номер который был по умолчанию. То при запуске формы навижн всерно ругается только на слдеующий контрол, если у него тож удаляю имя, то еще на следующий... Что происходит то вообще? Не навижн, а сплошные глюки :/  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Помогло только следующее: Импортировал рабочий вариант формы, заново добавил туда кнопки, сразу же их переименвал и потом написал их триггеры. Теперь все заработало. 
		
		
		
		
		
		
		
	Видимо когда переименовываешь контрол, у которого уже описаны некторые тригееры, компилятор Навижена компилит какую-то ерунду, несмотря на то что в исходниках все правильно.  | 
| 
	
 |