Имя: Пароль:
1C
 
Запрос: по организации пусто
↓ (Волшебник 18.04.2024 22:30)
0 Масянька
 
18.04.24
11:05
День добрый!
Запрос:
ВЫБРАТЬ
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Период КАК Период,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник КАК Сотрудник,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени КАК ВидУчетаВремени,
    СУММА(ВЫБОР
            КОГДА ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени В (&Явки)
                    И ДанныеТабельногоУчетаРабочегоВремениСотрудников.Часы > 0
                ТОГДА 1
            КОГДА ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени В (&Явки)
                    И ДанныеТабельногоУчетаРабочегоВремениСотрудников.Часы < 0
                ТОГДА -1
            ИНАЧЕ ДанныеТабельногоУчетаРабочегоВремениСотрудников.Дни
        КОНЕЦ) КАК Дни,
    СУММА(ДанныеТабельногоУчетаРабочегоВремениСотрудников.Часы) КАК Часы,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник.Наименование КАК СотрудникНаименование
ПОМЕСТИТЬ ТЧРабочееВремя
ИЗ
    РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениСотрудников КАК ДанныеТабельногоУчетаРабочегоВремениСотрудников
ГДЕ
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
    И НЕ ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени В (&Выходные)
    И ДанныеТабельногоУчетаРабочегоВремениСотрудников.Организация = &Организация
    И ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник = &Сотрудник

СГРУППИРОВАТЬ ПО
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Период,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник.Наименование

ИНДЕКСИРОВАТЬ ПО
    Период,
    СотрудникНаименование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Период КАК Период,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник КАК Сотрудник,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени КАК ВидУчетаВремени,
    ВЫБОР
        КОГДА ДанныеТабельногоУчетаРабочегоВремениСотрудников.ВидУчетаВремени В (&Выходные)
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Дни,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Часы КАК Часы,
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник.Наименование КАК СотрудникНаименование
ПОМЕСТИТЬ ТЧВыходные
ИЗ
    РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениСотрудников КАК ДанныеТабельногоУчетаРабочегоВремениСотрудников
ГДЕ
    ДанныеТабельногоУчетаРабочегоВремениСотрудников.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ДанныеТабельногоУчетаРабочегоВремениСотрудников.Организация = &Организация
    И ДанныеТабельногоУчетаРабочегоВремениСотрудников.Сотрудник = &Сотрудник

ИНДЕКСИРОВАТЬ ПО
    Период,
    СотрудникНаименование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТЧВыходные.Период КАК Период,
    ТЧВыходные.Сотрудник КАК Сотрудник,
    ТЧВыходные.ВидУчетаВремени КАК ВидУчетаВремени,
    ТЧВыходные.Дни КАК Дни,
    ТЧВыходные.Часы КАК Часы
ИЗ
    ТЧРабочееВремя КАК ТЧРабочееВремя
        ПРАВОЕ СОЕДИНЕНИЕ ТЧВыходные КАК ТЧВыходные
        ПО ТЧРабочееВремя.Период = ТЧВыходные.Период
ГДЕ
    ТЧРабочееВремя.Сотрудник ЕСТЬ NULL
Вопрос: почему если убрать условие по сотруднику (показать всех сотрудников) - в результате пусто?
Данные в ВТ (и той, и той) есть.
Спасибо.
1 Мультук
 
18.04.24
11:17
(0)
Имхо


ВЫБРАТЬ
    ТЧВыходные.Период КАК Период,
    ТЧВыходные.Сотрудник КАК Сотрудник,
    ТЧВыходные.ВидУчетаВремени КАК ВидУчетаВремени,
    ТЧВыходные.Дни КАК Дни,
    ТЧВыходные.Часы КАК Часы
ИЗ
    ТЧРабочееВремя КАК ТЧРабочееВремя
        ПРАВОЕ СОЕДИНЕНИЕ ТЧВыходные КАК ТЧВыходные
        ПО ТЧРабочееВремя.Период = ТЧВыходные.Период
//================================================================
И ТЧВыходные.Сотрудник =  ТЧРабочееВремя.Сотрудник
//================================================================

ГДЕ
    ТЧРабочееВремя.Сотрудник ЕСТЬ NULL
2 Масянька
 
18.04.24
11:21
(1) Работает...
Спасибо!
Объясни, пожалуйста.
3 Галахад
 
18.04.24
11:39
Кто-нибудь да работал...
ТЧРабочееВремя.Сотрудник ЕСТЬ NULL
4 Мультук
 
18.04.24
11:49
(2)

Масяня, пиши ВСЕГДА все условия соединения.
Даже, если они в данной ситуации (в начале разработки) кажутся излишними.

По факту ответил  (3). Просто сочетание твоей ошибки и данных.

P.S.

>> Объясни, пожалуйста.

Прямо почувствовал себя Хрюнделем.
Но посмотрел в зеркало, возраст и комплекция намекнули, что (увы ?) это не так.
5 Масянька
 
18.04.24
11:51
(4) Спасибо, дорогой! :) :) :)
6 yurikmellon2
 
18.04.24
13:04
(4)
Прямо почувствовал себя Хрюнделем.
Но посмотрел в зеркало, возраст и комплекция намекнули, что (увы ?) это не так.


Всё течёт, всё меняется и лишь одно постоянно. Как уж там у классика:

В небе ангелочки летают на цветочках…
В небе ангелочки летают на цветочках…
А на земле…

Ну вы поняли
7 Garykom
 
18.04.24
13:21
(4) Учитывая что Масяня родилась (согласно ее паролю "Масянь1986") в 1986 году
Хрюндель имхо уже тоже оскуфился