Как вывести табличный документ на печать в управляемой форме внешней обработки

Публикация № 394727

Разработка - Практика программирования

управляемые формы внешняя обработка табличный документ печать табличного документа

62
Во внешней обработке формировался табличный документ, и его нужно было вывести на печать красиво.

Добрый день!

Столкнулся с таким вопросом - у меня есть внешняя обработка по загрузке сотрудников из Excel-файла. (кстати, пользовался новым методом 8.3.6, который стал доступен с 8.3.6.1977 - ТабличныйДокумент.Прочитать, за что спасибо публикации //infostart.ru/public/341855/) и весь код был в основном расположен в модуле управляемой формы. А мне нужно было из нее вывести табличный документ с ошибками загрузки на печать, причем метод ТабличныйДокумент.Показать мне не подходил, так как в нем не было никаких кнопок (печать, сохранить, отправить), которые добавляют удобства работы.

 

Во-первых, что делать с макетом? В обычных формах было все просто: Макет = ПолучитьМакет(«ИмяМакета»), в управляемом интерфейсе такого не получится. Подобная конструкция в модуле управляемой формы неизменно вызывает ошибку, в каком бы контексте она не использовалась. Поэтому мне пришлось добавить к обработке реквизит, с типом произвольный и в модуле объекта обработки,  после всех стандартных процедур типа СведенияОВнешнейОбработке() добавить строчку:

//выполняется до открытия формы
РеквизитМакет = ЭтотОбъект.ПолучитьМакет("Макет");

Далее в модуле формы уже обращался к нему стандартно:

//возвращает табличный документ с ошибками
функция ПечатьОшибокСервер(резПроверки) экспорт
ТД=Новый ТабличныйДокумент;	
макет = Объект.РеквизитМакет;
областьМ = макет.ПолучитьОбласть("Область");
областьМ.Параметры.текстошибки =  СокрЛП(резПроверки);
тд.Вывести(областьМ);
конецфункции

А вот затем встал вопрос, как же красиво вывести получившийся ТабличныйДокумент на печать. Стандартные функции для внешних обработок типа УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,    "Макет", "Макет",    ТабДок);  не подходят, но после изучения методом тыка была найдена подходящая в модуле УправлениеПечатьюКлиент (этот модуль есть в ЗУП 3.0, на котором я проверял обработку):

&НаКлиенте
Процедура печатьОшибок(Команда) 
резПроверки = ПроверкаНаСервере();

ТабДокОшибок = ПечатьОшибокСервер("ошибки");	
//массив
коллекция = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
//структура в массиве
структураКоллекции = коллекция .получить(0);
структураКоллекции .ТабличныйДокумент =ТабДокОшибок ;
УправлениеПечатьюКлиент.ПечатьДокументов(коллекция,,ЭтаФорма);
	//не подходит - ТабДокОшибок.показать("Ошибки");
	
КонецПроцедуры 

Весь секрет оказался в том, что в полученную коллекцию надо добавить наш табличный документ в строке структураКоллекции .ТабличныйДокумент =ТабДокОшибок ;  и после этого у пользователя появляется красивая печатная форма:

62

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
1. Dnki 4 02.09.15 20:26 Сейчас в теме
Ключевая фраза публикации: "В обычных формах было все просто: Макет = ПолучитьМакет(«ИмяМакета»), в управляемом интерфейсе такого не получится".

Пишу на обычных формах. И у меня отчеты выводятся не через ТабличныйДокумент.Показать(), и множества других программ.
Но сейчас читаю, и слезы льются: "Куда катится 1С ?!". Неужели для такой простой операции в УФ надо кучу хитрых операторов, расплодившихся процедур?

Я пишу для конечных пользователей. Они понимают, когда работа тяжела сложностью обработки данных, ценят интерфейсные удобства. А потуги в стиле: как через ж...у вырезать гланды не поймут.
И я не могу понять: хочу легко писать программы, максимум усилий на алгоритмы, юзабилити, и минимум усилий на "передать можно только так", "а на сервере (клиенте) этот метод не сработает", "а тут модальность" и т.п.

p.s. Мое ретроградское ворчание не в адрес автора. Простите за оффтоп. Наболело.
vechiy; Perfolenta; mikl79; Wonder; Charity; Rain88; alex-l19041; Kanae; Новичок1с; корум; raystlin; Стил; vasichib; rasswet; A7_Sash; grfsd; shalimski; kgn2011; bulpi; vitaspsp; ya.Avoronov; kit; Dimon2005; cargobird; Danila-Master; rusmil; t278; AlexeyPapanov; +28 Ответить
2. cargobird 289 03.09.15 08:04 Сейчас в теме
(1) Dnki, поддерживаю. И еще оффтоп. При оценке доработки на управляемых формах, как-то автоматом уже получается накинуть процентов тридцать по стоимости и по времени, понимая, что при разработке где-нибудь да на что-нибудь такое напорешься...
Perfolenta; mikl79; alex-l19041; bulpi; +4 Ответить
3. Dimon2005 5 03.09.15 08:07 Сейчас в теме
(1) Dnki, Согласен на все 1000%
p.s. Простите за оффтоп.
4. ya.Avoronov 109 03.09.15 11:18 Сейчас в теме
(1) Dnki, Интересно, а ярые программисты 1С 7.7 тоже в свое время не хотели переходить на 1С 8 с подобными оффтопами?
Все проходит! Все приживается! УФ будут когда-то ушедшим и самым родным для большинства.
И снова оффтопы появятся: В 1С 10.0 на облачных формах этот метод не сработает; Многопоточные вычисления не поддерживают такую передачу данных.
И многое другое и так до бесконечности.
collider; корум; Ukubaeva; cleaner_it; help1Ckr; h00k; vitaspsp; Патриот; +8 Ответить
5. blindcat2006 68 03.09.15 19:46 Сейчас в теме
(4) ya.Avoronov,
Немного не в тему
УФ - ура куча плюсов, пишу много и для тонкого и для 8.2, иногда ругаюсь на толстый что там нет чего-то к чему уже привык в УФ
Поднята тема усложнения нашей работы на пустом месте.
Взять этот же сайт - куча публикаций с подсказками из двух -двадцати строчек, запихнув которые в функцию, и вызывая можно значительно облегчить себе работу. Внимание вопрос ! - почему эти 2-3-5-20 строк нельзя было реализовать на уровне платформы вызовом одной процедуры???
6. ya.Avoronov 109 04.09.15 10:12 Сейчас в теме
(5) blindcat2006,

Взять этот же сайт - куча публикаций с подсказками из двух -двадцати строчек, запихнув которые в функцию, и вызывая можно значительно облегчить себе работу. Внимание вопрос ! - почему эти 2-3-5-20 строк нельзя было реализовать на уровне платформы вызовом одной процедуры???


Могу предположить, что речь идет о большом количестве функций или процедур, которые востребованы единицами, т.е. меньшинством, мыслящей в своем - творческом направлении. Тогда согласен, платформа всячески будет мешать вам. Придется добавить 10-20 строк, чтобы вывести некую печатную форму на экран.
Поправьте меня, но не для того ли существует сертификация в 1С, чтобы программисты не пытались изобретать велосипеды, а пользовались всеми возможностями платформы и быстро решали поставленные задачи. Не думаю, что вашему работодателю нужен некий хай-тек художник на должность штатного программиста.
А в целом вы правы! В 1С, как в жизни - постоянная борьба с несправедливостью платформой.
7. wolfsoft 2420 09.09.15 13:42 Сейчас в теме
(6) ya.Avoronov,
Могу предположить, что речь идет о большом количестве функций или процедур, которые востребованы единицами

Ага, видимо поэтому программисты от 1С потом ваяют в типовых конфигурациях функции типа перевода таблицы значений в массив структур и т.п. При том, что всю эту хрень можно было спокойно реализовать на уровне платформы.
8. йцукенг 09.09.15 16:10 Сейчас в теме
Нужно добавить в структуру

структураКоллекции.СинонимМакета="ИМЯ ФАЙЛА "

чтобы имя файла формировалось при отправке по e-mail
9. vasichib 09.10.15 09:06 Сейчас в теме
10. bsturtle 158 05.07.16 12:15 Сейчас в теме
Ну какой же ты красавчик!! больше двух лет я мог найти этого! Спасибо друг. все получилось
11. Alchemist 15.10.16 08:46 Сейчас в теме
12. Bernstein_13 03.11.16 11:15 Сейчас в теме
Спасибо тебе, добрый человек!!!
13. artik1994 02.11.17 18:03 Сейчас в теме
14. Oleg-and-reevich 4 11.12.17 15:17 Сейчас в теме
Автор, благодарность Вам! Очень помогло. Тоже из обработки нужно вывести отчет по табличной части.
15. Rain88 227 29.01.18 16:13 Сейчас в теме
Может кому пригодится: чтобы при сохранении в файл или отправке письма формировалось имя файла, необходимо добавить строку
структураКоллекции.СинонимМакета = "Желаемое имя";
иначе файл сохраняется, например как ".xlsx"

Автору большое спасибо.
16. semina-2016 07.02.18 22:07 Сейчас в теме
Спасибище человеческое) Красота получается)
17. gkvgkv 4 20.04.18 19:13 Сейчас в теме
18. Ivanov_OM 37 08.05.18 11:05 Сейчас в теме
Спасибо. Пригодилось. Самое главное просто и без лишних параметров.
19. user797130 30.07.18 15:47 Сейчас в теме
20. user869223 31.07.18 14:39 Сейчас в теме
То, что надо! Спасибо, очень выручили!
21. Viking 01.08.18 13:15 Сейчас в теме
Спасибо! Респект дружище! Выручил!
22. kubiky 122 17.10.18 14:48 Сейчас в теме
Спасибо! Очень пригодилось!
23. nisan 31.10.18 20:17 Сейчас в теме
Спасибо!!! Очень полезная статья) Сэкономила много времени!!
24. vmoscalik 14.11.18 13:27 Сейчас в теме
Спасибо тебе огромное, добрый человек! Два дня мучился всяческими извращениями неприятными :-), а оказалось вона как просто. Дай тебе Бог чего пожелаешь!
25. mikl79 107 04.12.18 07:32 Сейчас в теме
26. YalanchidiO 20 17.07.19 23:48 Сейчас в теме
Большое спасибо автору!)
Оставьте свое сообщение

См. также

Полезные процедуры и функции для программиста 160

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Универсальные функции

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019    12139    HostHost    23       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо

Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.

Агрегатные функции СКД, о которых мало кто знает 356

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    16044    ids79    44       

Отслеживание выполнения фонового задания 143

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    13303    ids79    16       

Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо

На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.

777 рублей

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 262

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    18694    ids79    31       

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты 141

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    16838    ids79    8       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 156

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    13857    ids79    27       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Регистры сведений. За кулисами 129

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    11127    YPermitin    12       

"Меньше копипаста!", или как Вася универсальную процедуру писал 183

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    9964    SeiOkami    49       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Создание отчетов с помощью СКД - основные понятия и элементы 217

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    24148    ids79    17       

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 179

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    13708    dmurk    134       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Регистры накопления. Структура хранения в базе данных 178

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    21688    YPermitin    27       

Выполнение внешней обработки в фоновом задании 149

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    13594    Eret1k    23       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    7867    m-rv    2       

Преобразование EXCEL в таблицу значений без COM и других извращений 216

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

Получение таблицы значений из excel в 1С v8, без COM, внешних источников данных и т.д. EXCELВТаблицуЗначений() - За 10 строчек кода! Реализация протестирована на 1С 8.3.12.1714 (x64).

18.04.2019    14807    9    Eret1k    43       

1С:Предприятие через Интернет. 1С:Fresh Промо

Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    10366    m-rv    16       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

О расширениях замолвите слово... 195

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    19010    ellavs    125       

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 202

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    15575    ellavs    83       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Трюки с внешними источниками данных 167

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    16512    YPermitin    53       

Добавление отчетов в типовые конфигурации 1С 209

Статья Программист Нет файла v8::УФ v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Описание различных способов добавления общих и контекстных отчетов в конфигурации 1С, построенные на базе БСП. Основные моменты и нюансы.

07.03.2019    28951    ids79    38       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Функциональные опции 1С 8.3 – все возможные варианты использования 176

Статья Программист Нет файла v8::УФ 1cv8.cf Бесплатно (free) Практика программирования Разработка

Примеры использования функциональных опций для управления интерфейсом и элементами управляемых форм, с различными вариантами хранения значений: константа, реквизит справочника, ресурс регистра сведений.

22.02.2019    19588    ids79    5       

Информирование пользователя. Работа с объектом «СообщениеПользователю» 259

Статья Программист Нет файла v8::УФ 1cv8.cf Бесплатно (free) Практика программирования Разработка

Различные варианты и нюансы использования объекта СообщениеПользователю и другие способы информирования пользователя: без привязки к какой-либо форме и с выводом сообщения в отдельном окне.

15.02.2019    21454    ids79    38