×
Показано с 1 по 23 из 23
  1. #1
    Клерк
    Регистрация
    27.12.2005
    Сообщений
    4

    печать на принтер с разных лотков

    Как задать формат бумаги для печати из 1с? Каким образом организовать печать на принтер с разных лотков (1- А5, 2-А4).

    А с разных лотков. В первом А5 во втором А4. Один документ с лотка А, другой с лотка В. Если бы все так просто. не задавал бы вопросов. ЗАРАНЕЕ БЛАГОДАРЮ И С НОВЫМ 2006
    Поделиться с друзьями

  2. #2
    Умный Клерк!
    Регистрация
    07.01.2004
    Адрес
    Владимир
    Сообщений
    13,623
    Параметры страницы - там настраивается лоток
    1.Открыта новая радиостанция для юзеров под названием RТ FМ. По ней будут транслироваться чтения различных мануалов и ответы на часто задаваемые вопросы.
    2. "Помогая ленивым людям, ты помогаешь им сесть на свою шею" Сян-Цзы

  3. #3
    Клерк
    Регистрация
    27.12.2005
    Сообщений
    4
    Вал документов печатается с разных лотков через один - А4 с лоткаА, А5 с лотка Б. Все должно печататься в автотмате не заходя в настройки принтера и не выбирая лотки .

  4. #4
    postcrypt
    Гость
    во-первых, в параметрах печати устанавливаешь А5 и А4 в соответствующих документах;
    во-вторых, в "железе" принтера устанавливаешь опцию автоопределение лотка по формату бумаги.

  5. #5
    postcrypt
    Гость
    Цитата Сообщение от postcrypt
    во-первых, в параметрах печати ...
    имел ввиду параметры страницы, конечно.

  6. #6
    Клерк
    Регистрация
    27.12.2005
    Сообщений
    4
    В параметрах страницы? В каком месте?

  7. #7
    Умный Клерк!
    Регистрация
    07.01.2004
    Адрес
    Владимир
    Сообщений
    13,623
    Funt, там есть и размер и источник...
    1.Открыта новая радиостанция для юзеров под названием RТ FМ. По ней будут транслироваться чтения различных мануалов и ответы на часто задаваемые вопросы.
    2. "Помогая ленивым людям, ты помогаешь им сесть на свою шею" Сян-Цзы

  8. #8
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    Вы ничего не путаете?... чтото я не встречал встроенной в семерке процедуры или функции в которой можно задавать лоток или как мистер наумов сказал - размер и источник.

  9. #9
    postcrypt
    Гость
    Цитата Сообщение от MaxIK
    Вы ничего не путаете?... чтото я не встречал встроенной в семерке процедуры или функции в которой можно задавать лоток или как мистер наумов сказал - размер и источник.
    там не нужно никакой функции или процедуры. Делается всё системными средсвами, в предварительном просмотре печати документа. Параметры документа сохраняются, нужно выставить параметры только один раз.

  10. #10
    Клерк
    Регистрация
    27.12.2005
    Сообщений
    4
    Кто бы показал эти системные средства. При печати разноформатных документов в стандарте остается только выбранный последний лоток на который производилась печать.

  11. #11
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    Я тебе уже отвечал на каком то форуме что есть такая весчЬ как форматная строка команд для лазерного принтера...
    &l1O - альбомная ориентация,
    &l0O - книжная. Первый знак ESC, т.е ASCII(27).
    на форуме ителис

  12. #12
    Клерк
    Регистрация
    13.02.2005
    Сообщений
    22,822
    MaxIK, оно, конечно, хорошо тут показать, что знаешь язык управления принтером.
    Но... вот ведь какая фишка... они разные... эти языки...
    Например, у лазерных... PJL, PCL, PostScript...
    Не говоря уж о струйных... и о разных реализациях языка.
    Плюс еще неплохо бы вспомнить, куда сие вставить в 1С

  13. #13
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    Господа ну вы совсем оборзели... у меня была такая брошурка для псЭль.. ну поищите вам же нада не мне а вставлять обычной строкой в заголовок отчета.. вот еще посмотрел тут.. есть тема про встроенные в винду средства MSScriptControl.ScriptControl... тема такая...
    Процедура Сформировать()
    scrptCtrl=createobject("MSScriptControl.ScriptControl");
    scrptCtrl.language="vbscript";
    scrptCtrl.addcode("
    |Function GetDefaultPrinter()
    |GetDefaultPrinter=vbNullString
    |Set objWMIService=GetObject(""winmgmts:"" _
    |& ""{impersonationLevel=impersonate}!\\.\root\cimv2"")
    |Set colInstalledPrinters=objWMIService.ExecQuery _
    |(""Select * from Win32_Printer"")
    |For Each objPrinter in colInstalledPrinters
    |If objPrinter.Attributes and 4 Then
    |GetDefaultPrinter=objPrinter.Name
    |Exit For
    |End If
    |Next
    |End Function");
    Сообщить(scrptCtrl.run("GetDefaultPrinter"));
    КонецПроцедуры

    вот.. сам еще не пробовал но будет время обязательно а так.. вот вам плацдарм для размышлений.. я бы конечно поработал за Вас головой и руками но сие у меня самого хватает траблов... так что не обессутьте чем могу...

  14. #14
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    Или вот по просче нашлепал
    Получить список принтеров:
    Процедура Сформировать()
    wshNetwork=createObject("WScript.Network");
    oPrinters=wshNetwork.EnumPrinterConnections();
    i=0;
    while i<oPrinters.count()-1 do
    message("Порт "+oPrinters.item(i)+" = "+oPrinters.item(i+1));
    i=i+2;
    enddo;
    КонецПроцедуры

  15. #15
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    А ващето... в 1с много фишек с подключаемыми дллками.. я правда сам еще не сталкивался.. но все же думаю что вариант с командной строкой будет самым простым в реализации.. была ты тока литературка соответственная которую думаю можно найти на сайтах разработчиков данных стандартов печати.
    Или уж если сами никак... попросите меня "пожалуста Максик" - я завтра попробую успеть Вапм помочь

  16. #16
    Клерк
    Регистрация
    13.02.2005
    Сообщений
    22,822
    MaxIK, во-первых... мне не надо это объяснять, как вставить... я это знаю, и писАл об этом не один раз...
    А во-вторых... сам то попробуй, перед тем, как давать "совет"... узнаешь много интересного об 1С, как, и на каком языке она инициализирует принтер перед выводом документа

  17. #17
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    Интересно на каком же языке??? ха ха неужели на китайском)) а по делу у меня ХП на ПиСиЭлЬ и все работает отлично. Кстати нашел в сети и справочное руководство по языку PCL.. так что не нада лохматить бабушку а методами скриптконтрола попробую обязательно чтобы подстрлить ваше высоколетящее самоопределение!

  18. #18
    Консультант по ИТ Аватар для lubezniy
    Регистрация
    26.09.2004
    Адрес
    г. Москва, ВАО
    Сообщений
    5,385
    Когда мы ставили в бухгалтерию новый лазерник (HP LaserJet 5100, один на 6 рабочих мест), у нас тоже возникла аналогичная проблема, но только для A4 и A3. Принтер имел два лотка, и мы сумели настроить его таким образом, что при задании печати на формате A4 лист брался из верхнего лотка (лоток 2), а при работе на A3 - из лотка 1 (нижний лоток). Всё было сделано только средствами настройки принтера. Думаю, аналогичный приём можно применить к другим двухлотковым лазерникам HP формата A3 (например, HP LaserJet 4V или HP LaserJet 5000).
    С уважением,
    Виктор

  19. #19
    Клерк
    Регистрация
    13.02.2005
    Сообщений
    22,822
    lubezniy, вопрос не в настройке принтера, а в управлении принтером непосредственно из программы 1С.

  20. #20
    Консультант по ИТ Аватар для lubezniy
    Регистрация
    26.09.2004
    Адрес
    г. Москва, ВАО
    Сообщений
    5,385
    Команды печати и управления для принтера делает драйвер принтера, и делает на том языке, под который этот драйвер написан. Так, почти у всех современных лазерников от HP есть драйверы под PCL5e, PCL6 и PostScript - те языки, которые понимают эти принтеры (по умолчанию обычно ставится драйвер под PCL6). Большинству прикладных программ не обязательно даже знать, под какой язык у них работает этот самый драйвер: эти программы только посылают спулеру печати команды вроде "принтер, начни-ка новую страницу" или "выдай мне такую-то буковку таким-то шрифтом в такие-то координаты". Так что вряд ли есть смысл в изучении языка PCL - всё равно система при начале печати сделает по-своему. Зато многие средства разработки прикладного ПО (думаю, язык 1С в данном контексте можно отнести к этим средствам) имеют массу параметров для задания различных возможностей печати. Думаю, есть смысл порыться, как следует, в документации и откопать параметры задания формата бумаги и её подачи.
    С уважением,
    Виктор

  21. #21
    Клерк
    Регистрация
    13.02.2005
    Сообщений
    22,822
    lubezniy, в том то и фишка, что язык 1С не предусматривает некоторых команд, которые может выполнять драйвер.
    К таким командам относится и осуждаемый вопрос, а также... например, упраление дуплексом.
    Это один момент, а другой... драйвер... он тоже инициализирует принтер далеко не всегда сразу на конкретном языке управления, том же PCL.
    Конкретный язык он включает только после процедуры первоначальной инициализации...

  22. #22
    Консультант по ИТ Аватар для lubezniy
    Регистрация
    26.09.2004
    Адрес
    г. Москва, ВАО
    Сообщений
    5,385
    Первоначальная инициализация и настройка принтера на работу с конкретным языком происходит, скорее всего, при старте печати документа. Как это происходит, известно одному только драйверу. Windows API рассчитан только на вызов стандартного набора функций драйвера устройства. Порядок общения с принтером на более низком уровне определяется разработчиком драйвера. Прикладной программист часто не знает, какой принтер будет подключен к системе, на которой должно работать его ПО, и потому универсальности ради прикладной программе должно быть всё равно, сколько у принтера лотков, есть ли дуплексер и т. д.
    Кроме того, рекомендую обратить внимание на то, что у многих навороченных принтеров существуют специальные вкладки в окне свойств принтера. Эти вкладки есть часть программного обеспечения от разработчика конкретной модели принтера, и только он (разработчик) может знать, какими возможностями принтер обладает, помимо тех, что предусмотрены виндой, и как эти возможности (в их числе работа с дуплексером, сервисные функции и т. д.) включать/выключать или настраивать. В принципе, это можно реализовать и прикладными средствами, кидая команды непосредственно в порт, но будет ли 1С писать своё ПО под конкретную модель конкретного принтера?
    Другой момент: есть ли в языке 1С выход на Windows API? Если есть, можно попытаться это использовать, получив из языка handle принтера и вызывая функции Windows API в контексте данного устройства, чтобы задавать параметры (их там, наверное, около сотни). Но здесь мы, хоть и получаем большую гибкость в работе, всё равно утыкаемся в ограничения Windows API для печати.
    С уважением,
    Виктор

  23. #23
    Клерк
    Регистрация
    30.12.2005
    Сообщений
    9
    Бла бла бла в итоге выходит что прав я
    кстати через скрипты чтото не фика не получается вин апи... может быть стоит попробовать.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)