Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сводные таблицы          
Batchir Подменю пользователя
сообщение 08.02.09, 19:10
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

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

Значения измерений отображаются в шапке или боковике, а ячейки области данных содержат сводную информацию на пересечении данных измерений. Пользователь имеет возможность методом перетаскивания (drag-n-drop) добавить или удалить измерения и ресурсы, поменять их расположение.

В специальном окне "Поля сводной таблицы", которое отображается, если сводная таблица активна, можно управлять видимостью и расположением измерений и ресурсов. Если оно не выводится, то щелкните правой кнопкой на ячейке сводной таблицы и в контекстном меню выберите пункт "Отображать поля". Это окно можно также включить средствами встроенного языка, если свойству "ОтображатьПоля" объекта "СводнаяТаблица" присвоить значение Истина.

Если какое-то значение измерения является группировкой, то дважды щелкнув на нем, пользователь может развернуть или свернуть эту группировку. Глубина вложенности группировок неограниченна.


Формирование сводных таблиц



Всегда нужно помнить, что сводная таблица размещается в табличном документе. Добавить ее в табличный документ можно интерактивно или программно. Чтобы вставить сводную таблицу в макет в режиме "Конфигуратор" нужно установить курсор на ячейку макета и выбрать пункт меню "Таблица => Встроенные таблицы => Вставить сводную таблицу". Сводную таблицу можно также добавить в табличный документ программно, как, например, в следующем фрагменте:


ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
НашаСводнаяТаблица = ТабДок.ВстроенныеТаблицы.Добавить(Тип("СводнаяТаблица"));


Чтобы обратиться к сводной таблице средствами встроенного языка, нужно воспользоваться свойством-коллекцией "ВстроенныеТаблицы" объекта "ТабличныйДокумент", например:


ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
НашаСводнаяТаблица = ТабДок.ВстроенныеТаблицы.СводнаяТаблица1;


Самое главное свойство сводной таблицы — это свойство "ИсточникДанных", которое принимает значения типа "РезультатЗапроса" или "ПостроительОтчета". Это свойство определяет, откуда сводная таблица будет брать данные для отображения. Итоги запроса становятся ресурсами (отображаются в области данных), а группировочные поля, по которым они подсчитываются, становятся измерениями.

Следующий фрагмент программы был использован для формирования приведенной выше сводной таблицы:


Запрос = Новый Запрос ("
| ВЫБРАТЬ
| Номенклатура,
| ПодразделениеКомпании,
| СуммаПродажи
| ИЗ
| РегистрНакопления.ПродажиКомпании
|
| ИТОГИ СУММА(СуммаПродажи) ПО
| Номенклатура ИЕРАРХИЯ,
| ПодразделениеКомпании ИЕРАРХИЯ
| ");

РезультатЗапроса = Запрос.Выполнить();

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1;
СводТаб = ТабДок.ВстроенныеТаблицы.СводнаяТаблица1;
СводТаб.ИсточникДанных = РезультатЗапроса; //самое важное!
СводТаб.ОтображатьПоля = Истина;


Управление сводной таблицей из встроенного языка

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

Следующий фрагмент включает измерение "Номенклатура" (по строкам), измерение "ПодразделениеКомпании" (по колонкам) и ресурс "СуммаПродажи" (область данных):


СводТаб.Строки.Добавить(СводТаб.Поля.Номенклатура);
СводТаб.Колонки.Добавить(СводТаб.Поля.ПодразделениеКомпании);
СводТаб.Данные.Добавить(СводТаб.Поля.СуммаПродажи);


Здесь мы воспользовались следующими свойствами-коллекциями объекта "СводнаяТаблица":
Поля
Коллекция всех доступных полей сводной таблицы, включая все измерения и ресурсы (в том числе выключенные). Эта коллекция заполняется при назначении источника данных на основе итогов в запросе. Функции из предложения ИТОГИ становятся ресурсами, а группировочные поля, по которым они подсчитываются, становятся измерениями.Используя свойства объекта "ПолеСводнойТаблицы" можно определить тип поля (измерение или ресурс), тип значения (объект "ОписаниеТипов"), прочитать или установить количество открытых уровней.
Строки
Коллекция отображаемых полей сводной таблицы, расположенных в строках (сверху вниз).
Колонки
Коллекция отображаемых полей сводной таблицы, расположенных в колонках (слева направо).
Данные
Коллекция отображаемых полей сводной таблицы, расположенных в области данных.

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


СводТаб.Обновление = Ложь;
СводТаб.Строки.Добавить(СводТаб.Поля.ПодразделениеКомпании);
СводТаб.Строки.Добавить(СводТаб.Поля.Номенклатура);
СводТаб.Данные.Добавить(СводТаб.Поля.СуммаПродажи);
СводТаб.Обновление = Истина;


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

Следующие свойства позволяют управлять внешним видом сводной таблицы:
- ОтображатьПодписиИтогов (отображать строку типа "Отдел розничной торговли Итог")
- ПоложениеИтоговСтрок (сверху или снизу)
- ПоложениеИтоговКолонок (слева или справа)
- Автофиксация (фиксация названий строк и колонок при прокрутке)

Последняя группа свойств, которую мы рассмотрим, позволяет обращаться к областям сводной таблицы. Они содержат объекты типа "ОбластьЯчеекТабличногоДокумента", через которые можно управлять форматированием этих областей:

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

Рассмотрим и последний метод объекта "СводнаяТаблица" — это метод ПолучитьЗначения. Данный метод принимает в качестве параметра область ячеек, а возвращает структуру, содержащую данные сводной таблицы, расположенные в этой области, например:


СтруктураДанных = СводТаб.ПолучитьЗначения(ТабДок.Область("R4C3:R4C3"));


При этом ключи структуры будут содержать имена полей (измерений и ресурсов), а значения структуры — значения измерений и ресурсов.

Резюме
- Система 1С:Предприятие 8 содержит механизм сводных таблиц, который позволяет представлять многомерные данные.
- В специальном окне "Поля сводной таблицы" можно управлять видимостью и расположением измерений и ресурсов. Также поддерживаются операции перетаскивания измерений и ресурсов (drag-n-drop).
- Если какое-то значение измерения является группировкой, то дважды щелкнув на нем, пользователь может развернуть или свернуть эту группировку.
- Свойство "ИсточникДанных" сводной таблицы принимает значения типа "РезультатЗапроса" или "ПостроительОтчета".
- Итоги запроса становятся ресурсами (отображаются в области данных), а группировочные поля, по которым они подсчитываются, становятся измерениями.
- Средства встроенного языка позволяют управлять структурой и внешним видом сводной таблицы

Спасибо сказали: pablo,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 16:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!