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

Renat11111

Well-known member
20.04.2008
123
0
#1
в табеле по уволенным в текущем месяце сотрудникам нужно выводить в ячейках часы до даты увольнения. пытаюсь решить проблему тупо (закомментированные строки в запросе). есть ли есть идеи плиз поделитесь. так вроде бы и просто все находим дату увольнения и берем с графика значения только до этой даты но вот резализовать что то не получается. вот запрос:

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

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

Renat11111

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


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

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



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

puh14

Well-known member
11.07.2008
1 412
0
#3
Гм - по идее должно быть так ( если это case скулевский)
Case
when ГрафикНазначения.ПричинаИзмененияСостояния = &парамУвольнение
then ГрафикиРаботыПоВидамВремени.Дата
else 0 end as Причина

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

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

DjAlex

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

Renat11111

Well-known member
20.04.2008
123
0
#5
Решил проблему следующим запросом может быть кому то интересно )))): три дня промучался зато понял целую кучу вещей которых раньше не понимал. Rex спасибо за совет.

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