Имя: Пароль:
1C
1С v8
БП 3.0 (упр.формы): регл.задание печати сразу на принтер
0 dft2014
 
09.07.14
12:55
БП 3.0, УФ

Подскажите, можно ли по регламентному заданию отправлять документы сразу на принтер?

Сейчас у меня вот этот код не срабатывает:

Функция НапечататьДокумент(ОбъектПечати) Экспорт
    
    Массив = Новый Массив;
    Массив.Добавить(ОбъектПечати);
    
    ТабДок = Неопределено;
    ТабДок = Документы.РеализацияТоваровУслуг.ПечатьАктаОбОказанииУслугИзмененный(Массив,Новый СписокЗначений);  
    
    Если ТабДок  = Неопределено Тогда
        Возврат Новый  Структура("Адрес,ИмяФайла",Неопределено,Неопределено);
    КонецЕсли;
    ИмяФайла = ПолучитьНаименование(ОбъектПечати);
    
    Если ПустаяСтрока(имяФайла) = 0 Тогда  
        
        АдресВременногоКаталога = КаталогВременныхФайлов() + ИмяФайла + ".pdf";
        ТабДок.Записать(АдресВременногоКаталога,ТипФайлаТабличногоДокумента.PDF);
        
        ТабДок.ИмяПринтера = "printer-23.mo9.carcade.com";
        ТабДок.Напечатать(Истина);
        
        Возврат Новый Структура("Адрес,ИмяФайла",АдресВременногоКаталога,ИмяФайла + ".pdf");
        
    иначе
        Возврат 0;
    КонецЕсли;
    
КонецФункции
1 dft2014
 
09.07.14
13:51
Ап!
2 dft2014
 
09.07.14
16:38
На файловой базе, в режиме отладке, код отрабатывает и на печать все отправляется. А на серверной базе - не срабатывает. Я так понимаю, это из-за того, что метод Напечатать()  выполняется на клиенте, а эта функция у меня расположена в самописном общем модуле, у которого в свойствах стоит флажок Сервер.

Как быть?
3 Kamas
 
09.07.14
16:48
(2) не как в таком виде регламентно с 1с не запустиш регламентное оно на сервере
4 Kamas
 
09.07.14
16:55
(3) есть 2 ухищрения которые я знаю 1) записываеш файлы на диск потом печатаеш через командную строку Получается 2 расписания первое в 1с сохранение доков 2 в винде печать
2) Настроить Запуск сеанса 1с и из под этого сеанса выполнять эту задачу расписание 1 в винде
5 dft2014
 
09.07.14
16:56
А почему тогда на файловой базе, правда только в режиме отладки, регламентное задание выполнялось?
6 hhhh
 
09.07.14
16:59
(5) на файловой базе есть только эмуляция регламентных заданий через обычные задания
7 dft2014
 
09.07.14
19:41
Все-таки не теряю надежды, что смогу передать на печать. Поправила код, но все равно не срабатывает:

&НаКлиенте
Процедура ПечатьНаКлиенте()
    ТД = ПолучитьПечФорму();
    ТД.ИмяПринтера = "printer-23.mo9.car.com";
    ТД.Напечатать(Истина);
    
КонецПроцедуры

&НаСервере
Функция ПолучитьПечФорму(ТабДок)
    ТД  =  ТабДок;
    Возврат ТД;
КонецФункции


Функция НапечататьДокумент(ОбъектПечати) Экспорт
    
    Массив = Новый Массив;
    Массив.Добавить(ОбъектПечати);
    
    ТабДок = Неопределено;
    ТабДок = Документы.РеализацияТоваровУслуг.ПечатьАктаОбОказанииУслугИзмененный(Массив,Новый СписокЗначений);  
    
    Если ТабДок  = Неопределено Тогда
        Возврат Новый  Структура("Адрес,ИмяФайла",Неопределено,Неопределено);
    КонецЕсли;
    ИмяФайла = ПолучитьНаименование(ОбъектПечати);
    
    Если ПустаяСтрока(имяФайла) = 0 Тогда  
        
        АдресВременногоКаталога = КаталогВременныхФайлов() + ИмяФайла + ".pdf";
        ТабДок.Записать(АдресВременногоКаталога,ТипФайлаТабличногоДокумента.PDF);
        
        ДокПечати = ПолучитьПечФорму(ТабДок);    // вот эту строчку добавила
        //ТабДок.ИмяПринтера = "printer-23.mo9.car.com";
        //ТабДок.Напечатать(Истина);
        
        Возврат Новый Структура("Адрес,ИмяФайла",АдресВременногоКаталога,ИмяФайла + ".pdf");
        
    иначе
        Возврат 0;
    КонецЕсли;
    
КонецФункции
8 Либерал
 
09.07.14
20:00
нипалучица, см. (4)
как подвариант - запускать клиента 1с демоном и ОбработкаОжидания
9 PR
 
09.07.14
20:02
(7) Девушка? :))
10 dft2014
 
09.07.14
20:06
(9) Да )))

(8 А разве нельзя табличный документ формировать на Сервере, затем возвращать его на Клиента. И на Клиенте уже просто его печатать? Что-то подобное я написала в (7), но что-то не срабатывает...
11 Мимохожий Однако
 
09.07.14
20:06
(0)В каком модуле разместил код?
12 dft2014
 
09.07.14
20:14
(11) В новом Общем модуле, у которого в свойствах стоит флажок Сервер.
13 PR
 
09.07.14
20:15
(10) А фотка где? :))
Нельзя. Ты же на сервере вообще не в клиентском сеансе.
14 Мимохожий Однако
 
09.07.14
20:18
(10)Регламентное задание клиента не увидит.
15 dft2014
 
10.07.14
10:28
(14) А веб-сервис увидит?
16 dft2014
 
10.07.14
11:22
Ап (15)!!!
17 PR
 
10.07.14
11:39
(16) Без фотки не взлетит :))
18 PR
 
10.07.14
11:41
(15) Бред какой-то. Ты о чем?
19 Kupogun
 
10.07.14
12:34
>>Возврат
если я не ошибаюсь, регламентное ничего не возвращает