Получить срез последних на дату из запроса. #562369


#0 by shane13
Всем привет! Знаю, что тема избита и много раз обсуждалась... но у меня не получается(( никак. Делаю отчет в котором в одном запросе нужно получить данные из регистра лл_ОказаниеУслуг и для каждой записи регистра получить значение из периодического регистра сведений. На СКД такое получилось через наборы данных и правильно установленные связи, но от СКД пришлось отказаться, поскольку отчет с сильно нестандартным макетом и были проблемы с вычисляемыми полями, поэтому пытаюсь сама сделать запрос конструктором. Пишу так: "ВЫБРАТЬ Как передать дату для среза последних из лл_ОказаниеУслуг?((((
#1 by shane13
ссылка телепат-бота не спасла
#2 by vicof
РегистрСведений.лл_ЦеныПараметрыУслуг.СрезПоследних(&Дата) не?
#3 by shane13
очень прошу какой-нибудь простой и понятный пример
#4 by shane13
по идее да, но туда мне кажется нереально передать параметром дату из записи регистра лл_ОказаниеУслуг
#5 by szhukov
Через срез никак. Нужно брать саму таблицу и выбирать записи с максимальным периодом < лл_ОказаниеУслуг.Период
#6 by vicof
не получится. См
#7 by vicof
#8 by shane13
как это правильно сделать? через временные таблицы? если можно на пальцах)
#9 by szhukov
идея полно описана в
#10 by shane13
это я уже прочитала и на СКД получилось сделать, там есть картинки (что лично мне помогает врубиться что, где нужно ткнуть им написать), а просто по запросу мне трудно воссоздать это в конструкторе для своего примера.....
#11 by shane13
может быть подскажите в типовых где можно простой такой пример глянуть?
#12 by szhukov
Меняете И лл_ОказаниеУслугОбороты.Регистратор.Дата = лл_ЦеныПараметрыУслугСрезПоследних.Период На И лл_ОказаниеУслугОбороты.Регистратор.Дата <= лл_ЦеныПараметрыУслугСрезПоследних.Период МАКСИМУМ(лл_ЦеныПараметрыУслугСрезПоследних.Период). Результат во временную таблицу или как вложенный запрос. Временную таблицу связываете с РегистрСведений.лл_ЦеныПараметрыУслуг
#13 by szhukov
+ т.е. В первом (вложенном запросе) вы получаете период (МАКСИМУМ(...Период) как ИскомыйПериодСреза), в котором вам нужна запись из РегистрСведений.лл_ЦеныПараметрыУслуг. А затем вложенный запрос связываете с РегистрСведений.лл_ЦеныПараметрыУслуг таким образом РегистрСведений.лл_ЦеныПараметрыУслуг.Период =ВложенныйЗапрос.ИскомыйПериодСреза
#14 by szhukov
+ Да и уберите в запросе СрезПоследних. Нужна просто таблица РегистрСведений.лл_ЦеныПараметрыУслуг
#15 by szhukov
+ Блин? ошибся с условием (в другую сторону конечно, больше либо равно) И лл_ОказаниеУслугОбороты.Регистратор.Дата >= лл_ЦеныПараметрыУслуг.Период
#16 by shane13
- спасибо, пробую
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С