Имя: Пароль:
1C
1C 7.7
v7: печать на принтер по умолчанию
0 monsterZE
 
06.12.13
16:12
ситуация такая - у юзверей несколько принтеров (сетевых) и один локальный
галка "по умолчанию" стоит на локальном принтере
сетевые были с длинными именами - типа модель принтера и т.д.
при печати часто (я не понимаю алгоритм) =) возвращалось на дефолтный
т.е. каждая новая принт форма - печать - выбран принтер по умолчанию
переименовал их в A1 B1 (англ)
теперь постоянно в окне печати вылазиет последний выбранный
или вообще любой =(((
я не понимаю по какому принципу оно выбирает принтер
1 monsterZE
 
06.12.13
16:15
раздел мокселя в ветке реестра удалял
использую скрю-драйвер
2 Ёпрст
 
06.12.13
16:15
(0) последний принтёр на который печатали форму хранится в пользовательской ветке реестра.
3 Ёпрст
 
06.12.13
16:16
срю драйвер.. можешь в топку выкинуть.. и без него усё работает.
4 monsterZE
 
06.12.13
16:17
(2) я пробывал у себя на тестовом компе - прокатило следующее в имя окна печати добавил время - у меня стало сбрасывать на по_умолчанию
переписал в основную базу - хрен на
только лишь имя принтера отличается ХП бла бла бла
он остается последним
5 monsterZE
 
06.12.13
16:17
(3) без него были проблемы с проброской принтеров =((
6 monsterZE
 
06.12.13
16:18
сейчас имеем 2008 р2 с последними апдейтами
и клиентов от ХП до 8
7 Ёпрст
 
06.12.13
16:19
(5) если печать в локальной сети, то в свойстах рдп (или в групповых политиках) запрет на маппинг принтёров в сети.
Все принтера прописать на самом сервере через локальный порт.. забыть о скрюдрайвере и проблемах печати.
8 monsterZE
 
06.12.13
16:21
(7) не понял, как это (прописать на самом сервере через локальный порт) клиентов дохрена, прописывать принтер каждого на сервере не вариант =( и все будут видеть принтеры всех? это будет окно на 4 листа а4 =)
9 monsterZE
 
06.12.13
16:23
я не думаю что проблема в скрю драйверах.. но почему 1са не хочет подставлять принтер по умолчанию, даже если прописать его название в параметрах печати?..
хотя срю - добавляет к его имени номер сессии, может из-за этого?
10 andrewalexk
 
06.12.13
16:26
(9) :) старый глюк
есть вариант получать скриптом имя принтера по умолчанию и указывать
11 Ёпрст
 
06.12.13
16:31
(8) нет. Будут видеть только свои принтёры, если раздашь права на принтер только нужным пользователям.
12 Ёпрст
 
06.12.13
16:31
И вообще, забудь про маппинг в локальной сети навсегда..
13 Ёпрст
 
06.12.13
16:32
Токма админ будет видеть все принтёры, а юзвер - только свои, на которые у него есть права.
14 monsterZE
 
06.12.13
16:32
(12) как я его забуду, если у меня более 150 пользователей?
заходить по каждым и ставить/настраивать принтеры?.. =)
15 monsterZE
 
06.12.13
16:34
(10) - видел такое решение, оно?

Функция ПолучитьПринтерПоУмолчанию() Экспорт
    
    Скрипт = Новый ComObject("MSScriptControl.ScriptControl");
    Скрипт.Language = "vbscript";                
    Скрипт.AddCode("
         |Function GetDefaultPrinter()
         |GetDefaultPrinter=vbNullString
         |Set objWMIService=GetObject(""winmgmts:"" _
         |& ""{impersonationLevel=impersonate}!\\.\root\cimv2"")
         |Set colInstalledPrinters=objWMIService.ExecQuery _
         |(""Select * from Win32_Printer"")
         |For Each objPrinter in colInstalledPrinters
         |If objPrinter.Attributes and 4 Then
         |GetDefaultPrinter=objPrinter.Name
         |Exit For
         |End If
         |Next
         |End Function");
        
    Возврат СокрЛП(Скрипт.run("GetDefaultPrinter"));
    
КонецФункции
16 Ёпрст
 
06.12.13
16:34
(14) и че ?
17 Ёпрст
 
06.12.13
16:35
Куда заходить ?
Один раз прописываешь нужные принтёры на сервере и привет.
18 monsterZE
 
06.12.13
16:36
(17) под каждым пользователем
или как? захожу под админом и прописываю все сетевые принтеры?
19 Ёпрст
 
06.12.13
16:37
(18) да, заходишь под админом на сервак и прописываешь там все принтёры через локальный порт + раздаешь права на них.
20 Ёпрст
 
06.12.13
16:37
усё.
21 Ёпрст
 
06.12.13
16:38
Ну или наблюдаешь миллион сессий в управлении принтёрами, трахаешься с крюдрайверами...ищешь сессию, чтоб скинуть задание с принтёра т и.д..
:)
22 monsterZE
 
06.12.13
16:41
(21) у меня часто (очень часто) падал спуллер
это был просто пипец
поставил скрю - и все стало норм
=) т.е. это было не просто так
23 Ёпрст
 
06.12.13
16:44
ты хотя бы один принтёр пропиши и посмотри, как это выглядит..
24 monsterZE
 
06.12.13
16:48
(23) что значит "через локальный порт"?
25 Ёпрст
 
06.12.13
16:51
(24)

Добавить - принтёр - локальный - новый порт, для сетевых - tcp/ip, для не сетевых - local port
26 Ёпрст
 
06.12.13
16:53
далее, если сетевой - прописать ip принтёра, установить дрова
если локальный, то прописать через \\comp\printername или через \\ip comp\printername, установить дрова, раздать разрешения в свойствах.. усё.
27 monsterZE
 
06.12.13
16:59
(26) ладно, буду пробывать =)
кстати - скрипт выше вполне рабочий
ща пробую на тестовой с ним
28 monsterZE
 
06.12.13
16:59
к (26) спасибо!
29 Ёпрст
 
06.12.13
17:04
(27) слишком медленный он только..
30 trad
 
06.12.13
17:05
если мне не изменяет склероз, то у семерки есть ограничение на длину имени принтера. То ли 31, то ли 32 знака.
31 monsterZE
 
06.12.13
17:08
(30) тут вроде как укладывается
32 trad
 
06.12.13
17:10
(31) длина имени - имеется ввиду с сетевым путем
33 andrewalexk
 
06.12.13
17:49
(15) :) похоже
34 Torquader
 
06.12.13
18:14
(22) Спулер падает от кривых дров принтера - ставишь просто рестарт службы после падения и всё.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан