Вывод данных на макет в отчете

1. user1008893 12.11.18 09:02 Сейчас в теме
Помогите пожалуйста.. Уже не знаю что делать..
Переделываю отчет. Есть макет. Вывожу данные,и появляются лишние строки. Не могу понять.
Все данные как будто съезжают вправо.
Код начиная с вывода отчета
ТабличныйДокумент.НачатьАвтогруппировкуСтрок();
	
	Выборка_Номенклатура = Выборка_Итого.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
	
	Пока Выборка_Номенклатура.Следующий() Цикл
		
    	_Уровень = ?(ВыводитьИерархию, Выборка_Номенклатура.Уровень() - 1, 0);
		ОбластьНоменклатураГруппаТело.Область(1,1,1,1).Отступ 				= _Уровень;
		ОбластьНоменклатураТело.Область(1,1,1,1).Отступ 					= _Уровень;
		ОбластьВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ 		= _Уровень + 1;
		Область_Пустая_ВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ = _Уровень;
		        		
		//Вывод строки номенклатуры
		Если Выборка_Номенклатура.Номенклатура.ЭтоГруппа Тогда
			
			//Группу номенклатуры выводим только если она является итогом по группировке (при иерархическом выводе)
			//ИЛИ выводится номенклатура, невключаемая в прайс
			
                   
			Если Выборка_Номенклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии
				ИЛИ (НЕ ЭлементОтбора_НеВключатьВПрайс = Неопределено 
					И ЭлементОтбора_НеВключатьВПрайс.Использование 
					И ЭлементОтбора_НеВключатьВПрайс.Значение = ИСТИНА) Тогда
				
				ОбластьНоменклатураГруппаТело.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Вывести(ОбластьНоменклатураГруппаТело, _Уровень,,Истина);
				ОбластьНоменклатураГруппаЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаЕдИзм);
				
				ВыборкаИтого_ТипыЦен.Сбросить();
				Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл
					
					Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
						Продолжить;
					КонецЕсли;
					
					ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);
					
				КонецЦикла;
				
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаИтого);
				
			КонецЕсли;
			
			Продолжить;
			
		Иначе
			
			// Строку номенклатуры (при обходе номенклатуры) выводим только 
			// если по ней указаны цены для категорий или вариантов исполнения
			// Иначе тут строку не выводим, а для детальных записей текущей номенклатуры
			// указываем область, в которой вместо пустых категорий/вариантов исполнений выводится сама номенклатура
			Если Выборка_Номенклатура.ЕстьНепустой_ВариантИсполненияКатегория Тогда
			
				ОбластьНоменклатураТело.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Вывести(ОбластьНоменклатураТело, _Уровень,,Истина);
				ОбластьНоменклатураЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураЕдИзм);
				
				ВыборкаИтого_ТипыЦен.Сбросить();
				Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл
					
					Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
						Продолжить;
					КонецЕсли;
					
					ТабличныйДокумент.Присоединить(ОбластьНоменклатураТипЦен);
					
				КонецЦикла;
				
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураИтого);
				
				Область_Детали_Тело 	= ОбластьВариантИсполнения_КатегорияТело;
				Область_Детали_ЕдИзм 	= ОбластьВариантИсполнения_КатегорияЕдИзм;
				Область_Детали_ТипЦен 	= ОбластьВариантИсполнения_КатегорияТипЦен;
				Область_Детали_Итого 	= ОбластьВариантИсполнения_КатегорияИтого;
				Детали_Уровень 			= _Уровень;
				
			Иначе
				
				Область_Детали_Тело 	= Область_Пустая_ВариантИсполнения_КатегорияТело;
				Область_Детали_ЕдИзм 	= Область_Пустая_ВариантИсполнения_КатегорияЕдИзм;
				Область_Детали_ТипЦен 	= Область_Пустая_ВариантИсполнения_КатегорияТипЦен;
				Область_Детали_Итого 	= Область_Пустая_ВариантИсполнения_КатегорияИтого;
				Детали_Уровень 			= _Уровень -1;
				
			КонецЕсли;
			
		КонецЕсли;
		
		//Вывод ВариантаИсполнения/Категории
		Выборка_ТипВИКатегории = Выборка_Номенклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипВИКатегории");
		Пока Выборка_ТипВИКатегории.Следующий() Цикл
			
			Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
			Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл
			//	
			//    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
			//    _Дополнительно = Новый Структура;
			//        // _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
			//        // _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
			//        шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
			//      _Дополнительно.Вставить("шк",шк);
			//    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
			//    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень+1);
			//      //Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
			//      Область_Детали_Тело.Параметры.шк = "" ;
			//  КонецЕсли;

			Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");
				
				
				Пока Выборка_ЕдИзм.Следующий() Цикл
										
					
				   Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
					//ТабличныйДокумент.Вывести(Область_Детали_Тело,Детали_Уровень+1);
					Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
					ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
			    	
			    	 Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
			    _Дополнительно = Новый Структура;
			    	 _Дополнительно.Вставить("ВариантИсполнения",Выборка_ЕдИзм.ВариантИсполнения_Категория);
			    	 _Дополнительно.Вставить("ЕдИзм",Выборка_ЕдИзм.Номенклатура.БазоваяЕдИзм);
			        шк = глСформироватьВнутреннийШтрихкод(Выборка_ЕдИзм.Номенклатура,_Дополнительно);
			      _Дополнительно.Вставить("шк",шк);
			    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
			    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
			      Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
			      Область_Детали_Тело.Параметры.шк = "" ;
			  КонецЕсли;
			  
					Выборка_ТипыЦен = Выборка_ЕдИзм.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипЦен", "Все");
					Пока Выборка_ТипыЦен.Следующий() Цикл
						
						Если глПустоеЗначение(Выборка_ТипыЦен.ТипЦен) Тогда
							Продолжить;
						КонецЕсли;
						
						Область_Детали_ТипЦен.Параметры.Заполнить(Выборка_ТипыЦен);
						ТабличныйДокумент.Присоединить(Область_Детали_ТипЦен);
					КонецЦикла;	
					    
					ТабличныйДокумент.Присоединить(Область_Детали_Итого);
					
			        	 КонецЦикла;

				КонецЦикла;
			КонецЦикла;
			
		КонецЦикла;
		

	
	ТабличныйДокумент.ЗакончитьАвтогруппировкуСтрок ();
 
Показать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
20. user1008893 13.11.18 09:44 Сейчас в теме +1 $m
(18)Все получилось,всем спасибо
Пока Выборка_ТипВИКатегории.Следующий() Цикл
			
			Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
			Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл
				
				
			    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
			    _Дополнительно = Новый Структура;
			         _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
			         _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
			        шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
			      _Дополнительно.Вставить("шк",шк);
			    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
			    //ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
			     // Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
			     // Область_Детали_Тело.Параметры.шк = "" ;
			  КонецЕсли;

				Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");
				Пока Выборка_ЕдИзм.Следующий() Цикл
										
					
					Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
					ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
					Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
					ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
					
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. NataLisa 12.11.18 09:50 Сейчас в теме
А что в итоге нужно получить? Вы хотите в разных группировках разные данные? Может проще таблицу одну целую, а уже заполнением манипулировать? Данные съезжают т.к. присоединяете секции, видимо в одной группировке присоединяется больше чем в другой.
3. user1008893 12.11.18 09:55 Сейчас в теме
(2)надо вывести данные по каждой номенклатуре,как на макете. Вот вывожу
7. Дмитрий74Чел 234 12.11.18 11:42 Сейчас в теме
(3) И в чем затруднения вывода через СКД?
p.s. А вообще не понятно зачем сделали вертикальные области. Обычно делаются только горизонтальные. У вас куча Присоединить(), думаю проблема в этом.
8. user1008893 12.11.18 11:48 Сейчас в теме
(7)не я делала,пробовала убирать по очереди присоединить,ничего не помогает
4. independ 1520 12.11.18 10:08 Сейчас в теме
Может проще все это сделать в СКД, группировки/иерархия - это для СКД. Кодировать не нужно, нужен только запрос.
NatalkaBal; +1 Ответить
5. user1008893 12.11.18 10:12 Сейчас в теме
(4)я переделываю рабочий отчет,добавила только шк и все поехало. хотелось бы просто исправить и все
6. independ 1520 12.11.18 10:15 Сейчас в теме
(5) у вас судя по скриншоту - типовая задачка для СКД
10. NataLisa 12.11.18 11:53 Сейчас в теме
(5) Но для ШК пришлось добавить еще одну группировку? Или группировка ВариантИсполнения уже была? А как выглядел макет до изменений?
11. user1008893 12.11.18 11:55 Сейчас в теме
(10)была группировка,просто без параметра шк
9. antz 12.11.18 11:50 Сейчас в теме
Косяк тут, например:

Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл
                    
        Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
             Продолжить;
        КонецЕсли;
                    
      ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);
                    
КонецЦикла;
Показать


Присоединять надо в любом случае, пусть даже клетка будет пустая. Ну и выводить, соответственно.
NataLisa; +1 Ответить
12. user1008893 12.11.18 12:03 Сейчас в теме
13. antz 12.11.18 12:07 Сейчас в теме
(12) Результат прям так же выглядит? А код как сейчас выглядит?
14. user1008893 12.11.18 12:13 Сейчас в теме
(13)да так же
ТабличныйДокумент.НачатьАвтогруппировкуСтрок();
	
	Выборка_Номенклатура = Выборка_Итого.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
	
	Пока Выборка_Номенклатура.Следующий() Цикл
		
    	_Уровень = ?(ВыводитьИерархию, Выборка_Номенклатура.Уровень() - 1, 0);
		ОбластьНоменклатураГруппаТело.Область(1,1,1,1).Отступ 				= _Уровень;
		ОбластьНоменклатураТело.Область(1,1,1,1).Отступ 					= _Уровень;
		ОбластьВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ 		= _Уровень + 1;
		Область_Пустая_ВариантИсполнения_КатегорияТело.Область(1,1,1,1).Отступ = _Уровень;
		        		
		//Вывод строки номенклатуры
		Если Выборка_Номенклатура.Номенклатура.ЭтоГруппа Тогда
			
			//Группу номенклатуры выводим только если она является итогом по группировке (при иерархическом выводе)
			//ИЛИ выводится номенклатура, невключаемая в прайс
			
                   
			Если Выборка_Номенклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии
				ИЛИ (НЕ ЭлементОтбора_НеВключатьВПрайс = Неопределено 
					И ЭлементОтбора_НеВключатьВПрайс.Использование 
					И ЭлементОтбора_НеВключатьВПрайс.Значение = ИСТИНА) Тогда
				
				ОбластьНоменклатураГруппаТело.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Вывести(ОбластьНоменклатураГруппаТело, _Уровень,,Истина);
				ОбластьНоменклатураГруппаЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаЕдИзм);
				
				ВыборкаИтого_ТипыЦен.Сбросить();
				Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл
					
					//Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
					//	ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);
					//	//Продолжить;
					//КонецЕсли;
					
					ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаТипЦен);
					
				КонецЦикла;
				
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураГруппаИтого);
				
			КонецЕсли;
			
			Продолжить;
			
		Иначе
			
			// Строку номенклатуры (при обходе номенклатуры) выводим только 
			// если по ней указаны цены для категорий или вариантов исполнения
			// Иначе тут строку не выводим, а для детальных записей текущей номенклатуры
			// указываем область, в которой вместо пустых категорий/вариантов исполнений выводится сама номенклатура
			Если Выборка_Номенклатура.ЕстьНепустой_ВариантИсполненияКатегория Тогда
			
				ОбластьНоменклатураТело.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Вывести(ОбластьНоменклатураТело, _Уровень,,Истина);
				ОбластьНоменклатураЕдИзм.Параметры.Заполнить(Выборка_Номенклатура);
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураЕдИзм);
				
				ВыборкаИтого_ТипыЦен.Сбросить();
				Пока ВыборкаИтого_ТипыЦен.Следующий() Цикл
					
					Если глПустоеЗначение(ВыборкаИтого_ТипыЦен.ТипЦен) Тогда
						Продолжить;
					КонецЕсли;
					
					ТабличныйДокумент.Присоединить(ОбластьНоменклатураТипЦен);
					
				КонецЦикла;
				
				ТабличныйДокумент.Присоединить(ОбластьНоменклатураИтого);
				
				Область_Детали_Тело 	= ОбластьВариантИсполнения_КатегорияТело;
				Область_Детали_ЕдИзм 	= ОбластьВариантИсполнения_КатегорияЕдИзм;
				Область_Детали_ТипЦен 	= ОбластьВариантИсполнения_КатегорияТипЦен;
				Область_Детали_Итого 	= ОбластьВариантИсполнения_КатегорияИтого;
				Детали_Уровень 			= _Уровень;
				
			Иначе
				
				Область_Детали_Тело 	= Область_Пустая_ВариантИсполнения_КатегорияТело;
				Область_Детали_ЕдИзм 	= Область_Пустая_ВариантИсполнения_КатегорияЕдИзм;
				Область_Детали_ТипЦен 	= Область_Пустая_ВариантИсполнения_КатегорияТипЦен;
				Область_Детали_Итого 	= Область_Пустая_ВариантИсполнения_КатегорияИтого;
				Детали_Уровень 			= _Уровень -1;
				
			КонецЕсли;
			
		КонецЕсли;
		
		//Вывод ВариантаИсполнения/Категории
		Выборка_ТипВИКатегории = Выборка_Номенклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипВИКатегории");
		Пока Выборка_ТипВИКатегории.Следующий() Цикл
			
			Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
			Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл
			////	
			//    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
			//    _Дополнительно = Новый Структура;
			//         _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
			//        _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
			//        шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
			//      _Дополнительно.Вставить("шк",шк);
			//    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
			//    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень+1);
			//      //Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
			//      Область_Детали_Тело.Параметры.шк = "" ;
			//  КонецЕсли;

			Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");
				
				
				Пока Выборка_ЕдИзм.Следующий() Цикл
										
					
				   Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
					//ТабличныйДокумент.Вывести(Область_Детали_Тело,Детали_Уровень+1);
					Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
					ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
			    	
			    	 Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
			    _Дополнительно = Новый Структура;
			    	 _Дополнительно.Вставить("ВариантИсполнения",Выборка_ЕдИзм.ВариантИсполнения_Категория);
			    	 _Дополнительно.Вставить("ЕдИзм",Выборка_ЕдИзм.Номенклатура.БазоваяЕдИзм);
			        шк = глСформироватьВнутреннийШтрихкод(Выборка_ЕдИзм.Номенклатура,_Дополнительно);
			      _Дополнительно.Вставить("шк",шк);
			    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
			    ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
			      Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
			      Область_Детали_Тело.Параметры.шк = "" ;
			  КонецЕсли;
			  
					Выборка_ТипыЦен = Выборка_ЕдИзм.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТипЦен", "Все");
					Пока Выборка_ТипыЦен.Следующий() Цикл
						
						//Если глПустоеЗначение(Выборка_ТипыЦен.ТипЦен) Тогда
						//	Продолжить;
						//КонецЕсли;
						//
						Область_Детали_ТипЦен.Параметры.Заполнить(Выборка_ТипыЦен);
						ТабличныйДокумент.Присоединить(Область_Детали_ТипЦен);
					КонецЦикла;	
					    
					ТабличныйДокумент.Присоединить(Область_Детали_Итого);
					
			        	 КонецЦикла;

				КонецЦикла;
			КонецЦикла;
			
		КонецЦикла;
		

	
	ТабличныйДокумент.ЗакончитьАвтогруппировкуСтрок ();
Показать
15. NataLisa 12.11.18 12:41 Сейчас в теме
Я бы заново начала с рабочего варианта и если, как вы говорите, уже была группировка ВариантИсполнения не трогала бы глобально макет, а только разбила бы ячейку с наименованием "ВариантИсполнения_Категория" на две не нарушая структуру макета. Потом попробуйте в месте где выводится ВариантИсполнения_Категория вставить свой параметр ШК и вписать что то свое типа "000". А уже если все получится, тогда пробуйте получать ШК и выводить его вместо "000". Двигаться лучше постепенно...
16. user1008893 13.11.18 07:59 Сейчас в теме
17. user1008893 13.11.18 08:28 Сейчас в теме
не получается,скорее всего ошибка в выводе тела. Если ту первую строку раскомментить,то задваивает значения,но все нормально выводит. Может тут что то подправить? Подскажите пожалуйста...
  Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
                    //ТабличныйДокумент.Вывести(Область_Детали_Тело,Детали_Уровень+1);
                    Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
                    ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
                    
                     Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
                _Дополнительно = Новый Структура;
                     _Дополнительно.Вставить("ВариантИсполнения",Выборка_ЕдИзм.ВариантИсполнения_Категория);
                     _Дополнительно.Вставить("ЕдИзм",Выборка_ЕдИзм.Номенклатура.БазоваяЕдИзм);
                    шк = глСформироватьВнутреннийШтрихкод(Выборка_ЕдИзм.Номенклатура,_Дополнительно);
                  _Дополнительно.Вставить("шк",шк);
                Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
                ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
                  Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
                  Область_Детали_Тело.Параметры.шк = "" ;
              КонецЕсли;
Показать
18. NataLisa 13.11.18 09:26 Сейчас в теме
(17)Задваивает значения - это в каком смысле? Две строки выводит? Или две ячейки?
19. user1008893 13.11.18 09:28 Сейчас в теме
(18)2 строки с одинаковыми вариантами исполнения
20. user1008893 13.11.18 09:44 Сейчас в теме +1 $m
(18)Все получилось,всем спасибо
Пока Выборка_ТипВИКатегории.Следующий() Цикл
			
			Выборка_ВариантИсполнения_Категория = Выборка_ТипВИКатегории.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВариантИсполнения_Категория");
			Пока Выборка_ВариантИсполнения_Категория.Следующий() Цикл
				
				
			    Если НЕ глПустоеЗначение(Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория) Тогда 
			    _Дополнительно = Новый Структура;
			         _Дополнительно.Вставить("ВариантИсполнения",Выборка_ВариантИсполнения_Категория.ВариантИсполнения_Категория);
			         _Дополнительно.Вставить("ЕдИзм",Выборка_ВариантИсполнения_Категория.Номенклатура.БазоваяЕдИзм);
			        шк = глСформироватьВнутреннийШтрихкод(Выборка_ВариантИсполнения_Категория.Номенклатура,_Дополнительно);
			      _Дополнительно.Вставить("шк",шк);
			    Область_Детали_Тело.Параметры.Заполнить(_Дополнительно);
			    //ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
			     // Область_Детали_Тело.Параметры.ВариантИсполнения_Категория = "";
			     // Область_Детали_Тело.Параметры.шк = "" ;
			  КонецЕсли;

				Выборка_ЕдИзм = Выборка_ВариантИсполнения_Категория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ЕдИзм");
				Пока Выборка_ЕдИзм.Следующий() Цикл
										
					
					Область_Детали_Тело.Параметры.Заполнить(Выборка_ЕдИзм);
					ТабличныйДокумент.Вывести(Область_Детали_Тело, Детали_Уровень + 1);
					Область_Детали_ЕдИзм.Параметры.Заполнить(Выборка_ЕдИзм);
					ТабличныйДокумент.Присоединить(Область_Детали_ЕдИзм);
					
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот