| 
							Kivals
							
						 | 
						
							
								  | 
								
									
									 « Ответ #30 : 13-05-2010 10:44 »   | 
								
								 | 
							  
							 
							ТекстЗапроса = " |Без итогов; |ТекущийЭлемент = Справочник.Альбомы.ТекущийЭлемент; |ГодВыпуска = Справочник.Альбомы.ГодВыпуска; |Альбом = Справочник.Альбомы.Наименование; |Условие (ГодВыпуска>1999);  |Группировка(ТекущийЭлемент); |";  Ну а дальше доступайся в цикле к нужным реквизитам через Запрос.ТекущийЭлемент.<НазваниеРеквизита> 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #31 : 13-05-2010 14:45 »   | 
								
								 | 
							  
							 
							Простите, пожалуйста, но я не совсем понимаю. Дело в том, что я не программист, вы не могли бы мне по-подробней показать, как надо делать. Пока я только ТекстЗапроса написала, как вы сказали. Процедура Сформировать() Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Без итогов; |ТекущийЭлемент = Справочник.Альбомы.ТекущийЭлемент; |ГодВыпуска = Справочник.Альбомы.ГодВыпуска; |Альбом = Справочник.Альбомы.Наименование; |Условие (ГодВыпуска>1999);  |Группировка(ТекущийЭлемент); |";   Запрос.Выполнить(ТекстЗапроса); Таблица  = СоздатьОбъект("Таблица"); Таблица.ВывестиСекцию("Заголовок"); А дальше никак не разберусь...  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						| 
							Kivals
							
						 | 
						
							
								  | 
								
									
									 « Ответ #33 : 13-05-2010 17:57 »   | 
								
								 | 
							  
							 
							Ольга111, при всем желании не смогу тебе помочь подредактировать Таблицу, которую ты выводишь, так что разбираться все равно придется... Вот что получается дальше: Запрос.Выполнить(ТекстЗапроса); Пока Запрос.Группировка() Цикл 	//Таб.ВывестиСекцию("Данные"); 	Сообщить(Запрос.ТекущийЭлемент.Наименование); 	Сообщить(Запрос.ТекущийЭлемент.Группа); КонецЦикла; Как это прикрутить к таблице - попробуй разобраться сама  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #34 : 13-05-2010 18:39 »   | 
								
								 | 
							  
							 
							Большое вам спасибо, но в строке   Пока Запрос.Группировка() Цикл  ошибка: Выражение должно иметь логический тип.  Когда я пишу  Пока Запрос.Группировка()=1 Цикл  Выдаёт ошибку - Запрос.Выполнить(ТекстЗапроса); {Обработка.ПопулярноеЗа5лет.Форма.Модуль(22)}: Группировка <<?>> (ТекущийЭлемент); Запро  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #35 : 13-05-2010 18:41 »   | 
								
								 | 
							  
							 
							Запрос.Выполнить(ТекстЗапроса); {Обработка.ПопулярноеЗа5лет.Форма.Модуль(22)}: Группировка <<?>> (ТекущийЭлемент); Запро 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Dest
							
								Опытный 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #36 : 14-05-2010 03:18 »   | 
								
								 | 
							  
							 
							|ТекущийЭлемент = Справочник.Альбомы.ТекущийЭлемент; "ТекущийЭлемент" - зарезервированное слово. Попробуй поменять, например на "ТекущийЭл" |ТекущийЭл = Справочник.Альбомы.ТекущийЭлемент;  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #37 : 14-05-2010 04:43 »   | 
								
								 | 
							  
							 
							Спасибо, буду пробовать...
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Kivals
							
						 | 
						
							
								  | 
								
									
									 « Ответ #38 : 14-05-2010 12:29 »   | 
								
								 | 
							  
							 
							Ольга111, я не проверял код - писал прямо в форуме. Про цикл - абсолютно верно, там должно быть "=1" Про группировку - по-моему там скобок не нужно, вот так: 	|Группировка ТекущийЭлемент упорядочить по ТекущийЭлемент.Наименование без групп;  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #39 : 14-05-2010 12:46 »   | 
								
								 | 
							  
							 
							Большое спасибо, с тем заданием разобралась... Если можно, подскажите, пожалуйста, как из табличной части записать данные в справочник? т.е. в табл. части документа есть название и количество, надо, чтобы в справочнике у нужного элемента менялось количество. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #40 : 14-05-2010 13:02 »   | 
								
								 | 
							  
							 
							Я попробовала сделать так: Процедура ОбработкаПроведения() СпрКниги = СоздатьОбъект("Справочник.Книги"); СпрКниги.Новый();  ДокПост = СоздатьОбъект("Документ.ПоступлениеКниг");
    ДокПост. ВыбратьСтроки(); Пока ДокПост.ПолучитьСтроку()=1 Цикл   	СпрКниги.ВыбратьСтроки(); 	  Пока СпрКниги.ПолучитьСтроку()=1 Цикл                 Если СпрКниги.Наименование = НазКниги Тогда 	   	СпрКниги.Количество = Количество; //Скажите, пожалуйста, можно ли написать СпрКниги.Количество = СпрКниги.Количество + Количество ? //а то мне надо увеличивать количество в справочнике 	   КонецЕсли;    	  КонецЦикла; КонецЦикла; КонецПроцедуры Но в справочнике ничего не меняется, правда и ошибок тоже нет...  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Kivals
							
						 | 
						
							
								  | 
								
									
									 « Ответ #41 : 14-05-2010 13:39 »   | 
								
								 | 
							  
							 
							Ну что не меняется - неудивительно: цикл не выполняется ни разу, т.к. табличной части для вновь созданного объекта нет. Если ты это делаешь в ОбработкеПроведения, то нужно приблизительно так: 	ВыбратьСтроки(); 	Пока ПолучитьСтроку()=1 Цикл 		... 	КонецЦикла; А у тебя в табличной части документа только названия, а не ссылка на элемент справочника?  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Ольга111
							
								Интересующийся 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #42 : 14-05-2010 13:56 »   | 
								
								 | 
							  
							 
							Спасибо Вам. НазКниги (из табличной части документа) имеет тип Справочник.Книги. Примерно так, как вы показали я уже пробовала: Процедура ОбработкаПроведения()   СпрКниги = СоздатьОбъект("Справочник.Книги");      ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл   //цикл по таб. части документа 	//перебираю элементы справочника и ищу нужные, чтобы увеличить в них количество 	 //Пока СпрКниги.ПолучитьСтроку()=1 Цикл    //когда раскомментировано - ругается, на эту строку: Поле агрегатного                                                                                          //объекта не   обнаружено (ПолучитьСтроку)         Если СпрКниги.Наименование = НазКниги Тогда 	   	СпрКниги.Количество = Количество; 	   КонецЕсли;    	 // КонецЦикла; КонецЦикла; КонецПроцедуры  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						| 
							Kivals
							
						 | 
						
							
								  | 
								
									
									 « Ответ #44 : 14-05-2010 22:37 »   | 
								
								 | 
							  
							 
								СпрКниги = СоздатьОбъект("Справочник.Книги"); 	ВыбратьСтроки(); 	Пока ПолучитьСтроку()=1 Цикл 		СпрКниги.НайтиЭлемент(НазКниги); // НазКниги - это реквизит табл.части 		СпрКниги.Количество = СпрКниги.Количество + Количество; // Можно. 		// Только: 1. При каждом проведении одного и того же документа к-во будет добавляться 		// 2. Не забудь отнять назад в процедуре ОбработкаУдаленияПроведения() 		СпрКниги.Записать(); 	КонецЦикла;
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							AndyG
							
								Постоялец 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #45 : 07-07-2010 09:45 »   | 
								
								 | 
							  
							 
							Ольга111,  Та дались вам эти запросы!:( Не обязательно использовать их для всего и вся.
  Вот вам решение
  Таб = СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Заголовок"); Спр=СоздатьОбъект("Справочник.Альбомы"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл ТекЭл=Спр.ТекущийЭлемент();          Если ТекЭл.ПометкаУдаления()=1 Тогда Продолжить; КонецЕсли;     Если ТекЭл.ГодВыпуска<1999 Тогда Продолжить; КонецЕсли;     //ОПРЕДЕЛИМ Ваши переменные     альбом=ТекЭл.Альбом;     ГодВыпуска=ТекЭл.ГодВыпуска;     //или в таблице заполняем переменными  ТекЭл.Альбом и ТекЭл.ГодВыпуска     ТаБ.ВывестиСекцию("ТаЧёХочешьВыводи"); //тут точное название горизонтальной секции Вашей таблицы КонецЦикла; 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 07-07-2010 09:54 от AndyG »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	 |