0
- 24.05.2012 - 14:55
|
Подскажите, как это сделать. Стандартными средствами типа Счет=Документы.СчетНаОплатуПокупателю.НайтиПоНомер у("00100002772", ТекущаяДата()); СчетОбъект=Счет.ПолучитьОбъект(); СчетОбъект.Печать("Счет", 1, ИСТИНА); выдаёт окно выбора принтера, а надо, чтобы обработка делала своё дело полностью автоматически? Пробовал ещё что-то типа ТабДок = УниверсальныеМеханизмы.НапечататьДокументПоУмолчан ию(СчетОбъект,1,Ложь); ТабДок.ИмяПринтера="Kyocera FS-1120D (KPDL)"; Но не срабатывает, пишет значение ИмяПринтер не значение объектного типа | |
1
- 24.05.2012 - 15:46
| я бы сначала посмотрел, что возвращает функция НапечататьДокументПоУмолчанию() | |
2
- 24.05.2012 - 15:50
| Сообщает "Да" :) | |
3
- 24.05.2012 - 15:53
| И что платформа должна подразумевать под Да.ИмяПринтера? | |
4
- 24.05.2012 - 16:09
|
ВаАбще-то, во-первых, надо бы убедится, что принтер есть, во вторых, неплохо весьма добавить имя задействованного принтера на морду обработки, и в третьих, надо добавить опцию задания принтера. И уж совсем хорошо избавится от привычки давать принтеру длинные кудрявые имена, как испанскому гранду. | |
5
- 24.05.2012 - 16:12
| +4 а еще в коде сабжа ересь, видимая невооруженному взгляду. | |
6
- 24.05.2012 - 16:14
| 4-VZ > Принтер есть, это выдача по запросу | |
7
- 24.05.2012 - 16:15
|
СписокПринтеров = Новый СписокЗначений; СписокПринтеров.Очистить(); Принтеры = Новый COMОбъект("WScript.Network"); Prn = Принтеры.EnumPrinterConnections(); i = 0; j = Prn.Count() - 1; Пока i < j Цикл СписокПринтеров.Добавить(Prn.Item(i + 1)); i = i + 1; КонецЦикла; Принтер = СписокПринтеров.ВыбратьЭлемент(); //даём пользователю выбрать принтер Если Принтер <> Неопределено Тогда Сообщить(Принтер.Значение); // например КонецЕсли; В коде ересь, я согласен. Поэтому и прошу помощи. С 1С не работал, а надо быстро подружиться. | |
8
- 24.05.2012 - 17:03
|
Нашёл вот подходящий способ, но конфигурацию менять, к сожалению, нельзя: http://kb.mista.ru/article.php?id=677 | |
9
- 24.05.2012 - 17:22
| 8-Caballero > Ну и? Нельзя, так нельзя. Загоняешь нужные функции в модуль свой обработки, и все. | |
10
- 24.05.2012 - 18:49
|
9-VZ > То есть получается копировать всю функцию "печать" всех документов? Тогда при изменении печатных форм обязательно всё переписать не забывать надо... Мне кажется, должно быть проще всё... Или нет? А альтернативный вариант - как обработкой сохранять эти документы в какой-нибудь общеупотребительный формат DOC, XLS или PDF? | |
11
- 24.05.2012 - 22:06
| В последней платформе есть печать в ПДФ | |
12
- 25.05.2012 - 08:51
|
11-МимохожийОднако >Есть какой-нибудь хороший пример? Блин... Хотелось правда, чтобы всё это 1с сама делала, а не напрягать ещё одно звено в виде скрипта печати | |
13
- 25.05.2012 - 09:36
|
у печатных форм есть параметр ИмяПараметровПечати, можно попробовать до печати переопределить ИмяПринтера ЗЫ. а вообще автор еще не указал конфигурацию, и не сказал, зачем вообще нужно на другой принтер печатать все подряд | |
14
- 25.05.2012 - 10:30
|
13-Uho > Каким образом? Бухгалтерия Проф 2.0, 1С Предприятие 8.2 Из обработки нужно генерировать комплект документов и отправлять их на принтер менеджерам автоматически. | |
15
- 25.05.2012 - 10:50
| Так принтер то всегда один или нет? | |
16
- 25.05.2012 - 10:56
| В обработке принтер всегда один. Хрен с ним, пусть уж будет такой же, как выбранный в системе по умолчанию - поставим 1с на отдельную машину для печати, но лишь бы автоматически делало, а не показывало окно выбора каждый раз... Это ж застрелиться можно | |
17
- 25.05.2012 - 11:03
|
16-Caballero > тогда все просто: СчетОбъект.Печать("Счет", 1, ИСТИНА, ИСТИНА); ЗЫ. а еще в БП есть штатная групповая печать | |
18
- 25.05.2012 - 11:09
| 17-Uho >Фуууух..... You made my day! Спасибо! | |
| Интернет-форум Краснодарского края и Краснодара |