1с как распечатать картинку
Большинство обучающих материалов по программированию в системе 1С при описании формирования печатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати.
Большинство обучающих материалов по программированию в системе 1С при описании формирования печатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.
Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа.
Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).
Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:
ТабДок . ИмяПринтера = "HP LaserJet 3050 Series PCL 6" ;
При печати пакета документов можно сэкономить время, установив признак разбора по копиям:
ТабДок . РазборПоКопиям =истина;
Число копий можно указать так:
ТабДок . КоличествоЭкземпляров = 5 ;
Разумеется, можно задать поля:
ТабДок . ПолеСлева = 20 ; //Поле слева 20мм, остальные поля 10мм (по умолчанию)
Еще несколько свойств страницы:
При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати»).
Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):
Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:
Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.
1) Непосредственно на принтер:
ТабДок . Напечатать ( РежимИспользованияДиалогаПечати . НеИспользовать );
ТабДок . Напечатать (истина);
2) Перед печатью будет выведен диалог печати:
ТабДок . Напечатать ( РежимИспользованияДиалогаПечати . Использовать );
ТабДок . Напечатать (ложь);
Кроме того можно управлять и разбиением документа на страницы. Оценить количество страниц в документе по настройкам текущего принтера можно так:
С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.
Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение.
Таким образом, можно управлять постраничным выводом на печать и контролировать заполнение страницы:
Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.
Похожие FAQ
Вывод Диаграммы График Валют, Сохранение диаграммы, графиков и гистограмм в виде Картинки 0
Алгоритм обработки выполняет запрос к регистру сведений " курсы валют" за определенный пользователем период. Полученные данные выборки в цикле выводятся в элемент экранной формы " диаграмма" в режиме построения графика. Для элемента управления " Ди Вывод картинки в строках отчета на СКД 8
В этом примере показан метод вывода в строку отчета картинки, вид которой завист от значения другого поля. Ради примера, в отчет выведем справоник «Банки» - реквизит «Ссылка» и картинку возле этого реквизита. Вид картинки зависит от значения реквиз Выгрузка метаданных конфигурации в Microsoft Word и Excel 1
Перем ОбъектыКонфы; Перем СтруктКонфы; Процедура ВыгрузитьВWord() Попытка Word = Новый COMОбъект(" Word.Application" ); Исключение Сообщить(" Не удалось открыть Word" ); Возврат; КонецПопытки; Word.Documents.Add(); Документ = Word.Activ Горячие клавиши 1С Пользователю [ Предприятие] 5
Основные команды: Интерфейс: F6 - переключение между формами рабочего стола F10 - переход в главное меню окна Alt+1 - переход на панель Разделов Alt+2 - переход на панель Навигации Alt+3 - переход на панель Действий Alt+9 - переход Горячие клавиши 1С Разработчику [ Конфигуратор ] 128
Основные команды: Кодирование: Ctrl+Пробел - вызов подсказки Ctrl+Q - вызов шаблона Ctrl+F1 - поиск в синтакс-помощнике Ctrl + L - удалить текущую строку Alt+Shift+F - отформатировать код Исследование: F12 - ставим курсор на про Посмотреть все результаты поиска похожих
Еще в этой же категории
Вывести табличный документ в PDF 18
Данный пример работает на платформе выше 8.2.13 Макет = ПолучитьМакет(" Макет" ); ОбластьШапка = Макет.ПолучитьОбласть(" Шапка" ); ТабДок = Новый ТабличныйДокумент; ОбластьШапка.Параметры.НомерДок = Номер; ОбластьШапка.Параметры.ДатаДок = Как программно изменить текст, цвет, фон ячейки или области табличного документа? 7
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом: //Пример получения текста ячейки ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента; ПолеТабДок.Область("R1C2").Текст = спрНоменклатура.Наименование; ПолеТабДок Как в отобразить картинку в табличной части 7
В табличной части есть документы заявки от покупателя, нам нужно добавить картинку для отображения статуса документов заявка - проведен , не проведен, помечен на удаление. //Отобразим картинку Процедура СписокПриВыводеСтроки(Элемент, Оформление Вывод колонтитулов программно ВерхнийКолонтитул, НижнийКолонтитул 6
Колонтитул является специальным текстом, выводимым вверху или внизу каждой страницы при выводе документа на печать. В тексте колонтитула можно использовать следующие управляющие конструкции: > ( >) - при печати в данном месте будет выведен номер ст Функция загружает весь табличный документ в таблицу значений 6
// Вариант 1 // По переданному табличному документу возвращает таблицу значений, // при условии что в первой строке таблицы - идентификаторы колонок // Автор : dimoff Функция ПолучитьТЗИзМакета(ТабДок, КолонкаИндекса = 1) Экспорт ТаблицаДанн Посмотреть все в категории Табличный документ
Есть папка с файлами которые привязаны к документам. Можно ли вывести их на печать из 1с, не вставляя предварительно в макет, а сразу, с помощью какой либо команды системы.
Я пытался сначала в cmd проверить работоспособность команды, написал следующее: print /d:HP_LaserJet_Professional_P_1102w c:\1c.jpg
у меня в первый раз пишет- c:\1c.jpg в настоящее время печатается, но на принтер ничего не выходит.
Во второй и последующий разы уже пишет - не удается инициализировать устройство HP_LaserJet_Professional_P_1102w .
В чем может быть проблема?
(2)(3) Я сначала хотел в таб.док. добавить, но у меня внешняя обработка,и в модуле формы макет не получить. Можно получить его в модуле объекта, но от туда на форму ничего не возвращается, несмотря на то, что функция экспортная, говорят на внешних такое не работает. Следовательно начал придумывать как командой системы напечатать.
(5)Спасибо, теперь буду знать, что в эту сторону капать больше не стоит.
(7) Попробовал, открывается форма для печати, т.е пользователю надо будет еще раз нажать кнопку печать, а мне надо в фоновом режиме все распечатать, так как файлов может быть много.
(6)решил проблему получения макета .
Где-то написали что можно так.
Следовательно буду теперь копать в сторону формирования таб доку и отправки его на печать единым документом.
(9) Если я правильно понял, то это внешняя программка, т.е. ее придеться устанавливать на всех серверах, а мне надо чтобы можно было привязать обработку и все.
(10) Принтер и так дефолтный, а смысл делать название короче?
К тому же у каждого пользователя свой принтер.
(11) Да, по крайней мере 1 раз запустить придется от того юзера, кто пользоваться будет. Но если есть сетевая шара - можно в неё положить.
В продолжении.
Есть недочет, на печать выходят картинки с черной рамкой по периметру.
Обладает ли кто тайным знанием по тому как от нее избавиться? Отображать сетку убрал, не помогло.
Google выдал довольно много вариантов исполнения, но ни один из них у меня не сработал.
Поэтому решил написать эту статью, думаю начинающим специалистам будет полезно.
Итак есть два способа задать место для картинки в макете:
1) Вставить картинку в макет, как отдельный объект, обращение будет происходить по Имени
2) Привязать её к конкретной ячейке, обращение будет происходить по Параметру Картинки
В первом случае картинка не может быть больше выделенной области и при этом может быть перемещена пользователем при просмотре печатной формы.
-Пример перемещения картинки при просмотре:
-Вот так будет выглядеть изменение размера в свойствах картинки с Пропорционально на Реальный размер
Во втором случае картинка будет жестко привязана к ячейке и может растягиваться пропорционально ширине колонки. (*будет растягиваться по ширине картинки пропорционально ширине ячейки. )
Ниже пример с картинками разных размеров и пропорций.
Далее перейдем непосредственно к коду обработки
Функция, формирующая печатную форму:
Здесь нас интересует только вторая и третья (закомментированная) строки.
необходима для того, чтобы картинки не выходили за границы листа при печати
позволят распечатать макет в альбомной ориентации по умолчанию.
Вывод картинки на форму рассмотрим на примере табличной части так как в обоих случаях код практически идентичен.
В 4ой строке находим файл картинки в базе
ТекущаяСтрока.Номенклатура - Ссылка на необходимый элемент справочника
“ФайлКартинки” – Наименование реквизита содержащего картинку
В 5ой строке проверяем наличие картинки в вышеуказанном реквизите. Без этого при попытке печати форма выдаст ошибку, если хоть одна из картинок не заполнена.
ФайлКартинки . Наименование – проверяемый реквизит, если файла картинки нет, то его наименование будет не заполнено.
С 6-ой по 13-ую строки (как и 4-ая) фрагмент типового кода УТ 11.4 отвечающего за печать картинок
И наконец непосредственно помещение картинки на макет:
Для первого способа:
Для второго способа:
Всё готово, вы великолепны !
Образец обработки будет в прикрепленных файлах.
От простой для отдельных компаний до комплексной автоматизации крупных холдингов.
Сдача регламентированной отчетности в соответствии с законодательством РФ.
Печать документов в программах «1С:Предприятие» осуществляется аналогично другим программам, но у пользователей могут возникать вопросы, связанные со спецификой настроек, например, печатной формы или параметров страницы, а также о выводе на печать необходимых реквизитов и т.п. Рассмотрим настройку и печать документов на примере программы «1С:Бухгалтерия предприятия 3.0».
Настройка печатного документа
Собравшись распечатать документы, первое, что необходимо сделать – сформировать печатную форму со всеми заполненными реквизитами. Большинство документов имеют обязательные реквизиты, например, подписи ответственных лиц. Для того чтобы они проставлялись в печатной форме по умолчанию, их необходимо заполнить в сведениях об организации через «Главное» - «Реквизиты организации».
Рис.1 Настройка печатного документа
Открыв раздел «Подписи», необходимо указать данные руководителя, главного бухгалтера и кассира. Если ответственные лица меняются, историю их изменения можно посмотреть, нажав гиперссылку «История». Это актуально, если нужно распечатать документы до определенного числа за подписью одного ответственного лица, а после определенной даты должна проставляться подпись другого ответственного лица.
Рис.2 Открыв раздел «Подписи», необходимо указать данные руководителя, главного бухгалтера и кассира
Также необходимо заполнить данные ответственных лиц за подготовку отчетов через гиперссылку «Ответственные лица за подготовку отчетов». Эти данные будут автоматически попадать в сформированную печатную форму отчета.
Рис.3 «Ответственные лица за подготовку отчетов»
Например, в печатной форме документа «Расходный кассовый ордер» отразились заполненные ранее данные ответственных лиц.
Рис.4 Расходный кассовый ордер
При заполнении документов важно обратить внимание на то, что для формирования печатной формы могут быть предусмотрены отдельные закладки, где вносят дополнительные данные. Например, в инвентаризационной описи или в актах на списание членов комиссии необходимо указать на отдельной закладке.
Рис.5 Отдельные закладки, где вносят дополнительные данные
Если данные не будут заполнены, поля в печатной форме останутся пустыми.
Печать табличного документа 1С. Параметры печати
Все печатные формы документов или отчетов в 1С представлены в виде таблиц, и зачастую пользователь сталкивается с тем, что документ не помещается на лист, выходит за границы печати, разделяет отчет на два листа. В таких случаях перед печатью рекомендуется воспользоваться кнопкой «Предварительный просмотр документа». Она есть в любой печатной форме документа или отчета. Нажав ее, можно увидеть, как документ будет располагаться на листе бумаги и, допустим, сменить ориентацию документа.
Рис.6 Печать табличного документа
Рис.7 Печать табличного документа
В нижней части листа при этом можно увидеть, на скольких страницах помещается отчет или документ. Бывает, что за пределы листа выходит одна колонка, и пользователю было бы удобнее, если бы документ влезал полностью на один лист. Для настройки параметров в любой печатной форме имеется кнопка «Параметры страницы». Нажав ее, мы сможем настроить параметры для вывода на печать формы документа или отчета.
Рис.8 Параметры печати
- Масштаб. Первая настройка, на которую следует обратить внимание. Автоматически программа устанавливает масштаб 100%, но при необходимости мы можем установить переключатель в положение «По ширине листа». В этом случае наша печатная форма автоматически разместится по ширине листа.
- Ориентация. При необходимости пользователь может задать ориентацию «Портрет» – вертикальное размещение, или «Альбомная» – горизонтальное размещение, для оптимального размещения документа на печатном листе.
- Поля. Бывает, что документ выходит за пределы полей немного, и чтобы не изменять масштаб документа, можно попробовать уменьшить отступы полей или увеличить отступ поля слева. Это поле необходимо для подшивки документов. Если оно будет сильно уменьшено, часть документа в подшивке окажется нечитаемой. Рекомендуется левое поле устанавливать примерно 3 сантиметра (поля в настройке указаны в миллиметрах).
- Экземпляров на странице. В этой настройке можно задать, сколько экземпляров разместить на одной странице. Установка переключателя в положение «Авто» приведет к автоматическому подбору, иначе – на лист будет выводиться по одному экземпляру. Этой настройкой удобно пользоваться при выводе на печать небольших документов, например расчетные листки сотрудников.
- Колонтитулы. Определяют размер печатной области листа. При необходимости мы можем уменьшить их размер.
- Чередование страниц и двусторонняя печать. Данные параметры позволяют распечатать документы с двух сторон листа. Актуально при больших объемах информации.
Рис.9 Параметры печати
«Предварительный просмотр. » и «Параметры страницы. » доступны в главном меню программы в пункте «Файл». Для доступа к ним надо находиться в печатной форме документа. Но способ открыть их непосредственно из формы более простой.
Рис.10 «Предварительный просмотр. » и «Параметры страницы. »
Настроив параметры страницы и нажав «Печать», мы выбираем принтер, задаем количество экземпляров и, если надо, диапазон печати.
Рис.12 Как распечатать только одну страницу документа или несколько листов из него
В данном примере на печать выводятся страницы с 3 по 5 и 10 страница.
Ошибки печати
Бывает, пользователь отправляет на печать документ, а программа или выдает ошибку, или вообще ничего не происходит. Причиной этому может быть то, что у пользователя изменился принтер, например, его переустановили. Программа по умолчанию обращается к тому принтеру, на который ранее отправляли печатать документы. Изменение принтера в параметрах печати может не дать результата и выдавать ошибку печати. В этом случае необходимо сбросить настройки печати. Для этого зайдем в пункт меню «Администрирование» - «Настройки пользователей и прав».
Рис.13 Настройки пользователей и прав
Переходим по гиперссылке «Настройки пользователей».
Рис.14 Гиперссылка «Настройки пользователей»
На закладке «Прочие настройки» для выбранного пользователя выделить строку «Настройки печати табличных документов» и нажать кнопку «Очистить».
Рис.15 Прочие настройки
После сброса настроек следует еще раз изменить принтер в меню «Параметры страницы».
При работе с программой 1С через браузер может возникнуть ситуация, когда вместо печати документ сохраняется в формат PDF. В некоторых браузерах такое бывает, когда принтер не подключен. В этом случае необходимо проверить установлен ли принтер. При нажатии на «Печать» или «Предварительный просмотр» появится окно печати документа, где, нажав кнопку «Изменить», указываем нужный принтер. Окно выглядит иначе, чем в программе 1С, так как браузер имеет свои настройки печати.
Рис.16 Прочие настройки
Зачастую ошибки, возникающие при печати документов из 1С, непосредственно с работой программы не связаны. Их самой частой причиной становятся сбои в работе сети, неверные настройки принтера или сетевого доступа к принтерам. Реже проблемы печати возникают из-за ошибок в коде программы, но разработчики сразу их ликвидируют.
Читайте также: