7.7 Форма для печати на двустороннем принтере

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем vazer, 26 мар 2008.

  1. TopicStarter Overlay
    vazer
    Offline

    vazer

    Регистрация:
    6 фев 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    У меня есть обработка, которая печатает ценники. Но сейчас понадобилось с обратной стороны печатать информацию. Впринципе эту информаию я вывожу. Но для дуплекса надо выводить ее зеркально, чтобы она попадала в рамку каждого ценника.Подскажите, как этого добится.
  2. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    А самый простой способ, Напечатать сначало все лицевые стороны потом "изнаначные" - пользователю для удобства открывать две таблицы, дабы его задача свелась к нажатию кнопки печать 2 - раза и переворачиванием буиаги ? :unsure:
  3. TopicStarter Overlay
    vazer
    Offline

    vazer

    Регистрация:
    6 фев 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Это не самый простой способ с точки зрения использования.
    Принтер дуплексный(HP 1320) и смысл ходить к нему и переставлять бумагу.

    как програмно напечать зеркально вот в чем вопрос.
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    В смысле зеркально???
    Зеркальная печать применяется для печати на обратной стороне пленке. А на твоем принтере нужна обычная печать, единственное что сам принтер переворачивает бумагу.

    Другой вопрос если печатается несколько элементов в горизонталь, то на обратной стороне необходимо эти элементы выводить "наоборот".

    Этот процесс происходит на этапе формирования печатной формы, эта работа требует не столько высокой квалификации, сколько множество проб и попыток.

    подытожим: либо сам занимаешься переформированием печатной формы (основные операторы языка, для организации циклов и условий + все что касается таблиц), либо вызов соответствующего человека.

    PS Чтобы хорошо попадать в рамки, рисуй их только на одной стороне, используй одинаковое по ширине левое и правое поле.
  5. TopicStarter Overlay
    vazer
    Offline

    vazer

    Регистрация:
    6 фев 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Зеркально подразумевал наоборот. Т.е. что бы шла печать справа налево.
    т.е. предложение организовывать вывод пустых строк до того как надо будт выводить нужные(это для обратной стороны). Этим я впринципе и занимаюсь. Просто слишком объемный код выходит, и хотел совета, может есть другие варианты.
  6. TopicStarter Overlay
    vazer
    Offline

    vazer

    Регистрация:
    6 фев 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Вот что у меня вышло на данный момент. Не идеально. Работаю дальше. Но может кому пригодится.

    КолВоПроходов это общее число ценников
    6 это столько у меня входит на лист ценников в длину.(Пока работаю с одним листом и по-этому количество рядов не учитываю)
    Соответсвенно Секции Подпись|Роспись и Подпись|Пусто равны Секции Ценник

    Код:
    КолВоРядов=Цел(КолВоПроходов/6);
    КолВоЯчеек=КолВоПроходов-КолВоРядов*6;
    Таб.НоваяСтраница();
    Если НЕ(КолВоРядов=0) Тогда
    Для РядыЦелые=1 ПО КолВоРядов Цикл
    Таб.ВывестиСекцию("Подпись|Роспись");
    Для СтрокиЦелые=1 По 5 Цикл
    Таб.ПрисоединитьСекцию("Подпись|Роспись");
    КонецЦикла;
    КонецЦикла;
    КонецЕсли;
    Если НЕ(КолВоЯчеек=0) Тогда
    Таб.ВывестиСекцию("Подпись|Печать");
    Для ЯчейкиПустые=1 ПО (5-КолВоЯчеек) Цикл
    Таб.ПрисоединитьСекцию("Подпись|Пусто");
    КонецЦикла;
    Для ЯчейкиЗаполненые=1 По КолВоЯчеек Цикл
    Таб.ПрисоединитьСекцию("Подпись|Роспись");
    КонецЦикла;
    КонецЕсли;
    
    
  7. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Что одной командой этого не сделаешь это факт.
    Направление правильное (но это не большой код :), бывает куда больше)
  8. TopicStarter Overlay
    vazer
    Offline

    vazer

    Регистрация:
    6 фев 2007
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Это уже сократил. Было начально через условия всё.
    работает код хорошо. вот только не получается по-очереди страницы выводить..
    Надо как то присватьь оборотной стороне четные номера :(
  9. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Попробуй вставку разрыва страницы,
    т.е. лицевая сторона + разрыв, оборотная + разрыв, и т.д.

Поделиться этой страницей