Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Печать документов на два разных принтера
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kostya77
Добрый день. В документа есть две печатные формы. Подскажите, как организовать печать одной фомы на принтер №1, а второй на принтер №2. Оба принтера подключены к одному компу
AnryMc
Цитата
ТабличныйДокумент (SpreadsheetDocument)
ИмяПринтера (PrinterName)
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит имя принтера, известного в системе, на который будет выводиться табличный документ при печати.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер).
Использование в версии:
Доступен, начиная с версии 8.0.
denis84
kostya77 @ Сегодня, 10:31 необходимо зарегистрироваться для просмотра ссылки ,
Добрый день! Через два разных табличных документа (печатные формы) в свойствах табличного документа можно указать принтер
kostya77
AnryMc @ Сегодня, 11:28 необходимо зарегистрироваться для просмотра ссылки ,
Подскажите. как можно организовать, для пользователя, настройки выбора принтера для каждой печатной формы?
AnryMc
kostya77 @ Сегодня, 11:55 необходимо зарегистрироваться для просмотра ссылки ,

Папример добавить 2 реквизита (для 2 печатных форм соответственно) и сделать подбор значения из списка установленных в системе.
Правда этот список нужно будет получить скриптом, напимер...
wmic printer list brief > "%userprofile%\Desktop\Printers.txt"

Потом парсить файл %userprofile%\Desktop\Printers.txt - создавая список имён для выбора

Или если список практически не меняется - задать имена вручную
volodya1122
kostya77 @ Сегодня, 11:55 необходимо зарегистрироваться для просмотра ссылки ,


Ось мій варіант вибора принтера. в довіднику "Користувачів" в мене прописані назви принтерів які потрібно використовувати для різних варіантів друку (назву принтера необовязково вказувати повністю - головне щоб всі назви принтерів в компютері були різні)


Функция ПолучитьИмяПринтераДляПечати(Вид)
    ИмяПринтера="";    
    принтеры =  Новый COMОбъект ("WScript.Network");    
    prn =  принтеры.EnumPrinterConnections();    
    i = 0;    
    Если Вид="Чек" тогда
        ПроверочнПринтер=ПараметрыСеанса.Користувач.ПринтерЧеков;
    Иначе
        ПроверочнПринтер=ПараметрыСеанса.Користувач.ПринтерОсновной;
    КонецЕсли;
    
    Пока i < prn.Count()-1 Цикл    
        //  НовыйПринтер=ТЗПринтеры.Добавить();    
        ВремИмяПринтера=prn.Item(i+1);    
        i = i + 2;    
        Если Найти(ВремИмяПринтера,ПроверочнПринтер)>0 тогда
            ИмяПринтера=ВремИмяПринтера;
            Прервать;
        КонецЕсли;    
    КонецЦикла;        
    Возврат ИмяПринтера;    
    
КонецФункции
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.