| 
	 | 
| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Как проверить наличие хотя бы одной записи в подчиненной таблице.
			 
			
			Доброго всем времени суток! 
		
		
		
		
		
		
		
	Вопрос на самом деле не такой уж и простой. У меня есть таблица Штрафные санкции VendContractPenaltyProvision эта таблица подчинена таблице RContractTable а в форме последней есть грид, который ссылается на таблицу VendContractPenaltyProvision. Так вот у договора может быть много штрафных санкций, но обязательно должна быть хотя бы одна! Пробовал в методе validateWrite у таблицы RContractTable прописать следующий код: X++:     VendContractPenaltyProvision tab;
    ;
    select firstonly tab
      where tab.RContractAccount == this.RContractAccount && tab.RContractPartnerCode == this.RContractPartnerCode;
    if (!tab )
      {
         Info("В данном договоре не заполнены штрафные санкции");
         return false;
      } | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: mazzy (2). | |
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			по поводу "спасибо" есть кнопочка "одобрить сообщение" под каждым сообщением
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: demon46 (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Можно пойти по-другому и сделать отложенную проверку, например, при смене статуса договора на "Действует".
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Андрей.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: demon46 (1). | |
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Идея хороша. Я думал о подобной проверке, но как Вы выразились это ведь отложенная проверка. Далее в коде мне придется использовать проверки на заполненость VendContractPenaltyProvision но все же хотелось бы локализовать проверку на уровне ввода.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Можно еще сделать что-то типа мастера создания договора (пример - форма создания заказа), в ней иметь грид со штрафными санкциями (не связанный с конкретным договором, временная таблица), и создавать новый договор только при наличии хотя бы одной записи в гриде, заодно и заполняя таблицу VendContractPenaltyProvision. 
		
		
		
		
		
		
			Или при сохранении договора в validateWrite() вызывать отдельную форму для создания строк, возможно на базе временной таблицы, и действовать сообразно обстоятельствам. 
				__________________ 
		
		
		
		
	Андрей.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Dron AKA andy   
		
		
		
		
		
		
		
	Респект тебе. Вобщем-то решился пойти по твоему совету на счет статуса договора.  | 
| 
	
 | 
| Теги | 
| exists, проверка, существование | 
| 
	
	 | 
	
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |