|
1С в терминале и принтер по умолчанию | ☑ | ||
---|---|---|---|---|
0
ТупойИЖадный
01.08.13
✎
16:24
|
Коллеги, добрый день!
Столкнулся с такой проблемой: пользователи сидят в 1С в терминале, печатают документы, в обработке печати сохранение параметров печати (свойство "ИмяПараметровПечати") задано. При печати, каждый раз подставляется не принтер по умолчанию и не тот, с которым печатали в прошлый раз, а другой (вероятно, выбирается первый по алфавиту). Проявляется не у всех пользователей. Как быть? Проблема серьезная, т.к. люди много печатают и не могут пользоваться печать без предварительного просмотра. P.S. В поиске видел информацию, что 1С плохо работает с принтерами у которых длинное наименование, но дело, судя по всему не в нем (проверял на своем компе, у меня все нормально). |
|||
1
ТупойИЖадный
02.08.13
✎
10:43
|
Up. 8(
|
|||
2
rutony
02.08.13
✎
10:45
|
(0) Проблема с правами у пользователя, он не может записать в реестр принтер по умолчанию
|
|||
3
ТупойИЖадный
02.08.13
✎
16:00
|
Спасибо, попробую посмотреть!
|
|||
4
bva_skynet
02.08.13
✎
18:07
|
Решали подобную задачу таким образом, что бы не привязываться к правам и принтерам по умолчанию, так как принтеров для пользователя может быть несколько.
Функция ПолучитьСписокДоступныхПринтеров() Экспорт //Принтеры установленные в системе Список = Новый СписокЗначений; #Если Клиент Тогда Попытка КОМОбъект = Новый COMОбъект ("WScript.Network"); Принтеры = КОМОбъект.EnumPrinterConnections(); //возвращает массив, в котором на принтер идет два элемента - порт и локальное имя. н = 0; Пока н < Принтеры.Count()-1 Цикл // соответственно нам нужен каждый второй элемент массива Список.Добавить(Принтеры.Item(н+1), Принтеры.Item(н+1)); н = н + 2; КонецЦикла; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; #КонецЕсли Возврат Список; КонецФункции |
|||
5
bva_skynet
02.08.13
✎
18:09
|
и из списка подставляем уже в процедуру печати необходимый принтер
Процедура КнопкаВыполнитьНажатие(Кнопка) ТабДок = Новый ТабличныйДокумент; //тут ваша функция, которая возвращает заполненный табличный документ ТабДок.ИмяПринтера = Принтер; //указываем в самом табличном документе, на какой принтер нужно печатать ТабДок.Напечатать(); //или ваша функция печати КонецПроцедуры |
|||
6
bva_skynet
02.08.13
✎
18:11
|
как автоматически выбрать необходимый принтер из списка думаю рассказывать не надо
|
|||
7
MKZM
02.08.13
✎
18:13
|
А мы в терминале пробрасываем принтер и пользователь печатает там где привык
|
|||
8
ТупойИЖадный
20.08.13
✎
14:52
|
Спасибо всем, вылечилось удалением принтеров и установкой их заново (при входе пользователя, они сами устанавливаются)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |