helpf.pro
Регистрация
 +5 
Распечатать

Вывод колонтитулов программно ВерхнийКолонтитул, НижнийКолонтитул

Колонтитул является специальным текстом, выводимым вверху или внизу каждой страницы при выводе документа на печать. В тексте колонтитула можно использовать следующие управляющие конструкции:
[&НомерСтраницы]] ([&PageNumber]]) - при печати в данном месте будет выведен номер страницы,
[&СтраницВсего]] ([&PagesTotal]]) - при печати в данном месте будет выведено общее количество страниц,
[&Дата]] ([&Date]]) - при печати в данном месте будет выведена текущая дата,
[&Время]] ([&Time]]) - при печати в данном месте будет выведено текущее время.


Код 1C v 8.х
 
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ЗаявкаНаОплату");
//...
// код заполнения табличного документа
//...

ТабДок.НижнийКолонтитул.НачальнаяСтраница = 1;
ТабДок.НижнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Низ;
ТабДок.НижнийКолонтитул.ТекстВЦентре= строка(ИмяПользователя())+" [&Дата] - [&Время]";
ТабДок.НижнийКолонтитул.ТекстСлева="?";
ТабДок.НижнийКолонтитул.Выводить = Истина;
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 25867
 +5 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 0
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
Посмотреть все результаты поиска похожих
Комментарии
alina
19.09.2012 10:53Комментарий: 5
alina
Можно выложить обработку с кодом? Просто у меня не совсем получается, хотелось бы понять почему.. Заранее спасибо!
E_Migachev
02.02.2012 12:57Комментарий: 4
E_Migachev
MasterOL, верхний "колонтитул" можно сделать например так (если отталкиваться от свойства табличного документа - ПовторятьПриПечатиСтроки)
1. Макет. первая строка - область КартинкаВерхКолонтитул. Со второй прочие области для работы.
Код 1C v 8.х
 ТабДок = Новый ТабличныйДокумент();
ОбластьКартинка = Макет.ПолучитьОбласть("КартинкаВерхКолонтитул");
...
ТабДок.Очистить();
ТабДок.Вывести(ОбластьКартинка); //вывести первой

...//прочее заполнение табдок

ТабДок.ОбластьПечати = ТабДок.Область(2, 1, ТабДок.ВысотаТаблицы,ТабДок.ШиринаТаблицы); //чтобы не повторялось

обл = ТабДок.Область("КартинкаВерхКолонтитул"); !!!
ТабДок.ПовторятьПриПечатиСтроки = обл;
ТабДок.Показать("Мой отчет");

Для вывода нижнего используй проверку:
В коде печ формы вместо :
Код 1C v 8.х
 ТабДок.Вывести(Секция);   

Ставим написанную процедурку:
Код 1C v 8.х
 ВыводСПроверкой(ТабДок,Секция);   

Сама процедура:
Код 1C v 8.х
  Процедура ВыводСПроверкой(ТабДок,СекцияВывод)
М = Новый Массив;
М.Добавить(СекцияВывод);
М.Добавить(СекцияНиз);
// Проверим, уместится ли строка на странице или надо открывать новую страницу
Если Не ТабДок.ПроверитьВывод(М) Тогда
Если СекцияВывод=СекцияДоп Тогда
Возврат
КонецЕсли;
ВыводСПроверкой(ТабДок,СекцияДоп);
ТабДок.Вывести(СекцияНиз);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
ТабДок.Вывести(СекцияВерх);
КонецЕсли;
ТабДок.Вывести(СекцияВывод);
Если СекцияВывод=СекцияДоп Тогда
ВыводСПроверкой(ТабДок,СекцияДоп);
КонецЕсли;

СекцияВерх наша секция с картинкой - аля верхний колонтитул
СекцияНиз наша секция с картинкой - аля нижний колонтитул
СекцияДоп секция "пустая строка с высотой 1" - для того что бы нижний колонтитул всегда ровно ложился.
MasterOL
02.02.2012 10:49Комментарий: 3
MasterOL
Картинку в колонтитул можно вывести?
E_Migachev
28.07.2010 13:49Комментарий: 2
E_Migachev
Dymok, Задвоено ), исправил
Dymok
28.07.2010 12:32Комментарий: 1
Dymok
Хорошо, не понял только зачем два раза
Код 1C v 8.х
 ТабДок.НижнийКолонтитул.Выводить = Истина;   

Достаточно и одного
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.