Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример 3. Связь наборов данных




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

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

Рис. 1.45. Требуемый вид отчета

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

Создадим новый объект конфигурации Отчет и назовем его ЦеныКомплектующихОтПоставщиков. Откроем конструктор схемы компоновки данных и добавим новый набор данных – запрос. Он будет назван по умолчанию НаборДанных1. Для большей наглядности назовем его Цены. Чтобы ввести новое имя набора данных, можно дважды щелкнуть по его названию. Откроем конструктор запроса. В качестве источника данных для запроса выберем виртуальную таблицу регистра сведений Цены.СрезПоследних. В список полей перенесем поля из этой таблицы (рис. 1.46):

· Номенклатура,

· Цена,

· Регистратор.

Рис. 1.46. Выбор полей для запроса

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

Выделим корневой элемент дерева наборов данных и добавим еще один набор данных – запрос. Назовем его Поставщики. Откроем конструктор запроса. В качестве источника данных для запроса выберем объектную таблицу документа ПриходнаяНакладная. В список полей перенесем поля из этой таблицы (рис. 1.47):

· Ссылка,

· Номер,

· Дата,

· Контрагент.

Рис. 1.47. Выбор полей для запроса

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

Если в схеме компоновки данных присутствуют несколько наборов данных, то между ними требуется установить связь. На закладке Связи наборов данных добавим новую строку. Связей в общем случае может быть несколько, даже если набора данных только два. В поле Источник связи, то есть в качестве родительского набора данных, укажем Цены, в поле Приемник связи, то есть в качестве зависимого набора данных, укажем Поставщики. В поле Выражение источник выберем из полей родительского набора поле Регистратор, а в поле Выражение приемник – поле зависимого набора данных – Ссылка (рис. 1.48).

Рис. 1.48. Создание связи наборов данных

Все связи, созданные в схеме компоновки данных, считаются Левыми внешними соединениями, то есть в отчет будут включены записи из обоих наборов данных, удовлетворяющих условию связи Регистратор = Ссылка (рис. 1.49).

Рис. 1.49. Связь записей в наборах данных

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

Для быстрого создания стандартных настроек воспользуемся конструктором настроек, который вызывается нажатием кнопки Открыть конструктор настроек на закладке Настройки схемы компоновки данных (рис. 1.50).

Рис. 1.50. Настройки схемы компоновки данных

Сначала выберем тип отчета Список, что соответствует элементу структуры отчета Группировка, где информация выводится по строкам (рис. 1.51).

Рис. 1.51. Конструктор настроек. Шаг 1

Нажмем кнопку Далее. На следующем шаге определим поля, выводящиеся в отчет. Список доступных полей включает поля из обоих наборов данных. Мышью перетащим из него поля (рис. 1.52):

· Номенклатура,

· Контрагент,

· Дата,

· Номер,

· Цена.

Рис. 1.52. Конструктор настроек. Шаг 2

Нажмем кнопку Далее. На следующем шаге определим поля для группировки записей в списке. Мышью перетащим из списка доступных полей поле Номенклатура (рис. 1.53).

Рис. 1.53. Конструктор настроек. Шаг 3

Нажмем кнопку Далее. На следующем шаге определим поля для сортировки записей в отчете. Мышью перетащим из списка доступных полей поле Дата (рис. 1.54).

Рис. 1.54. Конструктор настроек. Шаг 4

Нажмем ОК. В результате наших действий в окне настроек появилась группировка Номенклатура и вложенная в нее группировка Детальные записи, определен список выбранных полей и задано поле сортировки (рис. 1.55).

Рис. 1.55. Настройки схемы компоновки данных

Аналогичный результат можно получить, самостоятельно создавая нужные элементы настроек, но в данном случае проще и быстрее это сделать с помощью конструктора настроек. Запустим отчет на исполнение в режиме «1С:Предприятие». Нажмем кнопку Сформировать. Наш отчет примет следующий вид (рис. 1.56).

Рис. 1.56. Результат отчета

Мы видим, что записи в отчете сгруппированы по полю Номенклатура, то есть для каждой позиции номенклатуры выводится список с указанием поставщика, даты и номера документа Приходная накладная, в котором было учтено ее поступление. Цена номенклатуры заполняется из регистра сведений Цены. Внутри каждой группы записи упорядочены по полю Дата. Таким образом, данные выводятся в отчет с помощью группировки Номенклатура→ДетальныеЗаписи, представленной в табличном виде.

 










Последнее изменение этой страницы: 2018-06-01; просмотров: 217.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...