Проблема с запросом

Тема в разделе "1C и всё что с ней связано", создана пользователем Renat11111, 26 окт 2009.

  1. Renat11111

    Renat11111 Well-Known Member

    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    в табеле по уволенным в текущем месяце сотрудникам нужно выводить в ячейках часы до даты увольнения. пытаюсь решить проблему тупо (закомментированные строки в запросе). есть ли есть идеи плиз поделитесь. так вроде бы и просто все находим дату увольнения и берем с графика значения только до этой даты но вот резализовать что то не получается. вот запрос:

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

    |
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления.ФактическийПериодДействия (Организация = &парамОрганизация) КАК ФактическийПериодДействия
    | ПО ФактическийПериодДействия.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
    | И ФактическийПериодДействия.Назначение = РаботникиОрганизацийСрезПоследних.Назначение
    | И ГрафикиРаботыПоВидамВремени.Дата >= ФактическийПериодДействия.ПериодДействияНачало
    | И ГрафикиРаботыПоВидамВремени.Дата <= ФактическийПериодДействия.ПериодДействияКонец
    | И ФактическийПериодДействия.ВидРасчета.ЗачетКалендарных
    | И НЕ ФактическийПериодДействия.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени В (
    | ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа)
    | , ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы
    )
    | , ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы) )
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК УчтенноеВремяРаботниковОрганизацийПоДням
    | ПО УчтенноеВремяРаботниковОрганизацийПоДням.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
    | И УчтенноеВремяРаботниковОрганизацийПоДням.Назначение = РаботникиОрганизацийСрезПоследних.Назначение
    | И УчтенноеВремяРаботниковОрганизацийПоДням.Регистратор <> &ДокументСсылка
    | И (УчтенноеВремяРаботниковОрганизацийПоДням.Период = ГрафикиРаботыПоВидамВремени.Дата
    | И (НЕ УчтенноеВремяРаботниковОрганизацийПоДням.ВЦеломЗаПериод)
    | ИЛИ УчтенноеВремяРаботниковОрганизацийПоДням.Период = НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата, МЕСЯЦ)
    | И УчтенноеВремяРаботниковОрганизацийПоДням.ВЦеломЗаПериод)
    |
    |
    |УПОРЯДОЧИТЬ ПО
    | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование,
    | РаботникиОрганизацийСрезПоследних.Назначение.Наименование,
    | ГрафикиРаботыПоВидамВремени.Дата,
    | ВЫБОР
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам) //&ВидУчетаВремениПоЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа) //&КлассификаторЯ
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам) //&ВидУчетаВремениПоВечернимЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы
    ) //&КлассификаторВЧ
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам) //&ВидУчетаВремениПоНочнымЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы) //&КлассификаторН
    | КОНЕЦ
    |";
     
  2. Renat11111

    Renat11111 Well-Known Member

    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    как я понял никто в 50 строках запроса разбираться вместо меня не хочет, что не удивительно. конкретизирую вопрос:
    в следующем куске запроса для того чтобы уволенным сотрудниками проставить в соответствие даты только до даты увольнения вписал след. строки
    | ГДЕ
    | ВЫБОР КОГДА ГрафикНазначения.ПричинаИзмененияСостояния = &парамУвольнение
    | ТОГДА ГрафикиРаботыПоВидамВремени.Дата
    | КОНЕЦ <= ГрафикНазначения.Период
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления.ФактическийПериодДействия (Организация = &парамОрганизация) КАК ФактическийПериодДействия


    При выполнении запрос выдает ошибку:
    {Документ.ТабельУчетаРабочегоВремениОрганизации(341)}: Ошибка при вызове метода контекста (Выполнить): {(77, 3)}: Синтаксическая ошибка "ЛЕВОЕ"
    <<?>>ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления.ФактическийПериодДействия (Организация = &парамОрганизация) КАК ФактическийПериодДействия

    объясните кто может где моя ошибка. возможное решение проблемы.



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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Гм - по идее должно быть так ( если это case скулевский)
    Case
    when ГрафикНазначения.ПричинаИзмененияСостояния = &парамУвольнение
    then ГрафикиРаботыПоВидамВремени.Дата
    else 0 end as Причина

    Эта штука должна быть вроде в полях объявлена (после выбрать) - тащить её на условие никогда не пробовал

    а вот Where должно идти совсем в конце, после всех соединений.
     
  4. DjAlex

    DjAlex Гость

    ЛЕВОЕ СОЕДИНЕНИЕ должно располагаться до выражения ГДЕ
     
  5. Renat11111

    Renat11111 Well-Known Member

    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    Решил проблему следующим запросом может быть кому то интересно )))): три дня промучался зато понял целую кучу вещей которых раньше не понимал. Rex спасибо за совет.

    // Заполнение с разбивкой по дням.
    ЗапросАвтоЗаполненияТекст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
    | РаботникиОрганизацийСрезПоследних.Назначение КАК Назначение,
    | ФактическийПериодДействия.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени КАК Буква,
    | ДЕНЬ(ГрафикиРаботыПоВидамВремени.Дата) КАК День,
    | ВЫБОР
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам) //&ВидУчетаВремениПоЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа) //&КлассификаторЯ
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам) //&ВидУчетаВремениПоВечернимЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы
    ) //&КлассификаторВЧ
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам) //&ВидУчетаВремениПоНочнымЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы) //&КлассификаторН
    | КОНЕЦ КАК БукваВидаВремени,
    | ГрафикиРаботыПоВидамВремени.ОсновноеЗначение КАК ОсновноеЗначение,
    |
    | ВЫБОР
    | КОГДА (НЕ УчтенноеВремяРаботниковОрганизацийПоДням.ВЦеломЗаПериод)
    | ТОГДА ПРЕДСТАВЛЕНИЕ(УчтенноеВремяРаботниковОрганизацийПоДням.Регистратор)
    | КОНЕЦ КАК ВведенныйДокументПоДням,
    |
    | ВЫБОР
    | КОГДА УчтенноеВремяРаботниковОрганизацийПоДням.ВЦеломЗаПериод
    | ТОГДА ПРЕДСТАВЛЕНИЕ(УчтенноеВремяРаботниковОрганизацийПоДням.Регистратор)
    | КОНЕЦ КАК ВведенныйДокументВЦеломЗаПериод
    |ИЗ (
    | ВЫБРАТЬ
    | Работники.Сотрудник КАК Сотрудник,
    | Работники.Назначение КАК Назначение,
    | Работники.Период КАК Период,
    | ВЫБОР
    | КОГДА Работники1.ЗанимаемыхСтавок = 0
    | И Работники1.ПричинаИзмененияСостояния = &парамУвольнение
    | ТОГДА Работники.Период
    | ИНАЧЕ &КонецМесяца
    | КОНЕЦ КАК ДатаУвольнения,
    | ВЫБОР
    | КОГДА Работники1.ЗанимаемыхСтавок > 0
    | И Работники1.ПричинаИзмененияСостояния = &парамПриемНаРаботу
    | ТОГДА Работники.Период
    | ИНАЧЕ &НачалоМесяца
    | КОНЕЦ КАК ДатаПриема
    |
    | ИЗ (
    | ВЫБРАТЬ
    | ВЫБОР КОГДА РаботникиОрганизаций.Сотрудник.ОсновноеНазначение = ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
    | ТОГДА РаботникиОрганизаций.Сотрудник
    | ИНАЧЕ РаботникиОрганизаций.Сотрудник.ОсновноеНазначение
    | КОНЕЦ КАК Сотрудник,
    | РаботникиОрганизаций.Сотрудник КАК Назначение,
    | МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период
    | ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    | ГДЕ РаботникиОрганизаций.Период <= &КонецМесяца
    | И РаботникиОрганизаций.Организация = &парамОрганизация
    | "+?(Сотрудники= Неопределено,"","И РаботникиОрганизаций.Сотрудник в (&парамСотрудники)")+"
    |
    | СГРУППИРОВАТЬ ПО
    | ВЫБОР КОГДА РаботникиОрганизаций.Сотрудник.ОсновноеНазначение = ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
    | ТОГДА РаботникиОрганизаций.Сотрудник
    | ИНАЧЕ РаботникиОрганизаций.Сотрудник.ОсновноеНазначение
    | КОНЕЦ,
    | РаботникиОрганизаций.Сотрудник
    | )КАК Работники
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работники1
    | ПО Работники1.Сотрудник = Работники.Назначение
    | И Работники1.Период = Работники.Период
    | ГДЕ (Работники1.ЗанимаемыхСтавок > 0 ИЛИ Работники1.ЗанимаемыхСтавок = 0 И Работники1.ПричинаИзмененияСостояния = &парамУвольнение)
    |
    | ) КАК РаботникиОрганизацийСрезПоследних
    |
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ГрафикНазначения
    | ПО ГрафикНазначения.Организация = &парамОрганизация
    | И ГрафикНазначения.Сотрудник = РаботникиОрганизацийСрезПоследних.Назначение
    | И ГрафикНазначения.Период = РаботникиОрганизацийСрезПоследних.Период
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ (
    | ВЫБРАТЬ
    | ГрафикиРаботыПоВидамВремени.ГрафикРаботы КАК ГрафикРаботы,
    | ГрафикиРаботыПоВидамВремени.Дата КАК Дата,
    | ГрафикиРаботыПоВидамВремени.ВидУчетаВремени КАК ВидУчетаВремени,
    | ГрафикиРаботыПоВидамВремени.ОсновноеЗначение КАК ОсновноеЗначение
    | ИЗ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
    | ГДЕ
    | ГрафикиРаботыПоВидамВремени.ВидУчетаВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
    | И ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца
    | И ГрафикиРаботыПоВидамВремени.ОсновноеЗначение <> 0
    | И ГрафикиРаботыПоВидамВремени.ГрафикРаботы ССЫЛКА Справочник.ГрафикиРаботы
    |
    | ) КАК ГрафикиРаботыПоВидамВремени
    | ПО ГрафикиРаботыПоВидамВремени.ГрафикРаботы = ГрафикНазначения.ГрафикРаботы
    | И (РаботникиОрганизацийСрезПоследних.ДатаУвольнения >= ГрафикиРаботыПоВидамВремени.Дата)
    | И (РаботникиОрганизацийСрезПоследних.ДатаПриема <= ГрафикиРаботыПоВидамВремени.Дата)
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления.ФактическийПериодДействия (Организация = &парамОрганизация) КАК ФактическийПериодДействия
    | ПО ФактическийПериодДействия.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
    | И ФактическийПериодДействия.Назначение = РаботникиОрганизацийСрезПоследних.Назначение
    | И ГрафикиРаботыПоВидамВремени.Дата >= ФактическийПериодДействия.ПериодДействияНачало
    | И ГрафикиРаботыПоВидамВремени.Дата <= ФактическийПериодДействия.ПериодДействияКонец
    | И ФактическийПериодДействия.ВидРасчета.ЗачетКалендарных
    | И НЕ ФактическийПериодДействия.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени В (
    | ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа)
    | , ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы
    )
    | , ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы) )
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РабочееВремяРаботниковОрганизаций КАК УчтенноеВремяРаботниковОрганизацийПоДням
    | ПО УчтенноеВремяРаботниковОрганизацийПоДням.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
    | И УчтенноеВремяРаботниковОрганизацийПоДням.Назначение = РаботникиОрганизацийСрезПоследних.Назначение
    | И УчтенноеВремяРаботниковОрганизацийПоДням.Регистратор <> &ДокументСсылка
    | И (УчтенноеВремяРаботниковОрганизацийПоДням.Период = ГрафикиРаботыПоВидамВремени.Дата
    | И (НЕ УчтенноеВремяРаботниковОрганизацийПоДням.ВЦеломЗаПериод)
    | ИЛИ УчтенноеВремяРаботниковОрганизацийПоДням.Период = НАЧАЛОПЕРИОДА(ГрафикиРаботыПоВидамВремени.Дата, МЕСЯЦ)
    | И УчтенноеВремяРаботниковОрганизацийПоДням.ВЦеломЗаПериод)
    |
    |
    |УПОРЯДОЧИТЬ ПО
    | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование,
    | РаботникиОрганизацийСрезПоследних.Назначение.Наименование,
    | ГрафикиРаботыПоВидамВремени.Дата,
    | ВЫБОР
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам) //&ВидУчетаВремениПоЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа) //&КлассификаторЯ
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоВечернимЧасам) //&ВидУчетаВремениПоВечернимЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаВечерниеЧасы
    ) //&КлассификаторВЧ
    | КОГДА ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоНочнымЧасам) //&ВидУчетаВремениПоНочнымЧасам
    | ТОГДА ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы) //&КлассификаторН
    | КОНЕЦ
    |";
     
Загрузка...
Похожие Темы - Проблема запросом
  1. Renat11111
    Ответов:
    1
    Просмотров:
    2.194
  2. Renat11111
    Ответов:
    3
    Просмотров:
    2.587
  3. c0de3r
    Ответов:
    5
    Просмотров:
    119
  4. DobermannTT
    Ответов:
    10
    Просмотров:
    134
  5. SoulPaladin
    Ответов:
    4
    Просмотров:
    128

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