Как в 1С получить срез данных на даты из другого множества, т.е. для каждого элемента множества получить значение, действующее на конкретную дату из другого множества (1С: Программисту: Язык запросов) — 1c-h
 

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

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

Ответ Постановка задачи.

Итак, есть множество в виде таблицы «Срез»:

ДатаСрезаОбъектСреза
14.01.20101
06.01.20102
14.01.20103

И есть множество в виде таблицы «Ресурсы»:

ДатаОбъектРесурс
01.01.20101100
12.01.20101120
23.01.201010
05.01.2010220
08.01.201020
15.01.2010280
25.01.2010240
13.01.2010350
17.01.2010360

Требуется определить значение «Ресурс» для каждого объекта «ОбъектСреза» на некую конкретную для этого объекта дату «ДатаСреза», т.е. получить результирующую таблицу:

МаксДатаОбъектСрезаРесурс
12.01.2010 (т.е. на дату 14.01.2010)1120
05.01.2010 (т.е. на 06.01.2010)220
13.01.2010 (т.е. на 14.01.2010)350

Запрос, решающий эту задачу:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Автор 1С

2 thoughts on “Как в 1С получить срез данных на даты из другого множества, т.е. для каждого элемента множества получить значение, действующее на конкретную дату из другого множества (1С: Программисту: Язык запросов)

  1. А каким образом получить таблицу «Срез»? Сама суть проблемы, чтобы получить ее в запросе необходим СрезПоследних, а как ему передать список нужных дат?

  2. есть еще один вариант, попробуйте:

    выбрать
    Срез.ДатаСреза,
    Срез.ОбъектСреза,
    //Рес.Дата,
    Рес.Ресурс
    из
    Срез

    левое соединение Ресурсы Рес
    по Срез.ОбъектСреза = Рес.Объект
    и Срез.ДатаСреза >= Рес.Дата

    левое соединение Ресурсы Рес1
    по Срез.ОбъектСреза = Рес1.Объект
    и Срез.ДатаСреза >= Рес1.Дата
    и Рес.Дата < Рес1.Дата

    где
    Рес1.Дата Есть Null

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Next Post

Как в регистре сведений изменить значение какого-либо параметра по условию – универсальная процедура (1С: Программисту)

Ср Дек 15 , 2010
Вопрос Как в регистре сведений изменить значение какого-либо параметра по условию? Ответ Пример. Регистр сведений «усСтрокиОтбора» содержит ресурс «Исполнитель» (тип – справочник «усРаботники»). Требуется не заполненное значение «Исполнителя» в регистре заменить на конкретного исполнителя «Жеглов». Для этих целей можно использовать универсально написанную процедуру: