СтавАналит. Контактная информация

Данная статья будет полезна тем программистам, которые уже разрабатывали отчеты на системе компоновки данных , но не пользовались встроенным механизмом задания макетов.

При разработке отчетов иногда необходимо использовать не стандартный заголовок, или нужно добавить подписи. В статье рассмотрено два варианта:

  1. Встроенный механизм задания макетов непосредственно в СКД
  2. 2. Дополнение результата СКД в коде, с помощью обычных макетов.

Предположим, у нас уже есть отчет на компоновке данных, который выглядит следующим образом.

Нам необходимо добавить заголовок и подпись, чтобы отчет выглядел так:

Вариант 1 . Можно воспользоваться механизмом разработки макетов непосредственно в СКД .

Сначала нам нужно добавить группировки и задать им имена в дереве группировок. Добавим одну группировку перед основной группировкой отчёта, и установим ей имя «Шапка ». Вторую группировку добавим в конец, и зададим ей имя «Подвал ».

Далее, на вкладке макеты необходимо добавить два макета группировки и задать для них области. Если области достаточно сложные (например, часть ячеек объединены в одну), то их можно сделать в обычном макете и перенести сюда с помощью механизма «копировать, вставить». Здесь же, можно передать параметры.

На вкладке настройки для группировок «Шапка» и «Подвал» нужно отключить «основной» макет оформления, выбрав значение «без оформления». Если этого не сделать, то ячейки наших группировок будут в рамочке.

Так же для наших группировок необходимо отключить выбранные поля.

Примечание . Подобный вариант отчета, возможно разработать использую только СКД . Такой отчет будет работать как на обычном приложении, так и на управляемом.

Вариант 2. C использованием результата СКД и обычных макетов (рассмотрен вариант для обычного приложения)

Добавим в отчет обычный макет.

Зададим в нём области «Шапка и Подвал».

В модуле формы добавим код для кнопки «Сформировать», в котором сначала выведем область «Шапка», потом результат компоновки данных, затем область «Подвал».

Примечание . Для того чтобы отчет работал в управляемых приложениях необходимо модифицировать процедуру для кнопки «сформировать».

Конструируем отчёт в СКД.

Состав полей, например, такой:

В строках отчёта – группировка "Контрагент", в колонках – группировка "Проект". В данные отчёта попадает ресурс "Взаиморасчеты".

В результате получаем результат такого вида:

Видим, что в шапку отчёта попал заголовок ресурса "Взаиморасчёты". Этот заголовок нам тут не нужен, и поэтому будем от него избавляться.

Вариантов есть несколько.

Вариант 1.

Посредством настройки макета.

Открываем соответствующую вкладку в конструкторе системы компоновки данных. Выбираем пункт "Добавить макет группировки". В форме "Макет группировки" добавляем поле "Проект". Тип макета – "Заголовок".

Задаём область. Например, ячейку R1C1. Для ячейки устанавливаем свойство Заполение: "Параметр". Называем параметр, например, "Проект".

Задаём выражение для параметра: Представление(Проект). Это значит – представление поля "Проект".

В итоге должна получиться такая картина:

В итоге отчёт примет необходимый нам вид, без заголовка ресурса.

Вариант 2.

1. В выбранных полях всего отчета оставляем только ресурс
2. В выбранных полях группировки колонок убираем автополе, добавляем поле этой колонки (например, если группировка колонок по периоду, выбираем тут период)
3. На вкладке "Другие настройки" корня отчета выбираем "расположение ресурсов" - "вертикально".

В этом варианте макет не требуется.

Сегодня мы рассмотрим решение интересной задачи – вывод картинок в отчет .

Для чего это может быть полезно?

Вот несколько примеров :

  • Прайс-лист с картинками товаров и логотипом в шапке
  • Анкеты сотрудников с фотографиями
  • Сверка расчетов с печатью и подписью в подвале
  • Отчеты/печатные формы со сканом печати

В видео мы также разбираем программное формирование отчета на СКД. Такой способ формирования отчетов используется в типовых конфигурациях – это еще одна причина посмотреть его внимательно:)

Предопределенные макеты в СКД

С помощью предопределенных макетов можно переопределять стандартное оформление отчета.

В этом уроке помимо постановки задачи рассмотрим:

  • Хранение бинарных данных в модельной конфигурации
  • Возможность использования макетов СКД для вывода изображений

Программное формирование отчета на СКД

Чтобы решить задачу вывода изображений в отчет на СКД, необходимо его сформировать программно.

Именно при программном формировании отчета возможно обратиться к бинарным данным.

В ходе этого урока выполним:

  • Вывод результата компоновки в табличный документ
  • Использование объекта ДанныеРасшифровки
  • Получение бинарных данных из базы
  • Программное создание рисунков в табличном документе

Отображение картинки в отчете СКД

В этом уроке выполняем финальные действия: полученные ранее бинарные данные выводим в отчет.

Для этого рисунок добавляется в табличный документ, после чего он выводится в отчет.

Универсальность алгоритма вывода картинок

Разработанный алгоритм вывода изображений является универсальным – при любом изменении структуры отчета алгоритм продолжает работать.

Собственно, это мы и докажем в данном уроке.

Кроме этого, рассмотрим особенность фонового формирования отчета на СКД (построение отчета с помощью регламентных заданий).

Вывод изображения в шапке отчета

Часто в шапке или подвале отчета нужно вывести статичную картинку.

Казалось бы, простая задача, но в случае с СКД нужно знать, как ее решить:

  • Шаг 1. Программно формируем отчет
  • Шаг 2. Создаем отдельный макет с нужной шапкой или подвалом
  • Шаг 3. Перед заполнением отчета СКД выводим секцию с нужными данными.

В этом видео наглядно показано решение задачи.

Приятного просмотра! :)

Последние несколько дней мы публикуем материалы по СКД.

А что если программист/внедренец 1С не знает СКД? Может, это реально не так важно?

Ok, давайте рассмотрим, что будет ждать специалиста, который пишет отчеты «на коленке» (например, с помощью ручного вывода в табличный документ).

Не стреляйте в пианиста, он играет, как умеет.

Отчеты практически во всех типовых конфигурациях базируется на СКД.

Для специалиста без знаний СКД доработка типовых отчетов становится лотереей – почему и как в отчете выводится та или иная цифра, как добавить новые источники, где в коде править расчетные цифры…

СКД – стандарт отчетов в типовых конфигурациях, и 1С не пишет комментарии в расчете на тех, кто стандарты еще так и не изучил:)

Куча времени к черту…

Без СКД разработка отчетов выполняется во многом вручную.

Это, конечно, круто – выйти как рембо с отверткой в зубах и типа сделать всех:)

В результате – большие трудозатраты на разработку отчета и его отладку . И любого руководителя/ заказчика это будет как минимум настораживать: “странно, а он точно в этом разбирается??”

А если речь заходит о последующей доработке отчета, это часто становится головной болью (особенно, если это чужой отчет)…

Развивающие поездки к клиентам, чтобы поменять группировку в отчете

СКД позволяет получать качественные отчеты без программирования. Костяк делается за несколько минут , дальше – бантики.

А пользователи могут донастраивать такие отчеты без привлечения программиста , формировать несколько вариантов представления – диаграммы, графики, списки, таблицы.

Добиться такой универсальности в отчетах, построенных программно, невозможно в разумные сроки .

Поэтому – звонок, трамвай, поехали… Это такой профессиональный рост для 1С-ника…

“У вас нет такого же, но с перламутровыми пуговицами? – К сожалению – нет…” (с)

А если какие-то данные нужно получить из другой системы – из другой базы 1С или вообще не из 1С?

С помощью СКД можно создать отчет, который работает и с данными текущей ИБ и получает данные из другого источника – программирования для этого не потребуется .

Без СКД внешние данные будут получаться программно и не самым тривиальным способом.

Если Вы хотите профессионально освоить СКД и ежедневно применять в своей работе , записывайтесь на курс:

Поддержка – 2 месяца . Объем курса – 34 учебных часа .

Не откладывайте свое обучение!

В данной статье мы кратко пробежимся по всем вкладкам конструктора схемы компоновки данных.

Наборы данных

На данной вкладке можно создать неограниченное количество наборов данных. Набор данных – это источник получения данных.

Различают несколько видов наборов данных:

  • Запрос;
  • Объект;
  • Объединение .

Запрос – это обычный 1с-запрос только язык запросов немного расширен. Для удобства можно использовать конструктор запроса.

Объект – внешний набор данных, например таблица значений.

Объединение – объединение нескольких наборов данных типов запрос и объект.

В данной статье мы кратко пробежимся по всем вкладкам конструктора схемы компоновки данных. Наборы данных На данной вкладке можно создать неограниченное количество наборов данных. Набор данных – это источник получения данных. Различают несколько видов наборов данных: Запрос; Объект; Объединение. Запрос – это обычный 1с-запрос только язык запросов немного расширен. Для удобства можно использовать конструктор запроса. Объект – внешний набор данных, например таблица значений. Объединение – объединение нескольких наборов данных типов запрос и объект. Связи наборов данных На данной вкладке описываются связи наборов данных. Тут можно указать какие наборы данных связывать и по каким полям и с какими параметрами. Самое главное, что нужно запомнить: в схеме компоновки данных, при связывании наборов всегда используется Левое соединение! Вычисляемые поля На данной вкладке можно создавать дополнительные поля, не описанные на вкладке Наборы данных. В качестве выражений для расчета можно использовать язык выражений компоновки данных, поля из основных наборов данных, а также функции не глобальных общих модулей. Ресурсы Ресурсы – это итоговые данные по группировкам. На вкладке можно назначить ресурсом поля из наборов данных, а также из вычисляемых полей. Также для ресурсов указывается выражение, по которому они рассчитываются, и возможно указание группировки по которой будет рассчитываться выражение для ресурсов. На основании значений ресурсов также рассчитываются общие итоги отчета. Параметры Параметры данных, как правило, используются в наборе данных запрос. Все параметры, описанные в запросе, появляются на вкладке Параметры. На данной вкладке можно указать заголовок, доступные типы, доступные значение и некоторые другие вещи. Подробнее о параметрах чуть позже. Макеты По умолчанию макет сформированного отчета генерируется автоматически системой компоновки данных. Но в системе также имеется возможность разработчику самому оформлять отдельные области отчета(полей, группировок, ресурсов…). Все макеты отдельных областей, созданные на данной вкладке, привязаны только к текущему отчету. Вложенные схемы Вложенные схемы используются в случаях когда данные одного отчета необходимо использовать в другом. Другими словами мы “встраиваем” одну схему компоновки данных в другую, указывая связь по общему полю. Пример использования вложенных схем можно посмотреть в этой статье. Настройки На данной вкладке разработчик создает стандартные настройки формирования отчета. В верхней части окна задается иерархическая структура. Структура формирования отчета может состоять из следующих элементов: Группировка; Таблица; Диаграмма; Вложенная схема В нижнем части окна задаются настройки для всего отчета и для каждого элемента структуры отчета. Кратко в вкладках настроек: Выбранные поля – список полей выводимых в отчет; Отбор – всевозможные отборы записей отчета; Порядок – сортировка записей в отчете; Параметры данных – значение параметров отчета; Пользовательские поля – дополнительные поля отчета, создаваемые пользователем; Условное оформление – задается условное оформление записей отчета; Другие настройки – всевозможные дополнительные настройки такие как: заголовок отчета, макет оформления, расположение полей и тд....