Добавить колонку в макет печатной формы

1. BUBUGER 12.11.20 07:35 Сейчас в теме
Нужно вставить в новую колонку значение которое храниться в Справочник.Номенклатура.Размеры

Добавляю новую колонку присваиваю параметр Реквизита который создал в ПриобретениеТоваровУслуг.Товары с типом СправочникСсылка.Номенклатура, добавляю новую колонку в макете, прописываю туда Параметр Размеры, при выводе на печать поле остаётся пустым, если вместо Размеры пишу например Артикул тогда появляется Артикул.

Подскажите как решить эту задачу.
По теме из базы знаний
Найденные решения
21. BUBUGER 12.11.20 12:15 Сейчас в теме
Процедура ПечатьТоваровИУслуг(ТабДок, Ссылка) Экспорт
	//{{_КОНСТРУКТОР_ПЕЧАТИ(ПечатьТоваровИУслуг)
	Макет = Документы.ПриобретениеТоваровУслуг.ПолучитьМакет("ПечатьТоваровИУслуг");
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Дата КАК Дата,
	|	ПриобретениеТоваровУслуг.Номер КАК Номер,
	|	ПриобретениеТоваровУслуг.Товары.(
	|		НомерСтроки КАК НомерСтроки,
	|		Номенклатура КАК Номенклатура,
	|		Характеристика КАК Характеристика,
	|		Количество КАК Количество,
	|		Цена КАК Цена,
	|		Сумма КАК Сумма
	|	) КАК Товары,
	|	Номенклатура.AddРазмеры КАК AddРазмеры
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг,
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	ПриобретениеТоваровУслуг.Ссылка В(&Ссылка)";
	Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
	ОбластьТовары = Макет.ПолучитьОбласть("Товары");
	ТабДок.Очистить();

	ВставлятьРазделительСтраниц = Ложь;
	Пока Выборка.Следующий() Цикл
		Если ВставлятьРазделительСтраниц Тогда
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ТабДок.Вывести(ОбластьЗаголовок);

		Шапка.Параметры.Заполнить(Выборка);
		ТабДок.Вывести(Шапка, Выборка.Уровень());

		ТабДок.Вывести(ОбластьТоварыШапка);
		ВыборкаТовары = Выборка.Товары.Выбрать();
		Пока ВыборкаТовары.Следующий() Цикл
			ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
			ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
		КонецЦикла;

		ВставлятьРазделительСтраниц = Истина;
	КонецЦикла;
	//}}
КонецПроцедуры
Показать

9
Вот новая процедура печати, вызывается и тоже не работает, не показывает нужный мне реквизит
22. BUBUGER 12.11.20 12:17 Сейчас в теме
И так тоже не хочет работать

Процедура ПечатьТоваровИУслуг(ТабДок, Ссылка) Экспорт
	//{{_КОНСТРУКТОР_ПЕЧАТИ(ПечатьТоваровИУслуг)
	Макет = Документы.ПриобретениеТоваровУслуг.ПолучитьМакет("ПечатьТоваровИУслуг");
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Дата,
	|	ПриобретениеТоваровУслуг.Номер,
	|	ПриобретениеТоваровУслуг.Товары.(
	|		НомерСтроки,
	|		Номенклатура,
	|		Характеристика,
	|		Количество,
	|		Цена,
	|		Сумма,
	|		AddРазмеры
	|	)
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
	|ГДЕ
	|	ПриобретениеТоваровУслуг.Ссылка В (&Ссылка)";
	Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
	ОбластьТовары = Макет.ПолучитьОбласть("Товары");
	ТабДок.Очистить();

	ВставлятьРазделительСтраниц = Ложь;
	Пока Выборка.Следующий() Цикл
		Если ВставлятьРазделительСтраниц Тогда
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ТабДок.Вывести(ОбластьЗаголовок);

		Шапка.Параметры.Заполнить(Выборка);
		ТабДок.Вывести(Шапка, Выборка.Уровень());

		ТабДок.Вывести(ОбластьТоварыШапка);
		ВыборкаТовары = Выборка.Товары.Выбрать();
		Пока ВыборкаТовары.Следующий() Цикл
			ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
			ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
		КонецЦикла;

		ВставлятьРазделительСтраниц = Истина;
	КонецЦикла;
	//}}
КонецПроцедуры
Показать
23. BUBUGER 12.11.20 12:58 Сейчас в теме
В общем решил задачу,

так я и не понял, почему не смогли мне помочь, код процедуры в теме =)

Поправил запрос пакета 2 и всё получилось.

FatPanzer 9 12.11.20 11:36
(8) А почему макет редактируете в пользовательском режиме? Это же абсолютно бесполезно, если хочется добавить в него вывод новых реквизитов - печатная форма о них просто не знает.


теперь знает
28. BUBUGER 12.11.20 21:10 Сейчас в теме
(27)

Я же сказал где нашел..
Функция СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати)

Поправил запрос пакета #2 и всё получилось.

Добавил туда
Номенклатура.AddРазмеры КАК НоменклатураAddРазмеры

потом вставил НоменклатураAddРазмеры в макет как параметр и попробовал вызвать, получил то что хотел.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Andrekaa 12.11.20 08:01 Сейчас в теме
Фото Свойств реквизита в макете и строчку кода заполнения Реквизита
3. XAKEP 12.11.20 08:02 Сейчас в теме
колонка
строка


ячейка


------------

как 1с определит ?
4. ASSuk 12.11.20 08:07 Сейчас в теме
Ну а в модульменеджера добавить
ОбластьДанныхСтроки.Параметры.Размеры =ВыборкаПоТоварам.Размеры ;

?
8. BUBUGER 12.11.20 11:32 Сейчас в теме
Вот так сделал, не срабатывает.
Трудно даётся работа с кодом, подскажите как сделать чтоб заработало.
(4)
Прикрепленные файлы:
9. FatPanzer 12.11.20 11:36 Сейчас в теме
(8) А почему макет редактируете в пользовательском режиме? Это же абсолютно бесполезно, если хочется добавить в него вывод новых реквизитов - печатная форма о них просто не знает.

Нашли, где формируется запрос для вывод этого документа на печать и где происходит непосредственная компоновка печатной формы? Вообще в принципе знаете, как это происходит?
10. BUBUGER 12.11.20 11:44 Сейчас в теме
(9) ПечатьЭтикетокИЦенников так сработало, в Макете достаточно было написать Шаблон Номенклатура.AddРазмеры и работает.
Я понимаю что моё значение не видит, я и в конфигураторе менять пробовал, и новую форму печати формировал через конструктор тоже не работает.
11. BUBUGER 12.11.20 11:48 Сейчас в теме
(10)
Прикрепленные файлы:
12. FatPanzer 12.11.20 11:50 Сейчас в теме
(10) Мне неинтересно, что вы делали с ценниками и в каком случае что-то где-то работает. Работает всегда так, как запрограммировано. Может быть этикетки и ценники запрограммированы так, а вот эта печатная форма по другому. И ваше дело как раз найти и разобраться, а не пытаться угадывать по аналогии.

Еще раз: ищите в конфигураторе запрос для данной печатной формы, ищите в конфигураторе вывод макета данной печатной формы. Да хотя бы сам макет для начала найдите.
17. BUBUGER 12.11.20 11:57 Сейчас в теме
(12)
Да хотя бы сам макет для начала найдите.


Макет даёт себя менять только в пользовательском режиме

Чтоб не привязываться к макету, я формировал заново через конструктор печати и появилась отдельная кнопка для печати)
18. FatPanzer 12.11.20 11:59 Сейчас в теме
(17)
Макет даёт себя менять только в пользовательском режиме
До свидания.
13. BUBUGER 12.11.20 11:50 Сейчас в теме
(9) Догадываюсь, но как вот правильно поправить модуль менеджера никак не могу сообразить
15. FatPanzer 12.11.20 11:52 Сейчас в теме
(13) Давайте я за вас подогадываюсь о ваших соображениях, а вы пока надейтесь на чудо, раз не хотите показывать и рассказывать.
16. ASSuk 12.11.20 11:56 Сейчас в теме
(13) смотрите (6) и (14) , ну и в макете печ формы приходной накладной вставьте рек. через конфигуратор. Пользовательский режим можно использовать только если нужно вывести то что итак выведено)
20. BUBUGER 12.11.20 12:06 Сейчас в теме
(14)
Функция СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати)
	
	КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
	ВыводитьКоды = ЗначениеЗаполнено(КолонкаКодов);
	
	ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
	
	Запрос = Новый Запрос("
	|////////////////////////////////////////////////////////////­////////////////
	|// ЗАПРОС ПО ШАПКЕ
	|
	|ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Ссылка                                   КАК Ссылка,
	|	ПриобретениеТоваровУслуг.Номер                                    КАК Номер,
	|	ПриобретениеТоваровУслуг.Дата                                     КАК Дата,
	|	ПриобретениеТоваровУслуг.Партнер                                  КАК Партнер,
	|	ПриобретениеТоваровУслуг.Контрагент                               КАК Поставщик,
	|	ПриобретениеТоваровУслуг.Организация                              КАК Организация,
	|	ПриобретениеТоваровУслуг.Организация.Префикс                      КАК Префикс,
	|	ПриобретениеТоваровУслуг.Валюта                                   КАК Валюта,
	|	ПриобретениеТоваровУслуг.ЦенаВключаетНДС                          КАК ЦенаВключаетНДС,
	|	ПриобретениеТоваровУслуг.Принял                      			 КАК ПолучениеПроизвел,
	|	ВЫБОР
	|		КОГДА
	|			ПриобретениеТоваровУслуг.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
	|		ТОГДА
	|			ИСТИНА
	|		ИНАЧЕ
	|			ЛОЖЬ
	|	КОНЕЦ КАК УчитыватьНДС
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
	|
	|ГДЕ
	|	ПриобретениеТоваровУслуг.Ссылка В (&МассивДокументов)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////
	|// ЗАПРОС ПО ТАБЛИЧНЫМ ЧАСТЯМ
	|
	|ВЫБРАТЬ
	|	ВложенныйЗапрос.Ссылка                                                     КАК Ссылка,
	|	ВложенныйЗапрос.Номенклатура                                               КАК Номенклатура,
	|	ВложенныйЗапрос.Номенклатура.НаименованиеПолное                            КАК ТоварНаименованиеПолное,
	|	ВложенныйЗапрос.Номенклатура.Код                                           КАК Код,
	|	ВложенныйЗапрос.Номенклатура.Артикул                                       КАК Артикул,
	|	ВложенныйЗапрос.ЕдиницаИзмерения.Наименование                              КАК ЕдиницаЦены,
	|	ВложенныйЗапрос.ЕдиницаИзмерения                                           КАК ЕдиницаИзмерения,
	|	ВложенныйЗапрос.Характеристика.НаименованиеПолное                          КАК Характеристика,
	|	ВложенныйЗапрос.Серия.Наименование							               КАК Серия,
	|	ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) = 1
	|		ТОГДА НЕОПРЕДЕЛЕНО
	|		ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
	|	КОНЕЦ                                                                      КАК Упаковка,
	|	ВложенныйЗапрос.СтавкаНДС                                                  КАК СтавкаНДС,
	|	ВложенныйЗапрос.Цена                                                       КАК Цена,
	|	ВложенныйЗапрос.Количество                                                 КАК Количество,
	|	ВложенныйЗапрос.Сумма                                                      КАК Сумма,
	|	ВложенныйЗапрос.СуммаНДС                                                   КАК СуммаНДС,
	|	ВложенныйЗапрос.СуммаСкидки                                                КАК СуммаСкидки,
	|	ВложенныйЗапрос.СуммаБезСкидки                                             КАК СуммаБезСкидки,
	|	ВложенныйЗапрос.НомерСтроки                                                КАК НомерСтроки,
	|	ВЫБОР
	|		КОГДА
	|			ВложенныйЗапрос.Ссылка.ВернутьМногооборотнуюТару
	|			И ВложенныйЗапрос.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
	|		ТОГДА
	|			ИСТИНА
	|		ИНАЧЕ
	|			ЛОЖЬ
	|	КОНЕЦ КАК ЭтоВозвратнаяТара
	|ИЗ (
	|	ВЫБРАТЬ
	|		ПриобретениеТоваровУслуг.Ссылка КАК Ссылка,
	|		ПриобретениеТоваровУслуг.Номенклатура КАК Номенклатура,
	|
	|		ВЫБОР КОГДА ПриобретениеТоваровУслуг.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
	|			1
	|		ИНАЧЕ
	|			&ТекстЗапросаКоэффициентУпаковки2
	|		КОНЕЦ КАК Коэффициент,
	|
	|		ВЫБОР КОГДА ПриобретениеТоваровУслуг.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
	|			ПриобретениеТоваровУслуг.Номенклатура.ЕдиницаИзмерения
	|		ИНАЧЕ
	|			ПриобретениеТоваровУслуг.Упаковка
	|		КОНЕЦ КАК ЕдиницаИзмерения,
	|
	|		ПриобретениеТоваровУслуг.ПроцентРучнойСкидки         КАК ПроцентСкидки,
	|		ПриобретениеТоваровУслуг.Характеристика              КАК Характеристика,
	|		ПриобретениеТоваровУслуг.Серия              			КАК Серия,
	|		ПриобретениеТоваровУслуг.Упаковка                    КАК Упаковка,
	|		ПриобретениеТоваровУслуг.СтавкаНДС                   КАК СтавкаНДС,
	|		ПриобретениеТоваровУслуг.Цена                        КАК Цена,
	|		ПриобретениеТоваровУслуг.КоличествоУпаковок          КАК Количество,
	|		ПриобретениеТоваровУслуг.Сумма                       КАК Сумма,
	|		ПриобретениеТоваровУслуг.СуммаРучнойСкидки           КАК СуммаСкидки,
	|		ПриобретениеТоваровУслуг.Сумма +
	|		ПриобретениеТоваровУслуг.СуммаРучнойСкидки           КАК СуммаБезСкидки,
	|		ПриобретениеТоваровУслуг.СуммаНДС                    КАК СуммаНДС,
	|		ПриобретениеТоваровУслуг.НомерСтроки                 КАК НомерСтроки
	|	ИЗ
	|		Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслуг
	|	ГДЕ
	|		ПриобретениеТоваровУслуг.Ссылка В (&МассивДокументов)
	|		И ПриобретениеТоваровУслуг.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
	|) КАК ВложенныйЗапрос
	|
	|УПОРЯДОЧИТЬ ПО
	|	ВложенныйЗапрос.Ссылка,
	|	НомерСтроки
	|
	|ИТОГИ
	|	СУММА(СуммаСкидки)
	|ПО
	|	Ссылка
	|");
	
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки1",
		Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
			"ВложенныйЗапрос.Упаковка",
			"ВложенныйЗапрос.Номенклатура"));
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки2",
		Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
			"ПриобретениеТоваровУслуг.Упаковка",
			"ПриобретениеТоваровУслуг.Номенклатура"));
	
	Запрос.УстановитьПараметр("МассивДокументов", 				МассивОбъектов);

	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриобретениеТоваровУслуг_Накладная";
	
	МассивРезультатов 		= Запрос.ВыполнитьПакет();
	ДанныеПечати			= МассивРезультатов[0].Выбрать();
	ВыборкаПоДокументам 	= МассивРезультатов[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	
	ПервыйДокумент = Истина;
	
	Пока ДанныеПечати.Следующий() Цикл
		
		// Найдем в выборке товары по текущему документу
		СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
		НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
		
		// Если в накладной только услуги - перейдем к следующему документу
		
		Если НайденСледующий Тогда
			ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
			ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоТоварам, ИспользоватьРучныеСкидки);
			ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
			ВыборкаПоТоварам.Сбросить();
		Иначе
			Продолжить;
		КонецЕсли;
		
		// Макет необходимо получать для каждого документа, т.к. размеры колонок изменяются динамически.
		Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ПриобретениеТоваровУслуг.ПФ_MXL_ПоступлениеТоваров");
		
		Если Не ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент    = Ложь;
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		// Выводим шапку накладной
		
		ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
		ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
		
		СтруктураДанныхШапки = Новый Структура;
		СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Приобретение товаров'")));
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		ОбластьМакета                                   = Макет.ПолучитьОбласть("Поставщик");
		СтруктураДанныхПоставщик = Новый Структура;
		ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Поставщик, ДанныеПечати.Дата), "ПолноеНаименование");
		СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
		СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Поставщик);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		ОбластьМакета                                   = Макет.ПолучитьОбласть("Покупатель");
		СтруктураДанныхПокупатель = Новый Структура;
		ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
		СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
		СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Организация);
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		// Выводим заголовок таблицы Товары
		
		Если ЕстьСкидки Тогда
			ОбластьКолонкаТовар = Макет.Область("ТоварСоСкидкой");
		Иначе
			ОбластьКолонкаТовар = Макет.Область("Товар");
		КонецЕсли;
			
		Если Не ВыводитьКоды Тогда
			
			Если ЕстьСкидки Тогда
				ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.35;
			Иначе
				ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.2;
			КонецЕсли;
			
		КонецЕсли;
		
		Если ЕстьСкидки Тогда
			
			ОбластьНомера  = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|НомерСтроки");
			ОбластьКодов   = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|КолонкаКодов");
			ОбластьТовар   = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|ТоварСоСкидкой");
			ОбластьДанных  = Макет.ПолучитьОбласть("ШапкаТаблицыСоСкидкой|ДанныеСоСкидкой");
			
			СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки", 
				ЗаголовокСкидки.Скидка,
				ЗаголовокСкидки.СуммаСкидки);
			ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
			
		Иначе
			
			ОбластьНомера  = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
			ОбластьКодов   = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
			ОбластьТовар   = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
			ОбластьДанных  = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
			
		КонецЕсли;
			
		ТабличныйДокумент.Вывести(ОбластьНомера);
			
		Если ВыводитьКоды Тогда
			СтруктураДанныхКоды = Новый Структура("ИмяКолонкиКодов", КолонкаКодов);
			ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
			ТабличныйДокумент.Присоединить(ОбластьКодов);
		КонецЕсли;
			
		ТабличныйДокумент.Присоединить(ОбластьТовар);
		ТабличныйДокумент.Присоединить(ОбластьДанных);
		
		Если ЕстьСкидки Тогда
			
			ОбластьНомера  = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|НомерСтроки");
			ОбластьКодов   = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|КолонкаКодов");
			ОбластьТовар   = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|ТоварСоСкидкой");
			ОбластьДанных  = Макет.ПолучитьОбласть("СтрокаТаблицыСоСкидкой|ДанныеСоСкидкой");
			
		Иначе
			
			ОбластьНомера  = Макет.ПолучитьОбласть("СтрокаТаблицы|НомерСтроки");
			ОбластьКодов   = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов");
			ОбластьТовар   = Макет.ПолучитьОбласть("СтрокаТаблицы|Товар");
			ОбластьДанных  = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные");
			
		КонецЕсли;
			
		Сумма          = 0;
		СуммаНДС       = 0;
		ВсегоСкидок    = 0;
		НомерСтроки    = 0;
		ВсегоБезСкидок = 0;
		
		// Выводим строки таблицы Товары
			
		Пока ВыборкаПоТоварам.Следующий() Цикл
			
			НомерСтроки = НомерСтроки + 1;
			
			СтруктураДанныхНомерСтроки = Новый Структура("НомерСтроки", НомерСтроки);
			ОбластьНомера.Параметры.Заполнить(СтруктураДанныхНомерСтроки);
			ТабличныйДокумент.Вывести(ОбластьНомера);
			
			Если ВыводитьКоды Тогда
				СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[КолонкаКодов]);
				ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			
			ОбластьТовар.Параметры.Заполнить(ВыборкаПоТоварам);
			
			ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
			ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;			
			
			Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
				ВыборкаПоТоварам.ТоварНаименованиеПолное,
				ВыборкаПоТоварам.Характеристика,
				,
				ВыборкаПоТоварам.Серия,
				ДополнительныеПараметрыПолученияНаименованияДляПечати);
			СтруктураДанныхТовар = Новый Структура("Товар", Товар);
			ОбластьТовар.Параметры.Заполнить(СтруктураДанныхТовар);
			
			ТабличныйДокумент.Присоединить(ОбластьТовар);

			ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
			Если ЗаголовокСкидки.ЕстьСкидки Тогда
				СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки", 
					?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
				ОбластьДанных.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
			КонецЕсли;

			ТабличныйДокумент.Присоединить(ОбластьДанных);
			
			Сумма          = Сумма          + ВыборкаПоТоварам.Сумма;
			СуммаНДС       = СуммаНДС       + ВыборкаПоТоварам.СуммаНДС;
			
			Если ЕстьСкидки Тогда
				ВсегоСкидок    = ВсегоСкидок    + ВыборкаПоТоварам.СуммаСкидки;
				ВсегоБезСкидок = ВсегоБезСкидок + ВыборкаПоТоварам.СуммаБезСкидки;
			КонецЕсли;
			
		КонецЦикла;
		
		// Выводим подвал
		
		Если ЕстьСкидки Тогда
			
			ОбластьНомера  = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|НомерСтроки");
			ОбластьКодов   = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|КолонкаКодов");
			ОбластьТовар   = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|ТоварСоСкидкой");
			ОбластьДанных  = Макет.ПолучитьОбласть("ПодвалТаблицыСоСкидкой|ДанныеСоСкидкой");
			
		Иначе
			
			ОбластьНомера  = Макет.ПолучитьОбласть("ПодвалТаблицы|НомерСтроки");
			ОбластьКодов   = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");
			ОбластьТовар   = Макет.ПолучитьОбласть("ПодвалТаблицы|Товар");
			ОбластьДанных  = Макет.ПолучитьОбласть("ПодвалТаблицы|Данные");
			
		КонецЕсли;
		
		ТабличныйДокумент.Вывести(ОбластьНомера);
		
		Если ВыводитьКоды Тогда
			ТабличныйДокумент.Присоединить(ОбластьКодов);
		КонецЕсли;
		
		ТабличныйДокумент.Присоединить(ОбластьТовар);
		
		СтруктураДанныхВсегоСкидки = Новый Структура;
		Если ЕстьСкидки Тогда
			СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
			СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
		КонецЕсли;
		СтруктураДанныхВсегоСкидки.Вставить("Всего",  ФормированиеПечатныхФорм.ФорматСумм(Сумма));
		ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
		ТабличныйДокумент.Присоединить(ОбластьДанных);
		
		// Выводим ИтогоНДС
		
		Если ДанныеПечати.УчитыватьНДС Тогда
			
			Если ЕстьСкидки Тогда
				
				ОбластьНомера  = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|НомерСтроки");
				ОбластьКодов   = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|КолонкаКодов");
				ОбластьТовар   = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|ТоварСоСкидкой");
				ОбластьДанных  = Макет.ПолучитьОбласть("ПодвалТаблицыНДССоСкидкой|ДанныеСоСкидкой");
				
			Иначе
				
				ОбластьНомера  = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|НомерСтроки");
				ОбластьКодов   = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|КолонкаКодов");
				ОбластьТовар   = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Товар");
				ОбластьДанных  = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Данные");
				
			КонецЕсли;
			
			ТабличныйДокумент.Вывести(ОбластьНомера);
			
			Если ВыводитьКоды Тогда
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			
			ТабличныйДокумент.Присоединить(ОбластьТовар);
			
			СтруктураДанныхНДС = Новый Структура;
			СтруктураДанныхНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(СуммаНДС));
			СтруктураДанныхНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'")));
			ОбластьДанных.Параметры.Заполнить(СтруктураДанныхНДС);
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			
		КонецЕсли;
		
		// Выводим Сумму прописью
		
		ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
		СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
		
		ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru='Всего наименований %1, на сумму %2'"),
			ВыборкаПоТоварам.Количество(),
			ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
	
		СтруктураДанныхИтоговаяСтрока = Новый Структура;
		СтруктураДанныхИтоговаяСтрока.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
		СтруктураДанныхИтоговаяСтрока.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта));
		ОбластьМакета.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		// Выводим подписи
		ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
		
		Если ЗначениеЗаполнено(ДанныеПечати.ПолучениеПроизвел) Тогда
			СтруктураДанныхПолучениеПроизвел = Новый Структура;
			СтруктураДанныхПолучениеПроизвел.Вставить("ПолучениеПроизвел", ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(ДанныеПечати.ПолучениеПроизвел, ДанныеПечати.Дата));
			ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПолучениеПроизвел);
		КонецЕсли;
		
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
		
	КонецЦикла;
	
	ТабличныйДокумент.АвтоМасштаб = Истина;

	Если ПривилегированныйРежим() Тогда
		УстановитьПривилегированныйРежим(Ложь);
	КонецЕсли;
	
	Возврат ТабличныйДокумент;

КонецФункции
Показать


Подскажете что сдесь нужно изменить,
Реквизит находится по адресу Справочник.Номенклатура.AddРазмеры
14. ASSuk 12.11.20 11:52 Сейчас в теме
(8) Вам в конфигураторе нужно перейти Приобретение Товаров - Прочее-МодульМенеджера.
Найти там: СформироватьПечатнуюФормуПриходнаяНакладная(МассивОбъектов, ОбъектыПечати)
В запрос добавить новый реквизит по аналогии с другими
и если в процедуре указан вывод всех реквизитов по названию - должно все заработать, а если невсех, а отдельно указан вывод каждой - дописать еще и строку с выводом...
19. BUBUGER 12.11.20 12:00 Сейчас в теме
(14)
СформироватьПечатнуюФормуПриходнаяНакладная

Сейчас попробую
5. MegaKZ 5 12.11.20 08:50 Сейчас в теме
Наверно в наименованиях не правильно написал посмотри внимательно
6. FatPanzer 12.11.20 09:06 Сейчас в теме
В запросе на получение данных Артикул есть (типовой запрос), а вот нового реквизита в запросе нет (да и откуда бы).
1. Надо найти запрос, который формирует данные для печати и добавить в него поле для нового реквизита.
2. Найти часть кода, отвечающая за вывод строк в из макета в печатную форму, и при необходимости добавить заполнение данного параметра макета значением из запроса.
alex-l19041; +1 Ответить
7. ASSuk 12.11.20 10:59 Сейчас в теме
(6)именно так! Я просто пункт 1. упустил)

А в запрос руками дописываете условия или через конструктор добавляете?
21. BUBUGER 12.11.20 12:15 Сейчас в теме
Процедура ПечатьТоваровИУслуг(ТабДок, Ссылка) Экспорт
	//{{_КОНСТРУКТОР_ПЕЧАТИ(ПечатьТоваровИУслуг)
	Макет = Документы.ПриобретениеТоваровУслуг.ПолучитьМакет("ПечатьТоваровИУслуг");
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Дата КАК Дата,
	|	ПриобретениеТоваровУслуг.Номер КАК Номер,
	|	ПриобретениеТоваровУслуг.Товары.(
	|		НомерСтроки КАК НомерСтроки,
	|		Номенклатура КАК Номенклатура,
	|		Характеристика КАК Характеристика,
	|		Количество КАК Количество,
	|		Цена КАК Цена,
	|		Сумма КАК Сумма
	|	) КАК Товары,
	|	Номенклатура.AddРазмеры КАК AddРазмеры
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг,
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	ПриобретениеТоваровУслуг.Ссылка В(&Ссылка)";
	Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
	ОбластьТовары = Макет.ПолучитьОбласть("Товары");
	ТабДок.Очистить();

	ВставлятьРазделительСтраниц = Ложь;
	Пока Выборка.Следующий() Цикл
		Если ВставлятьРазделительСтраниц Тогда
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ТабДок.Вывести(ОбластьЗаголовок);

		Шапка.Параметры.Заполнить(Выборка);
		ТабДок.Вывести(Шапка, Выборка.Уровень());

		ТабДок.Вывести(ОбластьТоварыШапка);
		ВыборкаТовары = Выборка.Товары.Выбрать();
		Пока ВыборкаТовары.Следующий() Цикл
			ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
			ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
		КонецЦикла;

		ВставлятьРазделительСтраниц = Истина;
	КонецЦикла;
	//}}
КонецПроцедуры
Показать

9
Вот новая процедура печати, вызывается и тоже не работает, не показывает нужный мне реквизит
22. BUBUGER 12.11.20 12:17 Сейчас в теме
И так тоже не хочет работать

Процедура ПечатьТоваровИУслуг(ТабДок, Ссылка) Экспорт
	//{{_КОНСТРУКТОР_ПЕЧАТИ(ПечатьТоваровИУслуг)
	Макет = Документы.ПриобретениеТоваровУслуг.ПолучитьМакет("ПечатьТоваровИУслуг");
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПриобретениеТоваровУслуг.Дата,
	|	ПриобретениеТоваровУслуг.Номер,
	|	ПриобретениеТоваровУслуг.Товары.(
	|		НомерСтроки,
	|		Номенклатура,
	|		Характеристика,
	|		Количество,
	|		Цена,
	|		Сумма,
	|		AddРазмеры
	|	)
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
	|ГДЕ
	|	ПриобретениеТоваровУслуг.Ссылка В (&Ссылка)";
	Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	Шапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
	ОбластьТовары = Макет.ПолучитьОбласть("Товары");
	ТабДок.Очистить();

	ВставлятьРазделительСтраниц = Ложь;
	Пока Выборка.Следующий() Цикл
		Если ВставлятьРазделительСтраниц Тогда
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;

		ТабДок.Вывести(ОбластьЗаголовок);

		Шапка.Параметры.Заполнить(Выборка);
		ТабДок.Вывести(Шапка, Выборка.Уровень());

		ТабДок.Вывести(ОбластьТоварыШапка);
		ВыборкаТовары = Выборка.Товары.Выбрать();
		Пока ВыборкаТовары.Следующий() Цикл
			ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
			ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
		КонецЦикла;

		ВставлятьРазделительСтраниц = Истина;
	КонецЦикла;
	//}}
КонецПроцедуры
Показать
23. BUBUGER 12.11.20 12:58 Сейчас в теме
В общем решил задачу,

так я и не понял, почему не смогли мне помочь, код процедуры в теме =)

Поправил запрос пакета 2 и всё получилось.

FatPanzer 9 12.11.20 11:36
(8) А почему макет редактируете в пользовательском режиме? Это же абсолютно бесполезно, если хочется добавить в него вывод новых реквизитов - печатная форма о них просто не знает.


теперь знает
24. FatPanzer 12.11.20 13:08 Сейчас в теме
(23)
так я и не понял, почему не смогли мне помочь
Много на себя берете. "Не смогли" и "не захотели" - две большие разницы.
25. BUBUGER 12.11.20 13:13 Сейчас в теме
(24) Я на себя ничего много не беру, просто просишь помощи, а помочь не кто не смог или не захотел.
Почему с Excel VB Таких проблем нет, написал на форум и без проблем ткнули пальцем где и что поменять, тут же посмотри там, сям итд
27. ASSuk 12.11.20 14:49 Сейчас в теме
(23) не смогли помочь потому что сами заняты своими задачами.
Ну вот вы пишите что мы не помогли... Так сами опишите что куда вставили дабы людям помочь у кого такая же будет ситуация.
А то неработающие процедуры Вы скидывали ловко, а исправленный вариант, который может людям помочь пожалели))
28. BUBUGER 12.11.20 21:10 Сейчас в теме
(27)

Я же сказал где нашел..
Функция СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати)

Поправил запрос пакета #2 и всё получилось.

Добавил туда
Номенклатура.AddРазмеры КАК НоменклатураAddРазмеры

потом вставил НоменклатураAddРазмеры в макет как параметр и попробовал вызвать, получил то что хотел.
29. FatPanzer 12.11.20 21:54 Сейчас в теме
(28)
Я же сказал где нашел..
А кто тебе подсказал там искать?
Поправил запрос пакета #2
А кто тебе подсказал поправить запрос?
потом вставил НоменклатураAddРазмеры в макет как параметр
А кто тебе подсказал править макет?

Сам. Все сам! И только мы, злыдни, вообще не помогали. Ну так нам и надо, значит.
30. BUBUGER 12.11.20 22:24 Сейчас в теме
(29)

18. FatPanzer 9 12.11.20 11:59
(17)
Макет даёт себя менять только в пользовательском режиме

До свидания.


Вот так вы помогали, а ничего не понимает мол, зачем помогать, проще ведь сказать До свидания, не знает куда смотреть.
Я Код процедуры скидывал, никто мне не сказал куда вставить и что вставить, только из далека, а всего на всего оказалось решение одной строчкой, которую надо было вставить и чудо, всё сразу заработало.

Про процедуру которую на которую здесь дали ссылку

[IS-QUOTE]ASSuk 12.11.20 11:52
(8) Вам в конфигураторе нужно перейти Приобретение Товаров - Прочее-МодульМенеджера.
Найти там: СформироватьПечатнуюФормуПриходнаяНакладная(МассивОбъектов, ОбъектыПечати)
В запрос добавить новый реквизит по аналогии с другими
и если в процедуре указан вывод всех реквизитов по названию - должно все заработать, а если невсех, а отдельно указан вывод каждой - дописать еще и строку с выводом...

Этот ответ меня подтолкнул на решение. Спасибо.[/IS-QUOTE]
Я понимал куда копать и что там что-то нужно исправить, но вот не знал что, просто попробовал и получилось.
26. BUBUGER 12.11.20 13:17 Сейчас в теме
Я уже закипать начал, вроде собрался с мыслями ещё раз перепроверил всё и нашел, просто мне чтение кода трудно даётся(
31. BUBUGER 12.11.20 22:33 Сейчас в теме
FatPanzer 9 12.11.20 11:36 Сейчас в теме
(8) А почему макет редактируете в пользовательском режиме? Это же абсолютно бесполезно, если хочется добавить в него вывод новых реквизитов - печатная форма о них просто не знает.

Нашли, где формируется запрос для вывод этого документа на печать и где происходит непосредственная компоновка печатной формы? Вообще в принципе знаете, как это происходит?

Видите ваш ответ, помогли?
Оставьте свое сообщение

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