Макеты()

1. Kami4 07.03.13 10:52 Сейчас в теме
Здравствуйте.Весь интернет обшарил ни чего не нашел на следующий вопрос.Надеюсь на ваш опыт.

Имеется Макет документа.
Как сделать так,чтобы верхний и нижний колонтитулы всегда оставались на последующих листах,в случае если на Лист1 не помещается информация,при печати.

Ниже приведена картинка:
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. deniseek77 86 07.03.13 10:55 Сейчас в теме
(1) Kami4, Посмотрите ПовторятьПриПечатиСтроки
4. Kami4 07.03.13 11:23 Сейчас в теме
(2) deniseek77, Отлично) Разобрался)При помощи функции ПовторятьПриПечатиСтроки
Сделать вот такую вставку:

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

Спасибо Вам!)))
5. deniseek77 86 07.03.13 12:04 Сейчас в теме
(4) Kami4, Вот пример, как обещал, кривой, но смысл, я думаю уловите
Прикрепленные файлы:
М11.epf
6. deniseek77 86 07.03.13 12:08 Сейчас в теме
(4) Kami4, А, не...вообще не так
7. Kami4 07.03.13 12:35 Сейчас в теме
8. deniseek77 86 07.03.13 12:36 Сейчас в теме
(7) Kami4, в этой печатной форме не считаются строки- ошибся.
9. Kami4 07.03.13 12:39 Сейчас в теме
(8) deniseek77, Могли бы код сюда вписать. У меня сейчас тут комп не поддерживает 1С 8.2.По этому сижу на 1С 8.1. Было бы лучше если сам код вписать в эту тему.
24. Kami4 11.03.13 14:37 Сейчас в теме
(8) deniseek77,
Здорово!)Отлично )Спасибо Вам))))
Можно ли нижний колонтитул спустить чуть ниже либо использовать его вместо:

ТабДок.НижнийКолонтитул.ТекстВЦентре=Макет.ПолучитьОбласть("R21C1:R31C12");
Прикрепленные файлы:
3. Kami4 07.03.13 10:58 Сейчас в теме
Есть какой нибудь пример,ну чтобы прикручивать "ПовторятьПриПечатиСтрокив" процедуру при печати?
10. Kami4 07.03.13 15:10 Сейчас в теме
В общем заполняю макет из таблицы данных и и при условии что если строк в таблице больше 30-ти,то выводится сообщение.
Но как сделать чтобы если в таблице больше 30-ти то остальные части с данными переходят на следующий лист?

Для Каждого Стр Из Клиенты Цикл
Макет.Параметры.Клиент=Стр.Клиент;
Макет.Параметры.ДатаРождения=Стр.ДатаРождения;
Макет.Параметры.СерияПаспорта=Стр.СерияПаспорта;
Макет.Параметры.Номер=Стр.НомерСтроки;
ТабДок.Вывести(Макет.ПолучитьОбласть("Тело1"));
КонецЦикла;

Если Стр.НомерСтроки>30 Тогда
Сообщить("Выводит сообщение");
КонецЕсли;
11. Kami4 09.03.13 11:42 Сейчас в теме
Ссылка на конфигурацию
Прикрепленные файлы:
TETS.rar
12. HameleonA 104 09.03.13 12:54 Сейчас в теме
Почему именно больше 30? А дальше как(когда будет строк больше 60 и 90 и т.д.)? Или если будут длинные наименования и 30 строк займут не одну , а полторы страницы? Как то неправильно получается.
Ну а вообще посмотрите :
ВывестиГоризонтальныйРазделительСтраниц (PutHorizontalPageBreak)
Синтаксис:
ВывестиГоризонтальныйРазделительСтраниц()
Описание:
Вставляет в результирующую таблицу горизонтальный разделитель страниц.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Пример:
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
13. Kami4 09.03.13 12:58 Сейчас в теме
(12) HameleonA, Ну это пример 30.

К примеру допустим в таблице "Таблица1" 40 строк.
Как сформулировать к примеру на первой странице 30 строк,а на второй странице остальные 10 строчек,при этом оставлять и верхний и нижний колонтитулы?
14. HameleonA 104 09.03.13 13:32 Сейчас в теме
Если настаиваете на цифре 30 то можно попробовать вот в таком цикле сделать:
//Перед строками 31,61.91 и т.д. вставим 
//Нижний колонтитул
//потом разделитель
//потом верхний колонитул
//и продолжим по строчкам таблицы	
НомерСтрокиКратное30 = 31;
	Для Каждого Стр Из Таблица Цикл
		ОбластьГолова.Параметры.Дата=Дата;
		ТабДок.Вывести(ОбластьПуст);
		Если Стр.НомерСтроки = НомерСтрокиКратное30 тогда
			НомерСтрокиКратное30 = НомерСтрокиКратное30+30;
			ТабДок.Вывести(ОбластьНиз);
			ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
	                ТабДок.Вывести(ОбластьВерх);
			ТабДок.Вывести(ОбластьГолова);
		иначе
			Макет.Параметры.Клиент=Стр.Клиенты;
			Макет.Параметры.Номер=Стр.НомерСтроки;
			ТабДок.Вывести(Макет.ПолучитьОбласть("Тело"));
		КонецЕсли;
		
	КонецЦикла;
Показать


За синтаксисом особо не следил. но смысл думаю понятен
15. Kami4 09.03.13 14:19 Сейчас в теме
(14) HameleonA, Уже что-то получается)
Но все же я сейчас Вам скину фотографию что получилось.
Да и еще я убрал
//ОбластьГолова.Параметры.Дата=Дата;
//ТабДок.Вывести(ОбластьПуст);
Прикрепленные файлы:
16. HameleonA 104 09.03.13 14:27 Сейчас в теме
Ну да, правильно что убрали.
Перед циклом выведи секции голова и верх колонтитул и после цикла выведите нижний колонтитул, и тогда получится то, что хотите.
17. Kami4 09.03.13 14:33 Сейчас в теме
(16) HameleonA, Отлично то,что нужно)
Единственно что не так,то что теперь нижний колонтитул находится не на одном месте а на разных местах разных страниц.
И еще строка 31 пропала)

Что нужно изменить,а что добавить???
Прикрепленные файлы:
18. HameleonA 104 09.03.13 19:59 Сейчас в теме
(17) Kami4, 31-ка пропадает , потому что мы ее и не выводим, в цикле , где идет проверка на 30 строку, вставьте:
Макет.Параметры.Клиент=Стр.Клиенты;
Макет.Параметры.Номер=Стр.НомерСтроки;
ТабДок.Вывести(Макет.ПолучитьОбласть("Тело"));
Тем самым выведете 31ую строку.
19. Kami4 09.03.13 22:07 Сейчас в теме
(18) HameleonA,Отлично) Спасибо

Правда вопрос №1 остается открытым:
"Единственно что не так,то что теперь нижний колонтитул находится не на одном месте а на разных местах разных страниц "
Как быть в этой ситуации?
20. HameleonA 104 09.03.13 22:16 Сейчас в теме
(19) Kami4, если все сделали как написано, то все должно вставать ровно,никаких проблем быть не должно.
21. Kami4 09.03.13 22:23 Сейчас в теме
(20) HameleonA, Я просматривал и пробовал и реализовать то что Вы посоветовали, все получается как должно быть кроме нижнего колонтитула. Я как-то встречался с таким параметром как "R1C1:R10C2" но ни когда не использовал их. Может все дело в этом, или тут что-то другое?
22. HameleonA 104 10.03.13 10:21 Сейчас в теме
(21) Kami4, на другой платформе попробуйте
23. Kami4 11.03.13 12:45 Сейчас в теме
Вот выгрузка
Прикрепленные файлы:
1Cv8.dt
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот