|
Запись Сформированного макета документа в файл XML, PDF | ☑ | ||
---|---|---|---|---|
0
DenisVich
05.03.18
✎
11:43
|
Обычные формы. Есть макет, есть документ. В макете приемник хранится уже заполненный документ.(таблица). Сохраняю документ в файл. Но когда открываю, то сохраняется незаполненый документ. Как будто я макет сразу взял и сохранил. Почему?
" ФормированиеПечатнойФормыАкт(МакетПриемник,ОбъектДокумент);//Заполняется макет по документу в МакетПриемник. МакетПриемник = ПолучитьМакет("Акт"); МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); |
|||
1
DenisVich
05.03.18
✎
11:44
|
"то сохраняется незаполненый документ" - сохранненый документ не заполнен, заполнен он названиями переменных.
|
|||
2
catena
05.03.18
✎
11:45
|
МакетПриемник = ПолучитьМакет("Акт");
МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); И чего вы ждали? |
|||
3
Lexey_
05.03.18
✎
11:46
|
(0) "Как будто я макет сразу взял и сохранил. Почему?" потому, что так и есть
|
|||
4
DenisVich
05.03.18
✎
11:51
|
ФормированиеПечатнойФормыАкт(МакетПриемник,ОбъектДокумент)
|
|||
5
DenisVich
05.03.18
✎
11:51
|
На выходе МакетПриемник сформированнный вышеописанной процедурой.
|
|||
6
Lexey_
05.03.18
✎
11:53
|
(5) ну да
|
|||
7
Lexey_
05.03.18
✎
11:55
|
(5) а вот эта строка что делает?
МакетПриемник = ПолучитьМакет("Акт"); |
|||
8
DenisVich
05.03.18
✎
11:55
|
Для Каждого ЭлементТабличнойЧасти Из ТаблицаДокументов Цикл
МакетПриемник = ПолучитьМакет("АктСПечатью"); ИмяФайла= (КаталогВременныхФайлов()+СтрЗаменить(Лев(ЭтаФорма.Заголовок, СтрДлина(ЭтаФорма.Заголовок)-1), ":", "")+".pdf"); ИмяФайла= СтрЗаменить(ИмяФайла, "Проведен", ""); ИмяФайла= СтрЗаменить(ИмяФайла, """", ""); ОбъектДокумент = ЭлементТабличнойЧасти.Документ.Ссылка.ПолучитьОбъект(); Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.Реализация") Тогда ФормированиеПечатнойФормыАктСПечатью(МакетПриемник,ОбъектДокумент); МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); МакетПриемник = ПолучитьМакет("АктСПечатью"); ФормированиеУнифицированнойФормыТорг12СПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.АктСверкиВзаиморасчетов") Тогда ФормированиеПечатнойФормыАктСверкиВзаиморасчетовСПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда ФормированиеСчетаНаОплатуСПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); КонецЦикла; |
|||
9
DenisVich
05.03.18
✎
11:56
|
Вот код, макеты заполненые не заполнены.
|
|||
10
DenisVich
05.03.18
✎
11:56
|
в файлах. Стоят имеена реквизитов.
|
|||
11
DenisVich
05.03.18
✎
12:00
|
" Для Каждого ЭлементТабличнойЧасти Из ТаблицаДокументов Цикл;
ИмяФайла= (КаталогВременныхФайлов()+СтрЗаменить(Лев(ЭтаФорма.Заголовок, СтрДлина(ЭтаФорма.Заголовок)-1), ":", "")+".pdf"); ИмяФайла= СтрЗаменить(ИмяФайла, "Проведен", ""); ИмяФайла= СтрЗаменить(ИмяФайла, """", ""); ОбъектДокумент = ЭлементТабличнойЧасти.Документ.Ссылка.ПолучитьОбъект(); Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.Реализация") Тогда МакетПриемник = ПолучитьМакет("ТОРГ12СПечатью"); ФормированиеПечатнойФормыАктСПечатью(МакетПриемник,ОбъектДокумент); МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); МакетПриемник = ПолучитьМакет("АктСПечатью"); ФормированиеУнифицированнойФормыТорг12СПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.АктСверкиВзаиморасчетов") Тогда МакетПриемник = ПолучитьМакет("АктСверкиСПечатью"); ФормированиеПечатнойФормыАктСверкиВзаиморасчетовСПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда МакетПриемник = ПолучитьМакет("СчетНаОплатуСПечатью"); ФормированиеСчетаНаОплатуСПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); КонецЦикла; " |
|||
12
DenisVich
05.03.18
✎
12:01
|
Формы переподставлял все едино. Сама концепция записи не работает. МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
|
|||
13
Lexey_
05.03.18
✎
12:04
|
(12) ответь на (7)
|
|||
14
DenisVich
05.03.18
✎
12:06
|
(13) МакетПриемник = ПолучитьМакет("Акт"); - Переменной назначаем объект Макет "Акт". И начинаем с ним оперировать
|
|||
15
FIXXXL
05.03.18
✎
12:07
|
тут ФормированиеПечатнойФормыАкт(МакетПриемник,ОбъектДокумент) заполнил
тут МакетПриемник = ПолучитьМакет("Акт"); получил пустой тут МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); записываешь пустой |
|||
16
DenisVich
05.03.18
✎
12:07
|
Правильно, а между этими строчками - ФормированиеПечатнойФормыАктСПечатью(МакетПриемник,ОбъектДокумент);
|
|||
17
DenisVich
05.03.18
✎
12:08
|
МакетПриемник обработан.
|
|||
18
FIXXXL
05.03.18
✎
12:08
|
(16) у тебя в коде не между
|
|||
19
DenisVich
05.03.18
✎
12:09
|
Если ОбъектДокумент.Проведен И ТипЗнч(ОбъектДокумент.Ссылка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
МакетПриемник = ПолучитьМакет("СчетНаОплатуСПечатью"); ФормированиеСчетаНаОплатуСПечатью(МакетПриемник,ОбъектДокумент); КонецЕсли; МакетПриемник.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); |
|||
20
DenisVich
05.03.18
✎
12:09
|
Не между?:)
|
|||
21
DenisVich
05.03.18
✎
12:11
|
Т.е. получается что форму заполнил, что нет. Одно и тоже.
|
|||
22
FIXXXL
05.03.18
✎
12:12
|
(20) смотри, что ты в (0) выкладываешь
а (19) вообще хз чего угадайку играем? включай отладчик и смотри "кто на ком стоял" |
|||
23
DenisVich
05.03.18
✎
12:16
|
(22) Знаю что выкидываю. Пытался объяснить, что порядок не важен. Все равно не заполнено. Хотя фукнции все исправно работают.(формирование заполнения) Смотрел.
|
|||
24
Lexey_
05.03.18
✎
12:33
|
(19) в условие заходит?
|
|||
25
DenisVich
05.03.18
✎
16:22
|
Заходит.
|
|||
26
dezss
05.03.18
✎
16:28
|
(25) а перед тем, как записываешь, есть что-то в твоем табдоке?
и покажи функцию ФормированиеСчетаНаОплатуСПечатью |
|||
27
DenisVich
06.03.18
✎
13:45
|
Разобрались в чем дело. Числа не брал потому что стоял формат в макете для реквизитов(хотя формат верный числовой), но переприсвоение не работало. Макет приемник, очистил, сделал только для чтения перед передачей из макета исходника. Не в каждой функции поставил вот и проблемы.
"МакетПриемник.Очистить(); МакетПриемник.ОтображатьГруппировки = Ложь; МакетПриемник.ОтображатьЗаголовки = Ложь; МакетПриемник.ОтображатьСетку = Ложь; МакетПриемник.ТолькоПросмотр = Истина; " |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |