Штрихкод в печатной форме

1. user1809279 05.09.24 14:14 Сейчас в теме
Здравствуйте, такой вопрос
Делаю внешнюю печатную форму накладной32, нужно добавить вместо колонки нумерации строк, колонку штрихкода товара в табличную часть, кусочек кода



Запрос.Текст = 
	"ВЫБРАТЬ
	|	РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
	|	МИНИМУМ(РеализацияТоваровУслугТовары.НомерСтроки) КАК НомерСтроки,
	|	РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
	|	ВЫБОР
	|		КОГДА НЕ РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное ПОДОБНО """"
	|			ТОГДА ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
	|		ИНАЧЕ РеализацияТоваровУслугТовары.Номенклатура.Наименование
	|	КОНЕЦ КАК ТоварПредставление,
	|	РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
	|	РеализацияТоваровУслугТовары.Номенклатура.Код КАК ТоварКод,
	|	СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
	|	РеализацияТоваровУслугТовары.Цена КАК Цена,
	|	СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма,
	|	СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС,
	|	СУММА(РеализацияТоваровУслугТовары.СуммаАкциза) КАК СуммаАкциза,
	|	ВложенныйЗапрос.Штрихкод КАК Штрихкод
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
	|			ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура
	|		ИЗ
	|			РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры) КАК ВложенныйЗапрос
	|		ПО (ВложенныйЗапрос.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
	|ГДЕ
	|	РеализацияТоваровУслугТовары.Ссылка В(&МассивОбъектов)
	|
	|СГРУППИРОВАТЬ ПО
	|	РеализацияТоваровУслугТовары.Номенклатура,
	|	РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование,
	|	РеализацияТоваровУслугТовары.Номенклатура.Код,
	|	РеализацияТоваровУслугТовары.Цена,
	|	РеализацияТоваровУслугТовары.Ссылка,
	|	ВЫБОР
	|		КОГДА НЕ РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное ПОДОБНО """"
	|			ТОГДА ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
	|		ИНАЧЕ РеализацияТоваровУслугТовары.Номенклатура.Наименование
	|	КОНЕЦ,
	|	ВложенныйЗапрос.Штрихкод
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки
	|ИТОГИ
	|	СУММА(Сумма),
	|	СУММА(СуммаНДС),
	|	СУММА(СуммаАкциза)
	|ПО
	|	Ссылка";  
	
	ВыборкаСтрокТоварыИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); 
	
	ТабДокумент = Новый ТабличныйДокумент;
	ТабДокумент.КлючПараметровПечати = "РеализацияТоваровУслуг_З2";
		
	Пока ДанныеДокументов.Следующий() Цикл 
		
		Макет = ПолучитьМакет("ПФ_MXL_З2");
		
		Если ТабДокумент.ВысотаТаблицы > 0 Тогда
			ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
		
		ОбластьМакетаШапка 			= Макет.ПолучитьОбласть("Шапка");
		ОбластьМакетаИтогоПрописью  = Макет.ПолучитьОбласть("ИтогоПрописью");
		ОбластьМакетаПодвал 		= Макет.ПолучитьОбласть("Подвал");
		
		СтруктурнаяЕдиницаОрганизация = ОбщегоНазначенияБК.ПолучитьСтруктурнуюЕдиницу(ДанныеДокументов.Организация, ДанныеДокументов.СтруктурноеПодразделение);

		СведенияОбОрганизации = ОбщегоНазначенияБКВызовСервера.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, ДанныеДокументов.Дата);
		
		ОбластьМакетаШапка.Параметры.Заполнить(ДанныеДокументов);
		ОбластьМакетаШапка.Параметры.ПредставлениеОрганизации = ОбщегоНазначенияБКВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
		ОбластьМакетаШапка.Параметры.ПредставлениеОтправителя = ОбщегоНазначенияБКВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
		ОбластьМакетаШапка.Параметры.ОрганизацияРНН_БИН       = ОбщегоНазначенияБКВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "БИН_ИИН,", Ложь, ДанныеДокументов.Дата, "ru");
		ОбластьМакетаШапка.Параметры.НомерДокумента           = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеДокументов.Номер, ДанныеДокументов.Ссылка);
		
		ОтветственныйДляПечати  = "";
		ДолжностьОтветственного = "";
		
		Если ТипЗнч(ДанныеДокументов.Ответственный) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
			ДанныеОтветственного	= ПроцедурыУправленияПерсоналомВызовСервера.ДанныеФизЛица(ДанныеДокументов.Организация, ДанныеДокументов.Ответственный, ДанныеДокументов.Дата); 
			ОтветственныйДляПечати  = ДанныеОтветственного.Представление;
			ДолжностьОтветственного = ДанныеОтветственного.Должность;
		Иначе
			ОтветственныйДляПечати = ДанныеДокументов.Ответственный;
		КонецЕсли;	
			
		ОбластьМакетаШапка.Параметры.ОтветственныйЗаПоставку = ОтветственныйДляПечати;
			
		ПредставлениеПолучателя							= ОбщегоНазначенияБКВызовСервера.ОписаниеОрганизации(ОбщегоНазначенияБКВызовСервера.СведенияОЮрФизЛице(ДанныеДокументов.Контрагент, ДанныеДокументов.Дата), "ПолноеНаименование,");
		ОбластьМакетаШапка.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
		
		ТабДокумент.Вывести(ОбластьМакетаШапка);
		
		УчитыватьНДС_       = ДанныеДокументов.УчитыватьНДС;
		УчитыватьАкциз_     = ДанныеДокументов.УчитыватьАкциз;
		СуммаВключаетНДС_   = ДанныеДокументов.СуммаВключаетНДС;
		СуммаВключаетАкциз_ = ДанныеДокументов.СуммаВключаетАкциз;
		
		ПрибавлятьНДС   = УчитыватьНДС_ И (НЕ СуммаВключаетНДС_);
		ПрибавлятьАкциз = УчитыватьАкциз_ И (НЕ СуммаВключаетАкциз_);

		// Выводим заголовок таблицы
		Если УчитыватьАкциз_ Тогда
			ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицыАкциз");
		Иначе
			ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
		КонецЕсли;
		ЗаголовокТаблицы.Параметры.Валюта = ДанныеДокументов.ВалютаДокумента;
		ТабДокумент.Вывести(ЗаголовокТаблицы);

		ИтогоКоличество = 0;
		// Выводим многострочную часть документа
		Если УчитыватьАкциз_ Тогда
			ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицыАкциз");
		Иначе
			ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
		КонецЕсли;
		
		
			//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

		
		ВыборкаСтрокТоварыИтоги.Сбросить();
		
		Если ВыборкаСтрокТоварыИтоги.НайтиСледующий(ДанныеДокументов.Ссылка) Тогда
			ВыборкаСтрокТовары = ВыборкаСтрокТоварыИтоги.Выбрать();
		Иначе
			ВыборкаСтрокТовары = Неопределено;
		КонецЕсли;
		
		Если ВыборкаСтрокТовары <> Неопределено Тогда 
			Пока ВыборкаСтрокТовары.Следующий() Цикл

				Количество = ВыборкаСтрокТовары.Количество;
				
				Если Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабДокумент, ОбластьСтрокаТаблицы) Тогда
					ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		            ТабДокумент.Вывести(ЗаголовокТаблицы);
				КонецЕсли;	
				
				
				
				ОбластьСтрокаТаблицы.Параметры.Заполнить(ВыборкаСтрокТовары);
				ОбластьСтрокаТаблицы.Параметры.Штрихкод = ВыборкаСтрокТовары.Штрихкод;
				ОбластьСтрокаТаблицы.Параметры.ТоварНаименование  = СокрЛП(ВыборкаСтрокТовары.ТоварПредставление);
Показать

1 - типовая
2 - макет уже измененный

В запросе через вложенный сделаала, вставила там где на параметры выборки табличной части ссылается, но без указания параметра номенклатуры, потому что если указать, то будет ругаться что не установлен параметр, а если без него, то ругается что невозможно преобразовать в число, что можно исправить?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1809279 05.09.24 14:14 Сейчас в теме
Это в конфигурации бухгалтерии
Оставьте свое сообщение

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