Вход | Регистрация

1С:Предприятие ::

Метки:

ПечатьНаМатричномПринтере

Я
   Sh_s
 
24.12.03 - 02:07
Есть такая ПроцеДура в глобальном:

ПечатьНаМатричномПринтере(Табл, Ширина) Экспорт
    ЧислоСтрок=0;
     ФайлДляПечати=СоздатьОбъект("Текст");
……….
……….
……….
       
В документе реализую так:

//*********************************************************************************    
Таб=СоздатьОбъект("Таблица");
    Если НаМатричномПринтере=1 Тогда
        Таб.ИсходнаяТаблица("Таблица");
        Таб.ТолькоПросмотр(1);
        Таб.Вывести();
        Таб.Показать("Таблица",""); 
        
        ШиринаСтолбцовТаблицы=СоздатьОбъект("СписокЗначений");
        ШиринаСтолбцовТаблицы.ИзСтрокиСРазделителями("5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,");
        ПечатьНаМатричномПринтере(Таб, ШиринаСтолбцовТаблицы);
//*********************************************************************************    
все Вери гуд, НО КАК  увеличить и уменьшить шрифт ??????
если я правильно понял, то тип шрифта – Elite, задается в ПечатьНаМатричномПринтере(Табл, Ширина) Экспорт. Мож там и размер тиснуть можно!?

А ещё  таблица кривая, типа:

Как надо
|------------|------------|------------|------------|
|                                                                  |
|                                                                  |
|------------|------------|------------|------------|
|                |                |                |                |
|                |                |                |                |
|________|________|________|________|

Как Получается
|------------|------------|------------|------------|
           |                                                                  |
           |                                                                  |
|------------|------------|------------|------------|
      |                |                |                |                |
      |                |                |                |                |
|________|________|________|________|

Помогите исправиться !!!!
 
  Рекламное место пустует
   Vser1
 
1 - 24.12.03 - 02:41
На матричном принторе нельзя использовать символ табуляции!!!!!.Только пробел, он игнорирует данный код.
   Sh_s
 
2 - 24.12.03 - 10:23
Да нет там табуляции все беердся из таблици 1С. Там рамки. Они как-то обрабатываятся и получается (|) но как со сдвигом бороться ?.
Блин в Как надо и то не как надо получилось. Сори.
   gr13
 
3 - 24.12.03 - 10:29
Слушай на ИТС в помощи есть как правильно печатать на матричном принтере. точно не помню, но суть в том, что ты сначала экспортируешь таблицу во временный текстовый файл и печатаешь уже его. Это получается гораздо быстрее, плюс думаю ты знаешь, что есть специальные символы, которые управляют печатью на матричном принтере. Думаю с помощью их можно выставить и размер шрифта. По поводу что это за символы, не спрашивай, сам с ними не работал, но сталкивался с проблемой такой печати на лазерном принтере.
   GrayT
 
4 - 24.12.03 - 10:44
Возможно надо использовать моноширинный шрифт?
   Vser1
 
5 - 24.12.03 - 12:20
(3) Добавление по символам, команды принтера называются ESC-последовательностями, для каждого принтера они могут сильно отличаться. Наиболее известны команды для принтеров фирмы Epson, если у тебя подобный агрегат, проблем быть не должно во всех инструкциях они описаны.
(0)(2)А смыс выделения особых методов печати на матричный принтер? Если он установлен в винде, то проблем быть вобще не должно, работай точно также как и с лазерным и прочим другим принтером, обращайся к нему через винду и таблицы гони графикой, а не псевдосимволами (если я правильно врубился в суть вопроса).
   Sh_s
 
6 - 24.12.03 - 15:29
Для (3) Не нашел в ИТС чето.
(4) Вроде вариант верный. Спасибо.
(5) Структура дока сложная и формат А3 (2 стороны) на печать уходит 10-12 мин. Это 1 док. а за день чем > тем лучше.
(3) Про размер шрифта тоже так думал, поэтому и спросил, может кто сталкивался.
   345
7 - 24.12.03 - 20:08
Пример на ИТС - см т.н. Методическую Конфу...
Esc - смотри в доке на принтер. ими включается размер, межстрочное, выделния и прочая хрень ...

P.S. - попадаются нерусифицированные принтеры (печать из Дос на русском - теперь редко)

М.б. проблема с кодировкой - в принтере прошивается как правило, ДОС кодировка русских.. См кодировку текста ...

Остальное смотри в методичке ....
   Vser1
 
8 - 25.12.03 - 02:33
Если я правильно разглядел рисунок, проблема в том что смешается начальное положение печатающей головки после каждой строки (блока строк).
Вероятные причины данного явления:
1.Предыдущая строка не вошла по количеству символов и часть ее была перенесена на следующую (для проверки, измени тип шрифта на принтере, поставь уплотненный). Возможно на принтере некоректно выставлен ДИП-переключатель "автоматический перевод строк" (в LX-1050 точно есть, про остальные надо читать мануал).
2.Программа некоректно формирует начало строки устанавливая головку в определенные положения, для проверки неплохо взять другой принтер, можно даже лазерный А4, и вывести также на печать, половину листа с началом таблицы в любом случае будет видно (на некоректное отображение кирилицы внимание можно не обращать).


Список тем форума
 
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует