|
СКД. Вычисляемое поле. Узнать значение ресурса вышестоящей группировки | ☑ | ||
---|---|---|---|---|
0
altaykniga
13.07.23
✎
14:34
|
Доброго дня всем! Прошу помощи умных людей. Отчет на СКД.
Группировки: -Менеджер -ЗаказКлиента ресурсы: -Выручка -Бонус (пользовательское поле) в группировке "Менеджер" бонус нужно считать суммируя Бонусы нижестоящей группировки "Заказ клиента" в этой группировке "Заказ клиента" бонус нужно считать исходя из значения ресурса "Выручка" вышестоящей группировки "Менеджер" например: если значение ресурса "Выручка" вышестоящей группировки больше или равно 50тыс.руб., то бонус нужно считать по формуле: Выручка в текущей группировке * 3/100 если значение ресурса "Выручка" вышестоящей группировки больше 20млн.руб. и меньше 50млн.руб., то бонус нужно считать по формуле: Выручка в текущей группировке * 2/100 Подскажите, что нужно написать в выражении итоговых записей? Отчет должен выглядеть так: https://disk.yandex.ru/i/RcAT4yZ2QTyikA скриншот редактирования пользовательского поля: https://disk.yandex.ru/i/wikSdP-evlMF2g Заранее благодарю за помощь! |
3 4 |
||
1
altaykniga
13.07.23
✎
14:49
|
усложнение задания: при вычислении значения пользовательского поля "Бонус" еще нужно учитывать значение поля "Скидка". Если скидки есть, тогда бонус = 0.
Итоговое задание принимает следующий вид: Группировки: -Менеджер -ЗаказКлиента ресурсы: -Выручка -Скидка -Бонус (пользовательское поле) в группировке "Менеджер" бонус нужно считать суммируя Бонусы нижестоящей группировки "Заказ клиента" в группировке "Заказ клиента" бонус нужно считать исходя из значения ресурса "Выручка" вышестоящей группировки "Менеджер" и значения ресурса "Бонус" текущей группировки "Заказ клиента". например: если Выручка вышестоящей группировки "Менеджер" больше или равно 50тыс.руб. и скидка текущей группировки "Заказ клиента" равна 0, то бонус нужно считать по формуле: Выручка в текущей группировке * 3/100 если Выручка вышестоящей группировки "Менеджер" больше или равно 30тыс.руб. меньше 50тыс.руб., и скидка текущей группировки "Заказ клиента" равна 0, то бонус нужно считать по формуле: Выручка в текущей группировке * 2/100 Подскажите, что нужно написать в выражении итоговых записей? Отчет должен выглядеть так: https://disk.yandex.ru/i/MB4voA1_yyjI7g скриншот редактирования пользовательского поля: https://disk.yandex.ru/i/wikSdP-evlMF2g Заранее благодарю за помощь! |
|||
2
mikecool
13.07.23
✎
14:50
|
смотри в сторону ВычислитьВыражение
параметров много, как раз и уровни задаются |
|||
3
НафНаф
13.07.23
✎
14:53
|
(0) я бы бонусы посчитал в самом запросе
|
|||
4
altaykniga
13.07.23
✎
14:55
|
(0) нет доступа к тексту запроса, необходимо реализовать через Пользовательское поле в режиме 1с:предприятие
|
5 |
||
5
НафНаф
13.07.23
✎
14:59
|
(4) это тест на собеседовании?
|
|||
6
НафНаф
13.07.23
✎
15:00
|
||||
7
unenu
13.07.23
✎
15:01
|
Вам логичнее создать в СКД (в конфигураторе) создать два выражения ресурса
"Бонус" 1-е выражение для всех группировок (т.е. без выбора "рассчитвать по"): Сумма(Бонус) 2-е выражение с выбором "рассчитвать по ЗаказКлиента": Выражение...() 2-е выражение примерно такое: Выбор когда ВычислитьВыражение("Сумма(Выручка)", "Менеджер",) >= 50 000 И ЕстьNull(Скидка, 0) = 0 Тогда Выручка * 3/100 .... и ну т.д. Иначе 0 Конец |
8 9 |
||
8
altaykniga
13.07.23
✎
15:06
|
(7) нет доступа в конфигуратор
|
|||
9
unenu
13.07.23
✎
15:07
|
+ (7) не доступа к тексту запроса и СКД в конфе?
Тогда сохраните отчет как внешний и перепишите 7 на пользовтельское поле в конфигураторе. Потом в клиенте откройте расширенные настройки отчета и скопируйте оттуда выражение пользовательского поля со скобками и пр. Далее в рабочий, встроенный отчет, на клиенте добавьте пользовательское поле БонусВЗаказеКлиента вставьте туда сохраненное выражение в условном оформлении замените текст поля "Бонус" в группировке ЗаказКлиета на пользовтельское поле БонусВЗаказеКлиента |
10 |
||
10
altaykniga
13.07.23
✎
15:26
|
(9) пользовательского поля Бонус нет в ресурсах
|
11 |
||
11
unenu
13.07.23
✎
15:34
|
(10) что мешает его создать? на скринах у вас видно начало создания
выражение деталей Выбор когда ВычислитьВыражение("Сумма(Выручка)", "Менеджер",) >= 50 000 И ЕстьNull(Скидка, 0) = 0 Тогда ЕстьNull(Выручка, 0) * 3/100 .... и ну т.д. Иначе 0 Конец Выражение итоговых Сумма(Выбор когда ВычислитьВыражение("Сумма(Выручка)", "Менеджер",) >= 50 000 И ЕстьNull(Скидка, 0) = 0 Тогда ЕстьNull(Выручка, 0) * 3/100 .... и ну т.д. Иначе 0 Конец) |
|||
12
unenu
13.07.23
✎
15:38
|
со скидкой там не все логично в итогах
возможно следует создать два пользовтельских поля Бонус - для группировки "Менеджер" и БонусВЗаказе покрутить выражения, понять как правильно задать условие на скидку и прийти к результату. тестить вашу работу на 100% все равно вам) |
|||
13
altaykniga
13.07.23
✎
16:00
|
ниже скриншот выражения моего пользовательского поля. На скриншоте описан вопрос
https://disk.yandex.ru/i/3uwMisG2atLoWA |
|||
14
altaykniga
13.07.23
✎
16:07
|
а есть возможность в выражении итоговых записей пользовательского поля обратиться к значению другого пользовательского поля?
|
15 |
||
15
АнализДанных
naïve
13.07.23
✎
16:57
|
(14) Нет, придется дублировать код расчета этого другого поля.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |