![]() |
![]() |
|
Выбор принтера в 1с8 | ☑ | ||
---|---|---|---|---|
0
Маленький Вопросик
23.11.09
✎
13:28
|
Народ, подскажите следующее: возможно ли программно выбирать настройку принтера в 1с?
|
|||
1
Ygich
23.11.09
✎
13:32
|
синтаксис помощник запретили?
|
|||
2
Маленький Вопросик
23.11.09
✎
13:34
|
(1) я его уже изрыл весь... какие методы у табличного документа
|
|||
3
Ygich
23.11.09
✎
13:36
|
а что именно нужно? выбрать определенный принтер и на него напечатать? средствами драйвера принтера распечатать как постер?
|
|||
4
Маленький Вопросик
23.11.09
✎
13:50
|
(3) нужно следующее - выбрать определенную настройку принтера (из 1с) например настройку с двухторонней печатью и напечатать по этой настройке...
заданное количество.. |
|||
5
Ygich
23.11.09
✎
13:57
|
это настройка именно драйвера принтера. стандартными средствами из 1с в нее не дотянуться
|
|||
6
Маленький Вопросик
23.11.09
✎
13:58
|
(5) нестандпртными как??
|
|||
7
Ygich
23.11.09
✎
13:59
|
либо подгонять табличный документ имеющимися средствами, либо как то исхитрятся. кунгфу вроде дотнета винапи активикс и другие страшные слова
|
|||
8
Маленький Вопросик
23.11.09
✎
14:08
|
(7) мы не ищем легких путей... как работает 1с через ActiveX .. где про это прочитать...
задача - нужно обязательно отправлять параметры печати в драйвер принтера через 1с. что имеется ввиду под подгонять табличный документ??? |
|||
9
H A D G E H O G s
23.11.09
✎
14:13
|
Какая КОНКРЕТНО стоит задача перед тобой?
|
|||
10
Ygich
23.11.09
✎
14:17
|
(8) манипуляции с полями, переносами страниц, печатью диапазонов и прочее.
|
|||
11
Маленький Вопросик
23.11.09
✎
14:21
|
(9) КОНКРЕТНАЯ задача:
1.Отправляется поток документов на принтер ОДНОЙ Кнопкой. 2.Каждый документ может иметь свое количество. 3.Некоторые документы в потоке (по настройкам формы) печатаются с обеих сторон. Все. |
|||
12
Ygich
23.11.09
✎
14:23
|
(11) а принтер поддерживает двухстороннюю печать?
|
|||
13
Маленький Вопросик
23.11.09
✎
14:24
|
(12) ну конечно!
|
|||
14
xzorkiix
23.11.09
✎
14:26
|
(0) у меня
[code] ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.ИмяПринтера = Принтер; ТабличныйДокумент.ИмяПараметровПечати = "Параметр_" + ИмяКомпьютера() + "_" + ИмяПользователя() + "_" + Принтер; ТабличныйДокумент.АвтоМасштаб = Истина; ЗаполнитьАКТ(ТабличныйДокумент); ТабличныйДокумент.Напечатать(не РежимНастройкиПечати); [/code] Для каждого ИмяПараметровПечати (тип строка) будут сохряняться последние настройки печати. РежимНастройкиПечати - булевая пеерменная - в первый раз задаем истина и настраеваем нужные нам параметры печати (для указанного имени параметра печати) Минус: у каждого пользователя необходимо в первый раз настроить печать ручками. Список принтеров получаем так [i]под виндой[/i](возможно на мисте и нашел код): [code] Функция ПолучитьСписокДоступныхПринтеров() // Принтеры установленные в системе Список = Новый СписокЗначений; #Если Клиент Тогда Попытка КОМОбъект = Новый COMОбъект ("WScript.Network"); Принтеры = КОМОбъект.EnumPrinterConnections(); шшш = 0; Пока шшш < Принтеры.Count()-1 Цикл Список.Добавить(Принтеры.Item(шшш+1), Принтеры.Item(шшш+1)); шшш = шшш + 2; КонецЦикла; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; #КонецЕсли возврат Список; КонецФункции [/code] |
|||
15
Ygich
23.11.09
✎
14:27
|
настроить на всегда двухстороннюю и через страницу пускать пустую кроме двойных.
|
|||
16
Ygich
23.11.09
✎
14:27
|
))) это была шутка
|
|||
17
Маленький Вопросик
23.11.09
✎
14:29
|
(15) я думал об этом, но принтер не работает только с 1с
|
|||
18
H A D G E H O G s
23.11.09
✎
14:35
|
Заведите 2 принтера, один - односторонний, другой - двухсторонний.
Ну и их в константы: ИмяПринтераОдносторонний,ИмяПринтераДвусторонний |
|||
19
xzorkiix
23.11.09
✎
14:36
|
из личного опыта говорю сразу 1С v8.Х не вникает в настройки по умолчанию сетевых принтеров (даже если под виндой настроить ту печать как тебе надо - ворд, ехель, блокнот будут поддаваться жестко прописанным правилам - а 1С один хрен будет не понятно откуда брать "а4,книжка")
а вот если принтер локальный она беспрекословно печатает так как задано в самом принтере. |
|||
20
Маленький Вопросик
23.11.09
✎
14:52
|
(19) из экспериментов получилось следующее:
1.Настроил 1 физический принтер как 2. В одном установил печать на 2-х сторонах, в другом - нет. отправил макет с выбором того или иного принтера - распечаталось правильно. теперь последний момент - как задавать имя принтера при печати? в сети он называется так "\\DX\HP LaserJet P2050 Series PCL 6_2x" - 2-х сторонний "\\DX\HP LaserJet P2050 Series PCL 6" - 1-х сторонний (он же). |
|||
21
H A D G E H O G s
23.11.09
✎
14:55
|
(20) Видишь, ты сам дошел до того, что я тебе сказал в (18). Молодец.
ТабДок.ИмяПринтера |
|||
22
Маленький Вопросик
23.11.09
✎
14:56
|
Вот так.
Если ДвеСтороны = Истина Тогда ТабличныйДокумент.ИмяПринтера = "\\DX\HP LaserJet P2050 Series PCL 6_2x"; Иначе ТабличныйДокумент.ИмяПринтера = "\\DX\HP LaserJet P2050 Series PCL 6"; КонецЕсли; |
|||
23
H A D G E H O G s
23.11.09
✎
15:06
|
(22) Плохо, очень плохо.
|
|||
24
xzorkiix
23.11.09
✎
16:33
|
(22) смотри в (14) там правильные имена принтеров для параметра ИмяПринтера
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |