Передать печатную форму с сервера на клиента

1. ipok111 20.05.14 23:42 Сейчас в теме
БП 3.0, 8.3
Не пинайте сильно, только начинаю в 1С программить. Думается, что спрашиваю тривиальную вещь

&НаКлиенте
Процедура ТЕСТ2(Команда)
	
	Счет = ТЕСТ2НаСервере();

КонецПроцедуры

&НаСервере
Функция ТЕСТ2НаСервере();
	
	Документ = Документы.СчетНаОплатуПокупателю.НайтиПоНомеру("0000-000207",Дата(2014,1,1)).Ссылка;
	Возврат Документ;
	
КонецФункции
Показать


Хочу сохранить в счет в PDF

Я так понимаю, надо заполнить табличный документ на сервере, передать его на клиента и там уже

Записать(Путь, типPDF)


Но вот как заполнить табличный документ на сервере не знаю.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. rar_xxx 23 21.05.14 00:22 Сейчас в теме
(1) ipok111, Создаешь табличный документ на клиенте, передаешь в процедуру/функцию на сервер, там заполняешь, при возврате из серверной процедуры/функции переданный табличный документ заполнен, дальше сохраняешь как написал.
3. ipok111 21.05.14 00:39 Сейчас в теме
передаешь в процедуру/функцию на сервер, там заполняешь


дык, Но вот как заполнить табличный документ на сервере не знаю.
4. byuf_in 21.05.14 06:23 Сейчас в теме
как-то так:
	ТабДок = Новый ТабличныйДокумент;
	ОбластьЗаголовок.Параметры.ДатаФормирования = ТекущаяДата();
	ТабДок.Вывести(ОбластьЗаголовок);
	ТабДок.Вывести(ОбластьШапка);
	ТабДок.ФиксацияСверху = чЧислоСтрокФиксировать;
	//ТабДок.ФиксацияСлева  = 3;
	ТабДок.ИтогиСнизу     = Ложь;
	
	Пока ВыборкаГруппировка.Следующий() Цикл
		ОбластьГруппировка.Параметры.Заполнить(ВыборкаГруппировка);
		ТабДок.Вывести(ОбластьГруппировка);
		ТабДок.НачатьГруппуСтрок(, флЗаполненМенеджер);
		
		Выборка = ВыборкаГруппировка.Выбрать();
		Пока Выборка.Следующий() Цикл
			ОбластьСтрока.Параметры.Заполнить(Выборка);
			ТабДок.Вывести(ОбластьСтрока);
		КонецЦикла;
		ТабДок.ЗакончитьГруппуСтрок();
		
	КонецЦикла;
	
	Возврат ТабДок;
Показать
5. byuf_in 21.05.14 06:33 Сейчас в теме
(4) byuf_in, поясню еще про области, нужен макет, который будет выводится, тогда
	ОбластьЗаголовок         = Макет.ПолучитьОбласть("Заголовок");
6. ipok111 21.05.14 15:45 Сейчас в теме
&НаКлиенте
Процедура ТЕСТ2(Команда)
	
	ТабДок1 = Новый ТабличныйДокумент;
	ТабДок1 = ТЕСТ2НаСервере();
	ТабДок1.Записать("X:\1.pdf",ТипФайлаТабличногоДокумента.PDF);
	

КонецПроцедуры

&НаСервере
Функция ТЕСТ2НаСервере();
	
	ТабДок = Новый ТабличныйДокумент;
	
	Документы.СчетНаОплатуПокупателю.Печать(блабла, ТабДок, блабла )

	Возврат ТабДок;
	
КонецФункции
Показать


Вот так вот можно ?
7. ipok111 21.05.14 19:33 Сейчас в теме
Добрался Вот до чего:

КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");

Документ = Документы.СчетНаОплатуПокупателю.НайтиПоНомеру("00000000200",Дата(2014,1,1)).Ссылка;
мСчет = Новый массив ();
мСчет.Добавить(Документ);

ОбъектыПечати = Новый СписокЗначений;

ПараметрыОтправки=Новый Структура;
ПараметрыОтправки.Вставить("Получатель");
ПараметрыОтправки.Вставить("Текст","");
ПараметрыОтправки.Вставить("Тема","");

ПараметрыВывода=Новый Структура;
ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно",Ложь);
ПараметрыВывода.Вставить("ПараметрыОтправки",ПараметрыОтправки);

Документы.СчетНаОплатуПокупателю.Печать(мСчет,,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
8. ipok111 21.05.14 19:37 Сейчас в теме
Добрался вот до чего:

	КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
        КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
        КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
        КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
        КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
        КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
        КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
        КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
	
	Документ = Документы.СчетНаОплатуПокупателю.НайтиПоНомеру("00000000200",Дата(2014,1,1)).Ссылка;
	мСчет = Новый массив ();
	мСчет.Добавить(Документ);
	
	ОбъектыПечати = Новый СписокЗначений;
	
	ПараметрыОтправки=Новый Структура;
        ПараметрыОтправки.Вставить("Получатель");
        ПараметрыОтправки.Вставить("Текст","");
        ПараметрыОтправки.Вставить("Тема","");
	
	ПараметрыВывода=Новый Структура;
        ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно",Ложь);
        ПараметрыВывода.Вставить("ПараметрыОтправки",ПараметрыОтправки);
	
	Документы.СчетНаОплатуПокупателю.Печать(мСчет,,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
Показать


Далее смотрю отладчиком Печать:

Вот это если у меня пропускается

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



Внесение новой строки не помогает
	НоваяСтрока =  КоллекцияПечатныхФорм.Добавить()
	НоваяСтрока.ИмяВрег = "СчетЗаказ";


Где-то что-то не доделал, подскажите где?
9. ipok111 21.05.14 22:01 Сейчас в теме
Ура, допилил.

Вдруг кому пригодится.

&НаКлиенте
Процедура ТЕСТ2(Команда)
	
	ТабДок1 = Новый ТабличныйДокумент;
	ТабДок1 = ТЕСТ2НаСервере();
	ТабДок1.Записать("X:\123.pdf", ТипФайлаТабличногоДокумента.PDF);
	
	
КонецПроцедуры

&НаСервере
Функция ТЕСТ2НаСервере();
	
	ТабДок = Новый ТабличныйДокумент;
	
	КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
    КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
    КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
    КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
    КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
    КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
    КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
    КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
	
	НоваяСтрока =  КоллекцияПечатныхФорм.Добавить();
	НоваяСтрока.ИмяВРЕГ = "СЧЕТЗАКАЗСПЕЧАТЬЮ";
	
	
	Документ = Документы.СчетНаОплатуПокупателю.НайтиПоНомеру("00000000200",Дата(2014,1,1)).Ссылка;
	мСчет = Новый массив ();
	мСчет.Добавить(Документ);
	
	ОбъектыПечати = Новый СписокЗначений;
	
	ПараметрыОтправки=Новый Структура;
    ПараметрыОтправки.Вставить("Получатель");
    ПараметрыОтправки.Вставить("Текст","");
    ПараметрыОтправки.Вставить("Тема","");
	
	ПараметрыВывода=Новый Структура;
    ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно",Ложь);
    ПараметрыВывода.Вставить("ПараметрыОтправки",ПараметрыОтправки);
	
	Документы.СчетНаОплатуПокупателю.Печать(мСчет,,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

	ТабДок=КоллекцияПечатныхФорм[0].ТабличныйДокумент;
    		
	Возврат ТабДок;
	
КонецФункции
Показать
11. sssss_aaaaa_2011 21.06.17 15:08 Сейчас в теме
(9)
ТабДок1 = Новый ТабличныйДокумент;
ТабДок1 = ТЕСТ2НаСервере();
...

КонецПроцедуры

&НаСервере
Функция ТЕСТ2НаСервере();

ТабДок = Новый ТабличныйДокумент;

...

Возврат ТабДок;

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

А теперь объясните назначение первой строки первой процедуры.
12. Lerusena 9 21.06.17 16:14 Сейчас в теме
(11) она как то сказывается на работоспособности?
хотите все объяснить - курсы вам помогут.
человек в самом начале написал, что только начинает свой путь в программировании
13. lefthander 21.06.17 16:24 Сейчас в теме
(12)и было это ТРИ(!!!) года назад....
14. DJDUH 17 21.06.17 16:45 Сейчас в теме
(13) и это называется - "набиваем стартманни"
15. lefthander 22.06.17 08:57 Сейчас в теме
(14)Сами то зачем набиваете?
16. DJDUH 17 22.06.17 10:37 Сейчас в теме
19. lefthander 22.06.17 14:14 Сейчас в теме
(16)А мне они без надобности. Если не хватит я их просто куплю.
10. Lerusena 9 21.06.17 15:00 Сейчас в теме
Огромное человеческое спасибо! очень помогло!
17. EugeneSemyonov 22 22.06.17 11:15 Сейчас в теме
У меня возврат документа на клиент не работает - возвращает Неопределено. В серверном варианте. В файловом - работает.
18. EugeneSemyonov 22 22.06.17 12:08 Сейчас в теме
Ошибочка вышла. Сделал на новой версии конфы УНФ 1.6.10.40 обработку - работала, а серверный вариант был на старой 1.6.9 - из-за этого документ не формировался в таблице печатных форм.
Оставьте свое сообщение

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