Как в запросе получить дни текущей недели без РС производственного календаря?
По теме из базы знаний
- "Процессы 3.0: CRM, Бизнес-процессы, Управление по целям". Универсальная система управления процессами и показателями для любой конфигурации 1С
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Тест серверного оборудования на допустимое количество пользователей: как это использовать?
- Создание стартовой базы
- Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика
Найденные решения
(29) (1)
Вот сама обработка.
пс: обалдеть я разошелся, никогда так подробно не расписывал информацию, и не давал обработок-примеров.
Вот сама обработка.
пс: обалдеть я разошелся, никогда так подробно не расписывал информацию, и не давал обработок-примеров.
Прикрепленные файлы:
ДинСписокЗаказов.epf
(1)
Ок, тогда делаем объединениями вручную.
Разницы нет какая база.
Ок, вот запрос:
Вот его результат от текущей даты (20 число):
Чем объединения мешают работе динамического списка? ничем
Вот полный код произвольного запроса (включена основная таблица, динамическое считывание данных):
Для наглядности добавил группировку по полю "ДеньНедели". Вот результат (скрины) динамического списка от разных переданных дат (видны на форме) :
Как в запросе получить дни текущей недели без РС производственного календаря?
Ок, тогда делаем объединениями вручную.
База самописная
Разницы нет какая база.
Дни недели нужно получить в одном поле запроса
Ок, вот запрос:
ВЫБРАТЬ
ВЗ_ДниНедели.ДеньНедели КАК ДеньНедели
ИЗ
(ВЫБРАТЬ
ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
ИЗ
(ВЫБРАТЬ
НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
ГДЕ
НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
ПоказатьВот его результат от текущей даты (20 число):
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
объединения нельзя использовать, так как запрос нужен для динамического списка
Чем объединения мешают работе динамического списка? ничем
Вот полный код произвольного запроса (включена основная таблица, динамическое считывание данных):
ВЫБРАТЬ
ЕСТЬNULL(ВЗ_ДниНедели.ДеньНедели, "Не текущая неделя") КАК ДеньНедели,
ЗаказКлиента.Ссылка КАК Ссылка,
ЗаказКлиента.Номер КАК Номер,
ЗаказКлиента.Дата КАК Дата
ИЗ
Документ.ЗаказКлиента КАК ЗаказКлиента
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
ИЗ
(ВЫБРАТЬ
НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
ГДЕ
НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
ПО (НАЧАЛОПЕРИОДА(ЗаказКлиента.Дата, ДЕНЬ) = ВЗ_ДниНедели.ДеньНедели)
ПоказатьДля наглядности добавил группировку по полю "ДеньНедели". Вот результат (скрины) динамического списка от разных переданных дат (видны на форме) :
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Ок, тогда делаем объединениями вручную.
Разницы нет какая база.
Ок, вот запрос:
Вот его результат от текущей даты (20 число):
Чем объединения мешают работе динамического списка? ничем
Вот полный код произвольного запроса (включена основная таблица, динамическое считывание данных):
Для наглядности добавил группировку по полю "ДеньНедели". Вот результат (скрины) динамического списка от разных переданных дат (видны на форме) :
Как в запросе получить дни текущей недели без РС производственного календаря?
Ок, тогда делаем объединениями вручную.
База самописная
Разницы нет какая база.
Дни недели нужно получить в одном поле запроса
Ок, вот запрос:
ВЫБРАТЬ
ВЗ_ДниНедели.ДеньНедели КАК ДеньНедели
ИЗ
(ВЫБРАТЬ
ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
ИЗ
(ВЫБРАТЬ
НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
ГДЕ
НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
ПоказатьВот его результат от текущей даты (20 число):
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
объединения нельзя использовать, так как запрос нужен для динамического списка
Чем объединения мешают работе динамического списка? ничем
Вот полный код произвольного запроса (включена основная таблица, динамическое считывание данных):
ВЫБРАТЬ
ЕСТЬNULL(ВЗ_ДниНедели.ДеньНедели, "Не текущая неделя") КАК ДеньНедели,
ЗаказКлиента.Ссылка КАК Ссылка,
ЗаказКлиента.Номер КАК Номер,
ЗаказКлиента.Дата КАК Дата
ИЗ
Документ.ЗаказКлиента КАК ЗаказКлиента
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВЗ_УбратьЛишниеДниНедели.ДеньНедели КАК ДеньНедели
ИЗ
(ВЫБРАТЬ
НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ) КАК ДеньНедели
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, 6)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -1)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -2)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -3)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -4)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -5)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, ДЕНЬ), ДЕНЬ, -6)) КАК ВЗ_УбратьЛишниеДниНедели
ГДЕ
НЕДЕЛЯ(ВЗ_УбратьЛишниеДниНедели.ДеньНедели) = НЕДЕЛЯ(&ТекущаяДата)) КАК ВЗ_ДниНедели
ПО (НАЧАЛОПЕРИОДА(ЗаказКлиента.Дата, ДЕНЬ) = ВЗ_ДниНедели.ДеньНедели)
ПоказатьДля наглядности добавил группировку по полю "ДеньНедели". Вот результат (скрины) динамического списка от разных переданных дат (видны на форме) :
Прикрепленные файлы:
(29) (1)
Вот сама обработка.
пс: обалдеть я разошелся, никогда так подробно не расписывал информацию, и не давал обработок-примеров.
Вот сама обработка.
пс: обалдеть я разошелся, никогда так подробно не расписывал информацию, и не давал обработок-примеров.
Прикрепленные файлы:
ДинСписокЗаказов.epf
(18)что именно бред. В УТ 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
Мне нужно получить такой же результат, но без РС
РегламентированныйПрозводственныйКалендарь
12.10.2020
13.10.2020
14.10.2020
15.10.2020
16.10.2020
17.10.2020
18.10.2020
Мне нужно получить такой же результат, но без РС
РегламентированныйПрозводственныйКалендарь
Вы такое в запрос динамического списка вставить не хотите. Если я понимаю, это общепринятый в 8 ке способ получения списка дат без регистра сведений. Единственный или нет это вопрос.
Есть подозрение, что нафиг тебе запрос не нужен. Производственный календарь - это УЖЕ список всех дат. Все, что делает запрос, на который ты ссылаешься - ограничивает выборку этих дат началом и концом недели, который высчитывается через НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.
У тебя же нет никакого готового списка дат, который можно ограничить. Тем более непонятно, как ты это собрался использовать в динамическом списке. Если ты собрался использовать реквизит таблицы из динамического списка -0 то непонятно, зачем тебе его преобразовывать, если ты можешь использовать сразу его и сравнивать с чем угодно...
У тебя же нет никакого готового списка дат, который можно ограничить. Тем более непонятно, как ты это собрался использовать в динамическом списке. Если ты собрался использовать реквизит таблицы из динамического списка -0 то непонятно, зачем тебе его преобразовывать, если ты можешь использовать сразу его и сравнивать с чем угодно...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот