Убрать колонтитул с последней страницы 1с
Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.
Вначале задача была просто выводить нижний колонтитул для одной страницы, обычно с изменяемой по высоте в зависимости от содержания высотой. Алгоритм был таким: функция на вход получала массив областей печати и в цикле уменьшая размер массива снизу пыталась вывести их все плюс область подвала, когда это удавалось функция в зависимости от параметров уходила в рекурсия пытаясь вывести оставшийся контент, либо завершала свою работу и возвращала массив с оставшимися не выведенными областями.
Когда решив использовать функция для вывода всего содержимого страницы, а порой двух, трёх, четырёх. Выявились у этого алгоритма огрехи, частично из-за проблем самой платформы с. Функция проверки возможности вывода ТабличныйДокумент.ПроверитьВывод(МассивДляПроверки) всегда возвращает клади Ложь если перед этим в ТабличныйДокумент не было выведено ни одной области. На массивах с большим количеством областей печати, код мог иногда выводить содержимое частично, оставляя 1/2 - 1/4 страницы не занятой, всё как обычно - ТабличныйДокумент.ПроверитьВывод(МассивДляПроверки) возвращала Ложь.
Было решено полностью переписать алгоритм функции, что только положительно сказалось на читаемости кода. избавился от рекурсии и выше перечисленных ошибок вывода.
Область колонтитула прижимается к низу страницы многократным выводом тоненькой пустой области печати, 1/5 стандартной высоты строки.
Вывод ускоряем строками разной высоты, на примере они раскрашены разными цветами.
Пример использования вывода:
Плюсы моего решения:
- Выводит в колонтитулы абсолютно любую область с любым содержанием.
- Запрет вывода колонтитула на первой и последней странице. Актуально для договоров, когда на каждой странице кроме последней выводишь подписи сторон.
- Прижимание области колонтитула к низу страницы.
Хотя минусов и больше, но возможности плюсов перевешивают их, и сейчас я использую этот код во многих печатных формах. Считаю, что и тебе он поможет в реализации своих идей с красивым выводом контента.
П.С. Тестировалось на платформе: 8.3.9.2170.
В обработке бонусом идёт функция проверки существования макета печатной формы, схожий в действии с функцией - ОбщегоНазначения.ЕстьРеквизитДокумента(), только ищет макет. Легко модернизируется на получение самого макета.
П.П.С. Обращение к разработчикам 1С. Добавьте к своему функционал печати возможность указать как начальную, так и конечную страницу вывода колонтитула, + возможность указанием в качестве шаблона произвольной области макета.
П.П.П.С Внесены доработки для работы кода в глобальном модуле. с.м. процедуру печати
Собственно сабж.
Кол-во страниц в документе может меняться от 1 (разрыв раздела не подходит) до бесконечности.
Word 2010.
Как сделать чтобы колонтитул был только на последней странице в листе в ворде?
Подскажите пожалуйста как сделать чтобы колонтитул был только на последней странице в листе в ворде.
Помогите пожалуйста убрать верхний колонтитул на последней странице
Я только начинаю программировать в access, поэтому слудующая задача поставила меня в тупик.
Колонтитул только для одной страницы
Доброго времени суток форумчане. Подскажите кто знает как в word вставить колонтитул только для.
Не печатать номер страницы на последней странице
Здравствуйте, как убрать номер последней страницы чтоб не печатался. в документе 5 страниц, при.
Если нужно только на последней странице, то без разрыва раздела не обойтись. В последнем разделе и должна быть одна страница.
Что нужно отобразить в колонтитуле? Если текст, то можно вывернуться полями без использования разрыва раздела
Решение
Решение
Попробовал повторить ваш опыт, результата нет. Хотя ваш документ работает на ура
Получилось ) уж не знаю почему, но очередной раз повторяя все с 0 - заработало. видимо неприметная ошибка синтаксиса была)
Ситуация: занимаюсь делопроизводством, прием-отправка писем.
Требуется: Создать шаблон (бланк) документа, вроде представленного ниже, где в нижнем колонтитуле должна быть подпись исполнителя.
Вся сложность в том, что письма могут быть на 1 листе, могут на 2-3 листах, но колонтитул с подписью должен быть только на последнем листе, в две строчки. Нужно так сделать, чтоб исполнитель не парился ни о чем, просто печатал свой текст по работе, а подпись уже была готовой.
Файл, что выложила ув. Fairuza, хорош тем, что документ можно печатать сколько хочешь, лишь потом меняешь колонтитул, который всегда будет только на последнем листе, но это немножко не то, что надо бы. В общем-то и этот вариант подойдет, если его в 2 строчки сделать, но что-то у меня этот код не работает, ввожу через ctrl+f9, жму закрыть и в поле колонтитула показывается весь код вместо требуемой части.
Есть какие мысли по всему этому?
в нижнем колонтитуле должна быть подпись исполнителя.
Вся сложность в том, что письма могут быть на 1 листе, могут на 2-3 листах, но колонтитул с подписью должен быть только на последнем листе, в две строчки.
Единственно - нужно в настройках ворд указать автообновление полей при печати (при добавлении страниц поле обновится само, а вот при удалении до одной страницы - само не обновляется).
Dinoxromniy, благодарю! Ваш файл работает на ура, как и файл от Fairuza, но создать такой же все никак не удавалось, пишет весь код в колонтитуле и все тут. И пробелы убирал/добавлял, не помогало, а секрет оказался прост: нужно всего лишь нажать ALT+F9!
Всё, шаблончики всем сделал, разослал, надеюсь, все будет оки-доки. Всем еще раз спасибо!
KAN-2016, смысл вероятно такой: все фигурные скобочки нужно создавать сочетанием ctrl+f9, которое создает сразу две фигурных скобочки, и затем вписывать туда весь остальной текст. С клавиатуры фигурные скобочки вводить не надо - работать не будет. Сочетание alt+f9 переключает между отображения кода и его значения.
Удалить все символы строки до последней точки, и взять символы, идущие только после последней точки
Имеется текст примерно такого вида : attachment; filename="Subway_Surfers_1.26.0_money.apk" нужно.
Как добавить файл на сайт ucoz последней странице
помогите пожалуйста как добавить файл на сайт ucoz последней странице
Как на первой странице отобразить номер последней страницы
Проблема заключается в том, что нумерация идет со 2 страницы и на титульнике нужно отобразить.
Вывод только последней строки результата команды
Добрый день Мне необходимо вывести только последнюю строку при выполнении команды, подскажите.
Милые коллеги, не будете ли так любезны подсказать бухгалтеру, кот. "сам себе режиссер", (как это часто бывает),как убрать колонтитулы из печатных форм. Очень мешает, если, скажем, выгрузка в ф-те xls.
Если необходимо убрать колонтитулы в самом Excel. то в меню Вид -> Колонтитулы для верхнего и нижнего колонтитула укажите значение "нет"
C EXEL нет проблем. Хотелось бы из программы получать лист без колонтитулов. Я думаю, что это возможно скорее всего.
Тогда скажите какой именно документ вы хотите получать? что бы я у себя опробовала и сказала вам точно
Оборотки в основном, анализ счета по субконто.
Открываем таблицу отчёта в конфигураторе. Далее:
Гл. меню - таблица - колонтитулы - .
и правим или удаляем
В конфигураторе можно не менять,что бы не было проблем при обновлении. Достаточно перед печатью в параметрах страницы установить колонтитулы сверху и снизу 0.
А можно, сформировав отчет, в меню Вид отжать "только просмотр". затем в меню таблица -> колонтитул убрать вывод колонтитулов (как верхних так и нижних)
Спасибо за помощь!
Читают тему:
Мероприятия
- Где купить СОФТ
- Вакансии фирм-партнеров "1С"
- Центры Сертифицированного Обучения
- Интернет курсы обучения "1С"
- Самоучители
- Учебный центр № 1
- Учебный центр № 3
- Сертификация по "1С:Профессионал"
- Организация обучения под заказ
- Книги по 1С:Предприятию
При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.
Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.
Редакция уважает мнение авторов, но не всегда разделяет его.
Дизайн сайта
Мы используем файлы cookie, чтобы анализировать трафик, подбирать для вас подходящий контент и рекламу, а также дать вам возможность делиться информацией в социальных сетях. Если вы продолжите использовать сайт, мы будем считать, что вас это устраивает.
Пример рекурсивной функции, при помощи которой в табличный документ можно выводить верхний или нижний колонтитулы с произвольным содержимым, а также делать повтор шапки таблицы (или таблиц, если их несколько).
В данной статье будет приведен пример рекурсивной функции, при помощи которой в табличный документ можно выводить верхний или нижний колонтитулы с произвольным содержимым, а также делать повтор шапки произвольной таблицы в документе (или таблиц, если в документе их несколько).
Сразу уточню, что функция не тестировалась на очень объемных документах, поэтому, если кто-то проведет такое испытание, пожалуйста, напишите результаты в комментариях.
Задача состояла в следующем:
1) выводить не очень большой табличный документ (до 30 листов) с несколькими таблицами,
2) на каждой странице в колонтитуле добавлять нумерацию (если страниц больше одной) и картинку (QR-код) (в том числе корректно выводить нижний колонтитул на последней странице),
3) если какие-либо из таблиц переносились на следующую страницу, необходимо было производить повтор шапки переносимой таблицы, при этом не допустить, чтобы на предыдущей странице осталась только шапка без хотя бы одной строки данных в ней,
4) предусмотреть возможность вывода произвольного верхнего колонтитула (изначально макетом заложен не был).
В частности, это была печатная форма электронной зачетной книжки студента с разбивкой по курсам и семестрам.
Статей на данную тему с примерами вывода колонтитулов и повторов шапки таблицы в интернете, в том числе и здесь на Инфостарте довольно много. Однако, когда возникла описанная выше задача, готового варианта реализации всех названных условий не нашлось (лишь фрагментарно), поэтому был написан некий свой универсальный вариант.
Основным источником идеи для алгоритма был этот пост на Инфостарте от Игоря (за что ему большое спасибо!) под названием "Что делать если в табличный документ нужно выводить колонтитулы с картинками".
Привожу код получившейся основной рекурсивной функции вывода в табличный документ колонтитулов и повторения шапки таблицы:
Как использовать данную функцию
Что понадобится задать в макете для использования функции:
1) область пустой строки,
2) область верхнего колонтитула с произвольным содержимым,
3) область нижнего колонтитула с произвольным содержимым,
4) области шапок таблиц.
В коде их соответственно зачитываем:
Заполняем колонтитулы значениями параметров, если они присутствуют, например:
При создании табличного документа необходимо задать размер и параметры страницы, чтобы корректно вычислялись страницы при переносе:
Теперь можно формировать табличный документ, обращаясь к функции при построчном выводе данных в ТабДок.
Пример вывода какой-либо области:
Пример вывода таблицы:
Параметр ЗапретВисячихШапокТаблицы в функции задан безусловно в Истина, но при использовании данной функции Вы можете вынести параметр за ее пределы и сделать настраиваемым, главное, что есть такая возможность.
Пример повтора шапки таблицы:
Почему в задаче был упомянут корректный вывод нижнего колонтитула на последней странице? Потому что при тех способах, что советовали в других статьях (например, просто добавить область нижнего колонтитула к последней выводимой области в документе) получалось, что колонтитул отображался не в самом низу страницы, а там, где закончился документ (например, где-нибудь посередине, а бывало и в вверху). В указанной функции для этого используется область пустой строки (т.е. последняя страница "дополняется" до самого низа пустыми строками и только в самом конце выводится нижний колонтитул).
Вот пример вывода последней страницы:
Поэтому, после вывода всех данных в табличный документ делаем завершающий вызов функции, если нужно корректно завершить страницу с нижним колонтитулом:
Дважды щелкните в области верхнего или нижнего колонтитула первой страницы.
Проверьте, выбран ли параметр Особый колонтитул для первой страницы. Если нет:
Установите флажок Особый колонтитул для первой страницы.
Содержимое верхнего или нижнего колонтитула на первой странице удаляется.
Примечание: Параметр "Особый колонтитул для первой страницы" является переключателем, поэтому убедитесь, что он включен.
Добавьте новое содержимое в верхний или нижний колонтитул.
Для выхода нажмите кнопку Закрыть окно колонтитулов или клавишу ESC.
Изменение или удаление колонтитулов с одной страницы (не первой)
Чтобы удалить или изменить колонтитулы на отдельных страницах документа, сначала добавьте разрыв раздела.
Важно: Разрывы разделов отличаются от разрывов страниц. Если перед страницей, на которой необходимо изменить колонтитулы, уже есть разрыв страницы, удалите его и добавьте разрыв раздела, как указано ниже.
Щелкните или коснитесь в том месте, где необходимо создать страницу без колонтитулов.
Чтобы создать разрыв раздела, на вкладке Макет щелкните Разрывы и выберите пункт Следующая страница.
Дважды щелкните область верхнего или нижнего колонтитула, чтобы открыть вкладку Колонтитулы.
Нажмите Как в предыдущем разделе, чтобы отключить связь между разделами.
Выберите Верхний колонтитул или Нижний колонтитул и выполните одно из следующих действий.
Выберите Удалить верхний колонтитул или Удалить нижний колонтитул.
Добавление или изменение содержимого в колонтитулах
(Повторите шаги 3–5, если вы хотите удалить или изменить как верхний, так и нижний колонтитул.)
Чтобы вернуться к основному тексту документа, выберите Закрыть окно колонтитулов или нажмите клавишу ESC.
Изменение или удаление колонтитулов с первой страницы
Откройте вкладку Колонтитулы, дважды щелкнув в области верхнего или нижнего колонтитула (вверху или внизу страницы).
Проверьте, выбран ли параметр Особый колонтитул для первой страницы. Если нет:
Установите флажок Особый колонтитул для первой страницы.
Содержимое верхнего или нижнего колонтитула на первой странице удаляется.
Введите новое содержимое в верхний или нижний колонтитул.
Чтобы вернуться к основному тексту документа, выберите Закрыть окно колонтитулов или нажмите клавишу ESC.
Изменение колонтитулов на одной странице (не первой)
Чтобы изменить колонтитулы на отдельных страницах документа, сначала добавьте разрыв раздела.
Важно: Разрывы разделов отличаются от разрывов страниц. Если перед страницей, на которой необходимо изменить колонтитулы, уже есть разрыв страницы, удалите его и добавьте разрыв раздела, как указано ниже.
Щелкните или коснитесь в том месте, где необходимо создать страницу без колонтитулов.
Чтобы создать разрыв раздела, на вкладке Макет щелкните Разрывы и выберите пункт Следующая страница.
Откройте вкладку Колонтитулы, дважды щелкнув в области верхнего или нижнего колонтитула (вверху или внизу страницы).
Нажмите Как в предыдущем разделе, чтобы отключить связь между разделами.
Выберите Верхний колонтитул или Нижний колонтитул и выполните одно из следующих действий.
Выберите Удалить верхний колонтитул или Удалить нижний колонтитул в нижней части меню.
Измените Верхний колонтитул или Нижний колонтитул.
(Повторите шаги 2–5, если вы хотите изменить как верхний, так и нижний колонтитул.)
Чтобы вернуться к основному тексту документа, выберите Закрыть окно колонтитулов или нажмите клавишу ESC.
Верхний и нижний колонтитулы на первой странице после разрыва раздела будут изменены.
Читайте также: