вычисление ресурсов в скд (Вычисление ресурсов при отборе в группировке)

1. German_Tagil 43 18.07.18 07:35 Сейчас в теме
Вопрос поднимался на форуме - но решения я так и не увидел.
суть проблемы.
в ресурсах считаю количество должностей
колдолж сумма(ВЫЧИСЛИТЬВыражениесгруппировкоймассив((Выбор Когда ОтработаноЧасов=0 или ОтработаноЧасов есть Null ФизЛицо
Тогда 0 Иначе 1 Конец),"физлицо"))
колдолж сумма(ВЫЧИСЛИТЬВыражениесгруппировкоймассив("максимум(Колдолж)","физлицо"))


все хорошо все считается
а как мне обнулить те записи для которых колдолж или отработано часов равно нулю
пробовал примерно так
выбор когда ВычислитьВыражение("Колдолж", , "Иерархия") > 0 тогда сумма(ВЫЧИСЛИТЬВыражениесгруппировкоймассив("максимум(Результат)","физлицо")) иначе 0 конец
но получается ерунда т.е. мне надо на момент выполнения условия знать значение Колдолж на уровне Физлицо чтобы принять решение копировать полностью все записи по данному физлицу или обнулять
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kaspirovsky 216 18.07.18 08:50 Сейчас в теме
сделайте через временные таблицы
3. andry_hoffma 18.07.18 08:50 Сейчас в теме
Мне кажется проще будет это сделать не помощью ресурсов, а с помощью вложенных запросов в запросе.
4. German_Tagil 43 18.07.18 09:14 Сейчас в теме
вот структура отчета
Прикрепленные файлы:
5. andry_hoffma 18.07.18 09:18 Сейчас в теме
(4)Ну значит нужно немного подумать), тебе нужно обработать отчет уже после того как посчиталось поле колдолж, я не представляю как это сделать по другому.
Только если по колхозному через условное оформление, оно накладывается уже после того как посчитаются поля. Но это колхоз...
6. German_Tagil 43 18.07.18 09:41 Сейчас в теме
угу причем полный колхоз в моей голове
суть проблемы надо объеденить ОсновныеНачисленияРаботниковОрганизации и БУОсновныеНачисления
ну и соответственно дополнителные
сделать вроде сделал - а вот с отборами плохо все
7. German_Tagil 43 19.07.18 13:05 Сейчас в теме
Решение нашлось (Колхозное правда) но как сделать в отчете не придумал
дополнительно в ресурсах прописываем
колдолж выбор когда Вычислитьвыражение("Сумма(ОтработаноЧасов)","сотрудник") > 0 тогда 1 иначе 0 конец ФизЛицо
чтобы прописать еденицы у всех у кого было отработанное время
затем
создаем дополнительный ресурс
РезультатДОП выбор когда Вычислитьвыражение("Сумма(ОтработаноЧасов)","физлицо") > 0 тогда Сумма(РезультатДоп) иначе 0 конец ФизЛицо

чтобы скопировать нужные суммы

и условном оформлении
для итоговых записей пишем


Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(РезультатДОП)", "фИЗЛИЦО", , "Сумма(Колдолж) > 0"))

суммы с нулевым временем не суммируются
зато остальное все встает ровно

хотелось бы для себя разобраться как сделать это все в отчете
8. German_Tagil 43 19.07.18 13:19 Сейчас в теме +1 $m
Попробывал вставить строчку в отчете ресурсах
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(РезультатДОП)", "фИЗЛИЦО", , "Сумма(Колдолж) > 0"))
вроде считает
9. vasgius 03.08.18 11:34 Сейчас в теме
У вас ресурс не считается когда физлицо выводиться в иерархии? Если так, то нужно в результат запроса выводить еще одно поле физлица, например "ФизЛицоДоп" и считатать значение ресурса группирую по этому доп. полю
Оставьте свое сообщение

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