Сохранение печатной формы документа в файл
Приведенные в статье примеры моделировались в конфигурации « Управление торговым предприятием для Украины » (редакция 1.2). Методика, описанная в статье, актуальна для конфигураций « Бухгалтерия для Украины » (редакция 1.2) и « Управление производственным предприятием для Украины » (редакция 1.3).
В данном разделе описывается методика сохранения печатной формы документа или отчета во внешний файл. Это может понадобиться, например, для передачи счетов на оплату или накладных по электронной почте.
Пример
ООО «Добро» оказывает услугу покупателю ООО «Визио». По договоренности сторон, счет на оплату покупателю организация направляет по электронной почте.
Предварительные действия
Прежде всего, нужно сформировать печатную форму документа. В примере — « Счета на оплату покупателю » (Рис. 1).

Рисунок 1 – печатная форма документа «Счета на оплату покупателю»
После того, как сформированная форма появилась на экране, ее можно сохранить во внешний файл или сразу отправить по электронной почте.
Для отправки документа по электронной почте можно воспользоваться кнопкой «Отправить по e-mail». В появившемся окне настройки отправки печатной формы нужно указать форматы файлов-вложений и текста сообщения (Рис. 2).
Предварительно необходимо организовать доступ к Интернет для отправки сообщений, в справочнике «Учетные записи электронной почты» должны быть зарегистрированы необходимые учетные записи.
Более подробно с настройками электронной почты можно ознакомиться в статье «Получение и отправка писем с помощью встроенной электронной почты».
| Обратить внимание! В конфигурации «Бухгалтерия для Украины» сформированную печатную форму можно отправить по e-mail (обработка «Почта» доступна в меню «Сервис» — «Электронная почта») только после сохранения во внешний файл. |

Рисунок 2 — настройка отправки печатной формы по электронной почте
| ВАЖНО. Отправлять документы по электронной почте с помощью кнопки «Отправить по e-mail» можно только из встроенного почтового клиента. |
Использование встроенного почтового клиента устанавливается с помощью константы «Использование встроенного почтового клиента».

Для сохранения печатной формы документа в файл необходимо нажать кнопку «» («Сохранить») или выбрать пункт «Сохранить как. » в меню «Файл» (Рис. 3).

Рисунок 3 – сохранение копии печатной формы в файл
При нажатии кнопки или выборе пункта меню «Сохранить копию. » будет открыта стандартная форма сохранения файла, используемая в Windows, в которой нужно указать каталог, имя и тип сохраняемого файла (Рис. 4).

Рисунок 4 – указание каталога, имени и типа сохраняемого файла
| Обратить внимание! В конфигурациях «Управление торговым предприятием для Украины» и «Управление производственным предприятием для Украины» возможность сохранения печатных форм в файл доступна только тем пользователям, для которых в «Настройках дополнительных прав пользователей» в группе «Документы» установлено право «Редактирование таблиц» (Рис. 5). |

Рисунок 5 – назначение пользователю права «Редактирование таблиц»
Выбор типа файла
Печатную форму можно сохранить в файлы различных типов. Для выбора типа файла в форме предназначено поле «Тип файла (Save as type)». От типа файла зависит, каким образом будут учтены особенности оформления табличного документа, а также какие программы могут быть использованы для его просмотра и корректировки.
Ниже описаны три типа файлов, наиболее подходящих для сохранения табличных документов.
1. Табличный документ
По умолчанию программа предлагает сохранить файл как табличный документ « 1С:Предприятия » в формате «*.mxl». Сохраненная копия документа будет полностью идентична той, которая формируется программой. При этом файл можно в любой момент откорректировать, открыв с помощью « 1С:Предприятия » или бесплатной программы «1С:Предприятие — Работа с файлами» (Рис. 6).
Особенности:
- сохранение оформления табличного документа;
- возможность корректировки;
- для просмотра требуется «1С:Предприятие 8» или бесплатная программа «1С:Предприятие — Работа с файлами».
| Бесплатная программа «1С:Предприятие — Работа с файлами». Программа предназначена для просмотра и редактирования файлов 1С:Предприятия на тех компьютерах, где система 1С:Предприятие не установлена. Программу можно загрузить бесплатно с сайта «1С:Предприятия» (для перехода на сайт требуется подключение к Интернету). |

Рисунок 6 – сохраненный документ в формате «табличный документ (*.mxl)»
2. Лист Excel
Лист Microsoft Excel (*.xls) — один из распространенных типов табличных файлов. Они могут быть открыты и откорректированы при помощи программы Microsoft Excel (Рис. 7). Кроме того, для просмотра файлов этого типа можно использовать программу Excel Viewer 2003.
Следует иметь в виду, что подход к оформлению табличных документов в «1С:Предприятии 8» и Microsoft Excel имеет существенные различия. Некоторые особенности оформления табличных документов «1С:Предприятия 8», например, различная ширина колонок в разных строках, не поддерживаются в Microsoft Excel. При сохранении табличного документа с таким оформлением в виде листа Excel настройки ширины колонок будут потеряны.
Особенности:
- не поддерживаются некоторые особенности оформления табличных документов «1С:Предприятия 8»;
- для просмотра и корректировки требуется наличие Microsoft Excel или Excel Viewer 2003.
![gl Я P 1 от 23 июля 2015 г. [Режим совместимости] - Microsoft Excel Вставка Разметка страницы Формулы Данные Рецензирование Вид Главная Щa о 0 ES ? Q CD ]Р SS Вставить Буфер обм. г Arial -](https://stimul.kiev.ua/img/materialy_sokhranenie-pechatnoy-formy-dokumenta-v-fayl/image012.png)
Рисунок 7 – сохраненный документ в формате «Лист Excel (*.xls)»
3. Документ HTML
В виде документов HTML «*.htm» обычно оформляются страницы сайтов в Интернете. Любой документ HTML можно просмотреть при помощи обозревателя Интернета, например Internet Explorer (Рис. 8). Многие программы, например Microsoft Word, позволяют редактировать документы HTML.
| ВАЖНО. При сохранении табличного документа не рекомендуется использовать тип файла Документ HTML3. Это устаревший тип файла, используемый в редких случаях, преимущественно для совместимости со старыми версиями обозревателей Интернета. Сохраненные с использованием этого типа файла табличные документы могут при открытии отображаться некорректно. |
Особенности:
- сохранение оформления табличного документа;
- для просмотра не требуется установка дополнительных программ;
- возможность корректировки c помощью Microsoft Word;
- документ HTML может отображаться некорректно при использовании старых версий обозревателей Интернет.

Рисунок 8 – документ в формате «*.htm» в Интернет-обозревателе Internet Explorer
При выборе наиболее подходящего типа файла необходимо учитывать преимущества и недостатки каждого из типов. В примере организация «Добро» отказался от сохранения документа в виде листа Excel, поскольку этот тип файла не поддерживает настройки различной ширины колонок в различных частях счета. Выбор между табличным документом «1С:Предприятия» и документом HTML был сделан в пользу последнего, поскольку для его просмотра не требуется устанавливать дополнительные программы.
- Бесплатная программа «1С:Предприятие — Работа с файлами» (для просмотра требуется подключение к Интернету).
Как сохранить документ из 1С в PDF
Все платформы 1С, начиная с версии 8.2, а следовательно 8.3 и 8.4 могут сохранять табличные документы, печатные формы и отчеты в формате PDF, причем для этого не нужно устанавливать другие программы. Как сохранить из 1С 8.2 в PDF Для этого нужно подготовить документ к печати и перейти в меню “Файл – Сохранить как…” и в […]
Содержание скрыть
- 1. Как сохранить из 1С 8.2 в PDF
- 2. Как сохранить документ из 1С 8.3 в файл PDF
- 3. Куда пропало меню “Сохранить” в 1С 8.3.15
- 4. Как программно сохранить табличный документ в PDF?
Все платформы 1С, начиная с версии 8.2, а следовательно 8.3 и 8.4 могут сохранять табличные документы, печатные формы и отчеты в формате PDF, причем для этого не нужно устанавливать другие программы.
Как сохранить из 1С 8.2 в PDF
Для этого нужно подготовить документ к печати и перейти в меню “Файл – Сохранить как…” и в поле “Тип файла” выберите Документ PDF (*.pdf). Для примера сохраним в программе 1С Управление торговлей, редакция 10.3 печатную форму “Приходный кассовый ордер (ПКО)”:

Как сохранить документ из 1С 8.3 в файл PDF
В платформе 8.3 сохранение происходит аналогично, только здесь меню “Файл – Сохранить как…” находится под кнопочкой со стрелкой внизи в поле “Тип файла” выберите Документ PDF (*.pdf). Дальше, аналогично – в поле “Тип файла” выбрать “Документ PDF.
Если пункт меню “Сохранить как…” недоступен в 1С, то сначала нажмите левой кнопкой мыши в любом месте документа, который хотите сохранить и после этого пункт меню должен стать доступным:

Куда пропало меню “Сохранить” в 1С 8.3.15
После обновления платформы на версию 8.3.15 изменилось расположение пунктов “Сохранить как…”, теперь для его вызова нужно нажать на кнопку с тремя вертикальными точками, в правом верхнем углу формы:

Как программно сохранить табличный документ в PDF?
Часто программистам нужно программно сохранить табличный документ 1С в формате PDF. Для этого нужно использовать метод Записать() и в качестве второго параметра указать ТипФайлаТабличногоДокумента.PDF
Пример программного сохранения из 1С табличное документа в PDF:
Процедура ПримерСохраненияТабличногоДокумента() // Создаем или получаем табличный документ ТабличныйДокумент = Новый ТабличныйДокумент; // . // . здесь должна быть процедура вывода данных в табличный документ // . // Задаем имя файла ИмяФайла = КаталогВременныхФайлов() + "test.pdf"; // Записываем документ в указанный файл, в формате PDF ТабличныйДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); КонецПроцедуры
Канал про 1С появился в telegram

Следите за выходом отчетов и расширений для 1С на новом Telegram-канале здесь. Нас уже более 700 человек!
Программно получить печатную форму документа БП 3.0 (БСП)
Каждый раз это настоящий квест! Потому что система БСП — это что-то анти-человеческое.
Приходится опираться не на логику, а брать в руки отладчик и искать точку, к которой можно привязаться:

Мне нужно было получить печатную форму для трех типов документов, поэтому я вывел в табло название переменных и записал себе их значения.

В итоге функция для программной печати документа получилась такой:
Функция ПолучитьПечатнуюФормуДокумента ( ТекДокумент ) Экспорт
МД = Метаданные . НайтиПоТипу ( ТипЗнч ( ТекДокумент ));
ТекВид = МД . Имя ;
МассивОбъектов = Новый Массив ();
МассивОбъектов . Добавить ( ТекДокумент );
ПараметрыПечати = Новый Структура (); //»ДополнитьКомплектВнешнимиПечатнымиФормами» = ложь
ДопустимыеТипыОбъектовПечати = Неопределено;
Если ТекВид = «СчетНаОплатуПокупателю» Тогда
ИмяМенеджераПечати = «Обработка.ПечатьСчетаНаОплату» ;
ИменаМакетов = «СчетЗаказ» ;
ИначеЕсли ТекВид = «АктСверкиВзаиморасчетов» Тогда
ИмяМенеджераПечати = «Документ.АктСверкиВзаиморасчетов» ;
ИменаМакетов = «АктСверки» ;
ИначеЕсли ТекВид = «РеализацияТоваровУслуг» Тогда
ИмяМенеджераПечати = «Документ.РеализацияТоваровУслуг» ;
ИменаМакетов = «Накладная» ;
//ИменаМакетов = «Акт»;//Для акта
Иначе
Возврат Неопределено;
КонецЕсли;
ПечатныеФормы = УправлениеПечатью . СформироватьПечатныеФормы ( ИмяМенеджераПечати , ИменаМакетов , МассивОбъектов , ПараметрыПечати , ДопустимыеТипыОбъектовПечати );
Возврат ПечатныеФормы . КоллекцияПечатныхФорм [ 0 ]. ТабличныйДокумент ;
КонецФункции
Вывод на печать табличного документа в 1С 8.3. Простой пример.
В массе своей, в прикладных задачах нужно вывести на печать какие-либо данные оформленные нужным образом (например, счет, торговую накладную, акт сверки и т.п.). Для вывода на печать в 1С 8.3. можно использовать табличные документы. В предыдущей статье я показал, как создать макет табличного документа и как правильно его оформить. Нам осталось научиться заполнять его данными и выводить на просмотр для последующей печати. Материал по выводу табличного документа на печать, я решил разбить на две части. В первой части мы разберем простой пример (я бы назвал его учебным), а во втором случае реализуем пример приближенный к реальному. Эта статья — первая часть, в ней мы реализуем простой пример: будем выводить табличный документ на печать, используя команду управляемой формы. Этот вариант имеет следующий недостаток: нельзя вывести печатную форму из списка документов, можно это сделать, только открыв форму документа. Для того, чтобы можно было вывести печатную форму из списка документов, необходимо создать команду документа. Этот вариант мы рассмотрим в следующей статье.
И так, сам макет документа мы уже создали, как это сделано, вы можете узнать в соответствующей статье.
Сейчас мы получим ранее созданный макет, заполним табличный документ 1С по этому макету, и нам останется вывести табличный документе 1С на просмотр для последующей печати.
Мы сделаем упрощенный (учебный) вариант: формирование всего нашего табличного документа будет осуществляться на модуле управляемой формы. Для этого мы на форме документа создадим команду «ПечатьДокумента», которую разместим в командной панели формы.

Для команды ПечатьДокумента создадим два обработчика в клиентском и серверном контексте.

Серверный обработчик переименуем в функцию, в нем мы создадим программно табличный документ 1С, который она и будет возвращать.
&НаСервере функция ПечатьДокументаНаСервере() ТабДок = Новый ТабличныйДокумент; Возврат ТабДок; КонецФункции &НаКлиенте Процедура ПечатьДокумента(Команда) ТабДок = ПечатьДокументаНаСервере(); КонецПроцедуры
Теперь нужно получить макет, созданный в предыдущей статье, для этого мы будем использовать метод менеджера документа ПолучитьМакет.
ТабДок = Новый ТабличныйДокумент; Макет = Документы.ПриходТовара.ПолучитьМакет("Макет"); Возврат ТабДок;
Имейте в виду, что метод ПолучитьМакет напрямую доступен только или в модуле документа, или в модуле менеджера документа. Еще этот метод можно применить, используя менеджер конкретного объекта, как я сделал выше. Непосредственно на форме его использовать нельзя!

Алгоритм заполнения табличного документа будет следующим: мы будем получать нужную область макета, если необходимо заполнять эту область какими-нибудь данными, а потом выводить полученную область в табличный документ.
Напомню, что макет у нас имеет четыре области: Шапка, ШапкаТаблицы, СтрокаТаблицы, Подвал. Области Шапка, ШапкаТаблицы и Подвал будут выведены в табличный документ всего один раз, а область СтрокаТаблицы будет выведена столько раз, сколько строк в табличной части обрабатываемого документа.

Весь код ниже я выполняю между кодом получения макета и возвратом табличного документа.
Получим самую первую область макета, при помощи метода ПолучитьОбласть, где в качестве параметра следует указать название получаемой области.
Шапка = Макет.ПолучитьОбласть("Шапка");
В этой области мы используем шаблон, в котором имеются два параметра: НомерДок и ДатаДок передадим номер документа и дату документа в соответствующие параметры области, используя свойство Параметры нужной нам области. Данное свойство содержит коллекцию параметров табличного документа, и мы можем обращаться к нужному параметру через оператор «.».
Шапка.Параметры.НомерДок = Объект.Номер; Шапка.Параметры.ДатаДок = Формат(Объект.Дата,"ДФ=dd.MM.yyyy");
Мы закончили с областью Шапка, и нам нужно вывести её в табличный документ, делается это при помощи метода Вывести табличного документа, где в качестве параметра указывается выводимая область.
ТабДок.Вывести(Шапка);
Точно также получим область, которая соответствует шапке таблицы, заполнять его не нужно, а мы просто выведем его сразу же в табличный документ.
ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДок.Вывести(ШапкаТаблицы);
Следующим шагом выведем область СтрокаТаблицы, причем эта область должна быть выведена столько раз, сколько строк в табличной части документа. Поэтому мы сначала получим эту область, а потом циклом будем обходить табличную часть, заполнять параметры области и выводить область в табличный документ.
ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы"); Для Каждого стрТовар из Объект.СписокТоваров Цикл ОбластьСтрокаТаблицы.Параметры.Заполнить(стрТовар); ТабДок.Вывести(ОбластьСтрокаТаблицы); КонецЦикла;
В коде выше, мы обошли табличную часть документа, обратившись к ней через основной реквизит Объект управляемой формы (основной формы документа).
Обратите внимание, я использовал метод Заполнить, потому что названия параметров макета совпадают с названиями реквизитов табличной части документа.
Нам осталось получить область Подвал и вывести её в табличный документ.
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ТабДок.Вывести(ОбластьПодвал);
На этом мы закончим работать с функцией на сервере, весь ее код будет выглядеть следующим образом.
&НаСервере функция ПечатьДокументаНаСервере() ТабДок = Новый ТабличныйДокумент; Макет = Документы.ПриходТовара.ПолучитьМакет("Макет"); Шапка = Макет.ПолучитьОбласть("Шапка"); Шапка.Параметры.НомерДок = Объект.Номер; Шапка.Параметры.ДатаДок = Формат(Объект.Дата,"ДФ=dd.MM.yyyy"); ТабДок.Вывести(Шапка); ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДок.Вывести(ШапкаТаблицы); ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы"); Для Каждого стрТовар из Объект.СписокТоваров Цикл ОбластьСтрокаТаблицы.Параметры.Заполнить(стрТовар); ТабДок.Вывести(ОбластьСтрокаТаблицы); КонецЦикла; ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ТабДок.Вывести(ОбластьПодвал); Возврат ТабДок; КонецФункции
Нам осталось доделать клиентскую процедуру ПечатьДокумента: мы будем выводить на просмотр полученный табличный документ при помощи метода табличного документа Показать().
&НаКлиенте Процедура ПечатьДокумента(Команда) ТабДок = ПечатьДокументаНаСервере(); ТабДок.Показать("Поступление товара"); КонецПроцедуры
В качестве первого параметра метода Показать, я указал название, которое выйдет на форме табличного документа.
Проверим, как работает наш код.


Напомню, что я рассмотрел самый простой (учебный) пример вывода печатной формы, следующие примеры будут более приближенные к реальным.
Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Вступайте в мои группы: