Главная страница

6Глава Концепция управляемого приложения


Скачать 6.74 Mb.
Название6Глава Концепция управляемого приложения
Дата02.11.2022
Размер6.74 Mb.
Формат файлаpdf
Имя файлаLab.rabotyISiTvE.S.Merkulova.pdf
ТипДокументы
#767994
страница16 из 17
1   ...   9   10   11   12   13   14   15   16   17
Глава 14. Запросы к регистрам расчета
14.1. Таблицы – источники запросов
Запросы к данным регистра расчета позволяют извлечь информацию о произведенных расчетах. В запросах можно обращаться к следующим таблицам-источникам (см. синтаксис-помощник):, рис.14.1.
Рис.14.1. Таблицы-источники данных для запроса к результатам расчета зарплаты

Основная таблица записей регистра расчета. В ней хранится информация о записях регистра . Поля основной таблицы приведены в таблице 14.1.
Таблица 14.1
Имя поля
Назначение поля
<Имя измерения>
Набор полей содержит значения измерений регистра. Имена полей соответствуют именам измерений, как они заданы в конфигураторе.
<Имя ресурса> Набор полей содержит значения реквизитов регистра. Имена полей соответствуют именам реквизитов, как они заданы в конфигураторе.
<Имя реквизита>
Набор полей содержит значения ресурсов регистра. Имена полей соответствуют именам ресурсов, как они заданы в конфигураторе
Активность
Признак активности (участие записи в конкуренции за период действия, влияние на получение базы).
БазовыйПерио
Дата начала базового периода учетной записи.

312 дНачало
Примечание:
Только для регистров расчета с базовым периодом.
БазовыйПерио дКонец
Дата окончания базового периода учетной записи.
Примечание:
Только для регистров расчета с базовым периодом.
ВидРасчета
Ссылка на вид расчета учетной записи.
НомерСтроки
Номер строки - в пределах регистратора.
Примечание:
Нумерация начинается с 1.
ПериодДейств ия
Дата периода действия учетной записи. Она жестко связана с датой начала периода действия. Значение периода действия - это начало периода, в котором находится дата начала периода действия. Размер периода при этом определяется периодичностью регистра расчета.
Например, если регистр имеет периодичность месяц и при этом дата начала периода действия равна 03.03.2003, то дата периода действия равна 01.03.2003.
Если регистр имеет периодичность квартал и при этом дата начала периода действия равна 03.03.2003, то дата периода действия равна
01.01.2003 и т.д.
Примечание:
Только для регистров расчета с периодом действия.
ПериодДейств ияНачало
Дата начала периода действия.
Примечание:
Только для регистров расчета с периодом действия.
ПериодДейств ияКонец
Дата окончания периода действия.
Примечание:
Только для регистров расчета с периодом действия.
ПериодРегистр ации
Период регистрации учетной записи.
Регистратор
Регистратор учетной записи.
Сторно
Признак сторно-записи.
Пример.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|
ОсновныеНачисления.Результат
|ИЗ РегистрРасчета.
ОсновныеНачисления
КАК ОсновныеНачисления
|ГДЕ
|
ОсновныеНачисления.ПериодРегистрации = &Период
|
И
|
ОсновныеНачисления.ФизЛицо = &ФизЛицо
|
И
|
ОсновныеНачисления.ВидРасчета = &ВидРасчета";
Запрос.УстановитьПараметр("Период", НачалоМесяца(ВыбПериод));
Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета);
Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо);

313
Таблица фактического периода действия регистра расчета. Определена только для регистров с поддержкой периода действия
Поля таблицы: o <Имя измерения> o <Имя ресурса> o <Имя реквизита> o Активность o БазовыйПериодНачало o БазовыйПериодКонец o ВидРасчета o НомерСтроки o ПериодДействия o ПериодДействияНачало o ПериодДействияКонец o ПериодРегистрации o Регистратор o Сторно
Параметры:
Условие - конструкция языка запросов. Конструкция на языке запросов, которая будет использована как условие, налагаемое на таблицу регистра расчета при получении таблицы фактического периода действия.
Пример:
"ВЫБРАТЬ
|
ФактПериодДействия.ПериодРегистрации,
|
ФактПериодДействия.Регистратор.Ссылка,
|
ФактПериодДействия.ВидРасчета,
|
ФактПериодДействия.БазовыйПериодНачало,
|
ФактПериодДействия.БазовыйПериодКонец,
|
ФактПериодДействия.Сотрудник.Ссылка,
|
ФактПериодДействия.Результат,
|
ФактПериодДействия.ПериодДействия,
|
ФактПериодДействия.ПериодДействияНачало,
|
ФактПериодДействия.ПериодДействияКонец
|ИЗ
|РегистрРасчета.
ОсновныеНачисления.
ФактическийПериодДействия
КАК
ФактПериодДействия";
Таблица перерасчета
Предназначена для получения записей перерасчета
Поля таблицы: o <Имя измерения> o ВидРасчета o ОбъектПерерасчет o
Пример:
"ВЫБРАТЬ
| НачисленияПерерасчет.ОбъектПерерасчета,
| НачисленияПерерасчет.ВидРасчета,
| НачисленияПерерасчет.Сотрудник,

314
|ИЗ
|РегистрРасчета. ОсновныеНачисления.
Перерасчет
КАК
НачисленияПерерасчет";
Таблица данных графика регистра расчета
Виртуальная таблица "РегистрРасчета.<ИмяРегистра>.ДанныеГрафика" определена для тех регистров расчета, которые поддерживают период действия. При конфигурировании с таким регистром расчета необходимо связать непериодический регистр сведений который и будет поставлять информацию о графике.
Для более удобного получения данных графика в системе определена виртуальная таблица, которая помимо прочих полей содержит виртуальные поля:
1. <Имя ресурса графика>БазовыйПериод;
2. <Имя ресурса графика>ПериодДействия;
3. <Имя ресурса графика>ПериодРегистрации;
4. <Имя ресурса графика>ФактическийПериодДействия.
У нас в примере таким ресурсом является поле Значение.
То есть для каждого числового ресурса регистра сведений, назначенного регистру расчета в качестве графика, можно получить для строк регистра расчета его сумму с учетом базового периода строки регистра расчета, периода действия, периода регистрации и фактического периода действия.
При построении виртуальной таблицы данных графика происходит соединение таблиц регистра расчета, регистра сведений, а в случае получения поля "<Имя ресурса графика>ФактическийПериодДействия" - еще и таблицы фактического периода действия регистра расчета. Так как данные для всех четырех перечисленных полей получаются путем соединения с таблицей регистра сведений по разным условиям, это значит, что в общем случае будет выполнено четыре соединения с таблицей регистра сведений.
При получении виртуальных таблиц система старается действовать оптимально, в частности, выполняется только то количество соединений, которое необходимо для получения полей виртуальной таблицы перечисленных в разделе "ВЫБРАТЬ".
Параметры:
Условие - конструкция языка запросов. Конструкция на языке запросов, которая будет использована как условие, налагаемое на таблицу регистра расчета при получении таблицы данных графика
Пример:
(“ВЫБРАТЬ
| НачисленияДанныеГрафика.Сотрудник КАК Сотрудник,
| НачисленияДанныеГрафика.ЗначениеПериодДействия КАК
|ЧислоДнейПоПлану,
|НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК
|Факт,
| НачисленияДанныеГрафика.Регистратор как Регистратор,

315
| НачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки
|ИЗ
|РегистрРасчета.Начисления.ДанныеГрафика(
| Регистратор = &Регистратор И
| ВидРасчета = &ВидРасчета И
| Сотрудник В (&СписокСотрудников))
| КАК НачисленияДанныеГрафика");
Таблица получения базовых данных регистра расчета.
Какие именно регистры расчета могут выступать в качестве базовых для данного регистра расчета, определяется его планом видов расчета.
Если для плана видов расчета задана зависимость по базе от других (базовых) планов видов расчета, то в качестве базового регистра может быть задан любой регистр расчета, которому назначен такой базовый план видов расчета. Записи таблицы определены для каждой записи регистра расчета, у которой вид расчета имеет базовые виды расчета, определены
БазовыйПериодНачало и
БазовыйПериодКонец, есть записи базовых регистров расчета соответствующего периода.
Для каждой записи регистра может быть определена одна или более записей таблицы получения базы в зависимости от того, задан ли параметр виртуальной таблицы Разрезы. Если параметр задан, то базовые данные будут получены в соответствующих разрезах.
Поля таблицы: o <Имя измерения> o <Имя разреза базового регистра>Разрез. В качестве разреза могут быть заданы измерения базового регистра и реквизиты базового регистра. Поле появляется у виртуальной таблицы только при установке параметра виртуальной таблицы
Разрезы для полей, заданных этим параметром. o <Имя реквизита> o <Имя ресурса базового регистра>База. Сумма соответствующего ресурса базового регистра расчета, заданного в имени таблицы получения базовых данных. o <Имя ресурса> o <Активность> o БазовыйПериодНачало o БазовыйПериодКонец o ВидРасчета o НомерСтроки o ПериодДействия o ПериодДействияНачало o ПериодДействияКонец o ПериодРегистрации o Регистратор o Сторно
Параметры таблицы приведены в таблице 14.2.

316
Таблица 14.2
Имя параметра
Тип и назначение параметра.
Измерения основного регистра
Тип параметра: Массив, СписокЗначений. Массив строк или список значений, представляющих собой имена измерений основного регистра расчета, по которому строится таблица базовых данных.
Значения перечисленных в данном параметре измерений будут сопоставляться со значениями в соответствующих измерениях базового регистра расчета, заданных параметром <Измерения базового регистра>.
Измерения базового регистра
Тип параметра: Массив, СписокЗначений. Массив строк или список значений, представляющих собой имена измерений базового регистра расчета, по которому производится суммирование базовых данных.
Значения перечисленных в данном параметре измерений будут сопоставляться со значениями соответствующих измерений основного регистра расчета, заданных параметром <Измерения основного регистра>.
Разрезы
Тип параметра: Массив, СписокЗначений. Массив строк или список значений, представляющих собой имена полей базового регистра расчета, по которому производится суммирование базовых данных.
По перечисленных в данном параметре полям будет выполняться дополнительная группировка суммируемых базовых данных.
Например, если в качестве разреза задать реквизит базового регистра, то по каждой строке основного регистра будет сформирована не одна строка таблицы базовых данных, а несколько - в разрезе значений, найденных в заданном реквизите базового регистра.
Условие
Конструкция языка запросов. Конструкция на языке запросов, которая будет использована как условие, налагаемое на таблицу регистра расчета при получении таблицы базовых данных.
Пример:
(“
|ВЫБРАТЬ
|НачисленияБазаНачисления.РезультатБаза КАК База,
|НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки
|ИЗ
|РегистрРасчета.Начисления.БазаНачисления(
|&ИзмеренияОсновного,&ИзмеренияБазового,,Регистратор =
| &Регистратор И
|ВидРасчета = &ВидРасчета
И
Сотрудник
В
(&СписокСотрудников))КАК
|НачисленияБазаНачисления";
Измер = Новый Массив( 1);
Измер[0] = "Сотрудник";
Запрос.УстановитьПараметр("ИзмеренияОсновного", Измер);

317
Запрос.УстановитьПараметр("ИзмеренияБазового", Измер);
Запрос.УстановитьПараметр("Регистратор",
НаборЗаписейРегистра.Отбор.Регистратор.Значение);
Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);
Запрос.УстановитьПараметр("СписокСотрудников",
СписокСотрудников);
14.2. Пример формирования отчета
Задача . Получить суммы расчетных баз для всех видов расчета, зависящих от расчетной базы. Использовать СКД. Поскольку виды расчета, зависящие от расчетной базы, есть как в регистре «ОсновныеНачисления», так и в регистре «Удержания», наш запрос формируем в виде объединения запросов к двум источникам.
Формируем новый объект-отчет и запускаем СКД. Создаем новый набор данных типа запрос, запускаем конструктор запроса, выбираем первую таблицу-источник
(ОсновныеНачисления.БазаОсновныеНачисления), в таблице выбираем необходимые для отчета поля, рис.14.2.:

318
Рис.14.2. Разработка запроса к виртуальной таблице в СКД
На закладке Объединения/ псевдонимы добавляем новый объединяемый запрос
(рис.14.3.),
Рис.14.3. Вызов второго запроса при объединении запросов

319
Выбираем источник- УдержанияБазаОсновныеНачисления. В ней выбираем те же поля и в той же последовательности, что и первом запросе.
Получаем объединение двух запросов (рис.14.4.)
Рис.14.4. Результат объединения двух запросов
У обоих запросов источник - виртуальная таблица. Поэтому необходимо указать параметры этих таблиц. Структура параметров – см. таблица 2. Запускаем «Параметры виртуальной таблицы» для обеих таблиц-источников.
Завершаем работу конструктора запросов. Получили следующий текст запроса:
ВЫБРАТЬ
ОсновныеНачисленияБазаОсновныеНачисления.ПериодРегистраци
и,
ОсновныеНачисленияБазаОсновныеНачисления.Сотрудник,
ОсновныеНачисленияБазаОсновныеНачисления.Результат,
ОсновныеНачисленияБазаОсновныеНачисления.РезультатБаза,

320
ОсновныеНачисленияБазаОсновныеНачисления.ВидРасчета
ИЗ
РегистрРасчета.ОсновныеНачисления.БазаОсновныеНачисления(&Измер
енияОсновного, &ИзмеренияБазового, , ПериодРегистрации МЕЖДУ
&НачПериода И &КонПериода) КАК
ОсновныеНачисленияБазаОсновныеНачисления
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
УдержанияБазаОсновныеНачисления.ПериодРегистрации,
УдержанияБазаОсновныеНачисления.Сотрудник,
УдержанияБазаОсновныеНачисления.Результат,
УдержанияБазаОсновныеНачисления.РезультатБаза,
УдержанияБазаОсновныеНачисления.ВидРасчета
ИЗ
РегистрРасчета.Удержания.БазаОсновныеНачисления(&ИзмеренияОсновн
ого, &ИзмеренияБазового, , ПериодРегистрации МЕЖДУ &НачПериода И
&КонПериода) КАК УдержанияБазаОсновныеНачисления
На закладке Ресурсы выбираем поля, по которым должны быть сформированы общие итоги (рис.14.5.)
Рис.14.5. Настройка ресурсов СКД
На закладке «Параметры» видим 4 параметра наших виртуальных таблиц.(рис.14.6.)
Рис.14.6. Настройка параметров СКД
Первые два параметра должны быть означены в СКД и не должны попасть в пользовательские настройки. Поэтому колонка «Включать в доступные поля» для них неактивна. Тип у этих параметров – массив или список значений. Поэтому активизируем колонку «Доступен список значений» и дополнительно вводим в них по

321 одному значению типа «Строка», а именно, наименование измерения регистра
«Сотрудник». Остальные параметры включаем в доступные поля.
На закладке Настройки сначала формируем группировки СКД (рис.14.7.)
Рис.14.8. Настройка группировок СКД
Затем на закладке «Параметры» включаем доступные параметры в пользовательские настройки (рис.14.9.)
Рис.14.10. Пользовательские настройки в СКД
На закладке «Выбранные поля» окончательно формируем структуру колонок отчета
(рис.14.11.)
Рис.14.11. Окончательное формирование колонок отчета
Формируем текст заголовка отчета, рис.14.12.

322
Выходим из СКД. Отчет готов. Результат:
14.3. Варианты заданий
Для размещения новых объектов задания мчпользовать новую подсистему
«Лабораторная работа 11».
Основная часть задания состоит из двух этапов.
Первый этап.
Разработать два отчета, в которых источниками данных являются виртуальные таблицы. Все отчеты формируются за выбранный период. Варианты заданий – см. таблица 14.3.
Таблица 14.3.
Номер
варианта
Название виртуальной таблицы
Таблица получения базовых
данных регистра расчета
Таблица данных графика регистра
расчета
1
Для всех сотрудников и всех видов расчета
Для выбранного сотрудника и выбранного расчета

323 2
Для всех сотрудников и выбранного вида расчета
Для всех сотрудников и всех видов расчета
3
Для выбранного сотрудника и всех видов расчета
Для выбранного сотрудника и всех видов расчета
4
Для выбранного сотрудника и выбранного расчета
Для выбранного сотрудника и выбранного расчета
5
Для всех сотрудников и всех видов расчета
Для выбранного сотрудника и выбранного расчета
6
Для всех сотрудников и выбранного вида расчета
Для всех сотрудников и всех видов расчета
7
Для выбранного сотрудника и всех видов расчета
Для выбранного сотрудника и всех видов расчета
8
Для выбранного сотрудника и выбранного расчета
Для выбранного сотрудника и выбранного расчета
9
Для всех сотрудников и всех видов расчета
Для выбранного сотрудника и всех видов расчета
10
Для всех сотрудников и выбранного вида расчета
Для выбранного сотрудника и выбранного расчета
11
Для выбранного сотрудника и всех видов расчета
Для всех сотрудников и всех видов расчета
12
Для выбранного сотрудника и выбранного расчета
Для выбранного сотрудника и всех видов расчета
13
Для всех сотрудников и всех видов расчета
Для выбранного сотрудника и выбранного расчета
14
Для всех сотрудников и выбранного вида расчета
Для всех сотрудников и всех видов расчета
15
Для выбранного сотрудника и всех видов расчета
Для выбранного сотрудника и всех видов расчета
16
Для выбранного сотрудника и выбранного расчета
Для выбранного сотрудника и выбранного расчета

324 17
Для всех сотрудников и всех видов расчета
Для выбранного сотрудника и выбранного расчета
18
Для всех сотрудников и выбранного вида расчета
Для всех сотрудников и всех видов расчета
19
Для выбранного сотрудника и всех видов расчета
Для выбранного сотрудника и всех видов расчета
20
Для выбранного сотрудника и выбранного расчета
Для выбранного сотрудника и выбранного расчета
21
Для выбранного сотрудника и всех видов расчета
Для выбранного сотрудника и выбранного расчета
22
Для всех сотрудников и всех видов расчета
Для всех сотрудников и всех видов расчета
23
Для всех сотрудников и всех видов расчета
Для выбранного сотрудника и всех видов расчета
24
Для всех сотрудников и выбранного вида расчета
Для выбранного сотрудника и выбранного расчета
25
Для выбранного сотрудника и всех видов расчета
Для всех сотрудников и всех видов расчета
1   ...   9   10   11   12   13   14   15   16   17


написать администратору сайта