Имя: Пароль:
1C
 
В одном запросе получить количество рабочих дней по дате заказа
0 lamme
 
02.08.17
15:53
Есть документы заказклиента
есть производственный каледарь - где отмечены рабочие дни.

Как в одном запросе связать эти 2 таблицы?

ВЫБРАТЬ
    ЗаказКлиента.Ссылка,
    ЗаказКлиента.Дата,

    КоличествоРабДнейПоПроизводственномуКалендарю.КоличествоРабочихДней
ИЗ
    (ВЫБРАТЬ
        СУММА(ВЫБОР
                КОГДА ДанныеПроизводственногоКалендаря.ВидДня В (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий), ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ) КАК КоличествоРабочихДней
    ИЗ
        РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
    ГДЕ
        ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &<<ВотТутДолжнаБытьДатаЗаказа>> И &ТекДата) КАК КоличествоРабДнейПоПроизводственномуКалендарю,
    Документ.ЗаказКлиента КАК ЗаказКлиента
1 Ненавижу 1С
 
гуру
02.08.17
15:56
ИЗ Документ.ЗаказКлиента
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПроизводственногоКалендаря
ПО ДанныеПроизводственногоКалендаря.Дата МЕЖДУ ЗаказКлиента.Дата И &ТекДата
2 lamme
 
02.08.17
15:59
а ... условие наверх вынести .. не во второй запрос ... понял
3 PiterPrg
 
02.08.17
16:02
ВЫБРАТЬ
    ЗаказКлиента.Ссылка,
    ЗаказКлиента.Дата,
    Количество(ДанныеПроизводственногоКалендаря.ВидДня) КАК КолВо
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ПО
    ДанныеПроизводственногоКалендаря.Дата МЕЖДУ ЗаказКлиента.Дата И &ТекДата
    И ДанныеПроизводственногоКалендаря.ВидДня В (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий), ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
СГРУППИРОВАТЬ ПО
    ЗаказКлиента.Ссылка,
    ЗаказКлиента.Дата,
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан