Как правильно заполнить колонки в печатной форме?

1. I_train 26.09.21 15:51 Сейчас в теме
У меня есть код, который заполняет табличный документ номенклатурой и ее штрихкодами, и не как не удается правильно сопоставить номенклатуру и ее штрихкод. Если вставлю вывод строки как на фото №1 то выводится только последняя номенклатура, но штрихкоды все в правильном порядке, а если укажу как на фото №2 то вообще нет штрихов, можно ли это как то нормально сопоставить?
	ВыборкаТабличнойЧасти = СсылкаНаОбъект.Товары;
	Для каждого СтрокаТабличнойЧасти Из ВыборкаТабличнойЧасти Цикл
		
		СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,Права);
		ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
        ОбластьСтрока.Параметры.ДатаПоставки = СтрокаТабличнойЧасти.ДатаПоставки;
		ОбластьСтрока.Параметры.Коэффициент = СтрокаТабличнойЧасти.Коэффициент;
	КонецЦикла;	
		Запрос = Новый Запрос;		
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ШтрихКоды.ШтрихКод КАК ШтрихКод,
		|	ЗаказВнутреннийТовары.Номенклатура КАК Номенклатура,
		|	ШтрихКоды.ОсновнойШтрихкод КАК ОсновнойШтрихкод
		|ИЗ
		|	Документ.ЗаказВнутренний.Товары КАК ЗаказВнутреннийТовары
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихКоды КАК ШтрихКоды
		|		ПО (ШтрихКоды.Объект = ЗаказВнутреннийТовары.Номенклатура)
		|ГДЕ
		|	ШтрихКоды.Запрет <> &Запрет
		|	И ЗаказВнутреннийТовары.Ссылка = &ТоварДок
		|ИТОГИ
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОсновнойШтрихкод)
		|ПО
		|	Номенклатура,
		|	ШтрихКод";
	
		
		Запрос.УстановитьПараметр("Запрет", Истина);		
		Запрос.УстановитьПараметр("ТоварДок", СсылкаНаОбъект);	
		РезультатЗапроса = Запрос.Выполнить();
		ТаблицаЗнач = Запрос.Выполнить().Выгрузить();
		ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура");
		Пока ВыборкаНоменклатура.Следующий() Цикл
		ОбластьСтрока.Параметры.Штрихкод = "";	
		ВыборкаШтрихКоды = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ШтрихКод");
		Пока ВыборкаШтрихКоды.Следующий() Цикл
			ОбластьСтрока.Параметры.Штрихкод = ВыборкаШтрихКоды.Штрихкод + ", " + ОбластьСтрока.Параметры.Штрихкод;
		КонецЦикла;
	КонецЦикла;
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. provadyuga 99 26.09.21 18:10 Сейчас в теме
(3)
штрихкодвы все выводятся, только не знаю как сопоставить штрихкоды и номенклатура

Тогда сначала запрос, а потом перебираете строки ТЧ
    Запрос = Новый Запрос;        
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ШтрихКоды.ШтрихКод КАК ШтрихКод,
    |    ЗаказВнутреннийТовары.Номенклатура КАК Номенклатура,
    |    ШтрихКоды.ОсновнойШтрихкод КАК ОсновнойШтрихкод
    |ИЗ
    |    Документ.ЗаказВнутренний.Товары КАК ЗаказВнутреннийТовары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихКоды КАК ШтрихКоды
    |        ПО (ШтрихКоды.Объект = ЗаказВнутреннийТовары.Номенклатура)
    |ГДЕ
    |    ШтрихКоды.Запрет <> &Запрет
    |    И ЗаказВнутреннийТовары.Ссылка = &ТоварДок
    |ИТОГИ
    |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОсновнойШтрихкод)
    |ПО
    |    Номенклатура,
    |    ШтрихКод";

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

		Если ВыборкаНоменклатура.НайтиСледующий(Отбор) Тогда
			ВыборкаШтрихКоды = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам ,"ШтрихКод");
			
			Пока ВыборкаШтрихКоды.Следующий() Цикл
				
				ОбластьСтрока.Параметры.Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод + ", " + ОбластьСтрока.Параметры.Штрихкод;
				
			КонецЦикла;
			
		КонецЕсли;
		
    КонецЦикла;    	
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. provadyuga 99 26.09.21 17:13 Сейчас в теме
Наверное по группировке "Штрихкоды" не выводятся сами штрихкоды, а выводится количество различные.
Попробуйте с этим запросом
Запрос.Текст = 
        "ВЫБРАТЬ
        |    ШтрихКоды.ШтрихКод КАК ШтрихКод,
        |    ЗаказВнутреннийТовары.Номенклатура КАК Номенклатура,
        |    ШтрихКоды.ОсновнойШтрихкод КАК ОсновнойШтрихкод,
        |	 0 КАК Ноль
        |ИЗ
        |    Документ.ЗаказВнутренний.Товары КАК ЗаказВнутреннийТовары
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихКоды КАК ШтрихКоды
        |        ПО (ШтрихКоды.Объект = ЗаказВнутреннийТовары.Номенклатура)
        |ГДЕ
        |    ШтрихКоды.Запрет <> &Запрет
        |    И ЗаказВнутреннийТовары.Ссылка = &ТоварДок
        |ИТОГИ
        |    СУММА(Ноль)
        |ПО
        |    Номенклатура,
        |    ШтрихКод";
Показать
3. I_train 26.09.21 17:20 Сейчас в теме
(2) штрихкодвы все выводятся, только не знаю как сопоставить штрихкоды и номенклатура
4. provadyuga 99 26.09.21 18:10 Сейчас в теме
(3)
штрихкодвы все выводятся, только не знаю как сопоставить штрихкоды и номенклатура

Тогда сначала запрос, а потом перебираете строки ТЧ
    Запрос = Новый Запрос;        
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ШтрихКоды.ШтрихКод КАК ШтрихКод,
    |    ЗаказВнутреннийТовары.Номенклатура КАК Номенклатура,
    |    ШтрихКоды.ОсновнойШтрихкод КАК ОсновнойШтрихкод
    |ИЗ
    |    Документ.ЗаказВнутренний.Товары КАК ЗаказВнутреннийТовары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихКоды КАК ШтрихКоды
    |        ПО (ШтрихКоды.Объект = ЗаказВнутреннийТовары.Номенклатура)
    |ГДЕ
    |    ШтрихКоды.Запрет <> &Запрет
    |    И ЗаказВнутреннийТовары.Ссылка = &ТоварДок
    |ИТОГИ
    |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОсновнойШтрихкод)
    |ПО
    |    Номенклатура,
    |    ШтрихКод";

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

		Если ВыборкаНоменклатура.НайтиСледующий(Отбор) Тогда
			ВыборкаШтрихКоды = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам ,"ШтрихКод");
			
			Пока ВыборкаШтрихКоды.Следующий() Цикл
				
				ОбластьСтрока.Параметры.Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод + ", " + ОбластьСтрока.Параметры.Штрихкод;
				
			КонецЦикла;
			
		КонецЕсли;
		
    КонецЦикла;    	
Показать
5. provadyuga 99 26.09.21 18:12 Сейчас в теме
(3) А можно было бы все данные для отчета, включая колонки "Дата поставки", "Коэффициент" получать запросом.
6. I_train 26.09.21 18:35 Сейчас в теме
Так они не просто записываются в табличный документ, а с начало в эту функцию залетают и а там целое полотно логики какой то
СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,Права);
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)