Система компоновки данных 1С 8.3 для начинающих: представление отчёта в виде таблицы
Автор уроков и преподаватель школы: Владимир Милькин
Оглавление
На всех прошлых уроках мы выводили данные в отчет в виде списка. Сегодня разберёмся со вторым типом отчета: "Таблица".
Ставим цель
- Написать отчёт, который выводит информацию о заказе еды клиентами в виде таблицы.
- В строках таблицы должна выводиться еда, в колонках - клиенты, а на пересечении количество данной еды заказанной данным клиентом.
- Информацию будем брать из документов "ЗаказКлиента".
Поехали!
Создаём новый отчёт
Открываем базу "Гастроном" в конфигураторе и через меню "Файл"->"Новый..." создаём новый отчёт:
Вид документа - "Внешний отчет":
В новой форме отчёта указываем имя "Урок8" и нажимаем кнопку "Открыть схему компоновки данных":
Имя схемы компоновки данных оставляем по умолчанию:
Составляем запрос
Добавляем новый набор данных - запрос:
Выделяем новый набор данных и вызываем конструктор запроса:
Будем выбирать из табличных частей документа "ЗаказКлиента" следующие поля:
Получился следующий текст запроса:
Сначала пробуем список
Перейдём на закладку "Настройки" и нажмём волшебную палочку, чтобы вызвать конструктор:
Вначале попробуем по старинке выбрать тип отчета "Список...":
Укажем поля, которые будут отображаться в отчете:
Сохраним наш отчёт в конфигураторе и сформируем в режиме пользователя:
Получился привычный нам список с тремя колонками: Клиент, Еда и Количество.
Выводим в виде таблицы
Ах как замечательно было бы представить эти же самые данные в виде таблицы, в строках которой перечислена еда, в колонках - клиенты, а на пересечении количество данной еды, которое заказал данный клиент:
Сделать это действительно легко. Для этого вернёмся на закладку "Настройки" и вновь вызовем конструктор настроек через волшебную палочку:
На этот раз в качестве типа отчета выберем "Таблица..":
Из полей, которые будут отображаться в отчёте уберём "Клиент" и "Еда", так как эти поля по нашей задумке уйдут в столбцы и строки соответственно:
Оставим только количество, которое будет отображаться на пересечении строк и столбцов:
Здесь нужно указать конструктору какие поля будут отображаться в строках, а какие в столбцах. Для нас очевидно (см. рисунок выше), что строки - это еда, а колонки - клиенты:
Получилось вот так:
Итоговая структура отчёта будет такой:
Сохраняем наш отчёт в конфигураторе и формируем в режиме пользователя:
Вроде бы неплохо. Еда отображаться в строках, а клиенты - в столбцах. Но показатели количества, которые мы ожидали увидеть на пересечении строк и столбцов почему-то оказались все слепёшены в одном столбце.
А причина в том, что строки и столбцы у нас сгруппированы, а показатели нет! Поэтому и такой разлад.
Чтобы сгруппировать количество нужно подвести по нему итоги (вычислить ресурсы). Это мы уже делать умеем.
Забыли подвести итоги
Переходим на закладку "Ресурсы" и перетаскиваем поле "Количество" из левой колонки в правую:
Выражение "Сумма(Про..." оставляем без изменения:
Снова сохраняем отчет и формируем в режиме пользователя:
То, что надо! Мы хорошо поработали. А на следующем уроке - мы модифицируем этот отчёт (вернее его копию) и представим эти же данные в виде диаграммы.