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

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)решил пойти от обратного и просто написал
ГДЕ ВТ_НачисленияИОсновныеПоказатели.Действие <> ЗНАЧЕНИЕ(Перечисление.ДействияСНачислениямиИУдержаниями.Отменить) 
Оставьте свое сообщение

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