Печать отчета с предварительным просмотром на упр.форме
Здравствуйте.
Внешний отчет на управляемой форме, добавлена кнопка Печать,
Процедура ДействияСРезультатомПечатьПросмотр(Кнопка)
ТиповыеОтчеты.ПечатьТиповогоОтчета(ЭлементыФормы.Результат);
КонецПроцедуры
При нажатии на кнопку, форма сразу уходить на печать. Что прописать в процедуре, чтобы была возможность выбрать принтер и посмотреть форму (предварительный просмотр) до печати?
Внешний отчет на управляемой форме, добавлена кнопка Печать,
Процедура ДействияСРезультатомПечатьПросмотр(Кнопка)
ТиповыеОтчеты.ПечатьТиповогоОтчета(ЭлементыФормы.Результат);
КонецПроцедуры
При нажатии на кнопку, форма сразу уходить на печать. Что прописать в процедуре, чтобы была возможность выбрать принтер и посмотреть форму (предварительный просмотр) до печати?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Печать с выбором принтера можно сделать так:
Предварительный просмотр для обычных форм только через меню "Файл" (либо извращения через Shell)
ЭлементыФормы.Результат.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
Предварительный просмотр для обычных форм только через меню "Файл" (либо извращения через Shell)
(2)
пример из рарус альфа
либо извращения через Shell
пример из рарус альфа
// Раскладывает строку, содержащую номер версии приложения на структуру чисел,
// содержащую номер редакции, номер подредакции, номер версии и номер сборки
//
// Параметры;
// ВерсияПриложения - Строка - Строка, содержащая версию приложения
//
// Возвращаемое значение:
// Структура - Структура, содержащая элементы версии приложения
//
Функция РазложитьПолныйНомерВерсии(ВерсияПриложения)
СтрокаВерсии = ВерсияПриложения;
СтруктураВерсии = Новый Структура;
СтруктураВерсии.Вставить("НомерРедакции", 0);
СтруктураВерсии.Вставить("НомерПодредакции", 0);
СтруктураВерсии.Вставить("НомерВерсии", 0);
СтруктураВерсии.Вставить("НомерСборки", 0);
ПозицияТочки = Найти(СтрокаВерсии, ".");
Если ПозицияТочки = 0 Тогда
СтруктураВерсии.НомерРедакции = Число(СтрокаВерсии);
Иначе
СтруктураВерсии.НомерРедакции = Число(Лев(СтрокаВерсии, ПозицияТочки - 1));
СтрокаВерсии = Сред(СтрокаВерсии, ПозицияТочки + 1);
ПозицияТочки = Найти(СтрокаВерсии, ".");
Если ПозицияТочки = 0 Тогда
СтруктураВерсии.НомерПодредакции = Число(СтрокаВерсии);
Иначе
СтруктураВерсии.НомерПодредакции = Число(Лев(СтрокаВерсии, ПозицияТочки - 1));
СтрокаВерсии = Сред(СтрокаВерсии, ПозицияТочки + 1);
ПозицияТочки = Найти(СтрокаВерсии, ".");
Если ПозицияТочки = 0 Тогда
СтруктураВерсии.НомерВерсии = Число(СтрокаВерсии);
Иначе
СтруктураВерсии.НомерВерсии = Число(Лев(СтрокаВерсии, ПозицияТочки - 1));
СтруктураВерсии.НомерСборки = Число(Сред(СтрокаВерсии, ПозицияТочки + 1));
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат СтруктураВерсии;
КонецФункции // РазложитьПолныйНомерВерсии()
// Открывает окно "Предварительный просмотр"
Процедура ОсновныеДействияФормыПредварительныйПросмотр(Кнопка)
ТекущийЭлемент = ЭлементыФормы.ТабличныйДокумент;
// Произведем эмуляцию нажатия клавишь. По ходу дела это единственный способ открыть окно просмотра печати
WHSShell = Новый COMОбъект("WScript.Shell");
WHSShell.SendKeys("%");
WHSShell.SendKeys("~");
СисИнфо = Новый СистемнаяИнформация;
СтруктураВерсииПриложения = РазложитьПолныйНомерВерсии(СисИнфо.ВерсияПриложения);
Если СтруктураВерсииПриложения.НомерРедакции < 8 Тогда
WHSShell.SendKeys("{DOWN 9}");
ИначеЕсли СтруктураВерсииПриложения.НомерРедакции > 8 Тогда
WHSShell.SendKeys("{DOWN 10}");
ИначеЕсли СтруктураВерсииПриложения.НомерПодредакции < 1 Тогда
WHSShell.SendKeys("{DOWN 9}");
ИначеЕсли СтруктураВерсииПриложения.НомерПодредакции > 1 Тогда
WHSShell.SendKeys("{DOWN 10}");
ИначеЕсли СтруктураВерсииПриложения.НомерВерсии < 8 Тогда
WHSShell.SendKeys("{DOWN 9}");
Иначе
WHSShell.SendKeys("{DOWN 10}");
КонецЕсли;
// WHSShell.SendKeys("{DOWN 9}");
WHSShell.SendKeys("~");
КонецПроцедуры
Показать
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот