Имя: Пароль:
1C
 
Принтер в параметры печати
0 ДобрыйПутник
 
21.08.25
13:46
Добрый день, пытаюсь задать программно название принтера, делаю так
ТабДок.ИмяПринтера = "BIXOLON XT5-40 (перенаправлено 97)";
Так в параметры страницы подтягивается все правильно, но если
оставить ТабДок.ИмяПринтера = "BIXOLON XT5-40"; что бы принтер не зависил от того сколько на него перенаправлено, то он не проставляется автоматически.
Подскажите где хранятся эти названия принтеров 1С? Мб можно как-то изменить их названия или исключить перенаправлено, или сделать поиск какой-то по принтерам?
1 Злопчинский
 
21.08.25
13:50
Не надо принтеры подключать прокидыванием в РДП.
на крайний случай локальный принтер расшарить и подключить его на сервере как сетевой принтер.
.
как сделать чтобы не менялось имя при прокидывании через РДП я не знаю, может сисадмины подскажут.
2 Злопчинский
 
21.08.25
13:51
ну, можно еще получить список принтеров (?) и найти нужный по вхождению строки...
3 ДобрыйПутник
 
21.08.25
13:58
(2) Спасибо, нашел в инете такую штуку, буду искать подобно и дергать полное наименование

СписокПринтеров = Новый СписокЗначений;
    Принтеры = Новый COMОбъект("WScript.Network");
    Prn = Принтеры.EnumPrinterConnections();
    i = 0;
    Пока i < prn.Count()-1 Цикл
        СписокПринтеров.Добавить(prn.Item(i+1));
        i = i + 2;
    КонецЦикла;
4 Волшебник
 
21.08.25
14:10
(3) цикл писал какой-то извращенец. Вот как правильно:

Для i = 0 По prn.Count()-1 Цикл
   СписокПринтеров.Добавить(prn.Item(i));
КонецЦикла;
5 ДобрыйПутник
 
21.08.25
14:13
(2) Принтеры проброшенные через РДП не получатся получить, видит только локальные принтеры, если через (3), есть еще какие-то варианты?

Расшарить не получится тк сервера разные и они в цоде
6 ДобрыйПутник
 
21.08.25
15:19
up
7 Злопчинский
 
21.08.25
15:28
(5) ну дык принтер можно по интернету расшарить...
8 Злопчинский
 
21.08.25
15:28
(5) ну, винды как-то же видят проброшенный принтер? значит получить его тоже можно
Закон Брукера: Даже маленькая практика стоит большой теории.