Срез последних на каждый день

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

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

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

Для общего развития:
Что есть срез последних в платформе?

В зависимости от периодичности регистра (по времени, по позиции регистратора) ВТ разворачивается в
следующий запрос:
1. По времени (год, месяц, . секунда)

2. По позиции регистратора
В данном случае нужно еще раз обернуть выборку

Все это можно увидеть посмотрев технологический журнал с включенным режимом протоколирования
запросов

Система компоновки данных

Данный способ подходит для отчетов. Из очевидных плюсов – если курс (или другие данные) не нужны для
построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться
и несколько ниже, чем в первом способе.

Для примера сделаем отчет – список заказов покупателей.

Для этого создадим набор данных "Документы" – запрос:

Для того, чтобы потом успешно связать наборы данных, в запрос необходимо включить поля "Дата" и
"ВалютаДокумента". Чтобы они не появлялись в списке доступных полей, если это необходимо, их можно
убрать, установив флажки ограничений в таблице "Поля" схемы компоновки. В остальном запрос вряд ли
требует комментариев.
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871726.jpg

Для того, чтобы получить информацию о курсах валют, добавим второй набор данных – запрос "Курсы
валют":

В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при
соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях – это нужно для соединения
таблиц.
В этом запросе необходимо отключить галочку "Автозаполнение".
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись
в доступных полях.
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871728.jpg

Читайте также:  Фото красивых пар без лица на аву

Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи – набор "Документы", приемник – набор "Курсы валют". Выражение источник – "Дата",
выражение приемник – "Дата", Параметр – "Дата"
2. Источник связи – набор "Документы", приемник – набор "Курсы валют". Выражение источник –
"ВалютаДокумента", выражение приемник – "Валюта", Параметр – "Валюта"
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871729.jpg

Главное здесь – параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае – запрос "Курсы валют") параметры, указанные в соединении.
Значениями параметров будут значения соответствующих полей набора-источника.

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

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

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

Для общего развития:
Что есть срез последних в платформе?

В зависимости от периодичности регистра (по времени, по позиции регистратора) ВТ разворачивается в
следующий запрос:
1. По времени (год, месяц, . секунда)

2. По позиции регистратора
В данном случае нужно еще раз обернуть выборку

Все это можно увидеть посмотрев технологический журнал с включенным режимом протоколирования
запросов

Система компоновки данных

Данный способ подходит для отчетов. Из очевидных плюсов – если курс (или другие данные) не нужны для
построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться
и несколько ниже, чем в первом способе.

Для примера сделаем отчет – список заказов покупателей.

Для этого создадим набор данных "Документы" – запрос:

Для того, чтобы потом успешно связать наборы данных, в запрос необходимо включить поля "Дата" и
"ВалютаДокумента". Чтобы они не появлялись в списке доступных полей, если это необходимо, их можно
убрать, установив флажки ограничений в таблице "Поля" схемы компоновки. В остальном запрос вряд ли
требует комментариев.
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871726.jpg

Читайте также:  Транслате переводчик с русского

Для того, чтобы получить информацию о курсах валют, добавим второй набор данных – запрос "Курсы
валют":

В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при
соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях – это нужно для соединения
таблиц.
В этом запросе необходимо отключить галочку "Автозаполнение".
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись
в доступных полях.
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871728.jpg

Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи – набор "Документы", приемник – набор "Курсы валют". Выражение источник – "Дата",
выражение приемник – "Дата", Параметр – "Дата"
2. Источник связи – набор "Документы", приемник – набор "Курсы валют". Выражение источник –
"ВалютаДокумента", выражение приемник – "Валюта", Параметр – "Валюта"
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871729.jpg

Главное здесь – параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае – запрос "Курсы валют") параметры, указанные в соединении.
Значениями параметров будут значения соответствующих полей набора-источника.

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

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

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

Для общего развития:
Что есть срез последних в платформе?

В зависимости от периодичности регистра (по времени, по позиции регистратора) ВТ разворачивается в
следующий запрос:
1. По времени (год, месяц, . секунда)

Читайте также:  Как задать красную строку в ворде

2. По позиции регистратора
В данном случае нужно еще раз обернуть выборку

Все это можно увидеть посмотрев технологический журнал с включенным режимом протоколирования
запросов

Система компоновки данных

Данный способ подходит для отчетов. Из очевидных плюсов – если курс (или другие данные) не нужны для
построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться
и несколько ниже, чем в первом способе.

Для примера сделаем отчет – список заказов покупателей.

Для этого создадим набор данных "Документы" – запрос:

Для того, чтобы потом успешно связать наборы данных, в запрос необходимо включить поля "Дата" и
"ВалютаДокумента". Чтобы они не появлялись в списке доступных полей, если это необходимо, их можно
убрать, установив флажки ограничений в таблице "Поля" схемы компоновки. В остальном запрос вряд ли
требует комментариев.
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871726.jpg

Для того, чтобы получить информацию о курсах валют, добавим второй набор данных – запрос "Курсы
валют":

В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при
соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях – это нужно для соединения
таблиц.
В этом запросе необходимо отключить галочку "Автозаполнение".
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись
в доступных полях.
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871728.jpg

Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи – набор "Документы", приемник – набор "Курсы валют". Выражение источник – "Дата",
выражение приемник – "Дата", Параметр – "Дата"
2. Источник связи – набор "Документы", приемник – набор "Курсы валют". Выражение источник –
"ВалютаДокумента", выражение приемник – "Валюта", Параметр – "Валюта"
http://defender_aka_linn.users.photofile.ru/photo/defender_aka_linn/150041386/154871729.jpg

Главное здесь – параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае – запрос "Курсы валют") параметры, указанные в соединении.
Значениями параметров будут значения соответствующих полей набора-источника.