0

Срез последних на каждую дату в запросе 1С

#1С 8.3#Регистр сведений


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

Параметры виртуальной таблицы

Но часто требуется делать срезы на различные даты для каждой строки в запросе. Для этого запрос разбивается на две части(при помощи вложенного запроса или пакета).

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

Например, у нас есть запрос к табличным частям Товары документа Реализация товаров и услуг, требуется получить цены номенклатуры на дату каждого документа.

|ВЫБРАТЬ
|       РеализацияТоваровУслугТовары.Ссылка КАК Документ,
|   РеализацияТоваровУслугТовары.Номенклатура,
|   МАКСИМУМ(ЦеныНоменклатуры.Период) КАК МаксимальнаяДатаРегистра
|ПОМЕСТИТЬ Выборка
|ИЗ
|   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
|       ПО РеализацияТоваровУслугТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура
|           И РеализацияТоваровУслугТовары.Ссылка.ТипЦен = ЦеныНоменклатуры.ТипЦен
|           И РеализацияТоваровУслугТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
|
|СГРУППИРОВАТЬ ПО
|   РеализацияТоваровУслугТовары.Ссылка,
|   РеализацияТоваровУслугТовары.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|   Выборка.Документ,
|   Выборка.Номенклатура,
|   ЦеныНоменклатуры.Цена,
|   Выборка.МаксимальнаяДатаРегистра
|ИЗ
|   Выборка КАК Выборка
|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
|       ПО Выборка.Документ.ТипЦен = ЦеныНоменклатуры.ТипЦен
|           И Выборка.Номенклатура = ЦеныНоменклатуры.Номенклатура
|           И Выборка.МаксимальнаяДатаРегистра = ЦеныНоменклатуры.Период
0 11627 2
ДобавленоVital688 дней назад
Последняя активность235 дней назад


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

Добавить статью!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Остатки с разбивкой по периодам в запросе 1С

Часто перед программистом 1с возникает следующая задача: в запросе требуется взя...

Создание обработки заполнения табличной части 1С 8

1. Постановка задачи В этой статье рассмотрим процесс написания простейшей внеш...

Создание печатной формы в 1с 8

1. Задача Рассмотрим написание простейшей печатной формы в 1с 8.1 - 8.2 на прим...

Создание внешнего отчета в 1с 8

Рассмотрим создание внешнего отчета в 1с 8 без использования системы компоновки ...

Создание печатной формы для управляемого приложения в 1с 8.3

1. Задача Рассмотрим написание простейшей печатной формы в 1с 8.2 - 8.3 для упр...

Новое

Скачать печатные формы документа "Реализация товаров и услуг" 1С 8.2

Печатные формы из релиза 1C:Бухгалтерия 2.0.64.5 Скачать бесплатно печатную фор...

Как снять и поставить конфигурацию 1С на поддержку

В этой статье я расскажу как снять конфигурацию 1С 8 частично или полностью с по...

Как сделать резервную копию 1С

Чтобы обезопасить себя от частичной или полной потери данных, перед тем как прои...

Настройка двухстороннего обмена данными между конфигурациями "Управление торговлей 10.3" и "Бухгалтерия предприятия 2.0" в 1С 8

В этой статье мы рассмотрим как настроить двухсторонний обмен данными между конф...

Тестирование и исправление информационной базы 1С 8

Тестирование и исправление информационной базы 1С 8 необходимо выполнять в случа...