Разделы сайта
Выбор редакции:
- Какие флешки USB самые надежные и быстрые?
- Подключение ноутбука к телевизору через USB Шнур для подключения ноутбука к телевизору vga
- Изменение интерфейса Steam – от простых картинок до всего представления на экране Новое оформление steam
- Как отменить подписку на Мегого на телевизоре: подробная инструкция Как отписаться от подписок megogo
- Как разделить диск с установленной системой Windows без потери данных Разбить диск на разделы 7
- Почему издатели не могут редактировать все страницы
- Нет в биосе загрузки с флешки - как настроить?
- Промокоды пандао на баллы
- Опасный вирус-вымогатель массово распространяется в интернете
- Установка дополнительной оперативной памяти
Реклама
Простая инструкция – как вывести изображения в отчетах на СКД. Использование источника данных в виде объекта |
Создадим внешний отчет, который будет выводить отчетную информацию об остатках номенклатуры и её обороте. Требуемая информация запрашивается запросом с помощью набор данных типа "Запрос", который содержит текст запроса:
//////////////////////////////////////////////////////////////////////////////// В итоге отчет содержит следующие поля (см. рисунок 1):
1. Настройка заголовков на вкладке СКД "Наборы данных"Здесь все просто, ставим галочку напротив свойства поля "Заголовок" (т.е. отменяем автозаголовок) и вводим необходимый текст заголовка (см. рисунок 4).Если требуется задать оформление для всего поля, а не только для его заголовка, то существует свойство поля "Оформление", с помощью которого можно задать некое оформление поля, например, изменить шрифт или задать цвет фона (см. рисунок 5). На этом мои знания про вкладку "Наборы данных" заканчиваются. 2. Настройка заголовков полей на вкладке СКД "Настройки"Для задания заголовка поля, необходимо выделить нужное поле, правой кнопкой мыши вызвать контекстное меню и выбрать пункт "Установить заголовок" (см. рисунок 6)Что бы сгруппировать поля (например, по типу информации), нужно добавить группировочное поле и поместить в него требуемые поля (см. рисунок 7), вложенность неограниченная. Так же можно поиграться со свойством группировочного поля "Расположение", от которого зависит вид группировки полей. Данные действия можно производить и в режиме 1С:Предприятия, открыв настройки отчета, НО, в состав настроек отчета должен быть включен пункт "Выбранные поля" (см. рисунок 8). 3. Программная установка заголовков полейПлатформа позволяет программно устанавливать заголовки полей, более того, устанавливать многострочные, что в свою очередь дает возможность гибко и динамически задавать заголовки полей при формировании отчета.Для этого в модуле отчета определим процедуру ПриКомпоновкеРезультата . В этой процедуре напишем код по заданию заголовка полей.
// 1. Получаем пользовательские настройки.
// 2. Получаем значение параметра "Период" из которого определяем дату начала и окончания периода.
// 3. Подготовим информацию о переопределении заголовка полей. Для этого, создадим
// 4. Получим список полей, который находятся в группировке "Остатки" (см. рисунок 7) и
// 5. Загрузим измененный пользовательские настройки обратно. Результат отчета (см. рисунок 10): 4. Задание шапки отчета с помощью макетаДля более гибкой настройки внешнего вида отчета в СКД предусмотрено создание макетов. В настройках отчета создадим еще одну группировку "детальные записи" и установим имя "СтрокаДЗ" для этой группировки (см. рисунок 11).На вкладке "Макеты" добавим макет заголовка группировки. Для макета в табличном документе создадим шапку отчета (шапка отчета должна содержать столько заголовков полей, сколько выводит полей детальная запись) и укажем область табличного документа для макета (см. рисунок 12). В итоге отчет имеет следующего вида шапку(см. рисунок 13):
На сайте информационно-технологического сопровождения приведена статья Использование предопределенных макетов , которая подробно описывает приемы использования макетов в СКД. 5. Доработка результата (табличного документа)В этом способе используется замечательный метод табличного документа НайтиТекст() , но для применения данного способа требуется отключение стандартной обработки формирования результата отчета.Приступим. Отключаем стандартное формирование, для этого в модуле отчета для события ПриКомпоновкеРезультата
установим переменную СтандартнаяОбработка в значение Ложь и напишем собственную компоновку результата: Скомпонованный результат выводится в табличный документ - это переменная ДокументРезультат. Далее, после формирования результата и вывода его в табличный документ пишем код для замены одного текста ячейки на другой. Например, изменим в шапке отчета название группировки "Остатки" на "Остатки номенклатуры" (см. рисунок 14): Так же для найденной ячейки можно задать форматирование, см. свойства ячейки табличного документа в синтакс-помощнике. Данный способ я обнаружил для себя недавно, он прост и позволяет очень гибко работать с шапкой отчета, главное, что бы текст ячейки имел уникальный текст. P.S. может быть у вас в арсенале имеется еще способ оформления заголовков полей? При создании отчетов с помощью системы компоновки данных (СКД) удобно выводить параметры отчета (хотя бы наиболее часто используемые) на форму, чтобы не заставлять пользователя копаться в стандартном окне настроек СКД. Рассмотрим как это можно сделать на обычных формах 1С. Сразу оговоримся, что в этой статье будет рассматриваться именно вывод параметров на форму, т.е. сами параметры в СКД уже должны быть созданы. Существует два способа вывода параметров СКД на обычную форму:
Таблица настройки параметров, выводимая на форму, аналогична таблице настройки параметров, генерируемой средствами СКД. Для ее вывода на форму нужно создать элемент управления ТабличноеПоле , у которого в свойстве Данные указать КомпоновщикНастроек.Настройки.ПараметрыДанных При этом пользователю будут показаны все параметры СКД, у которых не установлено ограничение доступности. Однако, в ряде случаев этот способ может показаться не столь красивым и не очень удобным для пользователя. Рассмотрим, как вывести на форму параметры СКД по отдельности в виде обычных полей ввода.
Сегодня мы рассмотрим решение интересной задачи – вывод картинок в отчет . Для чего это может быть полезно? Вот несколько примеров :
В видео мы также разбираем программное формирование отчета на СКД. Такой способ формирования отчетов используется в типовых конфигурациях – это еще одна причина посмотреть его внимательно:) Предопределенные макеты в СКДС помощью предопределенных макетов можно переопределять стандартное оформление отчета. В этом уроке помимо постановки задачи рассмотрим:
Программное формирование отчета на СКДЧтобы решить задачу вывода изображений в отчет на СКД, необходимо его сформировать программно. Именно при программном формировании отчета возможно обратиться к бинарным данным. В ходе этого урока выполним:
Отображение картинки в отчете СКДВ этом уроке выполняем финальные действия: полученные ранее бинарные данные выводим в отчет. Для этого рисунок добавляется в табличный документ, после чего он выводится в отчет. Универсальность алгоритма вывода картинокРазработанный алгоритм вывода изображений является универсальным – при любом изменении структуры отчета алгоритм продолжает работать. Собственно, это мы и докажем в данном уроке. Кроме этого, рассмотрим особенность фонового формирования отчета на СКД (построение отчета с помощью регламентных заданий). Вывод изображения в шапке отчетаЧасто в шапке или подвале отчета нужно вывести статичную картинку. Казалось бы, простая задача, но в случае с СКД нужно знать, как ее решить:
В этом видео наглядно показано решение задачи. Приятного просмотра! :) Последние несколько дней мы публикуем материалы по СКД. А что если программист/внедренец 1С не знает СКД? Может, это реально не так важно?Ok, давайте рассмотрим, что будет ждать специалиста, который пишет отчеты «на коленке» (например, с помощью ручного вывода в табличный документ). Не стреляйте в пианиста, он играет, как умеет.Отчеты практически во всех типовых конфигурациях базируется на СКД. Для специалиста без знаний СКД доработка типовых отчетов становится лотереей – почему и как в отчете выводится та или иная цифра, как добавить новые источники, где в коде править расчетные цифры… СКД – стандарт отчетов в типовых конфигурациях, и 1С не пишет комментарии в расчете на тех, кто стандарты еще так и не изучил:) Куча времени к черту…Без СКД разработка отчетов выполняется во многом вручную. Это, конечно, круто – выйти как рембо с отверткой в зубах и типа сделать всех:) В результате – большие трудозатраты на разработку отчета и его отладку . И любого руководителя/ заказчика это будет как минимум настораживать: “странно, а он точно в этом разбирается??” А если речь заходит о последующей доработке отчета, это часто становится головной болью (особенно, если это чужой отчет)… Развивающие поездки к клиентам, чтобы поменять группировку в отчетеСКД позволяет получать качественные отчеты без программирования. Костяк делается за несколько минут , дальше – бантики. А пользователи могут донастраивать такие отчеты без привлечения программиста , формировать несколько вариантов представления – диаграммы, графики, списки, таблицы. Добиться такой универсальности в отчетах, построенных программно, невозможно в разумные сроки . Поэтому – звонок, трамвай, поехали… Это такой профессиональный рост для 1С-ника… “У вас нет такого же, но с перламутровыми пуговицами? – К сожалению – нет…” (с)А если какие-то данные нужно получить из другой системы – из другой базы 1С или вообще не из 1С? С помощью СКД можно создать отчет, который работает и с данными текущей ИБ и получает данные из другого источника – программирования для этого не потребуется . Без СКД внешние данные будут получаться программно и не самым тривиальным способом. Если Вы хотите профессионально освоить СКД и ежедневно применять в своей работе , записывайтесь на курс: Поддержка – 2 месяца . Объем курса – 34 учебных часа . Не откладывайте свое обучение! Почти все параметры, доступные в диалогах настройки печати (настройки принтера, свойства страницы), можно указать непосредственно при формировании табличного документа. Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»). Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе: ТабДок.ИмяПринтера="Canon iR1133"; При печати пакета документов можно сэкономить время, установив признак разбора по копиям: ТабДок.РазборПоКопиям=Истина; Число копий можно указать так: ТабДок.КоличествоЭкземпляров=5; Разумеется, можно задать поля: ТабДок.ПолеСлева=20;//Поле слева 20мм, остальные поля 10мм (по умолчанию) Еще несколько свойств страницы: ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт; ТабДок.ЭкземпляровНаСтранице=2; //на листе будет размещено 2 страницы ТабДок.Автомасштаб=истина; //аналогично настройкам масштаба «по ширине страницы» При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати» ). Свойство «РазмерСтраницы» позволяет задать стандартные форматы страницы – “A3”, “A4”, “A5” (полный список вариантов доступен в справке 1С). ТабДок.РазмерСтраницы="A3";// буква А должна быть английской Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм): ТабДок.РазмерСтраницы="Custom";//нестандартный размер ТабДок.ВысотаСтраницы=350; ТабДок.ШиринаСтраницы=350; Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства«ВерхнийКолонтитул» и «НижнийКолонтитул». Например: ТабДок.ВерхнийКолонтитул.Выводить=истина; //будет напечатан верхний колонтитул ТабДок.РазмерКолонтитулаСверху=7; //размер колонтитула 7мм (по умолчанию 10мм) ТабДок.ВерхнийКолонтитул.ВертикальноеПоложение=ВертикальноеПоложение.Верх; ТабДок.ВерхнийКолонтитул.НачальнаяСтраница=2;//колонтитул выводится со второй страницы ШрифтКолонтитула=Новый Шрифт("Courier New", 8,Истина); ТабДок.ВерхнийКолонтитул.Шрифт=ШрифтКолонтитула; //наклонный шрифт ТабДок.ВерхнийКолонтитул.ТекстВЦентре="Верхний колонтитул"; ТабДок.ВерхнийКолонтитул.ТекстСправа="Стр.[&НомерСтраницы] из [&СтраницВсего]"; //нумерация страниц ТабДок.ВерхнийКолонтитул.ТекстСлева="[&Дата]";//текущая дата Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова. 1) Непосредственно на принтер: ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); ТабДок.Напечатать(истина); 2) Перед печатью будет выведен диалог печати: ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать); ТабДок.Напечатать(ложь); Кроме того можно управлять и разбиением документа на страницы. Оценить количество страниц в документе по настройкам текущего принтера можно так: ТабДок.КоличествоСтраниц(); С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера. Надо иметь ввиду, что работа последних трех методов зависит от установленного принтера. Если методу не удается его найти, вызывается исключение. Принудительно вставить разрывы страниц позволяют методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()» . Таким образом, можно управлять постраничным выводом на печать и контролировать заполнение страницы: Если Не ТабДок.ПроверитьВывод(МассивВыводимыхОбластей) Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре. |
Читайте: |
---|
Популярное:
Новое
- Подключение ноутбука к телевизору через USB Шнур для подключения ноутбука к телевизору vga
- Изменение интерфейса Steam – от простых картинок до всего представления на экране Новое оформление steam
- Как отменить подписку на Мегого на телевизоре: подробная инструкция Как отписаться от подписок megogo
- Как разделить диск с установленной системой Windows без потери данных Разбить диск на разделы 7
- Почему издатели не могут редактировать все страницы
- Нет в биосе загрузки с флешки - как настроить?
- Промокоды пандао на баллы
- Опасный вирус-вымогатель массово распространяется в интернете
- Установка дополнительной оперативной памяти
- Что делать, если наушники не воспроизводят звук на ноутбуке