Имя: Пароль:
1C
1С v8
1C ЗУП 3.1 Настройка начислений
0 murattick
 
05.09.19
16:10
Добавили свой вид начисления в программу. Всё прекрасно работало какое-то время..) Начисление работает по формуле "Мин ((ДоплатаНов * ОтработаноЧасов / НормаЧасов), 11500)" Все прекрасно работает когда в начислениях ЗП всего одно дополнительное начисление, но если их несколько, то итоговая сумма выходит иногда больше. Можно ли как то в программе настроить данное поведение? Из серии что-то типа сумма всех дополнительных начислений у сотрудника прогнать по этой формуле.
1 El_Duke
 
гуру
05.09.19
16:25
(0) Косяк может быть где угодно, настроек то не показываете
Как вариант - несколько разных видов допначислений, а у всех используется один и тот же показатель ДоплатаНов. Или это показатель суммируется (так задано в настройках)
Тут без трепанации базы сложно сказать, надо видеть весь адский цирк целиком
2 murattick
 
05.09.19
16:39
(1) Ну история примерно такая:
В предыдущем месяце.
1. Человек замещал другого определенный промежуток времени. Этот промежуток оплачивался по показателю ДоплатаНов(по той формуле) и получил к примеру за это 5000р.
2. Поработал в другой смене еще какой-то промежуток времени и оплачивается снова по данному показателю ДоплатаНов и получил еще 5000р.
3. После чего у него случилась еще какая-то переработка и она тоже оплачивается по тому же показателю и получил он еще 5000р.

Так как это все разные строки так сказать, то всё это проходит по той формуле. Но как сделать чтоб это всё в сумме считать..да и желательно бы не вскрывая конфу
3 Фрэнки
 
06.09.19
08:39
Напрашивается идея неких предварительных расчетов...

Вроде и не сложно, но в типовом этого не видать. Как минимум, надо слепить своего помощника, который будет собирать все предварительные расчеты, сторнировать их и вводить окончательный. Но если это все в белую, то я не представляю себе каким комплектом локальной нормативки эту всю канитель можно обустроить
4 Фрэнки
 
06.09.19
08:42
И да, помощник будет без вскрытия основной - просто обработка вспомогательная, которую можно в расширении посадить и пользоваться ей для создания типовых документов, но с разными значениями показателей в строках табличных частей, которая типовая тоже может позволить сделать, но только вручную
5 murattick
 
06.09.19
09:07
(4) Можно подробнее по помощнику? что это, есть какая-то обработка такая? если да, то где её можно посмотреть?
И сразу тоже вопрос. Если же всё таки вскрывать... То в каком документе или где еще нужно прописать код, что-то вроде:
для каждого сотрудника -> подсчитать количество доплат с показателем "ДоплатаНов" -> если больше 1, то сумма их начислений -> если сумма начислений больше 11500, то дальше каким-то образом привести к этому показателю (даже сойдёт наверно из нормального расчета вычесть, значение которое превышает 11500)
6 Фрэнки
 
06.09.19
09:14
Готовой обработки нет.

Я имею ввиду такое: - берем копию базы в тестирование. Начинаем в ней ручками добивать некие действия/манипуляции с предварительными расчетами по сотрудникам, смотрим, что из этого плохого получается, исправляем стронирующими документами, чтоб вписаться в схему выше.

Как только последовательность ручных манипуляций оказывается для разработчика очевидной, создаем обработку-помощник, которая автоматизирует ручной труд расчетчика.

з.ы. Обработку называем гордым именем "Помощник расчета доплат" или еще как-то, садим все это в расширение в виде подсистемы, которую цепляем на основную подсистему зарплаты со всей приличной красотой... и даже инструкции к этой штуке можно вывести в отображаемый пункт меню новой доп-подсистемы.
7 El_Duke
 
гуру
06.09.19
09:15
(3) Или я чего то не понял, или надо просто через РасчетнаяБаза выходить на решение:
Мин (РасчетнаяБаза, 11500), где РасчетнаяБаза состоит из начисления, определяемого формулой ДоплатаНов * ОтработаноЧасов / НормаЧасов
И пусть себе накапливается, потом его сверить с 11500 как указано выше
8 Фрэнки
 
06.09.19
09:17
(7) сверить и вычислить новое не трудно, но как убрать/сторнировать уже начисленное автоматом?
9 El_Duke
 
гуру
06.09.19
09:19
(8) а зачем его сторнировать ?
Превысила РасчетнаяБаза величину 11500 - получай свои 11500
10 Фрэнки
 
06.09.19
09:20
(9) расчетная база может быть собрана из непроведенных начислений?
11 Фрэнки
 
06.09.19
09:22
Это примерно похоже на сборку базы для вычетов по НДФЛ, когда наступает превышение предела действия и все предоставленные вычеты сверх базы сторнируются. Тут похоже, но в типовую вписывать свой алгоритм и процедуры как?
12 El_Duke
 
гуру
06.09.19
09:23
(10) Мы видимо по разному понимаем задачу, давайте придем к общему
Откуда возникают непроведенные начисления ?
13 Фрэнки
 
06.09.19
09:31
Из разных событий приходят распоряжения - начисилить Доплату 1-ый раз, затем 2-ой раз и 3-ий и т.д.

Потом приходит время начисления зарплаты за месяц и тут оказывается, что переплачивать этому работнику
(конюху, повару и плотнику... программисту-бетонщику и незаменимому Васе) никто не собирается.
Давай теперь все начисленные доплаты в кучку собирать и обрезать их под установленный предел.

И это еще может возникнуть идея, что какие-то доплаты начислены верно и их нужно оставить, а какие-то лишние и их оставлять не нужно.
14 murattick
 
06.09.19
09:32
(12)интересно правильно ли я вас понял. Смотрите, программа автоматически рассчитала начисления сотруднику (3 шт к примеру), каждая из которой рассчитывалась по вышеуказанной формуле, где не должно превышать 11500 и все три начисления прошли по этой формуле и всё ок, но сумма этих 3 начислений не соответствует нашему критерию, что не должно превышать 11500. (Документы еще не проведены) Если я введу еще 1 вид начисления, как вы сказали с формулой  Мин (РасчетнаяБаза, 11500), то в итоге что получится? она сама посчитает сумму чтоль и сделает 11500 допначислений? после проведения документа