Как в запросе получить дни текущей недели без РС производственного календаря?
База самописная и объединения нельзя использовать, так как запрос нужен для динамического списка. РС производственного календаря нет в базе.
Дни недели нужно получить в одном поле запроса
---
(1)
Вот сама обработка.

пс: обалдеть я разошелся, никогда так подробно не расписывал информацию, и не давал обработок-примеров.
---
Как в запросе получить дни текущей недели без РС производственного календаря?
Ок, тогда делаем объединениями вручную.

База самописная
Разницы нет какая база.

Дни недели нужно получить в одном поле запроса
Ок, вот запрос:

```1c
    ВЫБРАТЬ
    ВЗ_ДниНедели.ДеньНедели КАК ДеньНедели
    ИЗ
    (ВЫБРАТЬ
    ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
    ИЗ
    (ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
    ГДЕ
    НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
```

Вот его результат от текущей даты (20 число):

```1c
    19.10.2020 0:00:00
    20.10.2020 0:00:00
    21.10.2020 0:00:00
    22.10.2020 0:00:00
    23.10.2020 0:00:00
    24.10.2020 0:00:00
    25.10.2020 0:00:00
```

объединения нельзя использовать, так как запрос нужен для динамического списка
Чем объединения мешают работе динамического списка? ничем
Вот полный код произвольного запроса (включена основная таблица, динамическое считывание данных):

```1c
    ВЫБРАТЬ
    ЕСТЬNULL(ВЗ_ДниНедели.ДеньНедели, "Не текущая неделя") КАК ДеньНедели,
    ЗаказКлиента.Ссылка КАК Ссылка,
    ЗаказКлиента.Номер КАК Номер,
    ЗаказКлиента.Дата КАК Дата
    ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
    ИЗ
    (ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
    ГДЕ
    НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
    ПО (НАЧАЛОПЕРИОДА(ЗаказКлиента.Дата, ДЕНЬ) = ВЗ_ДниНедели.ДеньНедели)
```

Для наглядности добавил группировку по полю "ДеньНедели". Вот результат (скрины) динамического списка от разных переданных дат (видны на форме) :
---
Как в запросе получить дни текущей недели без РС производственного календаря?
Ок, тогда делаем объединениями вручную.

База самописная
Разницы нет какая база.

Дни недели нужно получить в одном поле запроса
Ок, вот запрос:

```1c
    ВЫБРАТЬ
    ВЗ_ДниНедели.ДеньНедели КАК ДеньНедели
    ИЗ
    (ВЫБРАТЬ
    ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
    ИЗ
    (ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
    ГДЕ
    НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
```

Вот его результат от текущей даты (20 число):

```1c
    19.10.2020 0:00:00
    20.10.2020 0:00:00
    21.10.2020 0:00:00
    22.10.2020 0:00:00
    23.10.2020 0:00:00
    24.10.2020 0:00:00
    25.10.2020 0:00:00
```

объединения нельзя использовать, так как запрос нужен для динамического списка
Чем объединения мешают работе динамического списка? ничем
Вот полный код произвольного запроса (включена основная таблица, динамическое считывание данных):

```1c
    ВЫБРАТЬ
    ЕСТЬNULL(ВЗ_ДниНедели.ДеньНедели, "Не текущая неделя") КАК ДеньНедели,
    ЗаказКлиента.Ссылка КАК Ссылка,
    ЗаказКлиента.Номер КАК Номер,
    ЗаказКлиента.Дата КАК Дата
    ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
    ИЗ
    (ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
    ГДЕ
    НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
    ПО (НАЧАЛОПЕРИОДА(ЗаказКлиента.Дата, ДЕНЬ) = ВЗ_ДниНедели.ДеньНедели)
```

Для наглядности добавил группировку по полю "ДеньНедели". Вот результат (скрины) динамического списка от разных переданных дат (видны на форме) :
---
(1)
Вот сама обработка.

пс: обалдеть я разошелся, никогда так подробно не расписывал информацию, и не давал обработок-примеров.
---
(30) Спасибо
---
Дни? Или даты?
Дни текущей недели: Понедельник, Вторник, Среда... Можно даже без запроса ))

В запросе день недели так и получается - ДЕНЬНЕДЕЛИ(НеобходимаяДата)
---
даты. Я знаю,что получается через деньнедели
---
```1c
    НАЧАЛОПЕРИОДА(&ТекущаяДата, НЕДЕЛЯ) КАК Понедельник,
    ДОБАВИТЬКДАТЕ(ДАТАНАЧАЛОПЕРИОДА(&ТекущаяДата , НЕДЕЛЯ), ДЕНЬ, 1) КАК Вторник,
    ДОБАВИТЬКДАТЕ(ДАТАНАЧАЛОПЕРИОДА(&ТекущаяДата , НЕДЕЛЯ), ДЕНЬ, 2) КАК Среда,
    ...
```
---
так тоже изначально сделал, но нужно в одном поле получить.
В теме специально написал "Дни недели нужно получить в одном поле запроса"))
---
Проблема-то в чем? Как стоит задача конкретно? У вас все варианты есть. Выбирайте.
---
можно через выбор когда деньнедели(&текдата)=1 тогда НачалоПериода (&текдата,день) , а потом прибавлять день, два дня и т.д.
Но так выйдет многое текста и наверное скорость работы будет не очень, а скорость важен.
---
Скорость работы от количества букв не зависит.
---
от количества букв не зависит, но от количества условий зависит. Программе нужно же проверять все эти условия. И нужно из динамического списка получить из-за определенных ограничений
---
Если это динамический список, то зачем дни недели в одном поле?
---
на форме нужно сделать группировку из дат текущей недели
---
а если в одном дне пусто, он должен быть показан или нет?
---
должен показать. Нужны все дни недели
---
Выбрать дата, день недели(дата) из регистра сведений.производственныйкалендарь
Левое соединение документы.накладная по дата =дата
Так?
---
у меня нет РС производственного календаря. В этом и задача. Был бы этот РС не создавал бы эту тему))
---
Нарисуйте в экселе примерный вид того, что вы хотите получить. Очень трудно вас понять.
---
я с телефона сейчас пишу. Допустим "ДатыНедели" это поле запроса.
ДеньНедели
12.10.2020
13.10.2020
14.10.2020
15.10.2020
16.10.2020
17.10.2020
18.10.2020
---
Вывести все 7 дат в одно строковое поле? Бред.
---
что именно бред. В УТ 10.3 точно есть РС РегламентированныйПрозводственныйКалендарь( в остальных конфигах точно не помню как называются). Там есть измерение день. В этом РС ставим условие периода. В котором начальный период 12.10.2020, а конечный период 18.10.2020. Из этого РС выбираем только измерение День. И в результате запроса получаем
12.10.2020
13.10.2020
14.10.2020
15.10.2020
16.10.2020
17.10.2020
18.10.2020
Мне нужно получить такой же результат, но без РС
РегламентированныйПрозводственныйКалендарь
---
Читай (5)
---
результат запроса в (5). Три поля выводит,а нужно,чтобы в одном поле было
---
Я тебе предлагал нарисовать как надо...
---
Или написать по-русски: мне нужно СЕМЬ строк в результате запроса с датами текущей недели.
Чего проще?
---
Да, именно это нужно сделать
---
https://forum.infostart.ru/forum9/topic8692/
Вы такое в запрос динамического списка вставить не хотите. Если я понимаю, это общепринятый в 8 ке способ получения списка дат без регистра сведений. Единственный или нет это вопрос.
---
Есть подозрение, что нафиг тебе запрос не нужен. Производственный календарь - это УЖЕ список всех дат. Все, что делает запрос, на который ты ссылаешься - ограничивает выборку этих дат началом и концом недели, который высчитывается через НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.
У тебя же нет никакого готового списка дат, который можно ограничить. Тем более непонятно, как ты это собрался использовать в динамическом списке. Если ты собрался использовать реквизит таблицы из динамического списка -0 то непонятно, зачем тебе его преобразовывать, если ты можешь использовать сразу его и сравнивать с чем угодно...
---
А временную таблицу можно передавать в запрос динамического списка как переменную формы?
---
Как в результате запроса, который не обращается к базе данных в принципе получить строки (любые, с числами, буквами или датами) без использования объединить.
Выбрать ведь это одна строка результата.