Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Отчет Списки работников упр. 1С УПП 1.3

Отчет Списки работников упр. 1С УПП 1.3
Я
   skupidom
 
27.09.18 - 23:12
Нужно соединить запрос из отчета списки сотрудников с таблицей значения свойств объектов с типом свойства Премия.
В Предприятии в План видов характеристик добавлено свойство = Премия.
Но если в базе ни 1 значения по этому свойству не проставлено - ничего не выводиться, а надо чтобы отчет формировался не в зависимости есть премии или нет, может связь не правильно сделал ?
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Работники.ФизЛицо КАК ФизЛицо,
    ПРЕДСТАВЛЕНИЕ(Работники.ФизЛицо),
    Работники.Подразделение КАК Подразделение,
    ПРЕДСТАВЛЕНИЕ(Работники.Подразделение),
    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК РуководительПодразделения,
    ПРЕДСТАВЛЕНИЕ(ОтветственныеЛицаСрезПоследних.ФизическоеЛицо),
    Работники.Должность КАК Должность,
    ПРЕДСТАВЛЕНИЕ(Работники.Должность),
    Работники.ГрафикРаботы КАК ГрафикРаботы,
    ПРЕДСТАВЛЕНИЕ(Работники.ГрафикРаботы),
    ПлановыеНачисленияРаботниковСрез.ВидРасчета КАК ВидРасчета,
    ПлановыеНачисленияРаботниковСрез.Валюта1 КАК Валюта,
    ПлановыеНачисленияРаботниковСрез.Показатель1 КАК Размер,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.НеРаботает)
        ИНАЧЕ ЕСТЬNULL(ВЫБОР
                    КОГДА &Период >= СостояниеРаботников.ПериодЗавершения
                            И СостояниеРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                        ТОГДА СостояниеРаботников.СостояниеЗавершения
                    ИНАЧЕ ВЫБОР
                            КОГДА СостояниеРаботников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.ОтпускЕжегодный)
                                    ИЛИ СостояниеРаботников.ПричинаОтсутствия = ЗНАЧЕНИЕ(Справочник.ПричиныОтсутствияНаРаботе.ПустаяСсылка)
                                ТОГДА СостояниеРаботников.Состояние
                            ИНАЧЕ СостояниеРаботников.ПричинаОтсутствия
                        КОНЕЦ
                КОНЕЦ, ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.Работает))
    КОНЕЦ КАК Состояние,
    ПриказыОПриеме.Приказ КАК ПриказОПриеме,
    ПриказыОПриеме.ДатаПриема КАК ДатаПриема,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА ДОБАВИТЬКДАТЕ(Работники.Период, ДЕНЬ, -1)
        ИНАЧЕ "-"
    КОНЕЦ КАК ДатаУвольнения,
    Работники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    ВЫБОР
        КОГДА Работники.ФизЛицо = ОтветственныеЛицаСрезПоследних.ФизическоеЛицо
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЯвляетсяРуководителемПодразделения,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА Работники.Регистратор
        ИНАЧЕ "-"
    КОНЕЦ КАК ПриказОбУвольнении,
    ВЫБОР
        КОГДА Константы.РежимНабораПерсонала = ЗНАЧЕНИЕ(Перечисление.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности)
                И СостояниеРаботниковНаИспытательномСроке.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаНаИспытательномСроке.ПринятНаИспытательныйСрок)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК НаИспытательномСроке,
    ФизическиеЛица.ИНН,
    ЗначенияСвойствОбъектов.Значение КАК зп,
    ЗначенияСвойствОбъектов2.Значение КАК Премия
{ВЫБРАТЬ
    ФизЛицо.*,
    Подразделение.*,
    РуководительПодразделения.*,
    Должность.*,
    ГрафикРаботы.*,
    ВидРасчета,
    Валюта,
    Размер,
    Состояние,
    ПриказОПриеме.*,
    ДатаПриема,
    ДатаУвольнения,
    ЗанимаемыхСтавок,
    ЯвляетсяРуководителемПодразделения,
    ПриказОбУвольнении.*,
    НаИспытательномСроке,
    зп.*,
    Премия.*}
ИЗ
    РегистрСведений.Работники.СрезПоследних(&Период, ) КАК Работники
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботников.СрезПоследних(&Период, ) КАК СостояниеРаботников
        ПО Работники.ФизЛицо = СостояниеРаботников.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботников.СрезПоследних(&Период, ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка)) КАК ПлановыеНачисленияРаботниковСрез
        ПО Работники.ФизЛицо = ПлановыеНачисленияРаботниковСрез.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ДатыПоследнихДвиженийРаботников.Период КАК ДатаПриема,
            ДатыПоследнихДвиженийРаботников.ФизЛицо КАК ФизЛицо,
            ДанныеПоРаботникуПриНазначении.Регистратор КАК Приказ
        ИЗ
            (ВЫБРАТЬ
                МАКСИМУМ(Работники.Период) КАК Период,
                ТЧРаботники.ФизЛицо КАК ФизЛицо
            ИЗ
                РегистрСведений.Работники.СрезПоследних(&Период, ) КАК ТЧРаботники
                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
                    ПО (Работники.Период <= ТЧРаботники.Период)
                        И (Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу))
                        И ТЧРаботники.ФизЛицо = Работники.ФизЛицо
            {ГДЕ
                ТЧРаботники.Должность КАК Должность,
                ТЧРаботники.ГрафикРаботы КАК ГрафикРаботы,
                ТЧРаботники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
                ТЧРаботники.Подразделение КАК Подразделение}
            
            СГРУППИРОВАТЬ ПО
                ТЧРаботники.ФизЛицо) КАК ДатыПоследнихДвиженийРаботников
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК ДанныеПоРаботникуПриНазначении
                ПО ДатыПоследнихДвиженийРаботников.ФизЛицо = ДанныеПоРаботникуПриНазначении.ФизЛицо
                    И ДатыПоследнихДвиженийРаботников.Период = ДанныеПоРаботникуПриНазначении.Период) КАК ПриказыОПриеме
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
            ПО ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектов.Объект
                И ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектов.Объект
        ПО Работники.ФизЛицо = ПриказыОПриеме.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковНаИспытательномСроке.СрезПоследних(&Период, ) КАК СостояниеРаботниковНаИспытательномСроке
        ПО Работники.ФизЛицо = СостояниеРаботниковНаИспытательномСроке.Физлицо
        ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы
        ПО (ИСТИНА)}
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Период, ) КАК ОтветственныеЛицаСрезПоследних
        ПО Работники.Подразделение = ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
        ПО Работники.ФизЛицо = ФизическиеЛица.Ссылка,
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов2
ГДЕ
    ЗначенияСвойствОбъектов2.Свойство = &свойствоПремия
{ГДЕ
    Работники.ФизЛицо.* КАК ФизЛицо,
    Работники.Подразделение.* КАК Подразделение,
    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо.* КАК РуководительПодразделения,
    Работники.Должность.* КАК Должность,
    Работники.ГрафикРаботы.* КАК ГрафикРаботы,
    ПлановыеНачисленияРаботниковСрез.ВидРасчета КАК ВидРасчета,
    ПлановыеНачисленияРаботниковСрез.Валюта1 КАК Валюта,
    ПлановыеНачисленияРаботниковСрез.Показатель1 КАК Размер,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.НеРаботает)
            ИНАЧЕ ЕСТЬNULL(ВЫБОР
                        КОГДА &Период >= СостояниеРаботников.ПериодЗавершения
                                И СостояниеРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                            ТОГДА СостояниеРаботников.СостояниеЗавершения
                        ИНАЧЕ ВЫБОР
                                КОГДА СостояниеРаботников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.ОтпускЕжегодный)
                                        ИЛИ СостояниеРаботников.ПричинаОтсутствия = ЗНАЧЕНИЕ(Справочник.ПричиныОтсутствияНаРаботе.ПустаяСсылка)
                                    ТОГДА СостояниеРаботников.Состояние
                                ИНАЧЕ СостояниеРаботников.ПричинаОтсутствия
                            КОНЕЦ
                    КОНЕЦ, ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.Работает))
        КОНЕЦ) КАК Состояние,
    ПриказыОПриеме.Приказ.* КАК ПриказОПриеме,
    ПриказыОПриеме.ДатаПриема КАК ДатаПриема,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА Работники.Период
            ИНАЧЕ "-"
        КОНЕЦ) КАК ДатаУвольнения,
    Работники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    (ВЫБОР
            КОГДА Работники.ФизЛицо = ОтветственныеЛицаСрезПоследних.ФизическоеЛицо
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ) КАК ЯвляетсяРуководителемПодразделения,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА Работники.Регистратор
            ИНАЧЕ "-"
        КОНЕЦ).* КАК ПриказОбУвольнении,
    (ВЫБОР
            КОГДА Константы.РежимНабораПерсонала = ЗНАЧЕНИЕ(Перечисление.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности)
                    И СостояниеРаботниковНаИспытательномСроке.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаНаИспытательномСроке.ПринятНаИспытательныйСрок)
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ) КАК НаИспытательномСроке,
    ЗначенияСвойствОбъектов.Значение.*,
    ЗначенияСвойствОбъектов2.Значение.*}
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            ВидыКонтактнойИнформации.Ссылка,
            ВидыКонтактнойИнформации.Наименование,
            "" КАК Тип
        ИЗ
            Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
        ГДЕ
            ВидыКонтактнойИнформации.ВидОбъектаКонтактнойИнформации = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовКонтактнойИнформации.ФизическиеЛица)
            И НЕ ВидыКонтактнойИнформации.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ Тип
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КонтактнаяИнформация
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Вид
    ПОЛЕЗНАЧЕНИЯ Представление }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            "Ответственное лицо" КАК Идентификатор,
            "Ответственное лицо" КАК ИмяХарактеристики)
    ПОЛЕКЛЮЧА Идентификатор
    ПОЛЕИМЕНИ ИмяХарактеристики
    ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
            ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница КАК Объект,
            "Ответственное лицо" КАК Идентификатор,
            ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК Значение
        ИЗ
            РегистрСведений.ОтветственныеЛица.СрезПоследних КАК ОтветственныеЛицаСрезПоследних
        ГДЕ
            ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница ССЫЛКА Справочник.Подразделения)
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Идентификатор
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ДолжностиОрганизаций)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДолжностиОрганизаций)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ДолжностиОрганизаций)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДолжностиОрганизаций)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
 
 
   skupidom
 
1 - 28.09.18 - 10:33
что я делаю не так ?
   s03
 
2 - 28.09.18 - 10:44
(0) "ГДЕ
    ЗначенияСвойствОбъектов2.Свойство = &свойствоПремия" накладывание отбора на соединяемую таблицу превращяет левое соединение во внутреннее, вот здесь и не так
   s03
 
3 - 28.09.18 - 10:46
сделай соединение по работникам и свойствам, а не отбор
   skupidom
 
4 - 28.09.18 - 10:54
это как можно пример
   skupidom
 
5 - 28.09.18 - 18:44
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Работники.ФизЛицо КАК ФизЛицо,
    ПРЕДСТАВЛЕНИЕ(Работники.ФизЛицо),
    Работники.Подразделение КАК Подразделение,
    ПРЕДСТАВЛЕНИЕ(Работники.Подразделение),
    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК РуководительПодразделения,
    ПРЕДСТАВЛЕНИЕ(ОтветственныеЛицаСрезПоследних.ФизическоеЛицо),
    Работники.Должность КАК Должность,
    ПРЕДСТАВЛЕНИЕ(Работники.Должность),
    Работники.ГрафикРаботы КАК ГрафикРаботы,
    ПРЕДСТАВЛЕНИЕ(Работники.ГрафикРаботы),
    ПлановыеНачисленияРаботниковСрез.ВидРасчета КАК ВидРасчета,
    ПлановыеНачисленияРаботниковСрез.Валюта1 КАК Валюта,
    ПлановыеНачисленияРаботниковСрез.Показатель1 КАК Размер,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.НеРаботает)
        ИНАЧЕ ЕСТЬNULL(ВЫБОР
                    КОГДА &Период >= СостояниеРаботников.ПериодЗавершения
                            И СостояниеРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                        ТОГДА СостояниеРаботников.СостояниеЗавершения
                    ИНАЧЕ ВЫБОР
                            КОГДА СостояниеРаботников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.ОтпускЕжегодный)
                                    ИЛИ СостояниеРаботников.ПричинаОтсутствия = ЗНАЧЕНИЕ(Справочник.ПричиныОтсутствияНаРаботе.ПустаяСсылка)
                                ТОГДА СостояниеРаботников.Состояние
                            ИНАЧЕ СостояниеРаботников.ПричинаОтсутствия
                        КОНЕЦ
                КОНЕЦ, ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.Работает))
    КОНЕЦ КАК Состояние,
    ПриказыОПриеме.Приказ КАК ПриказОПриеме,
    ПриказыОПриеме.ДатаПриема КАК ДатаПриема,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА ДОБАВИТЬКДАТЕ(Работники.Период, ДЕНЬ, -1)
        ИНАЧЕ "-"
    КОНЕЦ КАК ДатаУвольнения,
    Работники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    ВЫБОР
        КОГДА Работники.ФизЛицо = ОтветственныеЛицаСрезПоследних.ФизическоеЛицо
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЯвляетсяРуководителемПодразделения,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА Работники.Регистратор
        ИНАЧЕ "-"
    КОНЕЦ КАК ПриказОбУвольнении,
    ВЫБОР
        КОГДА Константы.РежимНабораПерсонала = ЗНАЧЕНИЕ(Перечисление.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности)
                И СостояниеРаботниковНаИспытательномСроке.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаНаИспытательномСроке.ПринятНаИспытательныйСрок)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК НаИспытательномСроке,
    ФизическиеЛица.ИНН,
    ЗначенияСвойствОбъектов.Значение КАК ЗПИтогоБезНоминала,
    ЗначенияСвойствОбъектовДепартамент.Значение КАК Департамент,
    ЗначенияСвойствОбъектовГД.Значение КАК ГД
{ВЫБРАТЬ
    ФизЛицо.*,
    Подразделение.*,
    РуководительПодразделения.*,
    Должность.*,
    ГрафикРаботы.*,
    ВидРасчета,
    Валюта,
    Размер,
    Состояние,
    ПриказОПриеме.*,
    ДатаПриема,
    ДатаУвольнения,
    ЗанимаемыхСтавок,
    ЯвляетсяРуководителемПодразделения,
    ПриказОбУвольнении.*,
    НаИспытательномСроке,
    ЗПИтогоБезНоминала.*,
    Департамент.*,
    ГД.*}
ИЗ
    РегистрСведений.Работники.СрезПоследних(&Период, ) КАК Работники
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботников.СрезПоследних(&Период, ) КАК СостояниеРаботников
        ПО Работники.ФизЛицо = СостояниеРаботников.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботников.СрезПоследних(&Период, ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка)) КАК ПлановыеНачисленияРаботниковСрез
        ПО Работники.ФизЛицо = ПлановыеНачисленияРаботниковСрез.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ДатыПоследнихДвиженийРаботников.Период КАК ДатаПриема,
            ДатыПоследнихДвиженийРаботников.ФизЛицо КАК ФизЛицо,
            ДанныеПоРаботникуПриНазначении.Регистратор КАК Приказ
        ИЗ
            (ВЫБРАТЬ
                МАКСИМУМ(Работники.Период) КАК Период,
                ТЧРаботники.ФизЛицо КАК ФизЛицо
            ИЗ
                РегистрСведений.Работники.СрезПоследних(&Период, ) КАК ТЧРаботники
                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
                    ПО (Работники.Период <= ТЧРаботники.Период)
                        И (Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу))
                        И ТЧРаботники.ФизЛицо = Работники.ФизЛицо
            {ГДЕ
                ТЧРаботники.Должность КАК Должность,
                ТЧРаботники.ГрафикРаботы КАК ГрафикРаботы,
                ТЧРаботники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
                ТЧРаботники.Подразделение КАК Подразделение}
            
            СГРУППИРОВАТЬ ПО
                ТЧРаботники.ФизЛицо) КАК ДатыПоследнихДвиженийРаботников
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК ДанныеПоРаботникуПриНазначении
                ПО ДатыПоследнихДвиженийРаботников.ФизЛицо = ДанныеПоРаботникуПриНазначении.ФизЛицо
                    И ДатыПоследнихДвиженийРаботников.Период = ДанныеПоРаботникуПриНазначении.Период) КАК ПриказыОПриеме
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
            ПО ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектов.Объект
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовДепартамент
            ПО ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектовДепартамент.Объект
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовГД
            ПО ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектовГД.Объект
        ПО Работники.ФизЛицо = ПриказыОПриеме.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковНаИспытательномСроке.СрезПоследних(&Период, ) КАК СостояниеРаботниковНаИспытательномСроке
        ПО Работники.ФизЛицо = СостояниеРаботниковНаИспытательномСроке.Физлицо
        ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы
        ПО (ИСТИНА)}
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Период, ) КАК ОтветственныеЛицаСрезПоследних
        ПО Работники.Подразделение = ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
        ПО Работники.ФизЛицо = ФизическиеЛица.Ссылка
ГДЕ
    ЗначенияСвойствОбъектов.Свойство = &парамсвойство
    И ЗначенияСвойствОбъектовДепартамент.Свойство = &парамДепарт
    И ЗначенияСвойствОбъектовГД.Свойство = &парамГД
{ГДЕ
    Работники.ФизЛицо.* КАК ФизЛицо,
    Работники.Подразделение.* КАК Подразделение,
    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо.* КАК РуководительПодразделения,
    Работники.Должность.* КАК Должность,
    Работники.ГрафикРаботы.* КАК ГрафикРаботы,
    ПлановыеНачисленияРаботниковСрез.ВидРасчета КАК ВидРасчета,
    ПлановыеНачисленияРаботниковСрез.Валюта1 КАК Валюта,
    ПлановыеНачисленияРаботниковСрез.Показатель1 КАК Размер,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.НеРаботает)
            ИНАЧЕ ЕСТЬNULL(ВЫБОР
                        КОГДА &Период >= СостояниеРаботников.ПериодЗавершения
                                И СостояниеРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                            ТОГДА СостояниеРаботников.СостояниеЗавершения
                        ИНАЧЕ ВЫБОР
                                КОГДА СостояниеРаботников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.ОтпускЕжегодный)
                                        ИЛИ СостояниеРаботников.ПричинаОтсутствия = ЗНАЧЕНИЕ(Справочник.ПричиныОтсутствияНаРаботе.ПустаяСсылка)
                                    ТОГДА СостояниеРаботников.Состояние
                                ИНАЧЕ СостояниеРаботников.ПричинаОтсутствия
                            КОНЕЦ
                    КОНЕЦ, ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.Работает))
        КОНЕЦ) КАК Состояние,
    ПриказыОПриеме.Приказ.* КАК ПриказОПриеме,
    ПриказыОПриеме.ДатаПриема КАК ДатаПриема,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА Работники.Период
            ИНАЧЕ "-"
        КОНЕЦ) КАК ДатаУвольнения,
    Работники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    (ВЫБОР
            КОГДА Работники.ФизЛицо = ОтветственныеЛицаСрезПоследних.ФизическоеЛицо
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ) КАК ЯвляетсяРуководителемПодразделения,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА Работники.Регистратор
            ИНАЧЕ "-"
        КОНЕЦ).* КАК ПриказОбУвольнении,
    (ВЫБОР
            КОГДА Константы.РежимНабораПерсонала = ЗНАЧЕНИЕ(Перечисление.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности)
                    И СостояниеРаботниковНаИспытательномСроке.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаНаИспытательномСроке.ПринятНаИспытательныйСрок)
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ) КАК НаИспытательномСроке,
    ЗначенияСвойствОбъектов.Значение,
    ЗначенияСвойствОбъектовДепартамент.Значение,
    ЗначенияСвойствОбъектовГД.Значение}
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            ВидыКонтактнойИнформации.Ссылка,
            ВидыКонтактнойИнформации.Наименование,
            "" КАК Тип
        ИЗ
            Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
        ГДЕ
            ВидыКонтактнойИнформации.ВидОбъектаКонтактнойИнформации = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовКонтактнойИнформации.ФизическиеЛица)
            И НЕ ВидыКонтактнойИнформации.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ Тип
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КонтактнаяИнформация
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Вид
    ПОЛЕЗНАЧЕНИЯ Представление }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            "Ответственное лицо" КАК Идентификатор,
            "Ответственное лицо" КАК ИмяХарактеристики)
    ПОЛЕКЛЮЧА Идентификатор
    ПОЛЕИМЕНИ ИмяХарактеристики
    ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
            ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница КАК Объект,
            "Ответственное лицо" КАК Идентификатор,
            ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК Значение
        ИЗ
            РегистрСведений.ОтветственныеЛица.СрезПоследних КАК ОтветственныеЛицаСрезПоследних
        ГДЕ
            ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница ССЫЛКА Справочник.Подразделения)
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Идентификатор
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ДолжностиОрганизаций)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДолжностиОрганизаций)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ДолжностиОрганизаций)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДолжностиОрганизаций)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
   skupidom
 
6 - 28.09.18 - 18:44
как правильно соединить без отборов ?
   skupidom
 
7 - 29.09.18 - 20:01
а как не используя отборы из каждой таблицы значения свойств объектов получить именно то значение показателя и с нужным свойством;которое нужно и все в 1 скд запросе ?
   skupidom
 
8 - 30.09.18 - 16:13
Департамент маркетинга                        207 000
Департамент маркетинга                        
12    Кирилловский Петр Алексеевич    Руководитель проекта    01.12.2015        Прием на работу 0027 от 01.12.2015 10:58:29    
Направление Маркетинг                        207 000
13    Орлова Инна Сергеевна    Ведущий маркетолог-продуктолог    26.09.2018    ДМ    Прием на работу 098 от 26.09.2018 11:19:26    
14    Буреева Людмила Андреевна    Руководитель направления маркетинга    16.07.2018    МИДЛ    Прием на работу 079 от 16.07.2018 11:52:10    
15    Буреева Людмила Андреевна    Руководитель направления маркетинга    16.07.2018    МИДЛ    Прием на работу 079 от 16.07.2018 11:52:10    207 000
16    Тимофеев Дмитрий Владимирович    Ведущий маркетолог    14.01.2016        Прием на работу 0003 от 14.01.2016 0:00:01    207 000
   skupidom
 
9 - 30.09.18 - 16:13
выходит все не правильно и хаотично

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует