Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 мая 2025, 21:03

Четверг. Вопрос 8

Автор mixqn, 14 мар 2013, 00:42

0 Пользователей и 1 гость просматривают эту тему.

grupenfurer

Для получения значения курса на каждую дату периода необходимо получить срез последних на каждую дату. Для СКД используется соединение двух наборов данных - запросов. Подробное описание с примерами: http://wiki.mista.ru/doku.php?id=1c:v8:srez_poslednix_na_kazhduju_datu_v_zaprose

Санчес

Цитата: mixqn от 14 мар 2013, 00:42Задан некий период. Необходимо в СКД сформировать таблицу со всеми датами из этого периода и значением курса на каждую из дат. Какой механизм необходимо для этого использовать? Какое количество запросов будет в источниках данных СКД?
Для получения такого отчета требуется использовать механизм соединения наборов данных с передачей параметра в "ведомый" набор данных.
В источниках данных будет 2 набора данных, один из которых - запрос, формирующий таблицу дат в выбранном периоде, а второй - запрос, получающий срез курсов валют.
Пример отчета во вложении.

Serge_ASB

два запроса: на выборку дат и на выборку курсов по каждой из дат

Evga

Два запроса, в первом выбираем даты либо через прикладное решение, например, РС РегламентированныйПроизводственныйКалендарь, либо отдельным запросом.
Во втором запросе выбираем курсы, срез последних на дату значение и дата. И затем на закладке Связи наборов данных связываем по дате две запроса. Колонка ВыражениеИсточник = "Дата" и ВыражениеПриемник = "Дата" и Параметр = "Дата". "Дата" - это название параметра и название поля в обоих запросах. Точнее лучше назвать их Период, так как срез последних все равно сформирует параметр Период.
Затем в Ресурсах выбираем Курс и ставим рассчитывать по "Дата".

Smile

1. Из регистра сведений ПРоизводственный календарь получаем все даты периода. - первый запрос
2. Получает курсы валют из соответсвующего регистра - второй запрос.
Устанавливаем передачу параметров между запросами.

Escander

Цитата: mixqn от 14 мар 2013, 00:42Какой механизм необходимо для этого использовать?

связь наборов данных

Цитата: mixqn от 14 мар 2013, 00:42Какое количество запросов будет в источниках данных СКД?

2 запроса.

headmade

В СКД необходимо сделать связь ДВУХ наборов данных (т.е. будет 2 запроса):
В первом формируем список дат, на которые необходимо получить остатки. Эти даты будут передаваться в параметры виртуальных таблиц второго набора данных.
Во втором наборе поучаем данные о курсе валют.
Для связи наборов данных необходимо правильно указать параметры. В этом случае СКД будет передавать в приемник связи параметры, указанные в соединении. В качестве значений, переданных параметров будут выступать значения соответствующих полей источника связи.

kilelena

Один запрос (выводить в таблицу: строки - период, колонки - валюты. прикрепила внешний отчет для БП(2.0.40.10) )
ВЫБРАТЬ
   НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ) КАК Период,
   КурсыВалют.Валюта,
   КурсыВалют.Курс
ИЗ
   РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
   КурсыВалют.Период >= &НачалоПериода
   И КурсыВалют.Период < &КонецПериода

lobster13

Запрос будет один, нужно просто создать группировку по периоду и выбрать тип дополнения день.

no_limits

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

Теги:
Рейтинг@Mail.ru

Поиск