Вывести запросом назначенные начисления в кадровом переводе оплата труда

1. user1816391 13.10.22 08:43 Сейчас в теме
Здравствуйте, нужно в документе "Кадровый перевод" вывести назначенные новые начисления, написал вот такой запрос, но он выводит все начисления, в том числе отмененные, а поля "Действие" и "ВидВыплаты" вовсе пустые.
В чем ошибка?

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	КадровыйПереводПоказатели.Показатель КАК НачислениеНаименование,
	КадровыйПереводПоказатели.Значение КАК Размер,
	КадровыйПереводПоказатели.Действие КАК Действие,
	КадровыйПеревод.Начисления.СЭ_ВидВыплаты КАК СЭ_ВидВыплаты 
	ИЗ
	Документ.КадровыйПеревод.Показатели КАК КадровыйПереводПоказатели
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод КАК КадровыйПеревод
		ПО КадровыйПереводПоказатели.Ссылка = КадровыйПеревод.Ссылка
ГДЕ
	КадровыйПереводПоказатели.Ссылка.Сотрудник = &Сотрудник
	И КадровыйПеревод.Ссылка = &Ссылка
Показать
По теме из базы знаний
Найденные решения
6. MuxaH 13.10.22 09:49 Сейчас в теме
(5) Как раз часовой тариф содержится в таб части показателей, достать его можно, связав таб части по реквизиту ИдентификаторСтрокиВидаРасчета. Размер - это будет примерный размер начисления за весь месяц.
Примерно вот так:
ВЫБРАТЬ
	КадровыйПереводНачисления.Начисление КАК Начисление,
	КадровыйПереводНачисления.Действие КАК Действие,
	КадровыйПереводНачисления.ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
	НачисленияПоказатели.Показатель КАК Показатель,
	КадровыйПереводНачисления.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_НачисленияИОсновныеПоказатели
ИЗ
	Документ.КадровыйПеревод.Начисления КАК КадровыйПереводНачисления
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.Показатели КАК НачисленияПоказатели
		ПО КадровыйПереводНачисления.Начисление = НачисленияПоказатели.Ссылка
			И (НачисленияПоказатели.ОсновнойПоказатель)
ГДЕ
	КадровыйПереводНачисления.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_НачисленияИОсновныеПоказатели.Начисление КАК Начисление,
	ВТ_НачисленияИОсновныеПоказатели.Действие КАК Действие,
	ВТ_НачисленияИОсновныеПоказатели.Показатель КАК Показатель,
	ЕСТЬNULL(КадровыйПереводПоказатели.Значение, 0) КАК Значение
ИЗ
	ВТ_НачисленияИОсновныеПоказатели КАК ВТ_НачисленияИОсновныеПоказатели
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод.Показатели КАК КадровыйПереводПоказатели
		ПО ВТ_НачисленияИОсновныеПоказатели.ИдентификаторСтрокиВидаРасчета = КадровыйПереводПоказатели.ИдентификаторСтрокиВидаРасчета
			И ВТ_НачисленияИОсновныеПоказатели.Ссылка = КадровыйПереводПоказатели.Ссылка
			И ВТ_НачисленияИОсновныеПоказатели.Показатель = КадровыйПереводПоказатели.Показатель
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MuxaH 13.10.22 09:08 Сейчас в теме
В таб части показателей начислений нет же. Для начислений есть таб часть Начисления, оттуда и выводи. Если это запрос к типовой ЗУП 3, конечно :)
3. user1816391 13.10.22 09:12 Сейчас в теме
(2)
ля начислений есть таб часть Начисления

Если брать из Начислений, то не выводятся надбавки
4. MuxaH 13.10.22 09:19 Сейчас в теме
(3) Значит не типовая база какая-то. В ЗУП 3 все начисления в таб части начислений есть, только не все на форму выводятся. Там в принципе структура такая: в таб части начислений есть реквизит для связи с таб частью показателей - ИдентификаторСтрокиВидаРасчета. По этому реквизиту начисления и связываются с показателями, т.к. на одно начисление этих показателей может быть и не один.
5. user1816391 13.10.22 09:35 Сейчас в теме
(4) сделал вот такой запрос

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	КадровыйПереводНачисления.Начисление КАК Начисление,
	КадровыйПереводНачисления.Размер КАК Размер,
	КадровыйПереводНачисления.Действие КАК Действие,
	КадровыйПереводНачисления.СЭ_ВидВыплаты КАК СЭ_ВидВыплаты,
	КадровыйПереводНачисления.СЭ_ОсновнойВидРасчета КАК СЭ_ОсновнойВидРасчета
ИЗ
	Документ.КадровыйПеревод.Начисления КАК КадровыйПереводНачисления
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод КАК КадровыйПеревод
		ПО (КадровыйПереводНачисления.Ссылка = КадровыйПеревод.Ссылка)
ГДЕ
	КадровыйПереводНачисления.Ссылка.Сотрудник = &Сотрудник
	И КадровыйПеревод.Ссылка = &Ссылка
Показать


всё выводит, но если стоит часовой тариф, то он не выводит сумму за час, а уже полную сумму за месяц
6. MuxaH 13.10.22 09:49 Сейчас в теме
(5) Как раз часовой тариф содержится в таб части показателей, достать его можно, связав таб части по реквизиту ИдентификаторСтрокиВидаРасчета. Размер - это будет примерный размер начисления за весь месяц.
Примерно вот так:
ВЫБРАТЬ
	КадровыйПереводНачисления.Начисление КАК Начисление,
	КадровыйПереводНачисления.Действие КАК Действие,
	КадровыйПереводНачисления.ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
	НачисленияПоказатели.Показатель КАК Показатель,
	КадровыйПереводНачисления.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_НачисленияИОсновныеПоказатели
ИЗ
	Документ.КадровыйПеревод.Начисления КАК КадровыйПереводНачисления
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.Показатели КАК НачисленияПоказатели
		ПО КадровыйПереводНачисления.Начисление = НачисленияПоказатели.Ссылка
			И (НачисленияПоказатели.ОсновнойПоказатель)
ГДЕ
	КадровыйПереводНачисления.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_НачисленияИОсновныеПоказатели.Начисление КАК Начисление,
	ВТ_НачисленияИОсновныеПоказатели.Действие КАК Действие,
	ВТ_НачисленияИОсновныеПоказатели.Показатель КАК Показатель,
	ЕСТЬNULL(КадровыйПереводПоказатели.Значение, 0) КАК Значение
ИЗ
	ВТ_НачисленияИОсновныеПоказатели КАК ВТ_НачисленияИОсновныеПоказатели
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод.Показатели КАК КадровыйПереводПоказатели
		ПО ВТ_НачисленияИОсновныеПоказатели.ИдентификаторСтрокиВидаРасчета = КадровыйПереводПоказатели.ИдентификаторСтрокиВидаРасчета
			И ВТ_НачисленияИОсновныеПоказатели.Ссылка = КадровыйПереводПоказатели.Ссылка
			И ВТ_НачисленияИОсновныеПоказатели.Показатель = КадровыйПереводПоказатели.Показатель
Показать
7. user1816391 13.10.22 10:13 Сейчас в теме
(6)
ВЫБРАТЬ
КадровыйПереводНачисления.Начисление КАК Начисление,
КадровыйПереводНачисления.Действие КАК Действие,
КадровыйПереводНачисления.ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
НачисленияПоказатели.Показатель КАК Показатель,
КадровыйПереводНачисления.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_НачисленияИОсновныеПоказатели
ИЗ
Документ.КадровыйПеревод.Начисления КАК КадровыйПереводНачисления
ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.Показатели КАК НачисленияПоказатели
ПО КадровыйПереводНачисления.Начисление = НачисленияПоказатели.Ссылка
И (НачисленияПоказатели.ОсновнойПоказатель)
ГДЕ
КадровыйПереводНачисления.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­­////////////////////
ВЫБРАТЬ
ВТ_НачисленияИОсновныеПоказатели.Начисление КАК Начисление,
ВТ_НачисленияИОсновныеПоказатели.Действие КАК Действие,
ВТ_НачисленияИОсновныеПоказатели.Показатель КАК Показатель,
ЕСТЬNULL(КадровыйПереводПоказатели.Значение, 0) КАК Значение
ИЗ
ВТ_НачисленияИОсновныеПоказатели КАК ВТ_НачисленияИОсновныеПоказатели
ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод.Показатели КАК КадровыйПереводПоказатели
ПО ВТ_НачисленияИОсновныеПоказатели.ИдентификаторСтрокиВидаРасчета = КадровыйПереводПоказатели.ИдентификаторСтрокиВидаРасчета
И ВТ_НачисленияИОсновныеПоказатели.Ссылка = КадровыйПереводПоказатели.Ссылка
И ВТ_НачисленияИОсновныеПоказатели.Показатель = КадровыйПереводПоказатели.Показатель
Показать

спасибо, работает
8. user1816391 13.10.22 10:25 Сейчас в теме
(6)могли бы ещё помочь объединить эти 2 запроса?

ВЫБРАТЬ
	Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
ИЗ
	Справочник.Сотрудники КАК Сотрудники
ГДЕ
	Сотрудники.Наименование ПОДОБНО "%ФИО%";

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КадроваяИсторияСотрудников.Должность.Наименование КАК ДолжностьНаименование,
	ПрогулНеявка.Ссылка КАК Ссылка,
	КадроваяИсторияСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
	КадроваяИсторияСотрудников.Должность КАК Должность
ИЗ
	Документ.ПрогулНеявка КАК ПрогулНеявка,
	РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ГДЕ
	ПрогулНеявка.Ссылка = &Ссылка
	И КадроваяИсторияСотрудников.ФизическоеЛицо = &ФизическоеЛицо
Показать
9. MuxaH 13.10.22 10:29 Сейчас в теме
(8) А чем смысл их объединения? Чтобы платформа сама связи таблиц не строила что ли? В регистре кадровой истории есть как измерение Сотрудник, так и измерение ФизическоеЛицо. На этот регистр нужный отбор сразу и накладывай.
10. user1816391 13.10.22 10:31 Сейчас в теме
(9)нужно по фамилии сотрудника найти его должность
11. MuxaH 13.10.22 10:35 Сейчас в теме
12. user1816391 13.10.22 11:33 Сейчас в теме
(6)а можно как-то в запросе сразу из колонки Действие убрать "Отменит"?
13. MuxaH 13.10.22 11:40 Сейчас в теме
(12) Можно. В секцию ГДЕ в запросе, формирующему временную таблицу, добавить нужное условие.
14. user1816391 13.10.22 11:41 Сейчас в теме
(13)
ВЫБРАТЬ
	ВТ_НачисленияИОсновныеПоказатели.Начисление КАК Начисление,
	ВТ_НачисленияИОсновныеПоказатели.Действие КАК Действие,
	ВТ_НачисленияИОсновныеПоказатели.Показатель КАК Показатель,
	ЕСТЬNULL(КадровыйПереводПоказатели.Значение, 0) КАК Значение
ИЗ
	ВТ_НачисленияИОсновныеПоказатели КАК ВТ_НачисленияИОсновныеПоказатели
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод.Показатели КАК КадровыйПереводПоказатели
		ПО ВТ_НачисленияИОсновныеПоказатели.ИдентификаторСтрокиВидаРасчета = КадровыйПереводПоказатели.ИдентификаторСтрокиВидаРасчета
			И ВТ_НачисленияИОсновныеПоказатели.Ссылка = КадровыйПереводПоказатели.Ссылка
			И ВТ_НачисленияИОсновныеПоказатели.Показатель = КадровыйПереводПоказатели.Показатель
ГДЕ ВТ_НачисленияИОсновныеПоказатели.Действие = "Утвердить"
Показать
так?
15. user1816391 13.10.22 11:45 Сейчас в теме
(13)видимо что-то не так делаю
16. MuxaH 13.10.22 11:51 Сейчас в теме
(15) Действие имеет тип Перечисление.ДействияСНачислениямиИУдержаниями, а ты пытаешься его сравнить со строкой и условие на равенство Ссылке лучше не убирать.
17. user1816391 13.10.22 11:53 Сейчас в теме
18. user1816391 13.10.22 12:56 Сейчас в теме
(16)А если ещё нужно вывести с пустой строкой то,

ГДЕ ВТ_НачисленияИОсновныеПоказатели.Действие = ЗНАЧЕНИЕ(Перечисление.ДействияСНачислениямиИУдержаниями.Утвердить) или 
ВТ_НачисленияИОсновныеПоказатели.Действие = NULL 
или как-то иначе?
19. MuxaH 13.10.22 13:20 Сейчас в теме
(18) NULL оно не будет, может ЗНАЧЕНИЕ(Перечисление.ДействияСНачислениямиИУдержаниями.ПустаяСсылка), точно не подскажу
20. user1816391 13.10.22 13:22 Сейчас в теме
(19)решил пойти от обратного и просто написал
ГДЕ ВТ_НачисленияИОсновныеПоказатели.Действие <> ЗНАЧЕНИЕ(Перечисление.ДействияСНачислениямиИУдержаниями.Отменить) 
Оставьте свое сообщение

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