Имя: Пароль:
1C
1С v8
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
Спасибо всем, вылечилось удалением принтеров и установкой их заново (при входе пользователя, они сами устанавливаются)