Вирус скуки
Дать возможность пользователю самостоятельно комбинировать любые поля.
Дополнение от пользователя efi про ресурсы:
Под ресурсами в системе компоновки данных подразумеваются поля, значения
которых рассчитываются на основании детальных записей, входящих в группировку. По сути ресурсы являются групповыми или общими итогами отчета. Итоговые данные формируются на закладке Ресурсы.
11 комментариев:
Под ресурсами в системе компоновки данных подразумеваются поля, значения которых рассчитываются на основании детальных записей, входящих в группировку. По сути ресурсы являются групповыми или общими итогами отчета. Итоговые данные формируются на закладке Ресурсы.
Для чего нужны виртуальные таблицы?
(0) Сможешь сделать правильный запрос по остаткам и оборотам по реальным таблицам? И я не смогу. И мало кто здесь сможет. Вот тебе и ответ.
Другой ответ. Это функции "стандартной библиотеки" 1С, синтаксически оформленные в виде "таблиц".
(6)
Дата регистрации: 27 апреля 2019; Стаж: 1 месяц 22 дня
Дата регистрации: 06 сентября 2009; Стаж: 9 лет 9 месяцев 13 дней
виртуальные таблицы-это определенным образом представленные выборки из реальных таблиц данных.
для дальнейшего использования рассматриваются только их поля,а то,что происходит при их формировании от конечного программиста скрыто.
в принципе,любой вложенный запрос можно считать виртуальной таблицей,так как на верху мы видим только выбранные данные.
В чем отличие между реальными и виртуальными таблицами в 1с
хранит сами записи движений (приход- 1500 кг, расход- 1100 кг и тп.).
«Виртуальные» таблицы хранят (точнее получают в момент запроса) ИТОГИ.
Т.о. если нам нужны Остатки по РН ТоварыНаСкладах то из физической таблицы мы их не получим! Мы можем только сгруппировать их по нужному нам признаку (к примеру ВидДвижения) и применить агрегирование (функцию)!
Информационные системы / Курсовая_6_семестр / Учебники / Радченко М.Г. 1С- Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы (2013) (1)
На закладке Настройки добавим в структуру отчета диаграмму. Для этого нажмем кнопку Добавить в командной панели окна настроек и добавим диаграмму (рис. 13.103).
Рис. 13.103. Добавление диаграммы в структуру отчета
Затем выделим ветку Точки и добавим в нее группировку по полю
Серии диаграммы оставим без изменений.
Дело в том, что для демонстрации рейтинга клиентов хорошо подойдет круговая диаграмма, которую мы хотим показать. Для этого вида диаграммы достаточно задать только точки, поэтому серии мы не задаем.
В значения диаграммы всегда выводится один или сразу несколько ресурсов отчета. Перейдем на закладку Выбранные поля и выберем поле Доход для вывода в отчет.
Структура отчета должна принять следующий вид (рис. 13.104).
Рис. 13.104. Структура отчета и настройки диаграммы
402 1С:Предприятие 8.3. Практическое пособие разработчика
На закладке Другие настройки выберем тип диаграммы – Круговая объемная и включим эту настройку в состав быстрых пользовательских настроек (рис. 13.105). Также зададим заголовок отчета –
Рис. 13.105. Круговая объемная диаграмма
В заключение определим, в каких подсистемах будет отображаться наш отчет. В окне редактирования объекта конфигурации Отчет РейтингКлиентов перейдем на закладку Подсистемы . Отметим в списке подсистем конфигурации подсистемы Оказание услуг и Бухгалтерия .
В режиме «1С:Предприятие»
Запустим «1С:Предприятие» в режиме отладки и выполним команду
Рейтинг клиентов в разделе Бухгалтерия . Нажмем Сформировать .
Мы видим данные о доходе от оказания услуг по каждому из клиентов, представленные в виде круговой диаграммы (рис. 13.106).
Воспользуемся настройкой типа диаграммы, представленной в форме отчета, и изменим тип диаграммы на Гистограмма объемная . Заново сформируем отчет (рис. 13.107).
Таким образом, мы продемонстрировали, как можно использовать различные виды диаграмм для визуализации данных отчета.
Занятие 13 40 3
Рис. 13.106. Круговая объемная диаграмма
Рис. 13.107. Гистограмма объемная
404 1С:Предприятие 8.3. Практическое пособие разработчика
Вывод данных в таблицу
На примере создания универсального отчета мы продемонстрируем вывод данных в таблицу (рис. 13.108).
Рис. 13.108. Результат отчета
Мы покажем, как сделать отчет максимально универсальным, чтобы позволить пользователю в режиме 1С:Предприятие , не обращаясь к полным настройкам отчета (не выполняя Еще Изменить вариант… ), изменять его структуру и внешний вид. Например, поменять местами строки и колонки таблицы или изменить данные, выводящиеся в ячейках таблицы.
В режиме «Конфигуратор»
Добавим новый объект конфигурации Отчет . Назовем его Универсальный изапустимконструкторсхемыкомпоновкиданных.Создадим новый Набор данных – запрос и вызовем конструктор запроса.
Запрос для набора данных
В качестве источника данных для запроса выберем виртуальную таблицу регистра накопления
Продажи.Обороты . Затем выберем из нее все поля (рис. 13.109).
Рис. 13.109. Выбранные поля
Занятие 13 40 5
Анализ текста запроса
Нажмем OK и посмотрим на текст, сформированный конструктором запроса (листинг 13.15).
Листинг 13.15. Текст запроса
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Клиент, ПродажиОбороты.Мастер, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ВыручкаОборот, ПродажиОбороты.СтоимостьОборот
РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
На закладке Ресурсы нажатием кнопки выберем все доступные ресурсы отчета.
На закладке Настройки добавим в структуру отчета таблицу. Для этого нажмем кнопку Добавить в командной панели окна настроек и добавим таблицу (рис. 13.110).
Рис. 13.110. Добавление таблицы в структуру отчета
Мы не будем здесь задавать строки и колонки этой таблицы, а также список выбранных полей, так как хотим предоставить полную свободу пользователю в этих действиях. Для этого выделим в структуре элементов отчета элемент Таблица и нажмем кнопку
Свойства элемента пользовательских настроек , расположенную вверху в командной панели окна настроек.
В появившемся окне мы можем редактировать состав пользовательских настроек таблицы.
Установим признак использования для настроек Выбранные поля , Группировки строк и Группировки колонок и оставим для них
406 1С:Предприятие 8.3. Практическое пособие разработчика
по умолчанию свойство Режим редактирования в значении Быстрый доступ (рис. 13.111).
Рис. 13.111. Состав пользовательских настроек
Таким образом, мы предоставили пользователю возможность самостоятельно определять состав выбранных полей, группировок строк и колонок таблицы непосредственно в отчетной форме перед формированием отчета.
В заключение определим, в каких подсистемах будет отображаться наш отчет.
Закроем конструктор схемы компоновки данных и в окне редактирования объекта конфигурации Отчет Универсальный перейдем на закладку Подсистемы . Отметим в списке подсистем конфигурации подсистему Оказание услуг .
В режиме «1С:Предприятие»
Запустим «1С:Предприятие» в режиме отладки и выполним команду
Универсальный в разделе ОказаниеУслуг .
Если мы сейчас нажмем Сформировать , то ничего не увидим в результате, так как список выбранных полей, группировок строк и колонок таблицы пуст. Заполним эти быстрые пользовательские настройки.
Нажмем кнопку выбора в строке Выбранные поля и выберем из доступных полей поле ВыручкаОборот . Нажмем кнопку выбора
Занятие 13 40 7
в строке Строки и добавим в строки таблицы группировку по полю Номенклатура с типом Иерархия . Нажмем кнопку выбора в строке Колонки и добавим в колонки таблицы группировку по полю Мастер .
Отчет примет следующий вид (рис. 13.112).
Рис. 13.112. Результат отчета
Заметьте, что при прокручивании отчета вниз и вправо положение шапки отчета и самой левой колонки таблицы остается зафиксированным. Для удобства пользователя платформа автоматически фиксирует сверху и слева табличный документ, в который выводится результат отчета. Можно также вручную управлять фиксацией строк и столбцов отчета с помощью параметров вывода ФиксацияСлева
Теперь добавим в список выбранных полей поле СтоимостьОборот . В строки таблицы вместо группировки по полю Номенклатура поместим группировку по полю Клиент .
В результате отчет примет следующий вид (рис. 13.113).
408 1С:Предприятие 8.3. Практическое пособие разработчика
Рис. 13.113. Результат отчета
Теперь исключим из списка выбранных полей поле СтоимостьОборот .
В строках таблицы заменим прежнюю группировку на группировку по полю Номенклатура с типом ТолькоИерархия . В колонки таблицы добавим группировку по полю Клиент и поместим ее первой в списке группировок.
В результате отчет примет следующий вид (рис. 13.114).
Рис. 13.114. Результат отчета
Таким образом, используя этот отчет, мы предоставили пользователю альтернативную возможность самостоятельно формировать отчет по регистру Продажи .
Занятие 13 40 9
Теория: виртуальные таблицы запросов
Как вы теперь знаете, при создании запроса платформа предоставляет нам в качестве источников данных некоторое количество виртуальных таблиц. Название «виртуальные» полностью соответствует их сути, поскольку эти таблицы, в свою очередь, также являются результатом запроса, который система формирует в момент выполнения соответствующего участка кода.
По большому счету разработчик может самостоятельно получить те же самые данные, которые система предоставляет ему в качестве виртуальных таблиц, однако алгоритм получения этих данных не будет оптимизирован в силу следующих двух причин.
Во-первых, все виртуальные таблицы параметризованы, то есть разработчику предоставляется возможность задать некоторые параметры, которые система будет использовать при формировании запроса создания виртуальной таблицы.
Примечательным здесь является то, что задание параметров виртуальной таблицы далеко не всегда приводит к простой подстановке указанных разработчиком значений в текст запроса. В зависимости от того, какие параметры виртуальной таблицы указаны разработчиком, система может формировать РАЗЛИЧНЫЕ запросы для получения одной и той же виртуальной таблицы, причем они будут оптимизированы с точки зрения переданных параметров.
Во-вторых, не всегда разработчик имеет возможность получить доступ к тем данным, к которым имеет доступ система. Например, при использовании виртуальных таблиц регистров сведений разработчику доступна по большому счету вся та же информация о данных регистров, которую использует система при формировании запроса виртуальной таблицы.
Совсем иная картина с виртуальными таблицами регистров накопления. Здесь система динамически формирует запрос в зависимости не только от переданных параметров, но и от периода рассчитанных итогов регистра,причемвзапросеонаиспользуетданныерассчитанныхитогов, которые просто недоступны для разработчика при создании запроса.
Конечно, разработчик может самостоятельно перебрать все записи регистра накопления и в итоге получить те же самые данные, которые система предоставляет в виде виртуальной таблицы. Однако очевидно, что такой запрос будет менее эффективным и потребует от разработчика гораздо больше трудозатрат.
410 1С:Предприятие 8.3. Практическое пособие разработчика
; ; Для чего предназначен объект встроенного языка «Запрос»? ; ; Для чего предназначена система компоновки данных?
; ; Для чего предназначена схема компоновки данных?
; ; Для чего предназначены настройки компоновки данных?
; ; В чем отличие между реальными и виртуальными таблицами?
; ; Из каких частей состоит текст запроса, какие из них являются обязательными?
; ; Каковы основные синтаксические конструкции языка запросов? ; ; Что является источником данных запроса?
; ; Что такое псевдонимы в языке запросов? ; ; Что такое параметры запроса?
; ; Что такое параметры виртуальной таблицы? ; ; Что такое левое соединение?
; ; Как использовать конструктор запроса?
; ; Как выбрать данные в некотором периоде для отчета? ; ; Как упорядочить данные в отчете?
; ; Как использовать в отчете данные нескольких таблиц? ; ; Как использовать группировки в структуре отчета? ; ; Как получить последние значения регистра сведений? ; ; Как вывести в отчет иерархические данные?
; ; Как управлять выводом итогов по группировкам и общих итогов? ; ; Как создать отчет, содержащий диаграмму?
; ; Как использовать параметры в системе компоновки данных? ; ; Что такое ресурсы в системе компоновки данных?
; ; Что такое вычисляемые поля в системе компоновки данных?
; ; Как дополнить данные отчета всеми датами в группировке по периоду?
; ; Как создать пользовательские настройки отчета?
; ; В чем отличие «быстрых» настроек от остальных пользовательских настроек?
; ; Как определить состав пользовательских настроек отчета? ; ; Как вывести данные в виде таблицы?