По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Возьмите производственный календарь
а далее левым соединением ваши данные и соединяете по дате
Запрос=Новый Запрос("ВЫБРАТЬ
| ДанныеПроизводственногоКалендаря.Дата КАК Дата
|ИЗ
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|ГДЕ
| ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь
| И ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ДатаНач И &ДатаКон
|
|УПОРЯДОЧИТЬ ПО
| Дата " );
Показатьа далее левым соединением ваши данные и соединяете по дате
(3) Этот запрос не зависит ни от каких регистров сведений. Применяйте его.
можете в запросе убрать всё, что связано с параметром &ОкончаниеИнтервалаПредставленияПериоды, упростите его.
Либо оставьте, но придайте значение 31.12.3999 23:59:59
ВЫБРАТЬ
0 КАК Цифра
ПОМЕСТИТЬ ВТЦифры
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
9
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), День, Цифры.Цифра + ЕСТЬNULL(Цифры10.Цифра, 0) * 10 + ЕСТЬNULL(Цифры100.Цифра, 0) * 100 + ЕСТЬNULL(Цифры1000.Цифра, 0) * 1000 + ЕСТЬNULL(Цифры10000.Цифра, 0) * 10000 + ЕСТЬNULL(Цифры100000.Цифра, 0) * 100000), День) КАК Период
ПОМЕСТИТЬ ПредставленияПериоды
ИЗ
ВТЦифры КАК Цифры
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры10
ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &ОкончаниеПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ) ТОГДА &ОкончаниеИнтервалаПредставленияПериоды ИНАЧЕ &ОкончаниеПериода КОНЕЦ, ДЕНЬ), День) > 9)
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры100
ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &ОкончаниеПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ) ТОГДА &ОкончаниеИнтервалаПредставленияПериоды ИНАЧЕ &ОкончаниеПериода КОНЕЦ, ДЕНЬ), День) > 99)
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры1000
ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &ОкончаниеПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ) ТОГДА &ОкончаниеИнтервалаПредставленияПериоды ИНАЧЕ &ОкончаниеПериода КОНЕЦ, ДЕНЬ), День) > 999)
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры10000
ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &ОкончаниеПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ) ТОГДА &ОкончаниеИнтервалаПредставленияПериоды ИНАЧЕ &ОкончаниеПериода КОНЕЦ, ДЕНЬ), День) > 9999)
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры100000
ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &ОкончаниеПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ) ТОГДА &ОкончаниеИнтервалаПредставленияПериоды ИНАЧЕ &ОкончаниеПериода КОНЕЦ, ДЕНЬ), День) > 99999)
ГДЕ
НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ, ДЕНЬ), День, Цифры.Цифра + ЕСТЬNULL(Цифры10.Цифра, 0) * 10 + ЕСТЬNULL(Цифры100.Цифра, 0) * 100 + ЕСТЬNULL(Цифры1000.Цифра, 0) * 1000 + ЕСТЬNULL(Цифры10000.Цифра, 0) * 10000 + ЕСТЬNULL(Цифры100000.Цифра, 0) * 100000), День) МЕЖДУ ВЫБОР КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1) ТОГДА ДАТАВРЕМЯ(1980, 1, 1) ИНАЧЕ &НачалоПериода КОНЕЦ И ВЫБОР КОГДА &ОкончаниеПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), ДЕНЬ) ТОГДА &ОкончаниеИнтервалаПредставленияПериоды ИНАЧЕ &ОкончаниеПериода КОНЕЦ
;
////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТЦифры
Показатьможете в запросе убрать всё, что связано с параметром &ОкончаниеИнтервалаПредставленияПериоды, упростите его.
Либо оставьте, но придайте значение 31.12.3999 23:59:59
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот