ЗУП 3.1.32.17 Найти сотрудников, которым не начислили зарплату.

1. pentanom 30 27.02.25 13:51 Сейчас в теме
Бывает такое, что некоторым сотрудникам забыли начислить зарплату или начислили, но забыли выплатить. Оказывается и такое бывает!
Нужно найти таких сотрудников и вывести их список. Для первой задачи предполагаю получить два списка: тех, которые в указанном периоде числятся работающими, и тех, кому начислена зарплата. Эти списки у меня получаются, а как получить "работающих" без начислений? Хочется получить такой список в запросе. Это возможно?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 81 27.02.25 13:53 Сейчас в теме
(1)
Для первой задачи предполагаю получить два списка: тех, которые в указанном периоде числятся работающими, и тех, кому начислена зарплата. Эти списки у меня получаются, а как получить "работающих" без начислений?

Все, что с признаком "работающий", но не входящие в список тех, кому начислили.

на языке запроса это будет левое соединение двух таблиц, с отбором в секции ГДЕ по Т2.Сотрудник ЕСТЬ NULL
3. pentanom 30 27.02.25 14:03 Сейчас в теме
(2)
но не входящие в список тех, кому начислили.
Точно так! Но как-то не получается записать это в запрос:(
4. nomad_irk 81 27.02.25 14:10 Сейчас в теме
(3) всмысле? я ж вам даже написал, что нужно сделать.

Секцию ГДЕ можно не писать, а сделать поле:

ТаблицаНачислений.Сотрудник ЕСТЬ NULL КАК НеНачислили
18. Hla 87 28.02.25 13:44 Сейчас в теме
(1) Добрый день!
Как найти сотрудников, которым не начислили зарплату. Создать документ "Начисление зп и взносов" не указывать в нем подразделение и "Заполнить", прилетят все кому в данном месяце не начислили ЗП.
Про не выплатили, вам написали. Отчет "Задолженность по зп"
5. homer_ 79 27.02.25 15:33 Сейчас в теме
За вас уже все придумали
Отчет - Анализ ФОТ по начислениям
pentanom; +1 Ответить
13. pentanom 30 27.02.25 16:14 Сейчас в теме
(5)
За вас уже все придумали
Отчет - Анализ ФОТ по начислениям
По второй части (забыли выплатить) тоже что-то уже придумано?
14. homer_ 79 27.02.25 16:22 Сейчас в теме
(13) в отчете видно по кому нет начислений но есть ставка. Что еще надо?
15. pentanom 30 27.02.25 16:39 Сейчас в теме
(14)
(13) в отчете видно по кому нет начислений но есть ставка. Что еще надо?
Вторая задача - есть начисления, но нет оплаты.
И еще. В отчете "Анализ ФОТ по начислениям" вводятся все сотрудники, в т.ч. и уволенные. Может быть можно как-то отфильтровать только работающих, но я пока не нашел как.
16. homer_ 79 27.02.25 16:44 Сейчас в теме
(15) Отчет "Задолжность по зарплате"
pentanom; +1 Ответить
17. pentanom 30 27.02.25 17:08 Сейчас в теме
(16)
(15) Отчет "Задолжность по зарплате"
Будем пробовать фильтровать.
6. pentanom 30 27.02.25 15:35 Сейчас в теме
Написал так:
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	ТаблицаСотрудников.Сотрудник КАК Сотрудник,
	               |	ТаблицаСотрудников.ДатаПриема КАК ДатаПриема,
	               |	ТаблицаСотрудников.ДатаУвольнения КАК ДатаУвольнения
	               |ПОМЕСТИТЬ ВнТаблицаСотрудников
	               |ИЗ
	               |	&ТаблицаСотрудников КАК ТаблицаСотрудников
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	ВнТаблицаСотрудников.Сотрудник КАК Сотрудник,
	               |	ВнТаблицаСотрудников.ДатаПриема КАК ДатаПриема,
	               |	ВнТаблицаСотрудников.ДатаУвольнения КАК ДатаУвольнения,
	               |	Начисления.Регистратор КАК Регистратор,
	               |	Начисления.ВидРасчета КАК ВидРасчета,
	               |	Начисления.Сотрудник.Наименование КАК СотрудникНаименование
	               |ИЗ
	               |	ВнТаблицаСотрудников КАК ВнТаблицаСотрудников
	               |		Левое СОЕДИНЕНИЕ РегистрРасчета.Начисления КАК Начисления
	               |		ПО ВнТаблицаСотрудников.Сотрудник = Начисления.Сотрудник
	               |ГДЕ
	               |	Начисления.ПериодРегистрации МЕЖДУ &ДатаНач И &ДатаКон
	               |	И Начисления.ВидРасчета В(&ВидРасчета)
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	СотрудникНаименование";
Показать
но почему-то выводится только тот сотрудник, которому было начисление, хотя я думал, что в этом случае должен быть выведен весь список работающих с указанием регистратора, если было начисление.
7. nomad_irk 81 27.02.25 15:47 Сейчас в теме
(6) отбор по виду расчета перенесите в условия соединения таблиц
8. pentanom 30 27.02.25 15:57 Сейчас в теме
(7)
(6) отбор по виду расчета перенесите в условия соединения таблиц
А как? В ВнТаблицаСотрудников вида расчета нет.
9. nomad_irk 81 27.02.25 15:59 Сейчас в теме
(8)
.........
ПО ВнТаблицаСотрудников.Сотрудник = Начисления.Сотрудник
   И Начисления.ВидРасчета В(&ВидРасчета)
........
pentanom; +1 Ответить
10. pentanom 30 27.02.25 16:05 Сейчас в теме
(9) Так?
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	ТаблицаСотрудников.Сотрудник КАК Сотрудник,
	               |	ТаблицаСотрудников.ДатаПриема КАК ДатаПриема,
	               |	ТаблицаСотрудников.ДатаУвольнения КАК ДатаУвольнения
	               |ПОМЕСТИТЬ ВнТаблицаСотрудников
	               |ИЗ
	               |	&ТаблицаСотрудников КАК ТаблицаСотрудников
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	ВнТаблицаСотрудников.Сотрудник КАК Сотрудник,
	               |	ВнТаблицаСотрудников.ДатаПриема КАК ДатаПриема,
	               |	ВнТаблицаСотрудников.ДатаУвольнения КАК ДатаУвольнения,
	               |	Начисления.Регистратор КАК Регистратор,
	               |	Начисления.ВидРасчета КАК ВидРасчета,
	               |	Начисления.Сотрудник.Наименование КАК СотрудникНаименование
	               |ИЗ
	               |	ВнТаблицаСотрудников КАК ВнТаблицаСотрудников
	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления КАК Начисления
	               |		ПО ВнТаблицаСотрудников.Сотрудник = Начисления.Сотрудник
	               |			И (Начисления.ВидРасчета В (&ВидРасчета))
	               |ГДЕ
	               |	Начисления.ПериодРегистрации МЕЖДУ &ДатаНач И &ДатаКон
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	СотрудникНаименование";
Показать
Но так тот же результат. Вероятно, и условие по датам нужно перенести в соединение? Попробую.
11. nomad_irk 81 27.02.25 16:07 Сейчас в теме
(10) Отбор по ПериодРегистрации тоже нужно перенести в условия соединения
pentanom; +1 Ответить
12. pentanom 30 27.02.25 16:13 Сейчас в теме
(11)
(10) ПериодРегистрации тоже нужно перенести в условия соединения
Так что-то похожее на то, что должно бы получаться. Теперь буду ковырять дальше.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот