1с получить номер страницы
Большинство обучающих материалов по программированию в системе 1С при описании формирования печатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).
Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:
ТабДок.ИмяПринтера="HP LaserJet 3050 Series PCL 6";
При печати пакета документов можно сэкономить время, установив признак разбора по копиям:
Число копий можно указать так:
Разумеется, можно задать поля:
ТабДок.ПолеСлева=20;//Поле слева 20мм, остальные поля 10мм (по умолчанию)
Еще несколько свойств страницы:
При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати»).
Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):
Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:
Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.
1) Непосредственно на принтер:ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); ТабДок.Напечатать(истина);
2) Перед печатью будет выведен диалог печати:ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать); ТабДок.Напечатать(ложь);
Кроме того можно управлять и разбиением документа на страницы. Оценить количество страниц в документе по настройкам текущего принтера можно так:
С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.
Если требуется вывести это в самом начале или конце, то самый простой способ использовать колонтитулы.
Колонтитулы
Это автоматически отображаемый в документе текст.
Можно управлять его шрифтом или вертикальным/горизонтальным положением текста в «ячейках» (6 зон)
Для текста существует список доступных «макропеременных»:
Код для вывода колонтитула
Если необходимо вывести счетчик листов внизу/справа, код будет таким:
ТабДок = Новый ТабличныйДокумент ;
ТабДок . ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов_АктСверки» ;
Важно располагать данный код после установки имени настроек печати.
Аналогично делается для верхнего колонтитула и других частей.
В режиме «Предприятие» также можно задать/убрать колонтитул в меню «Таблица\Настройки печати\Колонтитулы..» , если документ в режиме правки (меню «Таблица\Вид\Редактирование»)
Области макета
Когда же требуется вывести в середине табличного документа, например в шапке таблицы, или более сложное отображение, тогда следует использовать области.
Считать листы в таком варианте придется самостоятельно.
Для вывода нам потребуется использовать функцию
Массив из проверяемых таблиц или табличный документ.
- Перед выводом очередной секции создается/очищается переменная массива.
- В нее добавляется эта секция, а также секция колонтитула
- Проверяется вывод
- Если успешно: просто выводится секция, иначе выводится колонтитул
- Выводится горизонтальный разделитель страницы
- При выводе колонтитула увеличивается счетчик страниц, и сразу заполняется в секцию колонтитула
В данном случае есть риск, что не получится вывести сам колонтитул: он должен быть не большим, чтобы снизить эту вероятность, либо потребуется усложнить алгоритм, перед выводом секции проверять получится ли вывести сам колонтитул.
В случае например Торг-12, где номер страницы выводится в шапке, требуется только проверять получится ли вывести очередную строку, если нет . то просто выводится горизонтальный разделитель и «итерируется» счетчик страницы.
Газетные объявления содержат больше правды о том, что происходит в стране, чем газетные передовицы.
— Г. Бичер
В некоторых случаях на документах должна быть нумерация страниц, например, в договорах. В 1С добавить её достаточно просто. Это можно сделать как в типовых конфигурациях так и в самописных. Вариантом добавления два используя графическую оболочку конфигуратора и программно. Сегодня рассмотрим оба варианта, так же добавим нумерацию в типовую конфигурацию УТ.
Нумерация страниц при печати Табличного документа 1С
Для начала я покажу на простом примере, возьму конфигурацию из прошлых статей, в которой есть документ «Поступление» и простая печатная форма. Для того чтобы добавить нумерацию страниц необходимо зайти в конфигуратор, открыть нужный документ, в нашем случае «Поступление» перейти во вкладку «Макеты» и открыть сам макет.
Далее на панели инструментов заходим в «Таблицы» далее выбираем пункт «Настройка печати» и «Колонтитулы».
В открывшемся окне можно выбрать расположение нумерации, сверху снизу, слева справа или по центру а так же указать необходимый шрифт и номер первой страницы. Для того чтобы просто выводился номер текущей страницы пишем следующий код.
Не забудьте отметить пункт «Выводить с».
Для того чтобы отображался не просто номер а еще и общие количество страниц документа, можно написать следующие.
В результате в печатной форме будет показываться номер текущей станицы и общие количество, лучше использовать этот вариант для документов, тех же договор.
Добавление нумерации в типовой конфигурации 1С
Давайте теперь посмотрим как добавить нумерацию в типовую конфигурацию. Я возьму для примера «Управление торговлей, редакции 11» и документ «Авансовый отчет». Делаем все тоже самое открываем конфигуратор, ищем нужный документ и открываем макет.
Далее открываем «Колонтитулы» и пишем то же самое.
И проверяем что получилось.
Как видим нумерация добавилась.
Программное добавление нумерации страниц в 1С
Для того чтобы добавить нумерацию страниц программно нужно сделать следующие. Зайти в конфигуратор, найти нужный документ открыть процедуру «Печать» которая находиться в «Модуле менеджера» и дописать код.
В качестве примера поменяем расположение нумерации и сделаем её в правом верхнем углу, а в левый добавим вывод текущей даты.
Сохраняем и проверяем что получилось.
Возможностей настройки внешнего вида и расположения очень много с этим думаю Вы уже разберетесь сами. Эти основы должен знать каждый начинающий 1С программист, их вполне достаточно для решения задач по дополнению нумерации на страницы.
Нумерация страниц в 1С : 2 комментария
Добрый день! Спасибо Вам большое за статью, все очень доходчиво рассказали!)
Предположим, нам требуется распечатать ОЧЕНЬ длинную таблицу значений. На каждой странице сверху нужны заголовки колонок, а снизу - некие колонтитулы, содержащие, например, номера страниц. Задача распространенная, но где взять эти номера?
Можно, конечно, применить Формекс и считать высоту строк. А можно и штатными средствами. Примерно, так:
Примечание. Если в колонтитуле нужны только номера страниц и/или текст/шаблоны, то лучше пользоваться колонтитулами из свойств таблицы, задаваемых в конфигураторе - этого должно хватить.
Ну а теперь задача еще реальней. Как быть, ести места для колонтитула просто нет? Номер страницы требуется на полях последней строки?
Сэкономили строчку на странице.
Специальные предложения
Многострочное поля служит для ввода текста, который будет помещаться в колонтитул.
Текст колонтитула может включать следующие управляющие конструкции:
В текст колонтитула может быть включено выражение на встроенном языке системы 1С:Предприятие, заключенное в квадратные скобки. Выражение вычисляется при формировании документа и его результат помещается в текст колонтитула.
1С:Предприятие, версия 7.7. © 1996-1999, Фирма "1С"
давно F1 в пофигураторе не нажимал ?!
:))))
(10) Да я вообще никогда его не нажимал. :o
А в ЖКК на 216 странице у меня только три буквы, Q нету. Правда, издание 99 года.
(0) Для вывода таблицы значений этот вариант конечно не вариант.
А вот для ТОРГ-12 или подобных печатных форм с разбиением по страницам, то очень даже может быть.
(7) ИФНС заставляет нумеровать и Торг-12, и счф, и Книги покупок, продаж. При камералке паримся вручную.
Да, я понял логику текста модуля. Я хотел узнать про настоящий колонтитул, а не секцию таблицы, но уже использовал Вашу логику, всё работает, спасибо!
Перед тем как перейти к перенумерации документов, разберем, как формируется номер документа.
В 1С предусмотрена сквозная нумерация документов в рамках одного вида. Каждый год она начинается заново. Рассмотрим ее формирование на примере документа Реализация (акт, накладная, УПД) . Номер присваивается независимо от Вида операции , Организации или других данных.
Для разграничения нумерации между организациями установите префикс. Подробнее Префикс в 1С
Номер документа закрепляется в момент его записи, т. е. документ может быть не проведен, удален, и номер уже не используется для других документов. Всегда берется максимальный использованный номер и к нему прибавляется один.
Символы и буквы в номере
Один из вариантов исправления данной ситуации — вручную изменить номер, убрав один ноль перед номером. Например, номер 0000-000В99 перенумеровать в 0000-001000.
Нумерация пойдет дальше автоматически
Префиксы — буквы в начале номера
В 1С есть префиксы — буквенные значения в начале номера. Их рекомендуется устанавливать, если есть обмен с другими базами или в базе несколько организаций. Подробнее про префиксы можно узнать из статьи Префикс в 1С.
Перенумерация документов в 1С 8.3 Бухгалтерия 3.0
В 1С перенумерацию документов может выполнить только пользователь с полными правами. Перед использованием любого способа перенумерации обязательно создайте копию базы!
Изменить нумерацию в 1С можно тремя способами:
- кассовые документы, счета-фактуры подразумевают автоматическую перенумерацию документов при выполнении экспресс-проверки ( Отчеты – Экспресс-проверка );
- перенумерация с помощью обработки Групповое изменение реквизитов ( Администрирование – Обслуживание – Корректировка данных – Групповое изменение реквизитов ), способ предполагает написание кода; (не рекомендуется).
Как изменить нумерацию в 1С 8.3 автоматически
При проверке учета можно автоматически перенумеровать документы:
- Приходный кассовый ордер — Поступление наличных ;
- Расходный кассовый ордер — Выдача наличных ;
- выписанный Счет-фактура — Счет-фактура выданный .
Метод используется, только если документы не отражены в отчетности — как самой организацией, так и контрагентом (например, по выданным счетам-фактурам). Иначе при сопоставлении данных документов произойдет несоответствие.
Для автоматической перенумерации перейдите в отчет Экспресс-проверка ведения учета в разделе Отчеты – Экспресс-проверка .
Перейдите в настройки отчета по кнопке Показать настройки и выберите необходимые проверки.
Как перенумеровать кассовые документы в 1С 8.3
Последовательность исправления нарушенной нумерации для РКО и ПКО одинакова.
Если не соблюдена нумерация, то при экспресс-проверке 1С выдаст ошибку:
Чтобы увидеть подробное описание ошибки, разверните отчет: в нем будут указаны предположительные ошибки в ведении учета, а также рекомендации по восстановлению нумерации.
Но не спешите нажимать на ссылку Автоматическая перенумерация документов . Сначала рекомендуем развернуть документы полностью и проанализировать, можно ли перенумеровать документы в 1С 8.3 или они уже отражены в отчетности.
Если принято решение восстановить хронологический порядок в номерах, сделайте копию базы, а потом нажмите на ссылку Автоматическая перенумерация документов .
- Текущий номер — номер документа до перенумерации;
- Новый номер — будущий номер документа в базе.
Если все верно, нажмите Продолжить .
После перенумерации выведется результат обработки.
Как перенумеровать счета-фактуры в 1С 8.3
Если не соблюдена нумерация, при экспресс-проверке 1С выдаст ошибку:
Чтобы увидеть подробное описание ошибки, разверните отчет: здесь будут указаны предположительные ошибки в ведении учета, а также рекомендации по восстановлению нумерации.
Не спешите нажимать на ссылку Автоматическая перенумерация документов . Сначала рекомендуем развернуть документы полностью и проанализировать, можно ли перенумеровать документы или они уже отражены в отчетности.
Если принято решение восстановить хронологический порядок в номерах, сделайте копию базы, а потом нажмите на ссылку Автоматическая перенумерация документов .
Для исправления номеров документов укажите Начальный номер . Изначально указан рекомендуемый номер, т. е. наименьший номер из исправляемых документов. Если каких-то номеров до него нет (документы были удалены), программа это не учитывает. Изменим Начальный номер на 1.
- Текущий номер — номер документа до перенумерации;
- Новый номер — будущий номер документа в базе.
Если все верно, нажмите Продолжить .
После перенумерации выведется результат обработки.
Прочие способы перенумерации
Ручная корректировка номера
Ручная корректировка номера не рекомендуется!
Перед ручной корректировкой номера ознакомьтесь с проблемами, которые могут возникнуть при использовании данного метода — Символы и буквы в номере.
Чтобы изменить номер вручную:
- установите курсор на номер;
- нажмите на кнопку del или delete на клавиатуре;
- согласитесь с редактированием;
- введите новый номер, обращая внимание на обязательное использование всех нулей вначале номера, например, 0000-0000000.
Групповое изменение реквизитов
Запустите обработку Групповое изменение реквизитов в разделе Администрирование — Обслуживание — Корректировка данных .
В обработке выберите вид документов, которые будут редактироваться. При необходимости отберите нужные документы по ссылке Все элементы. Подробнее о работе с обработкой.
Далее переведите переключатель на Выполнить произвольный алгоритм .
В большом поле заполните код, выделенный жирным шрифтом в блоке «Информация», который приведен ниже. Код можно скопировать или заполнить вручную. Кавычки обязательно перенаберите.
После каждой строки кода текст, выделенный «//», — это описание кода. Его можно не переносить, а если перенесете, не забудьте указать «//» в начале каждой строки.
Зеленым шрифтом выделены заменяемые данные под конкретный вид документов или справочников.
Если при выполнении обработки возникает ошибка об уникальности номера (номер занят), то рекомендуется сначала задать начальный номер, который не пересекается с имеющимися (1000000), а потом запустить еще раз обработку для первоначальной перенумерации уже с меньшего номера.
Как узнать техническое имя документа
Запустите конфигуратор по кнопке Конфигуратор .
Перейдите Конфигурация – Открыть конфигурацию .
После выполнения этой команды откроется окно Конфигурация . Может занять некоторое время.
Далее найдите в списках Справочники или Документы подходящий по смыслу элемент. Двойным щелчком мыши откройте его.
В открытой форме уточните, что это нужный элемент:
- Имя — техническое наименование документа;
- Синоним — имя документа в базе.
Перенумерация справочников в 1С 8.3
В 1С перенумерацию справочников может выполнить только пользователь с полными правами. Перед использованием любого способа перенумерации обязательно создайте копию базы!
Номер в справочниках хранится в поле Код.
Чтобы переименовать номер справочника, используйте либо ручную корректировку номера либо групповое изменение реквизитов. Но лучше изменять другое поле, например, Артикул , а поле Код оставить системным полем и не трогать его.
Выборка = Справочники.Номенклатура .Выбрать();
//Выбираем все элементы справочника из отобранных по стандартному отбору в обработке.
//в коде указываем техническое имя справочника.
Код = 1;
//Начальный код при перенумерации, без нулей и префиксов.
Пока Выборка.Следующий() Цикл
//Запускается цикл перебора всех найденных документов.
Спр = Выборка.ПолучитьОбъект();
//Получаем элемент справочника.
СтарыйКод = Спр.Код;
//Запоминаем старый код.
Спр.Код = « 00 -«+Формат(Код, «ЧЦ= 8 ; ЧВН=; ЧГ=0″);
// Устанавливаем новый код, 00 – Префикс базы, при необходимости заменить.
//ЧЦ-количество лидирующих нулей – количество символов после дефиса, для каждого справочника может быть свое число
// В комментарии указываем информацию об изменении кода.
Спр.Записать();
Код = Код+1;
//Переходим к следующему коду и элементу справочника
КонецЦикла;
См. также:
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С:Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Часто в работе с 1С мы сталкиваемся с ситуацией, когда.У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.Современные технологии заявляют о себе в полную силу. В рамках.Реестр документов из 1С может понадобиться многим пользователям — от.
(2 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Учет малоценных ОС и запасов (ОСН)
Отчетность за 1 квартал 2022
Спасибо большое! Как всегда,бесподобный вебинар с исчерпывающими ответами для нас «бедных» бухгалтеров! Всем лекторам благодарность.
Читайте также: