СтавАналит. Контактная информация
Данная статья будет полезна тем программистам, которые уже разрабатывали отчеты на системе компоновки данных , но не пользовались встроенным механизмом задания макетов.
При разработке отчетов иногда необходимо использовать не стандартный заголовок, или нужно добавить подписи. В статье рассмотрено два варианта:
- Встроенный механизм задания макетов непосредственно в СКД
- 2. Дополнение результата СКД в коде, с помощью обычных макетов.
Предположим, у нас уже есть отчет на компоновке данных, который выглядит следующим образом.
Нам необходимо добавить заголовок и подпись, чтобы отчет выглядел так:
Вариант 1 . Можно воспользоваться механизмом разработки макетов непосредственно в СКД .
Сначала нам нужно добавить группировки и задать им имена в дереве группировок. Добавим одну группировку перед основной группировкой отчёта, и установим ей имя «Шапка ». Вторую группировку добавим в конец, и зададим ей имя «Подвал ».
Далее, на вкладке макеты необходимо добавить два макета группировки и задать для них области. Если области достаточно сложные (например, часть ячеек объединены в одну), то их можно сделать в обычном макете и перенести сюда с помощью механизма «копировать, вставить». Здесь же, можно передать параметры.
На вкладке настройки для группировок «Шапка» и «Подвал» нужно отключить «основной» макет оформления, выбрав значение «без оформления». Если этого не сделать, то ячейки наших группировок будут в рамочке.
Так же для наших группировок необходимо отключить выбранные поля.
Примечание . Подобный вариант отчета, возможно разработать использую только СКД . Такой отчет будет работать как на обычном приложении, так и на управляемом.
Вариант 2. C использованием результата СКД и обычных макетов (рассмотрен вариант для обычного приложения)
Добавим в отчет обычный макет.
Зададим в нём области «Шапка и Подвал».
В модуле формы добавим код для кнопки «Сформировать», в котором сначала выведем область «Шапка», потом результат компоновки данных, затем область «Подвал».
Примечание . Для того чтобы отчет работал в управляемых приложениях необходимо модифицировать процедуру для кнопки «сформировать».
Конструируем отчёт в СКД.
Состав полей, например, такой:
В строках отчёта – группировка "Контрагент", в колонках – группировка "Проект". В данные отчёта попадает ресурс "Взаиморасчеты".
В результате получаем результат такого вида:
Видим, что в шапку отчёта попал заголовок ресурса "Взаиморасчёты". Этот заголовок нам тут не нужен, и поэтому будем от него избавляться.
Вариантов есть несколько.
Вариант 1.
Посредством настройки макета.
Открываем соответствующую вкладку в конструкторе системы компоновки данных. Выбираем пункт "Добавить макет группировки". В форме "Макет группировки" добавляем поле "Проект". Тип макета – "Заголовок".
Задаём область. Например, ячейку R1C1. Для ячейки устанавливаем свойство Заполение: "Параметр". Называем параметр, например, "Проект".
Задаём выражение для параметра: Представление(Проект). Это значит – представление поля "Проект".
В итоге должна получиться такая картина:
В итоге отчёт примет необходимый нам вид, без заголовка ресурса.
Вариант 2.
1. В выбранных полях всего отчета оставляем только ресурс
2. В выбранных полях группировки колонок убираем автополе, добавляем поле этой колонки (например, если группировка колонок по периоду, выбираем тут период)
3. На вкладке "Другие настройки" корня отчета выбираем "расположение ресурсов" - "вертикально".
В этом варианте макет не требуется.
Сегодня мы рассмотрим решение интересной задачи – вывод картинок в отчет .
Для чего это может быть полезно?
Вот несколько примеров :
- Прайс-лист с картинками товаров и логотипом в шапке
- Анкеты сотрудников с фотографиями
- Сверка расчетов с печатью и подписью в подвале
- Отчеты/печатные формы со сканом печати
В видео мы также разбираем программное формирование отчета на СКД. Такой способ формирования отчетов используется в типовых конфигурациях – это еще одна причина посмотреть его внимательно:)
Предопределенные макеты в СКД
С помощью предопределенных макетов можно переопределять стандартное оформление отчета.
В этом уроке помимо постановки задачи рассмотрим:
- Хранение бинарных данных в модельной конфигурации
- Возможность использования макетов СКД для вывода изображений
Программное формирование отчета на СКД
Чтобы решить задачу вывода изображений в отчет на СКД, необходимо его сформировать программно.
Именно при программном формировании отчета возможно обратиться к бинарным данным.
В ходе этого урока выполним:
- Вывод результата компоновки в табличный документ
- Использование объекта ДанныеРасшифровки
- Получение бинарных данных из базы
- Программное создание рисунков в табличном документе
Отображение картинки в отчете СКД
В этом уроке выполняем финальные действия: полученные ранее бинарные данные выводим в отчет.
Для этого рисунок добавляется в табличный документ, после чего он выводится в отчет.
Универсальность алгоритма вывода картинок
Разработанный алгоритм вывода изображений является универсальным – при любом изменении структуры отчета алгоритм продолжает работать.
Собственно, это мы и докажем в данном уроке.
Кроме этого, рассмотрим особенность фонового формирования отчета на СКД (построение отчета с помощью регламентных заданий).
Вывод изображения в шапке отчета
Часто в шапке или подвале отчета нужно вывести статичную картинку.
Казалось бы, простая задача, но в случае с СКД нужно знать, как ее решить:
- Шаг 1. Программно формируем отчет
- Шаг 2. Создаем отдельный макет с нужной шапкой или подвалом
- Шаг 3. Перед заполнением отчета СКД выводим секцию с нужными данными.
В этом видео наглядно показано решение задачи.
Приятного просмотра! :)
Последние несколько дней мы публикуем материалы по СКД.
А что если программист/внедренец 1С не знает СКД? Может, это реально не так важно?
Ok, давайте рассмотрим, что будет ждать специалиста, который пишет отчеты «на коленке» (например, с помощью ручного вывода в табличный документ).
Не стреляйте в пианиста, он играет, как умеет.
Отчеты практически во всех типовых конфигурациях базируется на СКД.
Для специалиста без знаний СКД доработка типовых отчетов становится лотереей – почему и как в отчете выводится та или иная цифра, как добавить новые источники, где в коде править расчетные цифры…
СКД – стандарт отчетов в типовых конфигурациях, и 1С не пишет комментарии в расчете на тех, кто стандарты еще так и не изучил:)
Куча времени к черту…
Без СКД разработка отчетов выполняется во многом вручную.
Это, конечно, круто – выйти как рембо с отверткой в зубах и типа сделать всех:)
В результате – большие трудозатраты на разработку отчета и его отладку . И любого руководителя/ заказчика это будет как минимум настораживать: “странно, а он точно в этом разбирается??”
А если речь заходит о последующей доработке отчета, это часто становится головной болью (особенно, если это чужой отчет)…
Развивающие поездки к клиентам, чтобы поменять группировку в отчете
СКД позволяет получать качественные отчеты без программирования. Костяк делается за несколько минут , дальше – бантики.
А пользователи могут донастраивать такие отчеты без привлечения программиста , формировать несколько вариантов представления – диаграммы, графики, списки, таблицы.
Добиться такой универсальности в отчетах, построенных программно, невозможно в разумные сроки .
Поэтому – звонок, трамвай, поехали… Это такой профессиональный рост для 1С-ника…
“У вас нет такого же, но с перламутровыми пуговицами? – К сожалению – нет…” (с)
А если какие-то данные нужно получить из другой системы – из другой базы 1С или вообще не из 1С?
С помощью СКД можно создать отчет, который работает и с данными текущей ИБ и получает данные из другого источника – программирования для этого не потребуется .
Без СКД внешние данные будут получаться программно и не самым тривиальным способом.
Если Вы хотите профессионально освоить СКД и ежедневно применять в своей работе , записывайтесь на курс:
Поддержка – 2 месяца . Объем курса – 34 учебных часа .
Не откладывайте свое обучение!
В данной статье мы кратко пробежимся по всем вкладкам конструктора схемы компоновки данных.
Наборы данных
На данной вкладке можно создать неограниченное количество наборов данных. Набор данных – это источник получения данных.
Различают несколько видов наборов данных:
- Запрос;
- Объект;
- Объединение .
Запрос – это обычный 1с-запрос только язык запросов немного расширен. Для удобства можно использовать конструктор запроса.
Объект – внешний набор данных, например таблица значений.
Объединение – объединение нескольких наборов данных типов запрос и объект.
В данной статье мы кратко пробежимся по всем вкладкам конструктора схемы компоновки данных. Наборы данных На данной вкладке можно создать неограниченное количество наборов данных. Набор данных – это источник получения данных. Различают несколько видов наборов данных: Запрос; Объект; Объединение. Запрос – это обычный 1с-запрос только язык запросов немного расширен. Для удобства можно использовать конструктор запроса. Объект – внешний набор данных, например таблица значений. Объединение – объединение нескольких наборов данных типов запрос и объект. Связи наборов данных На данной вкладке описываются связи наборов данных. Тут можно указать какие наборы данных связывать и по каким полям и с какими параметрами. Самое главное, что нужно запомнить: в схеме компоновки данных, при связывании наборов всегда используется Левое соединение! Вычисляемые поля На данной вкладке можно создавать дополнительные поля, не описанные на вкладке Наборы данных. В качестве выражений для расчета можно использовать язык выражений компоновки данных, поля из основных наборов данных, а также функции не глобальных общих модулей. Ресурсы Ресурсы – это итоговые данные по группировкам. На вкладке можно назначить ресурсом поля из наборов данных, а также из вычисляемых полей. Также для ресурсов указывается выражение, по которому они рассчитываются, и возможно указание группировки по которой будет рассчитываться выражение для ресурсов. На основании значений ресурсов также рассчитываются общие итоги отчета. Параметры Параметры данных, как правило, используются в наборе данных запрос. Все параметры, описанные в запросе, появляются на вкладке Параметры. На данной вкладке можно указать заголовок, доступные типы, доступные значение и некоторые другие вещи. Подробнее о параметрах чуть позже. Макеты По умолчанию макет сформированного отчета генерируется автоматически системой компоновки данных. Но в системе также имеется возможность разработчику самому оформлять отдельные области отчета(полей, группировок, ресурсов…). Все макеты отдельных областей, созданные на данной вкладке, привязаны только к текущему отчету. Вложенные схемы Вложенные схемы используются в случаях когда данные одного отчета необходимо использовать в другом. Другими словами мы “встраиваем” одну схему компоновки данных в другую, указывая связь по общему полю. Пример использования вложенных схем можно посмотреть в этой статье. Настройки На данной вкладке разработчик создает стандартные настройки формирования отчета. В верхней части окна задается иерархическая структура. Структура формирования отчета может состоять из следующих элементов: Группировка; Таблица; Диаграмма; Вложенная схема В нижнем части окна задаются настройки для всего отчета и для каждого элемента структуры отчета. Кратко в вкладках настроек: Выбранные поля – список полей выводимых в отчет; Отбор – всевозможные отборы записей отчета; Порядок – сортировка записей в отчете; Параметры данных – значение параметров отчета; Пользовательские поля – дополнительные поля отчета, создаваемые пользователем; Условное оформление – задается условное оформление записей отчета; Другие настройки – всевозможные дополнительные настройки такие как: заголовок отчета, макет оформления, расположение полей и тд....