Печать отчёта на выбранный принтер
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
Привет всем !
Хотел бы проконсультироваться по старой проблеме, какое-то время спасали костыли,
но вопрос как-то надо разруливать …
Вопрос: Можно ли как-то вывернуться и напечатать отчёт (структура REPORT) на конкретный принтер ?
Поясню. Есть система печати отчётов: компьютер, к которому подключено несколько разных принтеров
(хороший, плохой, A3, этикеток, чеков и ещё 3 не знаю зачем). Приходит запрос, он обрабатывается
(иногда относительно долго), создаётся отчёт и печатается на заданный в запросе принтер. Всё.
Всё прекрасно работает в моно-режиме, если идёт последовательная обработка и печать по одному заданию (отчёту).
При попытке запустить несколько потоков обработки и печати, предсказуемо возникает накладка с Printer{PropPrint:Device}
Всё перекашивает и заканчивается GPF.
Можно ли (как-то) направить отчёт на заданный принтер без глобальных свойств Printer{PropPrint:Device} ?
Заранее спасибо за идею …
Хотел бы проконсультироваться по старой проблеме, какое-то время спасали костыли,
но вопрос как-то надо разруливать …
Вопрос: Можно ли как-то вывернуться и напечатать отчёт (структура REPORT) на конкретный принтер ?
Поясню. Есть система печати отчётов: компьютер, к которому подключено несколько разных принтеров
(хороший, плохой, A3, этикеток, чеков и ещё 3 не знаю зачем). Приходит запрос, он обрабатывается
(иногда относительно долго), создаётся отчёт и печатается на заданный в запросе принтер. Всё.
Всё прекрасно работает в моно-режиме, если идёт последовательная обработка и печать по одному заданию (отчёту).
При попытке запустить несколько потоков обработки и печати, предсказуемо возникает накладка с Printer{PropPrint:Device}
Всё перекашивает и заканчивается GPF.
Можно ли (как-то) направить отчёт на заданный принтер без глобальных свойств Printer{PropPrint:Device} ?
Заранее спасибо за идею …
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Печать отчёта на выбранный принтер
Судя по справке, после открытия репорта можно применить свойство к конкретному отчёту:Игорь Столяров писал(а): ↑22 Октябрь 2018, 16:52 Можно ли (как-то) направить отчёт на заданный принтер без глобальных свойств Printer{PropPrint:Device} ?
Код: Выделить всё
Report{propprint:Device} = 'HP ...'
Не понять. Надо пробовать.All of these properties can be used with either the PRINTER built-in variable or the label of the report as the target, however they may not all make sense with both.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
Странно однако … я у структуры REPORT такой проперти как "DEVICE" не вижу.
Хотя, это конечно спасло бы отца русской демократии … Подскажите, в каком разделе справки посмотреть ?
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Печать отчёта на выбранный принтер
Report{propprint:Device} постоянно использую
Справка -> Printer Control Properties
Справка -> Printer Control Properties
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
Господа ! Я подозреваю, что имеет место небольшое недоразумение, связанное особенностями
преподавания английского в советских школах. Ну нет такого в справке …
Есть глобальные настройки:
Код: Выделить всё
PRINTER{PROPPRINT:Device} = 'Epson'
Код: Выделить всё
OPEN(SomeReport) !После установки свойств открыть отчет
SomeReport{PROPPRINT:Paper} = PAPER:User !Нестандартный размер бумаги
SomeReport{PROPPRINT:PAPERHeight} = 6 * 254 !6" дюймов высотой
SomeReport{PROPPRINT:PAPERWidth} = 3.5 * 254 !3.5" дюйма шириной
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Печать отчёта на выбранный принтер
C10 смотри PRNPROP.CLW
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
Спасибо, эту справку я видел.
Там как раз и нет описания применения PropPrint:Device к структуре REPORT …
Но учитывая Ваш опыт - я проверил Report{propprint:Device} = 'Название принтера'.
Действительно, если применять после (!!!) открытия отчёта - работает, отчёт перенаправляется. Спасибо !
Вроде бы глобальные настройки печати при этом не меняются … но надо проверить в боевом режиме.
Потому, что лично мне непонятно, что будет если я открою REPORT для принтера с размером листа A4,
а потом перенаправлю его чековый принтер с узкой лентой ...
Там как раз и нет описания применения PropPrint:Device к структуре REPORT …
Но учитывая Ваш опыт - я проверил Report{propprint:Device} = 'Название принтера'.
Действительно, если применять после (!!!) открытия отчёта - работает, отчёт перенаправляется. Спасибо !
Вроде бы глобальные настройки печати при этом не меняются … но надо проверить в боевом режиме.
Потому, что лично мне непонятно, что будет если я открою REPORT для принтера с размером листа A4,
а потом перенаправлю его чековый принтер с узкой лентой ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Печать отчёта на выбранный принтер
то и будет, на 52 или 80мм , а вы чего ожидали?Игорь Столяров писал(а): ↑22 Октябрь 2018, 18:54 Потому, что лично мне непонятно, что будет если я открою REPORT для принтера с размером листа A4,
а потом перенаправлю его чековый принтер с узкой лентой ...
и забывайте возвращать на принтер по умолчанию
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
До сегодняшнего дня я думал, что формат отчёта устанавливается на момент его открытия.
Теперь я в этом уже не уверен ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Печать отчёта на выбранный принтер
он и остается не измененным, принтер честно отпечатает ваш формат, отчет на бумаге будет не того "формата"Игорь Столяров писал(а): ↑22 Октябрь 2018, 19:38 До сегодняшнего дня я думал, что формат отчёта устанавливается на момент его открытия.
Теперь я в этом уже не уверен ...
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
Это жесть. В том смысле, что не правильно это …
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Печать отчёта на выбранный принтер
Тут скорее практика поможет. Справка скудна. Конкретных примеров - ноль. Интересно проверить одновременную посылку на разные принтеры разные отчёты в разных потоках.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7398
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 49 раз
Печать отчёта на выбранный принтер
В принципе - работает. Но смешанное чувство от этого.kreator писал(а): ↑23 Октябрь 2018, 10:59Интересно проверить одновременную посылку на разные принтеры разные отчёты в разных потоках.
Без проблем можно перенаправлять отчёты … только между одинаковыми принтерами.
Иначе получается, что REPORT открывается для листа A4 и потом этот A4 перенаправляется и печатается на принтер этикеток.
Результат - понятен и он не satisfaction …
Конечно можно перед открытием REPORT установить на время PRINTER{PROPPRINT:Device} для создания отчёта в нужном формате …
Но здесь мы опять попадаем на игру "повезёт - не повезёт", просто шансов, что отчёт в другом потоке не собьёт настройки - больше.
Наверно, надо не изобретать колесо, а идти по классическому пути. Т.е. переустановка драйвера принтера в одном месте
с флагами и семафорами.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Печать отчёта на выбранный принтер
не пробовали к отчету подвязать "жестко" принтер
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Печать отчёта на выбранный принтер
А почему так? Если отчёт в A4, зачем его перенаправлять на принтер этикеток? Может надо ещё после открытия отчёта (кроме изменения девайса) и свойства страницы изменить? Посмотрел у себя, что-то подобное есть. Печать типа этикетки на чековый или любой другой:Игорь Столяров писал(а): ↑23 Октябрь 2018, 11:27 Иначе получается, что REPORT открывается для листа A4 и потом этот A4 перенаправляется и печатается на принтер этикеток.
Код: Выделить всё
i# = printer{propprint:Paper}
if i#<>PAPER:User
Report{propprint:Paper} = i#
end
We are hard at work… for you.