|   |   | 
| 
 | Печатная форма 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) о, спасибо. Правда заработало)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |