|
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
|
Спасибо всем, вылечилось удалением принтеров и установкой их заново (при входе пользователя, они сами устанавливаются)
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой