1С отчет скд таблица

Данная статья описывает пример создания отчета с использованием системы компоновки данных 1С:Предприятия 8.1. Отчет создается в демонстрационной конфигурации "Примеры 8.1", которая расположена на диске ИТС.

Дистрибутив конфигурации находится в каталоге 1CITSEXEDemo81 (копировать дистрибутив конфигурации)

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

Для создания отчета выберем в дереве конфигурации ветвь "Отчеты" и вызовем контекстное меню. В появившемся контекстном меню выберем команду "Добавить".

В появившейся форме введем в поле ввода "Имя" имя отчета: "ОстаткиНоменклатуры". После этого перейдем к созданию схемы компоновки данных.

Схема компоновки данных — это описание отчета, при помощи которого платформа позволит вводить настройки и получать результат. Для открытия и создания схемы компоновки нажмем кнопку "Открыть схему компоновки данных".

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

Отметим, что схема компоновки данных, с точки зрения конфигурации, является макетом, поэтому система 1С:Предприятие 8 предлагает стандартный диалог конструктора макета. В этом диалоге по умолчанию выбран тип макета "Схема компоновки данных", а другие типы макетов недоступны для выбора.

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

Первым шагом при создании новой схемы компоновки данных является добавление набора данных, из которого будут получены данные. В нашем случае данные будут получены при помощи запроса, поэтому добавим набор данных — запрос.

Для этого нажмем на кнопку "Добавить набор данных", которая расположена в командной панели на закладке "Наборы данных". В открывшемся меню выберем пункт "Добавить набор данных — запрос":

Конструктор добавит в схему компоновки набор данных — запрос.

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

Рассмотрим вариант создания текста запроса с помощью конструктора. Для вызова конструктора запроса нажмем кнопку "Конструктор запроса. ":

Конструктор запроса позволяет создавать и редактировать запросы любой сложности и является весьма мощным инструментом. Форма конструктора запроса выглядит следующим образом:

Отчет, который мы создаем, будет получать данные из регистра накопления "УчетНакопления", поскольку именно в нем в демонстрационной базе хранятся остатки номенклатуры по складам.

Найдем в дереве базы данных, в ветке "РегистрыНакопления", таблицу "УчетНоменклатуры.Остатки" (имя "Остатки" после точки в данном случае указывает, что мы будем обращаться к виртуальной таблице остатков, которая и предоставит нам остатки в разрезе каждой номенклатуры на каждом складе). Двойной щелчок на таблице приведет к тому, что таблица будет помещена в табличное поле "Таблицы". В этом поле отображаются все таблицы, из которых будут получаться данные запроса.

Раскрыв таблицу "УчетНакопленияОстатки" мы увидим, какие поля мы можем получать из нее. В данном случае нас интересуют все поля, поэтому просто сделаем двойной щелчок по таблице и конструктор запроса поместит все поля таблицы в выбранные поля.

На этом создание запроса завершено — мы создали запрос, который будет получать данные из таблицы остатков.

Нажмем кнопку ОК для завершения работы конструктора запроса.

Текст запроса, который был создан с помощью конструктора, система 1С:Предприятие 8 поместит в поле "Запрос". Это поле представляет собой текстовый редактор, в котором можно вручную отредактировать существующий запрос. Кроме того, можно снова вызвать конструктор запроса и отредактировать запрос при помощи него.

Обратим внимание на список полей, который система 1С:Предприятие 8 заполнила в верхней части конструктора запроса. В нем отображаются поля, которые доступны у текущего набора данных. В нашем случае система 1С:Предприятие заполнила данный список автоматически, из текста запроса, и нет необходимости в его настройке вручную.

Следующим шагом, который необходимо выполнить, является указание ресурсов. Ресурсы — это поля набора данных, по которым будет происходить агрегация значений.

Для указания ресурсов перейдем на закладку "Ресурсы". На этой закладке в левой части мы видим список полей, которые допускается использовать в качестве ресурсов. В правой части расположено табличное поле, содержащее выражения для расчета ресурсов.

Нам необходимо рассчитать суммы по полю "КоличествоОстаток".

Найдем это поле в списке доступных полей и дважды щелкнем по нему. В правом табличном поле появится строка, содержащая формулу для расчета итога по полю "КоличествоОстаток". В нашем случае это "Сумма(КоличествоОборот)". Эта формула означает, что для итоговых записей отчета значение поля "КоличествоОстаток" будет вычисляться как сумма поля "КоличествоОстаток" для всех строк участвующих в данной итоговой записи.

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

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

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

Конструктор настроек компоновки данных позволяет шаг за шагом создать типовые настройки отчета.

На первом шаге в конструкторе указывается тип отчета, который необходимо создать. Нас интересует таблица, поэтому установим соответствующий переключатель и нажмем кнопку "Далее >".

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

Нажмем кнопку "Далее >".

На следующем шаге нужно указать, по каким полям следует группировать строки и колонки таблицы. Мы хотим видеть в строках номенклатуру, а в колонках склад. Будем действовать соответственно — перетащим при помощи мыши поле "Номенклатура" в табличное поле строк, а поле "Склад" в табличное поле колонок.

Нажмем кнопку "Далее >".

На следующем шаге нам будет предложено выбрать поля, по которым нужно упорядочивать. Мы не будем выбирать поля упорядочивания, а доверим системе 1С:Предприятие 8 самой решать как будет упорядочиваться отчет.

Нажмем кнопку "ОК" для завершения работы конструктора.

Созданные конструктором настройки система 1С:Предприятие 8 помещает в настройки схемы компоновки данных. Если в дальнейшем нам понадобится их изменить, мы сможем доработать их произвольным образом при помощи табличных полей или же снова воспользоваться конструктором.

На этом работа со схемой компоновки закончена, мы сделали все, что хотели: создали запрос, указали формулы для расчета ресурсов, создали настройки по умолчанию. Закроем конструктор.

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

На этом работа по созданию отчета завершена. Посмотрим, как работает наш отчет в режиме 1С:Предприятие.

Запустим систему 1С:Предприятие, нажав F5. На вопрос системы о необходимости обновить конфигурацию базы данных ответим утвердительно.

В открывшемся окне 1С:Предприятия выберем в главном меню пункты Операции->Отчет.

В появившемся списке отчетов выберем наш отчет — "Остатки номенклатуры" и нажмем кнопку ОК.

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

Выполним отчет, нажав на кнопку "Сформировать". Платформа начнет формирование отчета. При выполнении отчета в строке состояния системы 1С:Предприятие 8 отображается процент выведенного результата.

Если необходимо отменить вывод отчета, можно воспользоваться комбинацией клавиш Ctrl+Break.

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

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

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

Конструктор настроек в режиме 1С:Предприятие ничем не отличается от конструктора, которым мы пользовались при создании настроек по умолчанию в режиме Конфигуратор.

Форма же настроек в режиме 1С:Предприятие очень похожа на настройки из конструктора схемы компоновки данных:

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

В этой статье мы рассмотрели основные этапы, которые нужно пройти при создании отчета. Безусловно, это только начало знакомства с системой компоновки данных т.к. система компоновки предоставляет весьма много возможностей для получения, агрегации, оформления данных.

Для дальнейшего практического изучения системы компоновки можно обратиться к другим отчетам из демонстрационной конфигурации "Примеры 8.1". Информацию об устройстве системы компоновки данных можно найти в документации системы 1С:Предприятие 8.

Добавить в ИзбранноеСделать СтартовойНаписать письмо
ГлавнаяСтатьиВопрос-ответЭкспресс-справочникГостевая книга
Статьи по 1С
  • Использование данных таблицы значений в отчете СКД для обычных форм
  • Устранение ошибок подключения через COM-соединение
  • Выгрузка данных регистра сведений ФИО физических лиц и паспортных данных через правила обмена
  • Внешняя печатная форма с использованием внешней обработки
  • Чтение и запись данных с использованием файла MS Excel
  • Выбор записи из регистра сведений в режиме формы выбора
  • Размещение диаграммы на управляемой форме
  • Зависание печатной формы в обычном приложении

Создание отчета в СКД с использованием данных из таблицы значений

Порой случается, что данные в отчете нельзя получить при помощи запроса или комбинации запросов. Приходится пользоваться какими-то процедурами для сбора данных, а данные помещаются в таблицу значений. Возникает вопрос — можно ли эти данные использовать в схеме компоновки данных? Ведь СКД инструмент мощный и удобный. Оказывается, что использовать данные из таблицы значений в качестве источника данных для отчета в СКД можно и сделать это совсем не сложно. В этой статье будет показано создание такого отчета для обычных форм.
Итак, как создать отчет СКД с использованием данных из таблицы значений? Обо всем по порядку.
Первым делом открываем конфигуратор и создаем новый внешний отчет.

Открываем модуль объекта и создаем предопределенную процедуру ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

Внутри этой процедуры будем собирать данные и формировать отчет.
В процедуре ПриКомпоновкеРезультата отключаем стандартную обработку. СтандартнаяОбработка = Ложь;
Затем формируем таблицу значений произвольным образом. Имена колонок таблицы значений должны совпадать с будущими полями набора данных в СКД.:

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

  • Из схемы получаем настройки по умолчанию.
  • В соответствующую переменную отправляем данные о расшифровке.
  • Формируем макет с помощью компоновщика макета.
  • Передаём в макет компоновки схему, настройки и данные расшифровки.
  • Выполняем компоновку с помощью процессора компоновки. Для этого выполняем метод процессора компоновки данных Инициализировать(). В качестве параметров передаём макет компоновки данных, внешние наборы данных (тип: Структура, ключ структуры должен совпадать с именем объекта в схеме компоновки данных , значение — сформированная таблица значений), данные расшифровки.
  • Очищаем поле табличного документа.
  • Выводим результат в табличный документ.

В итоге получается следующий код:
Добавляем макет схемы компоновки. Название можем оставить по умолчанию.

Создаем набор данных. Для этого добавляем новый набор данных типа Объект. В поле Имя объекта, содержащего данных помещаем то название, которое мы указали в качестве ключа при создании структуры ВнешийНаборДанных. Затем добавляем поля. Имена должны точно совпадать с именами колонок в таблице значений. Далее можем указать допустимые значения, форматы и т.д.

Добавляем ресурсы, если это необходимо. По ним будут считаться итоги. В нашем случае это поля Количество и Сумма.

В закладке Настройки с помощью конструктора настроек формируем вариант отчета по умолчанию

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


Вот и все. Достаточно просто, не правда ли?

Получившийся отчет для примера можно скачать тут

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: представление отчёта в виде таблицы

Автор уроков и преподаватель школы: Владимир Милькин

На всех прошлых уроках мы выводили данные в отчет в виде списка. Сегодня разберёмся со вторым типом отчета: "Таблица".

Ставим цель

  • Написать отчёт, который выводит информацию о заказе еды клиентами в виде таблицы.
  • В строках таблицы должна выводиться еда, в колонках — клиенты, а на пересечении количество данной еды заказанной данным клиентом.
  • Информацию будем брать из документов "ЗаказКлиента".

Поехали!

Создаём новый отчёт

Открываем базу "Гастроном" в конфигураторе и через меню "Файл"->"Новый. " создаём новый отчёт:

Вид документа — "Внешний отчет":

В новой форме отчёта указываем имя "Урок8" и нажимаем кнопку "Открыть схему компоновки данных":

Имя схемы компоновки данных оставляем по умолчанию:

Составляем запрос

Добавляем новый набор данных — запрос:

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

Будем выбирать из табличных частей документа "ЗаказКлиента" следующие поля:

Получился следующий текст запроса:

Сначала пробуем список

Перейдём на закладку "Настройки" и нажмём волшебную палочку, чтобы вызвать конструктор:

Вначале попробуем по старинке выбрать тип отчета "Список. ":

Укажем поля, которые будут отображаться в отчете:

Сохраним наш отчёт в конфигураторе и сформируем в режиме пользователя:

Получился привычный нам список с тремя колонками: Клиент, Еда и Количество.

Выводим в виде таблицы

Ах как замечательно было бы представить эти же самые данные в виде таблицы, в строках которой перечислена еда, в колонках — клиенты, а на пересечении количество данной еды, которое заказал данный клиент:

Сделать это действительно легко. Для этого вернёмся на закладку "Настройки" и вновь вызовем конструктор настроек через волшебную палочку:

На этот раз в качестве типа отчета выберем "Таблица..":

Из полей, которые будут отображаться в отчёте уберём "Клиент" и "Еда", так как эти поля по нашей задумке уйдут в столбцы и строки соответственно:

Оставим только количество, которое будет отображаться на пересечении строк и столбцов:

Здесь нужно указать конструктору какие поля будут отображаться в строках, а какие в столбцах. Для нас очевидно (см. рисунок выше), что строки — это еда, а колонки — клиенты:

Получилось вот так:

Итоговая структура отчёта будет такой:

Сохраняем наш отчёт в конфигураторе и формируем в режиме пользователя:

Вроде бы неплохо. Еда отображаться в строках, а клиенты — в столбцах. Но показатели количества, которые мы ожидали увидеть на пересечении строк и столбцов почему-то оказались все слепёшены в одном столбце.

А причина в том, что строки и столбцы у нас сгруппированы, а показатели нет! Поэтому и такой разлад.

Чтобы сгруппировать количество нужно подвести по нему итоги (вычислить ресурсы). Это мы уже делать умеем.

Забыли подвести итоги

Переходим на закладку "Ресурсы" и перетаскиваем поле "Количество" из левой колонки в правую:

Выражение "Сумма(Про. " оставляем без изменения:

Снова сохраняем отчет и формируем в режиме пользователя:

То, что надо! Мы хорошо поработали. А на следующем уроке — мы модифицируем этот отчёт (вернее его копию) и представим эти же данные в виде диаграммы.

Войдите на сайт как ученик

Авторизуйтесь, чтобы получить доступ ко всем материалам школы

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

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Войдите как ученик, чтобы получить доступ к материалам школы

Оцените статью
Много толка
Добавить комментарий