Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Исключение при ошибке печати          
logist Подменю пользователя
сообщение 29.02.16, 11:43
Сообщение #1

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

                Попытка
                    ТабличныйДокумент.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
                Исключение
                    Ошибка = Истина;
                КонецПопытки;

Допустим принтер выключен, или по какой-то другой причине, 1С в момент печати выдает окно "Ошибка печати", как поймать эту ошибку? Исключение не срабатывает.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

pablo Подменю пользователя
сообщение 29.02.16, 11:48
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Это ошибка уровня ОС и 1с, вероятно, не сбрасывает такие исключения в транслятор, поэтому перехватывать такой Exception возможно только через некую внешнюю приблуду, которая будет перехватывать сообщения ОС, анализировать и передавать в 1с каким-либо способом (самый топорный - через файл на диске). Скорее всего, ничего готового нет.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

sava1 Подменю пользователя
сообщение 29.02.16, 12:25
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(pablo @ 29.02.16, 11:48) *
ошибка уровня ОС

Это не ошибка - система тупо вставит задание в спулер. Может, попрововать печатать без очереди....
Или проверять доступность принтера до печати.

Сообщение отредактировал sava1 - 29.02.16, 12:26

pablo Подменю пользователя
сообщение 29.02.16, 12:57
Сообщение #4

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

на самом деле, система может выдавать
Цитата
окно "Ошибка печати"
и может не выдавать. Это зависит от установленных драйверов принтера. И да,
Цитата
система тупо вставит задание в спулер
, а уже драйвер может рисовать красивые окошки про ошибки печати. и здесь возможна описанная мной схема, только ловить нужно другие сообщения в другом месте.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

logist Подменю пользователя
сообщение 29.02.16, 13:43
Сообщение #5

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Проблема вообще вот в чем - выполняется печать пакета Табдоков, например их 10, каждый отправляется отдельно, и иногда возникают ситуации что какой-то один не напечатался, например 5й, появилось окно Ошибка печати, тут же пропало и печать пошла дальше, вот нужно отловить этот один пятый, что именно он не напечатался.
Работа с очередью через WMI не подходит, там возвращается вся текущая очередь, и в любом случае в ней все доки имеют одинаковое название.
Опрашивать доступность принтера перед печатью - вроде хорошо, но учитывая условия проблемы - на момент опроса он будет доступен, а через долю секунды когда происходит печать - нет, и может же быть наоборот.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

sava1 Подменю пользователя
сообщение 29.02.16, 13:56
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Вариантов несколько:
1. Просим у мелких (линухов) документацию на спулер или сами отслеживаем код - находим место, где генерится хрень типа ШоуВиндоу (или оные)
и пишем перехватчик.
2. Пишем мелким, чтобы они дописали код (типо СэндМесседж(....)) при ошибках, сами делаем подписку на события.
3. Просим разработчиков (а че нам?) чтобы сразу генерили Внешнее событие для 1с (чтоб нам не извращаться).

Спасибо сказали: logist,

logist Подменю пользователя
сообщение 29.02.16, 14:04
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

sava1, да smile.gif


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 20:54
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!