Запрос для выбора категорий сотрудников по физ лицу для ЗиУП 2.5

25.11.10

Разработка - Запросы

Запрос позволяет выбрать физ. лицо, организацию, категории сотрудников и коэффициент, на который нужно умножить значения сумм (например начисленного НДФЛ для физ.лица). Мы используем категории сотрудников для разделения зарплаты по проектам. В результат включаются только сотрудники, работавшие за заданный период как по трудовому договору, так и по договорам ГПХ.

Просто, чтобы не забыть, может кому-то пригодится:

 

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

        ОБЪЕДИНИТЬ
        выбрать Сотрудник
        ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецПериода) КАК РаботающиеНаКонецПериода
        ГДЕ РаботающиеНаКонецПериода.ПричинаИзмененияСостояния = &Увольнение И  РаботающиеНаКонецПериода.Период МЕЖДУ &НачалоПериода И &КонецПериода

        ОБЪЕДИНИТЬ
        ВЫБРАТЬ Сотрудник
        ИЗ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК РаботающиеПоДоговорамГПХ
        ГДЕ РаботающиеПоДоговорамГПХ.ДатаНачала <= &КонецПериода И РаботающиеПоДоговорамГПХ.ДатаОкончания >= &НачалоПериода
    ) КАК РаботающиеСотрудники
    ЛЕВОЕ СОЕДИНЕНИЕ
        РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
        ПО КатегорииОбъектов.Объект = РаботающиеСотрудники.Сотрудник
    СГРУППИРОВАТЬ ПО
       
РаботающиеСотрудники.Сотрудник
) КАК Работники
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектовРаботники
    ПО КатегорииОбъектовРаботники.Объект = Работники.Сотрудник
упорядочить по Работники.Коэффициент

 

Вариант для отчётов типа Анализ начисленных налогов и взносов, - чтобы попадали доначисленные суммы по уволенным людям, добавлен "взгляд назад" на 3 месяца, а чтобы они не множились, немного усложнён расчёт коэффициента:

 

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

            ОБЪЕДИНИТЬ
            выбрать Сотрудник
            ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецПериода) КАК РаботающиеНаКонецПериода
            ГДЕ РаботающиеНаКонецПериода.ПричинаИзмененияСостояния = &Увольнение И  РаботающиеНаКонецПериода.Период МЕЖДУ ДобавитьКДате(&НачалоПериода,Месяц,-3) И &КонецПериода

            ОБЪЕДИНИТЬ
            ВЫБРАТЬ Сотрудник
            ИЗ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК РаботающиеПоДоговорамГПХ
            ГДЕ РаботающиеПоДоговорамГПХ.ДатаНачала <= &КонецПериода И РаботающиеПоДоговорамГПХ.ДатаОкончания >= &НачалоПериода
        ) КАК РаботающиеСотрудники
        ЛЕВОЕ СОЕДИНЕНИЕ
            РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
            ПО КатегорииОбъектов.Объект = РаботающиеСотрудники.Сотрудник
        СГРУППИРОВАТЬ ПО
           
РаботающиеСотрудники.Сотрудник
    ) КАК Подгруппа
    СГРУППИРОВАТЬ ПО
       
Подгруппа.Организация,
       
Подгруппа.ФизЛицо
) КАК Работники
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектовРаботники
    ПО КатегорииОбъектовРаботники.Объект = Работники.Сотрудник



См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    184637    1027    403    

967

Обновление 1С Запросы Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данный инструмент помогает анализировать доработанную конфигурацию после обновления на новый релиз и находить «битые» тексты запросов, в которых участвуют несуществующие в новом релизе метаданные.

2 стартмани

06.02.2025    2197    17    XilDen    26    

36

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

В статье приведена удобная возможность отладки исполняемого запроса динамического списка.

03.12.2024    5728    artemusII    11    

23

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    13132    sergey279    18    

66

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    8214    XilDen    36    

90

СКД Механизмы типовых конфигураций Запросы Программист Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    3191    PROSTO-1C    0    

23

Запросы Программист Запросы Бесплатно (free)

Отлаживая взаимодействие с базой данных, мы регулярно сталкиваемся с зависающими или подозрительно долго выполняющимися обращениями, негативно влияющими на производительность. О том, как в PostgreSQL выявить подозрительные запросы, основываясь на доступной о них информации, расскажем в статье.

16.08.2024    10796    user1840182    5    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexk-is 6546 14.10.10 08:53 Сейчас в теме
Текст запроса в публикации можно раскрасить
4. boogie 490 03.11.10 17:11 Сейчас в теме
2. artbear 1568 03.11.10 16:40 Сейчас в теме
(0) "Объединить все" побыстрее будет :) Да и временные таблицы лучше юзать вместо нескольких уровней вложенности.

А вообще нафига выкладывать на сайт подобный запрос?
У каждого разработчика подобных запросов целая корзина :)
3. boogie 490 03.11.10 17:09 Сейчас в теме
(2) я ж говорю для себя, мне часто бывает надо для кадров.
5. Filys_Fog 13 04.05.11 09:02 Сейчас в теме
Незнаю кому как а мне пригодилось. спасибо...
Оставьте свое сообщение