|
Печатная форма PDF без вывода в интерфейсе 1С. | ☑ | ||
---|---|---|---|---|
0
Crimscon
21.08.19
✎
12:34
|
Попросили сделать печатную форму, которая привязывается к документу, но при нажатии на кнопку печати она не выводится в интерфейсе 1С, а формируется, сохраняется и открывается в PDF-читалке (хром, эдж, акробат или что будет стоять у человека по умолчанию). В общем-то сформировать я сформировал, вывести тоже смог. Но при этом, если просто формировать, то будет выводиться ошибка, мол "В обработчике печати не сформирован табличный документ". Ни на что не влияет, т.к ВПФ формируется и выводится нормально, но сама ошибка напрягать будет рядового пользователя. Думал передать в обработчик пустой табличный документ, чтоб он его сформировал и потом закрывать эту форму. И тут проблема, я не понял как ее закрывать, я просто до общей формы достучаться не могу.
Может быть есть у кого идеи, как либо убрать ошибку, либо закрывать форму печати, в которой ничего нет? Естественно все в пределах ВПФ, модифицировать команду печати (как одно из предложений, которые успел нагуглить) не вариант. Процедура печати самая обычная: Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыПечати) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Договор купли-продажи") Тогда ТабличныйДокумент = СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати, ПараметрыПечати); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "Договор купли-продажи", НСтр("ru='Договор купли-продажи'"), Новый ТабличныйДокумент); ЗапуститьПриложение(КаталогВременныхФайлов() + "Договор.PDF"); КонецЕсли; КонецПроцедуры |
|||
1
Вафель
21.08.19
✎
12:41
|
на клиент нужно передать вначале
|
|||
2
Crimscon
21.08.19
✎
12:45
|
(1) Что передать? Форму?
|
|||
3
Вафель
21.08.19
✎
12:51
|
двоичные данные файла
|
|||
4
Crimscon
21.08.19
✎
12:54
|
(3) Зачем? Файл открывается. Все с этим нормально. Тут вопрос как раз в том, чтобы после открытия, форму закрыть и/или убрать ошибку с отсутствием табличного документа в процедуре печати.
|
|||
5
ам794123
21.08.19
✎
12:57
|
(0) Заверни в попытку
|
|||
6
Crimscon
21.08.19
✎
13:01
|
(5) ошибка все равно вылезает
|
|||
7
Вафель
21.08.19
✎
13:01
|
https://its.1c.ru/db/bsp312doc#content:1413:hdoc
Результат = УправлениеПечатью.НапечататьВФайл(КомандыПечати, СписокОбъектов, НастройкиСохранения) |
|||
8
Crimscon
21.08.19
✎
13:03
|
(7) пробовал и не совсем понял как ее юзать для ВПФ. В команды печати нужно передать форму, а я ее не знаю.
|
|||
9
RomanYS
21.08.19
✎
13:15
|
(0) Модификатор = "ПечатьMXL"
Такое есть в описании? |
|||
10
Crimscon
21.08.19
✎
13:24
|
(9) есть
|
|||
11
RomanYS
21.08.19
✎
13:33
|
(10) попробуй убрать
|
|||
12
Crimscon
21.08.19
✎
13:45
|
(11) "Недостаточно фактических параметров".
|
|||
13
Crimscon
21.08.19
✎
13:52
|
(11) Так, сорян. Это в обработке тестирования вылет. Убрал, добавил как дополнительную и оно теперь не открывает ее в браузере, а открывает в интерфейсе 1с. Добавляю - ошибка есть, но открывает в браузере.
|
|||
14
RomanYS
21.08.19
✎
14:15
|
По идее тебе нужно
ВариантЗапуска = ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ВызовКлиентскогоМетода") Тогда будет отрабатывать твоя команда и форма печати открываться не будет. |
|||
15
Crimscon
21.08.19
✎
14:18
|
(14) не совсем понял. Вместо вызова серверного модуля вызывать клиентский и больше ничего не менять?
|
|||
16
Crimscon
21.08.19
✎
14:20
|
(14) а. Переделать ее в допобработку? А как тогда к документу ее прицепить?
|
|||
17
RomanYS
21.08.19
✎
14:21
|
(15) В описании обработки прописать ВызовКлиентскогоМетода.
Тем более в случае при серверном методе у тебя ЗапуститьПриложение отработает на сервере и при нефайловой базе пользователь твою пдф не увидит. |
|||
18
RomanYS
21.08.19
✎
14:22
|
(16) (15) Скачай БСП и посмотри примеры.
|
|||
19
Crimscon
21.08.19
✎
14:25
|
(17) Это я прописал. Сделал. Добавляю как дополнительную печатную форму. Вылезает ошибка, мол, метод объекта не обнаружен (печать), он лезет в форму, которой нет. Формой то не проблема сделать, тут суть в том, что по сути это должна быть ВПФ.
|
|||
20
Михаил Козлов
21.08.19
✎
14:25
|
Сформировать табдокумент со строкой: "Документ сформирован".
|
|||
21
RomanYS
21.08.19
✎
14:29
|
(19) Тебе нужно на клиенте (иначе твоя пдф откроется на сервере и никто ее ни увидит) поэтому форма нужна. Печать() должна быть на клиенте в форме. При этом она останется ВПФ.
|
|||
22
Crimscon
21.08.19
✎
14:47
|
(21) о, спасибо. Правда заработало)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |