Публикации. Публикации Вывод подвала печатной формы в табличный документ

Как делать групповую печать документов в 1С Бухгалтерия 8.3 (редакция 3.0)

2016-12-07T17:58:26+00:00

В 1С:Бухгалтерия 8.3 (редакция 3.0) уже встроена возможность легко и просто распечатывать много документов за один раз.

Делается это очень просто. Вам нужно открыть журнал документов (например, "Кассовые документы"). Далее выделить те документы, которые нужно распечатать и нажать кнопку "Печать" на форме журнала:

Ответы на возможные вопросы:

- Не получается выделить сразу несколько документов в журнале.

Выделяйте, удерживая кнопку CTRL на вашей клавиатуре.

- Мне нужно распечатать документы за весь год. Это что мне их все выделять?

Используя команду "Установить период" из пункта , сделайте, чтобы в журнале остались только нужные вам документы. Теперь нажмите "Ctrl + A ", чтобы выделить все документы в журнале. Готово! Можно печатать. Нужен более сложный отбор? Используйте команду "Расширенный поиск" в том же пункте , вот .

С уважением, (преподаватель и разработчик ).

Каждый электронный документ 1С может быть распечатан на бумагу и делается это с помощью печатных форм 1С. Печатные формы состоят из именованных блоков, например Шапка, Строка и Подвал.

Как сделать печатную форму – уже понятно. Как разбить ее на блоки – тоже. Но как происходит печать в 1С всего этого дела? А особенно – как вывести не просто текст макета, а содержимое электронного документа?

Вот это мы и посмотрит прямо сейчас.

Подготовка макета для печати в 1С

Для начала придется начать с самого простого и заполнить макет для печати в 1С статическим текстом и линиями таблиц. Ведь кто-то должен сделать эту скучную работу?

Размещаем статический текст для печати в 1С

Для начала неплохо было бы разместить название нашей печатной формы. Выделим несколько ячеек в строке, и выберем пункт меню Таблица/Объединить. В результате несколько ячеек будут объединены в одну.

Теперь в этой ячейке напишем название документа. Так как это заголовок, то видимо мы хотим сделать его жирным крупным шрифтом (см. картинку) и разместить посередине.

Размещаем оформление макета для печати в 1С

У нас есть именованная область Строка. В ней при печати в 1С будет выводиться каждая строка таблицы документа Товары. Вероятно мы хотели бы, чтобы таблица выглядела при печати в 1С тоже таблицей? Тогда нужно нарисовать для нее границы.

Для этого выберем ячейки строки и на панели выберем кнопку Границы. Мы выбрали вариант Граница везде – она рисует границы ячеек сразу со всех сторон. Если необходимо ограничиться только одной стороной, то нужно выбрать соответствующую кнопку.

Для того, чтобы линии, которыми рисуются границы были не такие, как стандартные, выделите ячейки и нажмите правой кнопкой мыши. В появившемся меню выберите пункт Свойства.

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

Размещаем картинки и прочую мишуру для печати в 1С

Многие спрашивают – а как разместить на печатной форме 1С что-то кроме текста? Например – картинку.

А очень просто. Мало того, скажу сразу, что штрих-код (если Вам нужно его распечатать) тоже является картинкой.

Поставим курсор на любую ячейку. Выберем меню Таблица/Рисунки. Это целое подменю, которое позволяет вставить на макет для печати в 1С не только картинку или рисованный объект – но и объекты извне 1С, зарегистрированные на компьютере с помощью COM класса (например, элемент управления выпадающий список).

Для тех, кто интересуется созданием на макете сложных конструкций для печати в 1С, загляните также в выпадающее меню Таблица/Настройка печати. Здесь можно задать повторение области на каждой странице, колонтитулы и область печати.

Как разместить содержимое электронного документа при печати в 1С

Для размещения на макете при печати в 1С содержимого электронного документа – используется метод подстановки. Состоит он из двух частей.

Часть первая . Необходимо на макете разместить параметры, в которые Вы будете подставлять значения при печати в 1С.

Поставим курсор в ячейку. Впишем название параметра (одним словом, без пробелов и прочего мусора). Далее войдем в свойства этой ячейки (как — уже говорилось выше) и выберем Заполнение = Параметр.

Часть вторая . Подстановка значений производится не в когда Вы программируете в конфигураторе, а в момент печати документа в 1С. Соответственно с помощью программирования нужно указать 1С что нужно подставить в этот параметр.

Производится это следующим образом:

Макет = ПолучитьМакет("НазваниеМакета");
облКакаято = Макет.ПолучитьОбласть("НазваниеОбласти");
облКакаято.Параметры.НазваниеПараметра = "То что я хочу подставить из базы";

Как Вы видите мы просто получаем по имени сначала сам макет, потом одну из его областей, а потом просто обращаемся к параметру по его названию.

Естественно, значение может быть как строкой или цифрой, так и значением указанным в документе.

Как производится печать макета в 1С

После того, как макет готов, пора задуматься о программировании процесса печати в 1С.

Печать в 1С обычно программируется несколькими процедурами, которые находятся в модуле объекта документа. .

Процедура Печать() обычно имеет пометку Экспорт и управляет печатью документа в 1С с помощью параметра ИмяМакета, в котором передается что хотелось бы распечатать.

Для каждого варианта макета делается процедура ПечатьИмяМакета(), в которой прописана печать конкретного макета. Вот ее мы сейчас и посмотрим.

Программирование печати в 1С состоит из трех пунктов.

Прежде чем печатать электронный документ в 1С, нам нужно запросить его данные из базы данных. Очевидно, чтобы распечатать документ, пользователь обычно «входит» в него (открывает его форму) и нажимает кнопку Печать. Поэтому в процедуре печати можно было бы просто обращаться к реквизитам документа (что это – обсуждали здесь) по имени.

Однако это считается некрасиво, не универсально и т.п. Например, вдруг будет использована обработка массовой печати документов (часто ли такой пользуются?). Поэтому принято в процедуре печати делать запрос к базе данных, который запрашивает данные документа. Например, так:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
Дата,
Номер,
Организация
ИЗ
Документ.ИмяДокумента
ГДЕ
Ссылка = &ДокументДляПечати";
Запрос.УстановитьПараметр("ДокументДляПечати", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Пункт 2. Заполнение макета для печати в 1С

Печать в 1С производится в табличный документ. Это специальный объект 1С, который позволяет выводить таблицы, наподобии Excel, на экран и на печать. Печатается, естественно макет, вернее его области поочередно.

Соответственно нам нужно сначала получить табличный документ, потом макет. Поочередно выводим области на печать, заполняя параметры макета.

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ИмяМакета"); //или ПолучитьОбщийМакет("")

облШапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(облШапка);

облСтрока = Макет.ПолучитьОбласть("Строка");
Пока ВыборкаСтрокДокумента.Следующий() Цикл
облСтрока.Параметры.Товар = ВыборкаСтрокДокумента.Товар;
ТабДок.Вывести(облСтрока);
КонецЦикла;

облШапка = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(облПодвал);

Пункт 2. Вывод документа на печать в 1С

Последним пунктом является вывод полученного документа на экран или принтер. В типовых конфигурациях для этого используется типовая процедура (в каждой может быть своя), например, УниверсальныеМеханизмы.НапечататьДокумент().

В других случаях можно просто использовать типовые функции объекта ТабличныйДокумент: ТабДок.Показать() или ТабДок.Напечатать() .

Большинство обучающих материалов по программированию в системе 1С при описании формированияпечатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.

Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.

Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).

Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:

ТабДок . ИмяПринтера = "HP LaserJet 3050 Series PCL 6" ;

При печати пакета документовможно сэкономить время, установив признак разбора по копиям:

ТабДок . РазборПоКопиям =истина;

Число копий можно указать так:

ТабДок . КоличествоЭкземпляров = 5 ;

Разумеется, можно задать поля:

ТабДок . ПолеСлева = 20 ; //Поле слева 20мм, остальные поля 10мм (по умолчанию)

Еще несколько свойств страницы:

ТабДок . ОриентацияСтраницы = ОриентацияСтраницы . Ландшафт ;
ТабДок . ЭкземпляровНаСтранице = 2 ; //на листе будет размещено 2 страницы
ТабДок . Автомасштаб =истина; //аналогично настройкам масштаба «по ширине страницы»

При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати» ).

Свойство «РазмерСтраницы» позволяет задать стандартные форматы страницы - “ A 3”, “A4”, “ A 5” (полный список вариантов доступен в справке 1С).

ТабДок . РазмерСтраницы = "A3" ; // буква А должна быть английской

Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):

ТабДок . РазмерСтраницы = "Custom" ; //нестандартный размер
ТабДок . ВысотаСтраницы = 350 ;
ТабДок . ШиринаСтраницы = 350 ;

Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:

ТабДок . ВерхнийКолонтитул . Выводить =истина; //будет напечатан верхний колонтитул
ТабДок . РазмерКолонтитулаСверху = 7 ; //размер колонтитула 7мм (по умолчанию 10мм)
ТабДок . ВерхнийКолонтитул . ВертикальноеПоложение = ВертикальноеПоложение . Верх ;
ТабДок . ВерхнийКолонтитул . НачальнаяСтраница = 2 ; //колонтитул выводится со второй страницы
ШрифтКолонтитула =Новый Шрифт ("Courier New" , 8 ,Истина);
ТабДок . ВерхнийКолонтитул . Шрифт = ШрифтКолонтитула ; //наклонный шрифт
ТабДок . ВерхнийКолонтитул . ТекстВЦентре = "Верхний колонтитул" ;
ТабДок . ВерхнийКолонтитул . ТекстСправа = "Стр.[&НомерСтраницы] из [&СтраницВсего]" ; //нумерация страниц
ТабДок . ВерхнийКолонтитул . ТекстСлева = "[&Дата]" ; //текущая дата

Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.

1) Непосредственно на принтер:

ТабДок . Напечатать (. НеИспользовать );
ТабДок . Напечатать (истина);

2) Перед печатью будет выведен диалог печати:

ТабДок . Напечатать (РежимИспользованияДиалогаПечати . Использовать );
ТабДок . Напечатать (ложь);

Кроме того можно управлять и разбиением документа на страницы. Оценитьколичество страниц в документе по настройкам текущего принтера можно так:

ТабДок . КоличествоСтраниц ();

С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.

Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.

Принудительно вставить разрывы страниц позволяют методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()» .

Таким образом, можно управлять постраничным выводом на печать и контролировать заполнение страницы:

Если Не ТабДок . ПроверитьВывод (МассивВыводимыхОбластей ) Тогда
ТабДок . ВывестиГоризонтальныйРазделительСтраниц ();
КонецЕсли;

Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.

Программа "1С:Бухгалтерия 8" позволяет настроить групповую печать однотипных документов. Такая необходимость может возникнуть в разных случаях: при завершении месяца, когда надо выставить большое количество актов об оказании услуг и счетов-фактур; при печати платежных поручений на налоги с фонда оплаты труда за головную фирму и представительства и филиалы и т.п. Во всех этих случаях неоходимо произвести в программе определенные настройки. Методисты фирмы "1С" на примере рассказывают, как это сделать.

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

Примечание:
Предприятие, оказывающее консультационные услуги, выставляет клиентам счета-фактуры в конце месяца. Печатные формы счетов-фактур необходимо предоставить клиентам. Бухгалтеру необходимо распечатать все выставленные покупателям счета-фактуры за период с 01.05.2008 по 31.05.2008 включительно.

Для печати всех выставленных покупателям счетов-фактур в меню "Сервис" выберем "Групповая обработка справочников и документов". На закладке "Объекты отбора" в поле "Тип объекта" выберем - "Документы". Теперь необходимо указать, по каким документам будет произведен отбор. При добавлении нового элемента откроется окно со списком документов, в котором выберем документ "Счет-фактура выданный" (см. рис. 1).

Рис. 1

Теперь перейдем на закладку "Отбор". Нам необходимо отобрать счета-фактуры, выставленные за период с 01.05.2008 по 31.05.2008, и исключить из списка счета-фактуры на аванс. При помощи кнопки (или клавиша Insert) в окне отбора добавляем необходимые условия отбора - см. рис. 2.


Рис. 2

При нажатии кнопки "Отобрать" будут отобраны счета-фактуры, удовлетворяющие заданным условиям. Список отобранных счетов-фактур автоматически сформируется на закладке "Обработка" формы "Групповая обработка справочников и документов". Из списка действий выберем "Печать документов" (см. рис. 3).


Рис. 3

Далее следует выбрать "Печать с предварительным просмотром" или "Печать без предварительного просмотра". Для печати реестра отобранных документов следует выбрать соответствующее значение - "Реестр документов".

Теперь нажимаем кнопку "Выполнить", на вопрос "Выполнить печать документов?" отвечаем "Да".

При этом, если выбрано значение "Печать без предварительного просмотра", сразу будет запущена процедура печати документов. Если же выбрано значение "Печать с предварительным просмотром", на экран будут выведены печатные формы всех отобранных счетов-фактур. В этом случае после просмотра документов необходимо запустить процедуру печати из главного меню программы (меню "Файл" -> "Печать"). Если выбрано значение "Реестр документов", на экран также будет выведена печатная форма реестра со списком отобранных счетов-фактур, которую можно распечатать из главного меню программы (меню "Файл" -> "Печать").

Реализованный в "Групповой обработке справочников и документов" алгоритм является универсальным и может использоваться не только для групповой печати документов.

При использовании обработки с группой справочников/документов доступны следующие действия: изменение даты, проведения документа, пометки на удаление, признака принадлежности к налоговому учету, ответственного, комментариев. Этой обработкой можно воспользоваться, например, для группового изменения реквизитов табличной части документов, даты документов.

21 июня 2013

В данной статье, мы хотим рассказать, как можно в программе 1С 8.2 «Управление торговым предприятием» вывести на печать сразу группу документов.

Итак, существует несколько вариантов вывода на печать документов.

  1. Вывод на лист бумаги списка документов з определенного журнала.
  2. Вывод на лист бумаги списка документов из нескольких журналов.
  3. Вывод именно печатных форм документов определенного журнала.

Начнем по порядку:

Первый способ самый простой и очень распространенный. Если нам нужно на один лист бумаги распечатать документы из любого журнала документов, тоесть, чтоб на бумаге все документы выглядели списком как на мониторе.

Для этого переходим в журнал документов, который нас интересует, выбираем нужный период, нажимаем «Действия» и «Вывести список» , или на любой из документов нажимаем правой клавишей мыши, и выбираем пункт контекстного меню «Вывести список» . В появившемся окне флагом (галочкой) отмечаем те колонки, которые мы хотим видеть при печати на бумаге (если сильно много колонок, они просто могут не поместится на лист по ширине, в таком случае колонки которые не поместились на одном листе будут напечатаны на следующем).

Для печати этого списка документов нажимаем на пиктограмму принтера на панели инструментов или комбинацию клавиш Ctrl+P.

Все в таком виде список будет напечатан на бумаге.

Если ситуация требует видеть на одном листе бумаги и заказы и расходные накладные (документы из разных журналов), тогда используем второй метод .

Для такой ситуации нужно перейти в меню:

В появившемся окне (по умолчанию окно открывается пустым) нужно нажать кнопку «Состав журнала» .


Теперь в универсальный журнал входят документы из журнала «Заказ покупателя» и «Реализация товаров и услуг».

Для удобства работы, эта обработка, может выводить в журнал общие строки с выбранных документов.

Например: В документе «Заказ покупателя» есть реквизиты «Организация», «Контрагент», «Договор», и т.д. и в документе «Реализация товаров и услуг» эти реквизиты тоже есть, но значения у них могут отличаться. Соответственно в универсальном журнале выведутся колонки с одинаковым названием в документах, но значения в них будут свои.

Для этого в обработке «Состав журнала» нажимаем кнопку «Заполнить» .

Журнал соответственно заполнится с общими полями


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

Переходим в меню:

Выбираем тип объекта «Документы» и в табличной части выбираем журнал нужных документов, если нужно устанавливаем отборы.


При нажатии кнопки «Отбор» программа отбирает нужные нам документы.

Выбираем действие одно из перечисленных действий «Печать документов» , и вид печати «Печать с предварительным просмотром» , «Печать без предварительного просмотра» и «Реестр документов» . Далее кнопку «Выполнить» .

2024 academy-fundraising.ru. Бизнес академия.