Имя: Пароль:
1C
1С v8
Разные картинки на заднем фоне, на страницах макета
,
0 Salomon712
 
26.09.23
21:19
Привет всем.
Подскажите пожалуйста, а то чет не могу дельного ничего придумать
Есть такое задание: сделать печатную форму по образцу из файла Word.
В файле Word 1-ая страница только картинка на заднем фоне, 2-ая страница - на заднем фоне картинка, вверху номер документа, дата затем таблица со списком номенклатуры с итогами, после итогов статический текст в 2 колонки по паре строк, затем в подвале телефоны и фио
Решение сделать ее в Word или в как обычно через табличный макет за мной.
Вариант 1 - использовать word - не очень, потому что не знаю, как там вывести таблицу на нужную размерность строк для товаров
Вариант 2 - использовать макет, есть такое свойства как фоновая картинка у табличного документа, но оно задает для всех страниц, а у меня разные картинки на страницах
Вариант 3 - использовать макет, использовать картинки, но тогда текст нужно будет делать надписями, а в случае с таблицей это проблематично т.к. не задний фон картинку поместить, когда обычный текст в ячейках
Вариант 4 - использовать макет, но открывать 2 окна на печать и в табличный документ выводить разные картинки
Ни один из вариантов не подходит
1 Волшебник
 
26.09.23
21:20
Сделайте вариант 5
2 Salomon712
 
26.09.23
21:25
Если б он был...
3 Tatitutu
 
26.09.23
21:48
Как два... Похожая тема

https://magazkat.ru/forum/voprosy-i-otvety/6164-vtoroj-monitor-dlya-pokupatelya-v-programme-magazka?start=30

СМ. Фоноваякартинка
4 Salomon712
 
26.09.23
21:58
(3) ничего там полезного не увидел. Фоноваякартинка - описано во 2 варианте
5 Tatitutu
 
26.09.23
22:21
(4)ну не увидел, значит и обьяснять бесполезно
ТП1+ТП2=ТП3
6 GlRoznica
 
26.09.23
22:44
(4) Программа сама себя не продаст)
7 Salomon712
 
26.09.23
22:46
мдя уж...
8 arsik
 
гуру
27.09.23
07:28
(0) Если у тебя конфигурация на БСП делай 1й вариант.
В БСП есть пример печатной формы из шаблона word с табличной частью. Там все достаточно просто.
Вот пример:
&НаСервере
Функция ПолучитьДоговорНаСервере()
	ДвоичныеДанныеМакета = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Договор");
	Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанныеМакета,Неопределено);
	Области = ПолучитьОписаниеОбластейМакетаОфисногоДокумента();
	ДанныеОбъекта = ПолучитьДанныеОбъекта();
	
	Если Макет = Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	ЗакрытьОкноПечатнойФормы = Ложь;
	Попытка
		ПечатнаяФорма = УправлениеПечатью.ИнициализироватьПечатнуюФорму(Неопределено, Неопределено, Макет);
		АдресХранилищаПечатнойФормы = "";
		Если ПечатнаяФорма = Неопределено Тогда
			УправлениеПечатью.ОчиститьСсылки(Макет);
			Возврат Неопределено;
		КонецЕсли;

		Область = УправлениеПечатью.ОбластьМакета(Макет, Области["НижнийКолонтитул"]);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);

		Область = УправлениеПечатью.ОбластьМакета(Макет, Области["Договор"]);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);
		
		Область = УправлениеПечатью.ОбластьМакета(Макет, Области["Приложение1Часть1"]);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);
		
		ОбластьТаблицаАвтомобили = УправлениеПечатью.ОбластьМакета(Макет, Области["Приложение1СтрокаТаблицы"]);
		УправлениеПечатью.ПрисоединитьИЗаполнитьКоллекцию(ПечатнаяФорма, ОбластьТаблицаАвтомобили, ДанныеОбъекта.ТаблицаАвтомобили);

		Область = УправлениеПечатью.ОбластьМакета(Макет, Области["Приложение1Часть2"]);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);

		Область = УправлениеПечатью.ОбластьМакета(Макет, Области["Приложение2Часть1"]);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);

		АдресХранилищаПечатнойФормы = УправлениеПечатью.СформироватьДокумент(ПечатнаяФорма);
	Исключение
		ОбщегоНазначения.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
		ЗакрытьОкноПечатнойФормы = Истина;
		Возврат Неопределено;
	КонецПопытки;
	
	УправлениеПечатью.ОчиститьСсылки(ПечатнаяФорма, ЗакрытьОкноПечатнойФормы);
	УправлениеПечатью.ОчиститьСсылки(Макет);
	
	ИмяФайла = СокрЛП(Объект.Покупатель)+"-"+СокрЛП(Объект.НомерДоговора)+"-"+Формат(Объект.ДатаДоговора,"ДФ=dd.MM.yyyy")+"-"+Формат(ТекущаяДата(),"ДФ=yyyyMMddHHmmss")+".docx";
	ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайла,"");
	
	ФайлДляЗаписи = Новый Структура("АдресВоВременномХранилище,Представление",АдресХранилищаПечатнойФормы,ИмяФайла);
	Возврат ФайлДляЗаписи;
КонецФункции
9 Salomon712
 
27.09.23
08:37
(8) спасибо хороший вариант, однако если я правильно понимаю тут делается из шаблона(образца) в новый документ, тогда в новом документе фон страницы будет стандартный и нужно будет устанавливать из шаблона - в этом я думаю будет загвоздка
10 RomanYS
 
27.09.23
09:13
Накину ещё один вариант: пакет табличных документов с сохранением в пдф
11 arsik
 
гуру
27.09.23
10:31
(9) Делается шаблон в ворде с нужными тебе картинками. Просто текстовые поля будешь через инструменты БСП заполнять.
Вот тебе кусок примера
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан