Имя: Пароль:
1C
1С v8
Помогите построить запрос
0 Eeelena
 
22.02.19
08:51
Здравствуйте.

Посоветуйте, пожалуйста как правильно построить запрос? Есть документ Ремонтный лист у него указывается дата начала и дата окончания ремонта. Мне нужно вычислить продолжительность часов на каждый день. Количество часов за весть период, это понятно, просто из одной даты вычесть другую. Но мне нужно именно на каждую дату периода. Например, дата начала ремонта 02.01.2019 08:00 окончание 05.01.2019 20:00 . Мне нужно получить количество часов на каждую дату периода ремонта. 02.01.2019 -16 часов
03.01.2019 -24 часа , 04.01.2019 -24 часа ,05.01.2019 -20 часов. Сам документ не делает никаких движений по регистрам, данные можно брать только из документа.
1 Волшебник
 
22.02.19
08:53
Запрос к документам — плохая примета.
2 sqr4
 
22.02.19
08:59
Получаешь таблицу дат, получаешь конец ремонта по принципу если КОнецДня(Дата) <  Окончание Тогда КОнецДня(Дата) иначе Окончание.
а затем юзаешь разность дат.

И да, может пусть, этот док что то двигает)
3 catena
 
22.02.19
09:09
Выбрать Регл.ДатаКалендаря как Д
    Поместить т
из РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Регл
где    Регл.ДатаКалендаря МЕЖДУ НачалоПериода(&Дата1,День) И КонецПериода(&Дата2,день);
Выбрать
        выбор когда началоПериода(&Дата1,день)=началоПериода(Д,день) тогда &Дата1 иначе началоПериода(Д,день) конец,
        выбор когда конецПериода(&Дата2,день)=КонецПериода(Д,день) тогда &Дата2 иначе КонецПериода(Д,день) конец,
        РазностьДат(выбор когда началоПериода(&Дата1,день)=началоПериода(Д,день) тогда &Дата1 иначе началоПериода(Д,день) конец
        ,выбор когда конецПериода(&Дата2,день)=КонецПериода(Д,день) тогда &Дата2 иначе ДобавитьКДате(КонецПериода(Д,день),секунда,1) конец
        , час)
             из т
4 dubraver
 
22.02.19
09:12
Регл.ДатаКалендаря МЕЖДУ НачалоПериода(&Дата1,День) И КонецПериода(&Дата2,день)
Передавайте в параметры сразу началопериода и конец периода. Функции НачалоПериода и КонецПериода в запросе вносят доп. нагрузку на
5 Eeelena
 
22.02.19
09:14
(2) спасибо)
6 catena
 
22.02.19
10:15
(4)А ничего, что там время в часах?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.