Имя: Пароль:
1C
 
Не пашет, Напечатать()
0 Попытка1С
 
30.09.09
15:52
Есть внешняя форма групповой печати:
Процедура Напечатать(Док)
   
   СразуНаПринтер=1-флТаблица;
   
   Параметры = СоздатьОбъект("СписокЗначений");
   Параметры.ДобавитьЗначение(Док.ТекущийДокумент(), "Контекст");
   Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
   Параметры.ДобавитьЗначение(КолКопий, "КоличествоКопий");
   Параметры.ДобавитьЗначение(флДиалог, "ФЛПЕЧАТЬ");
   Параметры.ДобавитьЗначение(флЭкспорт, "ФЛЭКСПОРТ");
   
   ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));

КонецПроцедуры

Дальше при открытии нужной второй формы:
Докум      = Форма.Параметр.Получить("Контекст");
       Устройство = Форма.Параметр.Получить("Устройство");
       КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
       флПечать=    Форма.Параметр.Получить("ФЛПЕЧАТЬ");
       флЭкспорт = Форма.Параметр.Получить("ФЛЭКСПОРТ");

Печать(Докум, Устройство, КолвоКопий,флПечать,флЭкспорт);

Процедура Печать(пДокум, Устройство=0, КолвоКопий=1,флПечать=0,флЭкспорт=0)
....

Если Устройство=0 тогда
           Таб.Показать("Печать накладной","");
       иначе
           Таб.Напечатать(флПечать);
       КонецЕсли;

Принтер стоит по умолчанию, русских букв в нем нет.
Вроде на эту тему шли всякие танцы с бубном, но не могу найти...
В чем трабла?
1 ТелепатБот
 
гуру
30.09.09
15:52
2 smaharbA
 
30.09.09
15:56
поля
3 Rie
 
30.09.09
15:57
(0) А что в ПараметрыСтраницы задаётся (если вызывается)?
И в Опции не запрашиваются опции печати - и какие именно.
4 Попытка1С
 
30.09.09
15:58
(1) Что поля? Можешь немного подробнее?
(2)
Таб.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной");
   Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);
   Таб.ТолькоПросмотр(1);
5 Попытка1С
 
30.09.09
16:09
ап
6 Ёпрст
 
гуру
30.09.09
16:12
с предпросмотром то хоть печатает?
7 Попытка1С
 
30.09.09
16:15
(6) Если до Напечатать() вляпать показать то тоже не печатает.
8 Rie
 
30.09.09
16:15
(4) "ОпцииПечатиНакладной" если убить - печатать будет?
9 Попытка1С
 
30.09.09
16:16
(8) Таб.ПараметрыСтраницы(2,,,0,0,0,0,,,1);

Не хочет.
10 Попытка1С
 
30.09.09
16:18
(6)(8) А что smaharbA про поля то сказал? может в курсе? =)
11 Ёпрст
 
гуру
30.09.09
16:20
Не вкурил... у тебя
Таб.Показать() работает?
Таб.Напечатать(1) работает ?
Таб.Напечатать(0) работает?
12 Ёпрст
 
гуру
30.09.09
16:20
Принтёр вообще есть в системе хоть один?
13 Попытка1С
 
30.09.09
16:25
(11)
Таб.Показать("Печать накладной","");
Таб.Напечатать(флПечать);  //тут 0
не работает

Если так:

Таб.Напечатать(1);  
Вылезает окно, жамкаешь ок, печатает.

Принтеры есть конечно.
14 Попытка1С
 
30.09.09
16:27
Можно конечно извратиться
15 Попытка1С
 
30.09.09
16:27
Типа так:

Шел=СоздатьОбъект("WScript.Shell");
Шел.Sendkeys("~");
Таб.Напечатать(1);
16 Rie
 
30.09.09
16:29
Принтер по умолчанию проверь - куда он смотрит.
Особенно если в терминальном сеансе печать идёт.
17 Попытка1С
 
30.09.09
16:32
(16) С принтером все ок, печатаю не с терминала.
Способ из (15) не всегда корректно отрабатывает почему то.
Когда поток, иногда окно висит, и надо руками жамкнуть "ок".
18 Rie
 
30.09.09
16:34
(17) А если в реестре настройки печати убить?
19 Попытка1С
 
30.09.09
16:36
Короче вроде так работает:
Если Устройство=0 тогда
           Таб.Показать("Печать накладной","");
       иначе
           Шел=СоздатьОбъект("WScript.Shell");
           Шел.Sendkeys("~");
           Таб.Напечатать(1);
       КонецЕсли;
20 Ёпрст
 
гуру
30.09.09
16:37
задай другие опции и сразу Таб.Напечатать(0) делай.
21 Ёпрст
 
гуру
30.09.09
16:38
и не надо Таб.Показать() вообще делать.
22 Попытка1С
 
30.09.09
16:39
(20) Не понял... какие другие опции?
(21) Таб.Показать() убрал.
23 Ёпрст
 
гуру
30.09.09
16:44
(22)

Вот так печатает?

Таб.Опции(0,0,0,0,"ПростоОпцииДругие");
Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);
Таб.Напечатать(0);

А так ?

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1,,"\");
Таб.Напечатать(0);
24 Попытка1С
 
30.09.09
16:47
(23) Печатает, и первым вариантом и вторым!

А в чем прикол с опциями то?
25 Ёпрст
 
гуру
30.09.09
16:52
(24) у тебя в "ОпцииПечатиНакладной" был не существующий принтёр...

если делаешь, как в 23.2 - печать всегда на принтёр "по-умолчанию"
26 Попытка1С
 
30.09.09
16:53
(25) круто, спасибо!
27 smaharbA
 
30.09.09
16:54
(26) пожалуйста )))
(25) не жмоться )))))
28 Попытка1С
 
30.09.09
16:55
(27) что значило твое "поля" в (2) я так и не понял... )
29 smaharbA
 
30.09.09
16:56
(28) это к Пете и регламентной отчетности
Петя расписывал в красках
30 Ёпрст
 
гуру
30.09.09
16:58
(27) эээ... а чего я зажал то?
:)
31 Злопчинский
 
01.10.09
02:46
32 Злопчинский
 
01.10.09
02:47
(28) ищи на кубани по "ветка десятилетия" - там подробно все разжевано