1с при печати обрезает страницу
Большинство обучающих материалов по программированию в системе 1С при описании формирования печатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати.
Большинство обучающих материалов по программированию в системе 1С при описании формирования печатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.
Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.
Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).
Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:
ТабДок.ИмяПринтера="HP LaserJet 3050 Series PCL 6";
При печати пакета документов можно сэкономить время, установив признак разбора по копиям:
Число копий можно указать так:
Разумеется, можно задать поля:
ТабДок.ПолеСлева=20;//Поле слева 20мм, остальные поля 10мм (по умолчанию)
Еще несколько свойств страницы:
ТабДок.Автомасштаб=истина; //аналогично настройкам масштаба «по ширине страницы»
При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати»).
Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):
Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:
ТабДок.ВерхнийКолонтитул.Выводить=истина; //будет напечатан верхний колонтитул
ТабДок.РазмерКолонтитулаСверху=7; //размер колонтитула 7мм (по умолчанию 10мм)
ШрифтКолонтитула=Новый Шрифт("Courier New", 8,,Истина);
ТабДок.ВерхнийКолонтитул.Шрифт=ШрифтКолонтитула; //наклонный шрифт
Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.
1) Непосредственно на принтер:
2) Перед печатью будет выведен диалог печати:
Кроме того можно управлять и разбиением документа на страницы. Оценить количество страниц в документе по настройкам текущего принтера можно так:
С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.
Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.
Таким образом, можно управлять постраничным выводом на печать и контролировать заполнение страницы:
Если Не ТабДок.ПроверитьВывод(МассивВыводимыхОбластей) Тогда
Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.
Фирма "1С" информирует о техническом разделении версий ПРОФ и КОРП платформы "1С:Предприятие 8" (с дополнительной защитой лицензий уровня КОРП) и введении ряда ограничений на использование лицензий уровня ПРОФ с 11.02.2019 года.
Впрочем, источник в ФНС пояснил РБК, что решение налоговиков не стоит называть отсрочкой. Но если предприниматель не успеет обновить кассовый аппарат и с 1 января продолжит выдавать чеки с НДС 18%, отражая при этом в отчетности корректную ставку 20%, налоговая служба не будет рассматривать это как нарушение, подтвердил он.
С 1 января 2019 года повышаются цены на услуги по сопровождению 1С. Услуги включают в себя: разовые выезды специалистов, тарифные планы по предоплате и абонентскому сопровождению.
В четверг стартует первая масштабная смена криптографических ключей для всего мирового интернета с 2010 года под контролем Корпорации по управлению доменными именами и IP-адресами (ICANN).
26 июля величайшему американскому режиссеру Стэнли Кубрику исполнилось бы 90 лет. Его вклад в мировой кинематограф невозможно переоценить. Десять из 13 снятых им художественных картин стали по меньшей мере культовыми. Кубрик работал во всех возможных жанрах — начиная с нуара и комедии, заканчивая ужасами и фантастикой.
В основном все информационные материалы по программированию в 1С при описании создания печатных форм на основе "Табличный документ" ограничиваются простым выводом готовой формы документа на экран. Но этого не всегда достаточно, и на много важнее то, как этот документ будет выглядеть в распечатанной форме на листе бумаги.
Далее будем рассматривать свойства и методы табличного документа, которые непосредственно относятся к настройкам печати. Тут помимо хорошо составленного макета, немаловажную роль играют и сами настройки печати, которые мы меняем в диалоговых окнах. К ним относятся настройки принтера и свойства страницы. Почти все из них можно определить заранее при формировании табличного документа.
Ниже рассмотрим более подробно свойства и методы табличного документа, которые имеют отношение к настройкам печати (В приведенном примере "ТабличныйДок" это объект типа "Табличный документ")
Для того что бы задать принтер для печати, отличный от того, что по умолчанию установлен в системе, используется такое свойство как "ИмяПринтера", причем имя должно полностью совпадать с принтером который установлен в системе:
ТабличныйДок.ИмяПринтера="Kyocera FS-1320D KX";
Можно сэкономить немало времени при печати пакета документов, прописав признак разбора по копиям:
ТабличныйДок.РазборПоКопиям=истина;
Число копий указывается так:
ТабличныйДок.КоличествоЭкземпляров=X; // где X — это число копий
Также возможно задать поля:
ТабличныйДок.ПолеСлева=15; //Поле слева 15мм, остальные поля будут по 10мм (по умолчанию)
Вот еще несколько свойств страницы, которые нам доступны:
Если необходимо, то используя описание «МасштабПечати» можно указать конкретное значение для масштабирования, измеряемое в процентах.
ТабличныйДок.МасштабПечати=80; // задается масштаб 80% от натуральной величины
Помимо этого имеется возможность задать и нестандартные размеры бумаги (Custom). Для этого задаются значения высоты и ширины страницы в миллиметрах:
В дополнение к вышеуказанным свойствам, в табличном документе присутствует возможность управлять выводом на печать колонтитулов и указывать их содержимое. Для этого используются свойства «ВерхнийКолонтитул» и «НижнийКолонтитул»:
1. Непосредственно на принтер
ТабличныйДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
ТабличныйДок.Напечатать(истина);
2. С выводом диалога перед печатью
ТабличныйДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
ТабличныйДок.Напечатать(ложь);
Есть возможность управлять разбиением документа на страницы. Оценка количества страниц в документе относительно настроек текущего принтера выполняется так:
Используя такие методы, как «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно заранее определить, умещается ли документ или массив документов на странице по ширине и высоте относительно текущих настроек принтера.
Стоит обратить внимание, что последние три метода ориентируются на настройки текущего установленного принтера, и если методу не удается его найти, вызывается исключение.
Это позволяет управлять постраничным выводом и контролировать заполнение страницы:
Разделение методов и свойств по контексту исполнения является важной особенностью платформы. Если вышеуказанные свойства доступны в любом контексте, то методы на тонком клиенте не доступны, за исключением метода «Напечатать()». То есть формирование табличного документа происходит на сервере, а отправляется он при помощи клиентской процедуры.
Большинство обучающих материалов по программированию в системе 1С при описании формирования печатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).
Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:
ТабДок.ИмяПринтера="HP LaserJet 3050 Series PCL 6";
При печати пакета документов можно сэкономить время, установив признак разбора по копиям:
Число копий можно указать так:
Разумеется, можно задать поля:
ТабДок.ПолеСлева=20;//Поле слева 20мм, остальные поля 10мм (по умолчанию)
Еще несколько свойств страницы:
При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати»).
Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):
Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:
Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.
1) Непосредственно на принтер:ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); ТабДок.Напечатать(истина);
2) Перед печатью будет выведен диалог печати:ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать); ТабДок.Напечатать(ложь);
Кроме того можно управлять и разбиением документа на страницы. Оценить количество страниц в документе по настройкам текущего принтера можно так:
С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.
Столкнулся с проблемой: есть область макета с установленным свойством "Переносить" в нее загоняем какой-то текст.. так вот нарвались на случай, когда размер получившейся области с текстом превышает высоту страницы! 1С то что не влезает на страницу обрезает при печати. Кто с сталкивался?
(2) Проблему решил обычным макетом? или переписывали через, например, шаблоны ворда?
(3) не понял для чего
Попробуй метод табличного документа ПроверитьВывод().
Если, например, не помещается, обрезай строку. Можно сделать рекурсивно.
(0)Было дело. У ячейки свойство "Размещение текста" стоит "Переносить", но при формировании печ. формы текст обрезается. Автовысота строки не помогает. Никак не решил.
(11) когда высоту ячейки редактируешь, там галка и поле. Их надо вместе менять. Если высота есть, автовысота не действует
(12)Не, не то. Текст в ячейке формируется программно(Параметр), соответственно высоту строки я заранее не знаю и установить конкретное значение не могу.
Я просто галку Автовысота строки ставил/снимал, при этом галка "Максимальная высота строк" не стоит и значение высоты = 0. Но это не помогло. Все равно текст обрезается.
тут проблема именно в том, что при печати данные просто режутся.. на экране, если не стоит разделитель страниц - то все нормально
(5) Да, именно так, одна строка превышает размер страницы.. никак делить я ее не могу, ну разве что чисто теоретически, но ваще хз как, ибо у меня и автопереносы строк есть, и перенос строки и ширина символа разная, разве что какнибудь посимвольно выводить текст и в этот момент разделять текст на отдельные строки, которые выводит как разные области, но это ппц геморно
(17)
> разве что какнибудь посимвольно выводить текст
ждем "спасите!символ превышает размер страницы!", не?)
или разделить суперпуперную строку и вывести в разные ячейки с соответствующим оформлением ячеячных границ не предлагать?
(19) уважаемый, автомасштаб выравнивает размер страницы по ширине, а у меня по высоте область не вмещается.. и все равно хотелось бы перенос на следующую страницу, а не тупое уменьшение масштаба
(18) к чему передергивания? ну и то что вы предлагаете, вы хоть имеете представление как это реализовать и что за франкенштейн будет на выходе?? у меня шрифт не моноширный чтоб ячейками баловаться.. по этой же причине я не могу тупо символы в строчке считать и выводить
(20) к чему стоны? обрезая безразмернонемоноширинного франкенштейна вендор какбэ намЯкивает про подобное нетупое баловство, не?
Выводи построчно. Я делал подобное примерно так:
Здесь ТекстРаздела в теории может превышать размер листа. Я бью его на строки и каждую строку отдельно вывожу.
Если текст без переносов строк - то конечно не взлетит.
Тогда можно попробовать пихать в таб. док количество символов порциями (штук по 20ть) и проверять вывод. Когда выводиться перестает - делаешь шаг назад и выводишь в фактический док то что влазит.
(22) Спасибо, вчера решил вопрос по-другому, но по схожей схеме
получил массив разделителей (символы которыми мы разделяем слова и т.п.) ну и ищу их в тексте, вывожу постепенно в табличный документ и проверяю через проверитьвывод().. думал что при одной области проверитьвывод закосячит, но нет - отработал..
у меня просто странный макет, там и шапка фиксированная есть, и колонтитулы снизу.. и ширина страницы не стандартная
Несмотря на простоту вопроса, у пользователей программ 1С он возникает постоянно: «Как разместить документ на одной странице, если его края по ширине или длине выходят на другой лист?» или «Как распечатать два экземпляра документа на одном листе?» Ведь практически все бухгалтеры любят экономить бумагу. В этом лайфхаке раскроем все секреты!
Для этого, как и при работе с обычными текстовыми документами, в конфигурациях 1С есть настройка параметров страницы.
Рассмотрим на примерах.
Настройка ориентации и масштаба листов
Имеем документ «Расчетная ведомость».
Нажав кнопку предварительного просмотра в виде лупы, видно, что форма не «вписывается» в лист бумаги и явно выходит за ее границы. Предварительный просмотр показал форму на 9 листах, разрезав ее на куски.
Для настройки параметров листа по кнопке «Еще» выберите команду «Параметры страницы».
Для данной формы установим параметры:
• Ориентация листа – «ландшафт» - альбомная ориентация.
• Масштаб – «По ширине листа».
При таком масштабе программа автоматически выровняет печатную форму по краям листа. Нажмите «Ок» и проверьте результат.
Форма вместилась на два листа и по краям нет пустого места. Ширина автоматически подобрана.
Ведомость распечатывается с двух сторон.
При необходимости пользователь может задать произвольно масштаб документа, установив значение в процентах.
Настройка полей. Двусторонняя печать в 1С
При печати документа обратите внимание на настройку полей: с какой стороны делается отступ для подшивки, чтобы край документа не «съело».
Для этого выставьте нужный размер в настройке «Поля».
В примере с расчетной ведомостью это верхнее поле, хотя документ можно подшить и горизонтально, тогда отрегулируйте левое поле.
При двусторонней печати не забудьте про зеркальное отображение страниц – «Чередование страниц» и настройки двусторонней печати. Настройте параметры в разделе «Режимы печати».
Как распечатать два экземпляра документа в 1С на одном листе?
Рассмотрим еще один пример. Имеем документ «Расходная накладная». Документ небольшой и пользователь может распечатать на одном листе два экземпляра.
Для настройки перейдите по кнопке «Еще» - «Параметры страницы».
В настройке установите переключатель в положение – 2 экземпляра на странице. Нажмите «Ок» и распечатайте документ.
Принтеры нередко обрезают нижнюю часть печатных страниц . Иногда нижняя половина строк или нижних колонтитулов не отображается при выводе на печать, когда принтеры не могут печатать ниже определенной точки.
Чтобы принтер не обрезал нижнюю часть страницы, проверьте приведенные ниже инструкции.
Почему мой принтер не печатает всю страницу ?
1. Убедитесь, что выбранный формат бумаги соответствует фактической бумаге для печати
2. Настройте страницу вручную
Пользователям, которые не могут найти формат бумаги, который точно соответствует загруженному в принтер формату, может потребоваться вручную настроить параметры размера страницы для документа. Затем они могут настроить страницу, которая точно соответствует размерам бумаги в принтере, чтобы ничто не отрезалось от отпечатанного материала.
3. Настройте поля страницы
4. Выберите параметр масштабирования страницы
Некоторые программы включают параметры масштабирования страницы, которые подойдут или уменьшат содержимое страницы до области печати. Эти параметры гарантируют, что выводимые данные соответствуют выбранной бумаге, масштабируя страницы вверх или вниз. Итак, обратите внимание на параметр «По размеру печати» или « Сжать в области печати» в опциях печати приложений.
Если требуемое приложение не включает параметры масштабирования страницы, преобразуйте документ, который необходимо распечатать, в файл PDF. Затем пользователи могут открывать и распечатывать документ в Adobe Reader , который включает в себя параметры « Подгонка» и « Уменьшение размера негабаритных страниц» . Нажмите « Файл» > « Печать в Adobe», чтобы выбрать « подогнать» или « сжать» негабаритные страницы перед печатью.
Вопросы о том, что документ не помещается на страницу, возникают чаще всего сразу после установки 1С:Предприятия или при смене принтера.
Перед печатью документа (особенно первый раз) рекомендуется воспользоваться возможностью просмотра перед печатью (меню Файл - Просмотр или соответствующая пиктограмма на панели инструментов). Это позволит избежать ненужных огорчений по поводу того, что "документ почему-то печатается на двух страницах" или "после печати документа выводится пустая страница".
Режим просмотра поможет Вам увидеть, как реально будет напечатан документ - сколько страниц он займет, какие отступы слева и справа на странице будут сделаны. Если Вас все устраивает, в этом режиме воспользуйтесь кнопками "Печать" и "Закрыть". Чуть больше придется потратить времени, если Вы увидели не совсем то, что ожидали:
1. Воспользуйтесь кнопкой "Закрыть".
2. Внимательно просмотрите и измените параметры страницы (меню Файл - Параметры страницы).
3. Снова включите режим просмотра перед печатью.
Повторите указанную последовательность действий до достижения удовлетворительного результата.
Как же правильно выставить параметры страницы ? В первую очередь рекомендуем жертвовать шириной полей - установите их ширину в ноль (впоследствии для ширины поля слева можно будет подобрать нужное значение). В некоторых случаях (для широких форм) проблема снимается при изменении ориентации (по умолчанию, обычно, стоит "Портрет" - установите "Ландшафт"). Если и это не приведет к желаемому результату, установите параметр " По ширине листа " или подберите устраивающий масштаб.
ЭТО ВАЖНО: Все печатные формы документов типовой конфигурации "запоминают" параметры страницы, т.е. описанная процедура выполняется только при первом выводе на печать конкретного документа.
Для опытных пользователей.
--------------------------------------------------
Если вы хотите, чтобы печатные формы, которые Вы создаете в режиме конфигурирования "запоминали" параметры страницы печатной формы, используйте для объектов типа "Таблица" метод Опции(), в котором обязательно задайте пятый параметр.
Пример:
Таб = СоздатьОбъект("Таблица");
Таб.Опции(0,0,3,0,"ОпцииПечатиРеестра","ОкноРеестра");
Другие материалы по теме:
Нас находят: что делать если таблица не помещается по ширине листа, 1с страницы при смене страницы, что делать если таблица не помещается по ширине листа в ворде, как распечатать в 1 с акт сверки не влазит, почему в ворде текст не помещается на страницу, что делать если таблица не помещается на странице в ворде, таблица не помещается по ширине в word, если таблица не помещается на одной странице, предложение не вмещается в поиске что делать, как в 1с поместить текст на одну страницу
Читайте также: