Имя: Пароль:
1C
1С v8
Колонтитулы с картинкой
0 247tsm
 
27.01.13
17:56
Добрый день всем знатокам 1с8.1,

Я не знаток 1с8.1, поэтому возник вопрос.
Мне нужно в колонтитуле выводить картинку и поэтому я использовал не настоящий колонтитул, а область "ОбластьВерхнийКолонтитул" и команду "ПовторятьПриПечатиСтроки":
...
ТабДок.Вывести(ОбластьВерхнийКолонтитул);
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(1,,4);
...

Но я не знаю, как в этой области выводить: [ТекущаяСтраница] из [КоличествоСтраниц], т.к. эта область выводится в начале, а тогда еще не известно КоличествоСтраниц. Кроме того я не знаю, как в этой области задать параметр (функцию), которая бы показывала именно текущую страницу.

Т.е., меня интересует, как при печати не колонтитула, а области получить в этой области запись "страница 1 из 3", затем "страница 2 из 3" и т.д.

Может есть функция типа "приПереходеНаНовуюСтраницу" или что-нибудь подобное.
Если есть соображения, решения, буду очень признателен.

Спасибо
1 mikecool
 
27.01.13
17:59
выведи все - узнаешь сколько страниц, потом на каждую в свой "колонтитул" добавь надпись
2 KUBIK
 
27.01.13
18:01
В типовых смотри, там точно есть
3 247tsm
 
27.01.13
18:04
(1) "на каждую в свой "колонтитул" добавь надпись
" - это как? Наверно, нужно в цикле перейти на текущую страницу, затем в нужную ячейку вставить сформированный текст "страница 1 из 5" и т.д.?
Можно пример программного кода?
4 Vertalex
 
27.01.13
20:02
Тоже есть подобная задача.

Вот какие методы можно попробовать использовать:
ОбластьЯчеекТабличногоДокумента.КонецСтраницы (PageBottom)    
ТабличныйДокумент.ПроверитьВывод(<Таблицы>)    
ТабличныйДокумент.ПроверитьПрисоединение (CheckAttachment)  
ТабличныйДокумент.КоличествоСтраниц

В данном вопросе совершенно не ясно как определить в каком месте происходит переход (разрыв) страницы.

Была такая идея: получаем предварительный ТД, затем построчно получаем из него области-строки и копируем в результирующий ТД, перед этим проверяем это добавление
ТабличныйДокумент.ПроверитьВывод. Если строка не влезает - выводим разрыв страницы ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц() затем шапку (в ней увеличиваем и выводим счетчик текущей страницы).

Немного сложнее (хотя в теории делается аналогично), если один ТД будет содержать несколько "подотчетов" каждый из которых должен содержать свою нумерацию страниц (в пределах "себя")..
5 247tsm
 
27.01.13
20:53
(4) Идея понятна, но не понятно другое. Это же 1С8.1, а не ДОС. Почему так сложно делаются простые вещи? Ведь не у одного меня возникла необходимость вставить в колонтитул рисунок. И что же, разработчики 1C8.1 просто "прошляпили" эту возможность?
Получается замкнутый круг: в колонтитул нельзя вставить рисунок, а при использовании вместо колонтитула области трудно в область вставить номер страницы и количество страниц.

Может есть еще идеи?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан