Имя: Пароль:
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) Делается шаблон в ворде с нужными тебе картинками. Просто текстовые поля будешь через инструменты БСП заполнять.
Вот тебе кусок примера
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший