|
Сохранить програмно отчет СКД в pdf файл | ☑ | ||
---|---|---|---|---|
0
Roma1314704
26.09.18
✎
21:51
|
УП 8.3
Простой отчет СКД. Как сохранить через Сохранить как - здесь все ясно. Прикрутил на форму кнопку сохранить в файл. Задача - при нажатии на кнопку нужно сохранять в pdf файл. Вот процедура &НаКлиенте Процедура СохранитьВФайл(Команда) Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогСохраненияФайла.ПолноеИмяФайла = "Прайс"; Фильтр = "Документ PDF (*.pdf)|*.pdf"; ДиалогСохраненияФайла.Фильтр = Фильтр; ДиалогСохраненияФайла.МножественныйВыбор = Ложь; ДиалогСохраненияФайла.Заголовок = "Выберите файл"; Если ДиалогСохраненияФайла.Выбрать() Тогда ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла; ДиалогСохраненияФайла.Записать(ДиалогСохраненияФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.PDF); КонецЕсли; КонецПроцедуры Но она не работает - обьясните пож что не так? |
|||
1
runoff_runoff
26.09.18
✎
22:03
|
тут попкорном попахивает в 3 строчке снизу
|
|||
2
Roma1314704
26.09.18
✎
22:05
|
Да, вот в 3-ей снизу лажа полная
|
|||
3
Roma1314704
26.09.18
✎
22:06
|
В чем ошибка в этой строке?
|
|||
4
Волшебник
26.09.18
✎
22:07
|
ТабДокумент.Записать(ДиалогСохраненияФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.PDF);
|
|||
5
Roma1314704
26.09.18
✎
22:11
|
Переменная не определена (ТабДокумент)
|
|||
6
Волшебник
26.09.18
✎
22:12
|
(5) Украина, да?
|
|||
7
Roma1314704
26.09.18
✎
22:14
|
)
|
|||
8
Roma1314704
26.09.18
✎
22:15
|
Финляндия
|
|||
9
Roma1314704
26.09.18
✎
22:40
|
О существоаании ТабДокумент.Записать(ДиалогСохраненияФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокунмента.pdf);
В курсе . Не могу понять в чем проблема |
|||
10
hhhh
26.09.18
✎
22:59
|
Забыл переменную определить ТабДокумент, тебе же написали.
|
|||
11
Roma1314704
26.09.18
✎
23:18
|
&НаКлиенте
Процедура СохранитьВФайл(Команда) Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогСохраненияФайла.ПолноеИмяФайла = "Прайс"; Фильтр = "Документ PDF (*.pdf)|*.pdf"; ДиалогСохраненияФайла.Фильтр = Фильтр; ДиалогСохраненияФайла.МножественныйВыбор = Ложь; ДиалогСохраненияФайла.Заголовок = "Выберите файл"; Если ДиалогСохраненияФайла.Выбрать() Тогда ТабДокумент = Новый ТабличныйДокумент(); ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла; ТабДокумент.Записать(ДиалогСохраненияФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.PDF); КонецЕсли; КонецПроцедуры Файл пустой |
|||
12
Fram
27.09.18
✎
01:18
|
(11) ты троллишь так толсто или просто ... ?
|
|||
13
Krolik Bezobraznik
27.09.18
✎
08:41
|
У кого то уже пятница...
|
|||
14
Roma1314704
27.09.18
✎
12:28
|
На самом деле , почему файл пустой? Что ещё нужно сделать ?
|
|||
15
s03
27.09.18
✎
12:31
|
(14) а что ты хотел получить, если у тебя ТабДокумент = Новый ТабличныйДокумент(); и именно его ты и записываешь?
|
|||
16
Волшебник
27.09.18
✎
12:33
|
Понаберут селян в программисты...
|
|||
17
Ник080808
27.09.18
✎
12:38
|
ТабДокумент = ЭлементыФормы.Результат;
|
|||
18
Roma1314704
27.09.18
✎
13:36
|
Переменная не определена (ЭлементыФормы)
|
|||
19
Ник080808
27.09.18
✎
14:10
|
(18) ты гонишь) Элементы.Результат
|
|||
20
Roma1314704
27.09.18
✎
14:26
|
ТабДокумент = Элементы.Результат;
После этого метод записать не доступный Где можно глянуть рабочий пример? |
|||
21
Ник080808
27.09.18
✎
15:37
|
(20) ты издеваешься? у тебя форма отчета. на ней есть реквизит - табличный документ. Его ты должен записать в пдф. Берешь свой табдокумент, не знаю как он у тебя называется и сохраняешь
|
|||
22
Roma1314704
27.09.18
✎
15:40
|
Процедура СохранитьВФайл(Команда)
Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогСохраненияФайла.ПолноеИмяФайла = "Прайс"; Фильтр = "Документ PDF (*.pdf)|*.pdf"; ДиалогСохраненияФайла.Фильтр = Фильтр; ДиалогСохраненияФайла.МножественныйВыбор = Ложь; ДиалогСохраненияФайла.Заголовок = "Выберите файл"; Если ДиалогСохраненияФайла.Выбрать() Тогда ТабДокумент = Новый ТабличныйДокумент(); ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла; ТабДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); КонецЕсли; КонецПроцедуры |
|||
23
Roma1314704
27.09.18
✎
15:41
|
Пустой файл на выходе
|
|||
24
azernot
27.09.18
✎
15:44
|
(23) Подумай, ЧТО ИМЕННО ты хочешь сохранить, где ты это указываешь и как система должна понять, что именно ты хочешь сохранить.
Вот где у тебя хранится сформированный с помощью СКД отчёт? В каком-то реквизите? В переменной? Какой тип имеет этот реквизит/переменная? Такой код: ТабДокумент = Новый ТабличныйДокумент(); ТабДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); закономерно приводит к результату "Пустой файл на выходе". |
|||
25
Ник080808
27.09.18
✎
15:46
|
Стаж: 11 лет 10 месяцев 21 день Аааааааааааааааааа
|
|||
26
VladZ
27.09.18
✎
15:49
|
(22) Круто. А теперь переведем твой код на понятный "человеческий язык":
1. Выбрать файл файл. 2. Создать пустой табличный документ. 3. Сохранить этот табличный документ в файл. на каком шаге он у тебя заполнился? |
|||
27
0level
27.09.18
✎
16:02
|
Помимо "сохранить как", на управляемых формах есть пиктограмма дискеты, пользователю удобнее через нее сохранять.
|
|||
28
azernot
27.09.18
✎
16:12
|
(27) Точно!
Вот самый правильный код: Процедура СохранитьВФайл(Команда) Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогСохраненияФайла.ПолноеИмяФайла = "Прайс"; Фильтр = "Документ PDF (*.pdf)|*.pdf"; ДиалогСохраненияФайла.Фильтр = Фильтр; ДиалогСохраненияФайла.МножественныйВыбор = Ложь; ДиалогСохраненияФайла.Заголовок = "Выберите файл"; Если ДиалогСохраненияФайла.Выбрать() Тогда ТабДокумент = Новый ТабличныйДокумент(); Рис=ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Индекс=ТабДокумент.Рисунки.Индекс(Рис); ТабДокумент.Рисунки[Индекс].Картинка = =БиблиотекаКартинок.СохранитьФайл; ТабДокумент.Рисунки[Индекс].Расположить(ТабДокумент.Область("R1C1:R4C4); ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла; ТабДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); КонецЕсли; КонецПроцедуры |
|||
29
Roma1314704
27.09.18
✎
17:54
|
Код от azernot - Снова пустой файл!
|
|||
30
azernot
27.09.18
✎
18:10
|
(29) Да? Вот чёрт....
Ну я исправлюсь. Вот! Проверено! Работает! Процедура СохранитьВФайл(Команда) Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогСохраненияФайла.ПолноеИмяФайла = "Прайс"; Фильтр = "Документ PDF (*.pdf)|*.pdf"; ДиалогСохраненияФайла.Фильтр = Фильтр; ДиалогСохраненияФайла.МножественныйВыбор = Ложь; ДиалогСохраненияФайла.Заголовок = "Выберите файл"; Если ДиалогСохраненияФайла.Выбрать() Тогда ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла; ТабДокумент = Новый ТабличныйДокумент(); Рис=ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Индекс=ТабДокумент.Рисунки.Индекс(Рис); ТабДокумент.Рисунки[Индекс].Картинка = БиблиотекаКартинок.СохранитьФайл; ТабДокумент.Рисунки[Индекс].Расположить(ТабДокумент.Область("R1C1:R14C4")); ТабДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); КонецЕсли; КонецПроцедуры |
|||
31
Вафель
27.09.18
✎
18:24
|
на УФ типовой табдок - это переменная Результат.
поэтому нужно Результат.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); |
|||
32
Roma1314704
27.09.18
✎
19:00
|
azernot по последнему коду - файл снова пустой!
|
|||
33
Roma1314704
27.09.18
✎
19:03
|
А Вот так
Результат.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); - завелось! Парни, всем большое спасибо! Ткните носом что почитать с литературы для понятия скила? |
|||
34
azernot
27.09.18
✎
20:23
|
(32) 100% не пустой! Там пиктограмма из (27)
|
|||
35
Fram
27.09.18
✎
20:42
|
(33) боюсь, что это врожденное
|
|||
36
PaulBC
28.09.18
✎
03:45
|
(0) Зачем все это? Используй форму отчета из БСП - там уже есть все кнопки.
|
|||
37
Chameleon1980
28.09.18
✎
04:09
|
(36) чтобы потом таких вопросов не было.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |