Имя: Пароль:
1C
 
Двухсторонняя печать - что-то здесь не так...
0 ksupalo
 
01.08.06
13:36
Привет всем! Читал по дуплексной печати все, только вот какая беда. Есть принтер Minolta Di450. Драйвер PCL 5e (потому что самый быстрый). Печать идет методом Напечатать(0). Все как Написано здесь. Вот только печатается односторонка. Лист по дуплексу гоняет, а толку нет. Если сначала просмотр, а потом ручками печать - с двух сторон печатает. А автоматом нет. Причем это только Минолты. Samsung-и печатают за милую душу. Из других программ на PCL5 все печатается с двух сторон. А из 1С нет.
 Нашел PCL6 - печатается все с двух сторон, но очень медленно. Принт-сервер встроенный (сетевая карта в принтере), видимо не его формат... Может кто знает, что за ботва...
1 PVasili
 
01.08.06
13:55
А с какого перепугу 1С должна пустить на 2 стороны при Напечатать(0)?
2 ksupalo
 
01.08.06
14:31
Ну в драйвере указываешь двухсторонняя печать, длинный край, и все документы идут с двух сторон, кроме 1С...
3 Токс2
 
01.08.06
14:33
(2) Пустых страниц в таблице нет? По умолчанию на двухстороннюю печать настроен?
4 ksupalo
 
01.08.06
14:36
Да нет...пустых не держим... По умолчанию двухсторонка в драйвере принтера. Главная разница - что в ручном режиме печатает, а автоматом нет, хотя делаю как пишут на этом форуме:
   Табл.Показать(""+ТекНомДок+"_"+Сч,,0);
     Табл.Показать(""+ТекНомДок+"_"+Сч,,-1);
   Табл.Напечатать(0);
PCL6 понимает, но медленно, а 5-й не понимает 1С при автопечати. Только в ручном режиме понимает...
5 smaharbA
 
01.08.06
14:43
Метода очч простая, ищи и читай внимательно, даже рабочий код есть в 5 строк
6 ksupalo
 
01.08.06
14:45
Дай ссылку... Вроде все прочитал... Рекомендуют этот, чо я писал выше...
7 ksupalo
 
01.08.06
14:59
Все просмотрел - это не то. В чем разница между диалоговой печатью и бездиалоговой? Вот в чем вопрос. Почему через диалог печатается с двух сторон, а без диалога нет?
8 smaharbA
 
01.08.06
15:09
Счас лениво. вот тебе тупой метод
...
Таб.Показать(,,0);
Таб.Напечатать(0);
Таб.Показать(,,-1);
...
Другой вариант (еще тупее)
Шел=СоздатьОбъект("WScript.Shell");
Шел.Sendkeys("~");
Таб.Напечатать(1);
9 ksupalo
 
01.08.06
15:09
Сами вяжем, сами распускаем...
До маразма дойти можно - вот то, что работает...

Табл.Показать(""+ТекНомДок+"_"+Сч,,0);
Табл.Показать(""+ТекНомДок+"_"+Сч,,-1);
lib.SendKeys("{ENTER}");
Табл.Напечатать(1);

Просто программно нажимаем Enter... Работает дуплекс... lib.SendKeys - из Аддона 1С всято... Вот так...
10 smaharbA
 
01.08.06
15:11
(9) Ты строки местами попутал, см (8)
и, по второму варианту, как утебя никаких ВК ненада
11 ksupalo
 
01.08.06
15:13
Ничего подобного. Сначала показываем, потом печатаем. А после печати таблица и так очищается...
12 smaharbA
 
01.08.06
15:15
(11) Не хочешь слушать не слушай, тока глянь по тем ссылкам которые ты изучал, кто эту методу предложил...
13 smaharbA
 
01.08.06
15:15
+(12) Ты строки местами попутал, см (8)
14 smaharbA
 
01.08.06
15:17
Хотя в твоем разе (0) все не ясно пока...
15 ksupalo
 
01.08.06
15:26
А чем отличается
lib.SendKeys("{ENTER}");
от
Шел.Sendkeys("~");
принципиально чем?
16 smaharbA
 
01.08.06
15:26
Принципиально тем что ненада ВК
17 ksupalo
 
01.08.06
15:30
ДА то же самое это. Если находишся в другом приложении, печать останавливается и спрашивает ВК!!! А к методу этому я сам дошел, ну а форум подтолкнул вплотную... Все равно не понятно, почему не может печататься так (без ВК). Где-то есть подвох...
18 smaharbA
 
01.08.06
15:32
(17) Да ну ?
А строки ты перепутал...
19 smaharbA
 
01.08.06
15:33
+(18) и причем тут ВК, где ты ее в (8) п.2 нашел ?
20 ksupalo
 
01.08.06
15:35
Шел.Sendkeys("~"); тоже что и lib.SendKeys("{ENTER}"); Я сейчас прогоняю и так и так. Вместо
Табл.Показать(""+ТекНомДок+"_"+Сч,,0);
Табл.Показать(""+ТекНомДок+"_"+Сч,,-1); можно оставить только
Табл.Показать(""+ТекНомДок+"_"+Сч,,-1);
21 smaharbA
 
01.08.06
15:37
Ты че тугой такой, а ?
ты (8) внимательно прочел ? оба пункта по отдельности (это разные варианты)
22 ksupalo
 
01.08.06
15:37
Это то, что сейчас работает... При печати нельзя заходить в другие приложения, иначе печать останавливается. Потому что ВК (Шел.Sendkeys("~") или lib.SendKeys("{ENTER}");) посылается не к тому приложению...
23 ksupalo
 
01.08.06
15:39
В 8 первый вариант не работает (у меня на PCL5, только на PCL6 работает)
24 smaharbA
 
01.08.06
15:39
Ладно, мне надоело...
Да сендкей посылает фореграунду.
Методов еще несколько, но похоже тебе не грозит (уж извини)
25 ksupalo
 
01.08.06
15:39
То есть печать идет, но с одной стороны...
26 ksupalo
 
01.08.06
15:40
Может подскажешь как непосредственно 1С отослать ВК?
27 ksupalo
 
01.08.06
15:41
Не обижайся, я благодарен тебе зато, что ты уделил мне время и помог с этой бедой... Просто в споре рождается истина...
28 Steban
 
01.08.06
15:58
ВК в смысле ВозвратКаретки?
Я привык что ВК - Внешняя Компонента, если речь около 1С.
29 smaharbA
 
01.08.06
21:15
(26) Подскажу, (не обижаюсь, период у меня сложный типа климакса у бап :), тока не в прямом смысле)
ВК отослать можешь только когда оно активно, но можно и активизировать...
Да вспомнил что чтото такое с просто PCL было, может чего нарою...
30 ksupalo
 
02.08.06
10:06
Спасибо.
Вопрос всем: кто знает как можно отослать SendKeys непосредственно в 1С, а не активному окну?