Имя: Пароль:
1C
 
Управление настройками принтера из 1С
0 casufi
 
26.05.09
12:27
Нужно распечатать два екземпляра документа на одной странице А4, в настройках принтера для этого есть галочка - несколько экземпляров на странице. В крайнем случае можно задать в настройках принтера формат листа - А5 и расположение альбомное, а в свойствах страницы в 1С просто задать формат листа - А5.
Хочется всем этим управлять програмно из 1С, чтобы бухгалтер не лез в настройки принтера, никто не сталкивался с подобной задачей ?
1 smaharbA
 
26.05.09
12:30
создай сколько надо настроек столько и принтеров
2 miki
 
26.05.09
12:30
ПараметрыСтраницы()+ Один раз настроить.
3 Дуб
 
26.05.09
12:30
(0) управляй программно. Что мешает?
4 casufi
 
26.05.09
12:38
(2) Во первых в ПараметрыСтраницы я не нашел опции - формат бумаги, во вторых, если в параметрах страницы интерактивно выставить формат А5, и ориентацию ландшафт, то направление текста от этого не поменяется, нужно выставлять в параметрах страницы формат А5- портрет, а в настройках принтера формат А5, ландшафная ориентация страницы, для рядового бухгалтера этот набор действий - черная магия.
5 miki
 
26.05.09
12:39
(4)если бумажки разные - то (1). если только масштаб/ориентация - хватит и (2)
6 casufi
 
26.05.09
12:58
(5) Как подключить один сетевой принтер два раза ? У меня не получилось.
И еще, я не нашел как программно или в конфигураторе задать размер листа для печатной формы.
7 miki
 
26.05.09
13:02
(6)размер листа, дуплекс-шмуплекс-цвет-экономод - для другого принтера.
Принтер и "устройство печати" - вещи разные.
Принтер надо не подключать, а создавать. Позови того, кто умеет, как вариант.
8 casufi
 
26.05.09
13:20
(7) Если принтер локальный или к нему можно подключиться по HTTP или CUPS, то такой номер пройдет. А вот обычный принтер, который расшарен на виндовой машине, через "Создать принтер" никак не подключишь.
9 miki
 
26.05.09
13:23
(8)нЕгде сейчас попробовать, но почему не подключишь?
Расшарь несколько, как вариант...
10 casufi
 
26.05.09
13:42
Может можно распечатать сформированную таблицу через WSH cкрипт, а в нем задать настройки принтера ?
11 miki
 
26.05.09
13:46
(10) это к (1)
12 povar
 
26.05.09
13:50
(8) кто вам такое сказал ?
13 povar
 
26.05.09
13:51
можно создать сколько угодно принтеров  с разными настройками, на одном порту печати
14 casufi
 
26.05.09
14:05
Я так думаю, гораздо еффективнее написать на WSH скриптик, в который в виде объекта будет передаваться таблица. Как управлять настройками принтера в VBS я нашел, вопрос в том, как теперь из скрипта таблицу распечатать.
15 povar
 
26.05.09
14:06
(14) не знаю на счет эффективности, но вот проще сделать через пользовательские настройки
16 Kreont
 
26.05.09
14:07
У меня счас так и есть, в винде создано два принтера
у одного дуплекс включен у второго выключен :(
И при печати просто использую который надо, но сразу предупр.
очень так неудобно :
пользователь может неправильно указать,
та и в винде может переименовать принтер
17 Kreont
 
26.05.09
14:29
Можете кто-нить код опубликовать примера на WSH
выбора принтера и изменения настроек на лету?
18 povar
 
26.05.09
14:35
вот примерно так, хоть и не WSH
Печать двух страниц на одном листе
19 dk
 
26.05.09
14:37
(12) "помммеедленнее, я запииисываю" (с)
у меня тоже с сетевым принтером такой фокус не проходит, колись :)
20 dk
 
26.05.09
14:43
хотя ...
21 casufi
 
27.05.09
12:01
(18)Спасибо, очень похоже на правду, была бы карма поставил бы Вам много плюсов.
22 casufi
 
29.05.09
16:46
Проблема таки есть.
Команда rundll32 printui.dll,PrintUIEntry /Sr /n "Принтер" /a "ФайлНастроек.dat"
не работает для сетевых принтеров.
23 miki
 
29.05.09
17:09
(22)ругается как нить?
попробуй прописать их в dns
24 casufi
 
29.05.09
17:31
Ругается "Невозможно завершить операцию".
Не совсем понял что прописать в DNS, имя компьютера на котором висит принтер, я его отлично пингую и без этого.
25 miki
 
29.05.09
17:45
(24)я хз как работает команда из (22), предположил, что не находит по имени...
26 miki
 
29.05.09
17:57
пусть аутор метода разбирается :)
может тут, что поможет: http://www.sql.ru/forum/actualthread.aspx?tid=639488
27 Kreont
 
29.05.09
18:15
или тут почитать
rundll32 printui.dll,PrintUIEntry /?
28 miki
 
29.05.09
18:17
Там есть указание на ключик реестра, который, если отсутствует, может давать (24)
29 casufi
 
29.05.09
18:25
(27) сам то читал ?
Сформулирую вопрос по другому.
Если у кого есть возможность попробовать работает ли команда
rundll32 printui.dll,PrintUIEntry /Sr /n "Принтер" /a "ФайлНастроек.dat" для сетевых принтеров, попробуйте, и отпишитесь если работает.
Имя принтера можно взять скриптом


Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery ("Select * from Win32_Printer")
strInfo=vbNullString
For Each objPrinter in colInstalledPrinters
If objPrinter.Default = True Then
End If
strInfo = strInfo & objPrinter.Name&vbCrLF
Next
Wscript.Echo strInfo
30 casufi
 
29.05.09
18:29
Ключики в реестре только что проверил, присутствуют для всех принтеров, юзер имеет право в них писать, проверил командой
reg export HKEY_CURRENT_USER\Printers\DevModePerUser Set.reg
reg import Set.reg
Меня бы устроил вариант с експортом и импортом ветки реестра, но после этой операции юзер должен залогиниться и разлогиниться в свой акаунт, только тогда новые настройки подхватятся.
31 Kreont
 
01.06.09
10:39
>29 у меня для сетевого работает (HP 4300)
32 casufi
 
03.06.09
14:00
(31) Похоже все зависит не от того, сетевой принтер или нет, а от конкретной марки принтера. У меня этот метод не работает на HP 1100 лазерном, но отлично работает на МФУшке Canon.
Основная теорема систематики: Новые системы плодят новые проблемы.