Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 6, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Отбор минимальных значений по дате в запросе объединения          
Constantus Подменю пользователя
сообщение 30.11.18, 10:45
Сообщение #1

Почти ветеран
******
Группа: Пользователи
Сообщений: 695
Спасибо сказали: 4 раз
Рейтинг: 4

Приветствую, Форумчане!

В СКД сделал запрос на объединение нескольких документов: ПКО, БанкПоступление.

В результате получил данные типа

Закзз01 ПКО_01 01.01.2018
Закзз01 ПКО_02 01.01.2017
Закзз01 ПКО_03 01.01.2015
Закзз01 банк_01 01.01.2014
Закзз01 банк_02 01.01.2013
..............
Закзз02 ПКО_01 01.01.2018
Закзз02 ПКО_02 01.01.2017
Закзз02 ПКО_03 01.01.2015
Закзз02 банк_01 01.01.2014
Закзз02 банк_02 01.01.2013

Как видно по одному и тому же Заказу имеются различные поступления по типу и датам. Необходимо из этого запроса объединения выбрать только одно поступление с минимальной датой для каждого Заказа:

Закзз01 банк_02 01.01.2013
Закзз02 банк_02 01.01.2013

Как можно в запросе на объединение вырать минимальные значения по датам для каждого Заказа?

Bernet Подменю пользователя
сообщение 30.11.18, 11:02
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 685
Из: Хмельницкий
Спасибо сказали: 209 раз
Рейтинг: 190.4

Constantus @ Сегодня, 10:45 * ,
Не воспринимать буквально, это лишь пример алгоритма. Смысл такой сначала получаем минимальную дату поступления на каждый заказ, а дальше по этой дате уже получаем непосредственно документ Поступления
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
|      Заказы.Ссылка КАК Заказ,
|      МИНИМУМ(ЕСТЬNULL(Поступления.Дата, ДАТАВРЕМЯ(1,1,1,0,0,0))) КАК МинДатаПоступления
|ПОМЕСТИТЬ ВтМинДатаПоступлений
|ИЗ
|     Документ.Заказ КАК Заказы
|     ЛЕВОЕ СОЕДИНЕНИЕ Документ.Поступления КАК Поступления
|          ПО Заказы.Ссылка = Поступления.Заказ
|СГРУППИРОВАТЬ ПО
|      Заказы.Ссылка
|;
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
|     ВтМинДатаПоступлений.Заказ,
|     ЕСТЬNULL(Поступления.Ссылка, ЗНАЧЕНИЕ(Документ.Поступления.ПустаяСсылка)) КАК Поступление
|ИЗ
|     ВтМинДатаПоступлений КАК ВтМинДатаПоступлений
|     ЛЕВОЕ СОЕДИНЕНИЕ Документ.Поступления  КАК Поступления
|      ПО ВтМинДатаПоступлений.МинДатаПоступления = Поступления.Дата
|       И ВтМинДатаПоступлений.Заказ = Поступления.Заказ
|";


Сообщение отредактировал Bernet - 30.11.18, 11:03


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.12.18, 21:40
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне