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