|
Как распределить сумму между участниками работ! | ☑ | ||
---|---|---|---|---|
0
VID1234
17.09.21
✎
17:20
|
Здравствуйте. Подскажите пожалуйста. У нас есть документ, в этом документе хранятся работы, отдельной строкой, у каждой строки есть плановые суммы, допустим у первой работы 700000, у второй, 800000, у третьей 500000, у четвертой 100000. За каждой этой работой закреплены Основные исполнители и просто исполнители, допустим за первой работой 3 человека (Иванов (Основной исполнитель), Петров (просто исполнитель), Сидоров (основной исполнитель),), за второй (Пельмешкин (Основной исполнитель) и Галушкин (просто исполнитель),), за третьей (Галушкин(Основной исполнитель) и Иванов (просто исполнитель),), за четвертой (Сидоров (Основной исполнитель) и Петров (просто исполнитель),). Как видите, Иванов участвует в 2 работах, Петров тоже в двух, Сидоров аналогично ну и Галушкин тоже, Пельмешкин в одной. Запросом с регистра начисления я вывожу реальные ЗП по месяцам по всем сотрудникам (сотрудников разумеется больше). Что нужно сделать:
1) Отобрать всех сотрудников со статусом основной исполнитель (это отдельный реквизит РОЛЬ) по количеству, кто где работает, если сотрудник работает в одной работе, то вся зп его падает на эту работу (как у Пельмешкина), если в двух, тогда распределяется пропорционально сумме работ( допустим Сидоров работает в первой и четвертой работе, соответственно 100000 и 700000 - это как 10% к 90%, если его зп 100000 рублей, то 90000 тысяч распределится на первую работу, а 10000 на четвертую, если в трех, то соответственно на три суммы); Таким образом, цикл должен повторятся до того момента, пока все суммы по основным исполнителям не будут распределены или не закончится предел по сумме работ (для четвертой работы = 100 000) . 2) Но если сумма распределилась по ЗП полностью (по основным исполнителям), т.е. зп сотрудников не хватает, чтобы сумма в 700000 тысяч полностью распределилась, то после этого все распределяется на всех простых исполнителей. Мне нужен примерный код (отбор, цикл, а то я не могу никак сообразить), запрос данных я получу сам, до идеала доделаю сам, мне нужна только наводка, в качестве примерного кода! |
|||
1
Garykom
гуру
17.09.21
✎
17:24
|
уверен что с hh.ru не перепутали?
|
|||
2
VID1234
17.09.21
✎
17:28
|
(1) Здравствуйте. Нет!
|
|||
3
acht
17.09.21
✎
17:31
|
Ограничение взысканий по исполнительным листам какое-то.
|
|||
4
VID1234
17.09.21
✎
17:32
|
(3) Здравствуйте. Типа того)))
|
|||
5
Kassern
17.09.21
✎
17:33
|
(0) вы хотя бы свой алгоритм распишите. Попробуйте на бумажке для конкретного примера посчитать. Проследите за логикой и покажите, что у вас получилось и на чем у вас затык.
|
|||
6
VID1234
17.09.21
✎
18:04
|
(5) Хорошо, тогда на следующей неделе начну делать и более подробно буду писать, если не сложно помогите плиз
|
|||
7
polosov
17.09.21
✎
18:10
|
(6) Нихрена не понятно.
Почему ЗП распределяются на стоимость работ? Или цель в определении вклада каждого сотра в работы? |
|||
8
Garykom
гуру
17.09.21
✎
18:12
|
Себестоимость же считается
По фиксированным окладам исполнителей |
|||
9
RomanYS
17.09.21
✎
18:13
|
(7) судя по логике цель обратная: обосновать стоимость работ зарплатой назначенных исполнителей)
|
|||
10
HeKrendel
17.09.21
✎
18:13
|
Много букв, осуждаю
|
|||
11
Garykom
гуру
17.09.21
✎
18:13
|
(9) опоздал ))
|
|||
12
mistеr
17.09.21
✎
18:17
|
(0) Наводка такая. Запросом/запросами получаешь все данные, распределяешь при обходе выборки. Читай СП про методы обхода выборки.
Для собственно распределения есть стандартный метод, ОбщегоНазначения.РаспределитьПропорционально() или как-то так. |
|||
13
VID1234
17.09.21
✎
18:22
|
(7) да
|
|||
14
VID1234
17.09.21
✎
18:23
|
(9) в точку!
|
|||
15
HeKrendel
17.09.21
✎
18:24
|
(9) Вот так сразу бы, главное чтобы затрат хватило, а не то могут ГОЗы и не понять ;-)
|
|||
16
VID1234
17.09.21
✎
18:24
|
(12) хорошо, почитаю, но если будет где ни будь затык, то пожалуйста не отказывайте в помощи! Спасибо, хороших выходных, этим буду уже в понедельник заниматься!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |