8.х Запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем lirium, 26 авг 2010.

  1. TopicStarter Overlay
    lirium
    Offline

    lirium

    Регистрация:
    16 авг 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Добрый день! Имеется запрос:
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    РаботникиОрганизаций.Сотрудник КАК Сотрудник,
    РаботникиОрганизаций.Организация КАК Организация,
    РаботникиОрганизаций.Должность КАК Должность,
    СУММА(ВЫБОР
    КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени.Ссылка = &видырабвр
    ТОГДА ГрафикиРаботыПоВидамВремени.ОсновноеЗначение
    ИНАЧЕ 0
    КОНЕЦ) КАК Поле1
    ИЗ
    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
    ПО РаботникиОрганизаций.Сотрудник = ГрафикиРаботыПоВидамВремени.ГрафикРаботы.Ссылка}
    ГДЕ
    ГрафикиРаботыПоВидамВремени.Месяц = &Месяц
    
    СГРУППИРОВАТЬ ПО
    РаботникиОрганизаций.Сотрудник,
    РаботникиОрганизаций.Организация,
    РаботникиОрганизаций.Должность
    
    
    В результате "Поле1" показывает на каждого сотрудника значение в 2 раза больше того, что должно быть. Подскажите в чём проблема пожайлусто.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну во первых вы просто берете записи из регистра сведений работники организаций не срез последних не за период, а все. т.е у Вас например приняли работника и перевели потом - это 2 записи и вы их выбираете.
    Второе это условие ГрафикиРаботыПоВидамВремени.ВидУчетаВремени.Ссылка = &;видырабвр

    делать до того как идет соеденение т.е соеденять уже надо 2 подготовленных выборки, а там уже результат проверять на естьNULL
  3. TopicStarter Overlay
    lirium
    Offline

    lirium

    Регистрация:
    16 авг 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Изначально требуется сделать отчёт в котором будут показываться кол-во отработанных часов за определённый период с разбивкой на месяцы. Вот я пытаюсь к этому как то подойти потихоньку :)

    Как я понял, если сделать выбор из регистра "срез последних", то он выберет только работников с их текущей должностью и не получит данных о сотруднике, до его перевода на другую должность?

    ГрафикиРаботыПоВидамВремени.ВидУчетаВремени.Ссылка = &;видырабвр
    Это условие идёт же до момена соединения? Или я не правильно понимаю? Если вас не затруднит, Вы не могли бы объяснить более подробно ? :)

Поделиться этой страницей