Имя: Пароль:
1C
 
ЗУП 3.1 Выплата и удержанный НДФЛ
,
0 Sun125
 
30.03.20
12:29
Конфигурация ЗУП 3.1.12.113.
Сотруднику за месяц начислены Разовые начисления одноименным документов. Начислена зарплата документом "Начисление зарплаты и взносов".
Создаю документ Выплаты, Заполняю. По сотруднику в расшифровке по документам-основаниям вижу разбивку по суммам, например:
Выплата 31000:
- Начисление зарплаты - 24000   НДФЛ   4632
- Разовое начисление1 - 4000    НДФЛ   0
- Разовое начисление 2 - 3000   НДФЛ   0
  
Но мне нужно выплатить только часть суммы, уменьшаю сумму выплаты, открываю расшифровку, вижу примерно такое распределение по документам-основания:
Выплата 19000:
- Начисление зарплаты - 9000   НДФЛ   1737
- Разовое начисление1 - 6000   НДФЛ   0
- Разовое начисление 2 - 4000  НДФЛ   0

Проблема в том, что при уменьшении суммы к выплате программе не уменьшат ее пропорционально по документам-основаниям, а начинает сильно уменьшать по одну документц и завышать сумму по другому документу, по которому вообще не должно быть такой суммы к выплате. В итоге НДФЛ удержанный непонятно какой.
Подскажите, пожалуйста, с чем связано? какая логика у программы?
1 SleepyHead
 
гуру
30.03.20
13:15
Логика простая - выплачивать полностью и не грешить.
2 SleepyHead
 
гуру
30.03.20
13:16
Если у тебя в разовом начислении вид дохода отличается от 2000, а планируемая дата выплаты в документе начисления отличается от даты выплаты - логику можешь не искать, 1С таких шуток не понимает.
3 Фрэнки
 
30.03.20
13:18
(2) "не отличается от даты выплаты" - "не" пропустил
4 SleepyHead
 
гуру
30.03.20
13:19
(3) нет, не пропустил. По моему опыту, если даты отличаются, то НДФЛ удержанный заполняется непонятно как для меня.
5 Sun125
 
30.03.20
13:27
(2) все виды начислений, в т.ч. и разовые с кодом дохода 2000.
6 SleepyHead
 
гуру
30.03.20
13:28
(5) Кроме тех документов начисления, что ты перечислил, могут влиять корректировки выплаты в прошлых месяцах. Однозначного ответа не ищи на форуме. По-хорошему, нужно анализировать весь налоговый период, и то можешь логики не найти.
7 Фрэнки
 
30.03.20
13:30
(5) развернуто смотри. Там в той форме можно подробно развернуть и увидеть, как именно сложились числа и даже что-то поизменять.
8 Sun125
 
30.03.20
14:30
Провел эксперимент: в демо-базе начислил также сотруднику разовые начисления, начислил зарплату, создал выплату - при уменьшении вручную суммы выплаты все идеально пропорционально перерассчиталось и распределилось по документам-основаниям. Но. стоило предварительно выплатить сотруднику аванс,т.е. теперь в расшифровке в выплате должна появится сумма с минусом, и началось непонятное распределение без всякой логики.
9 Sun125
 
30.03.20
14:33
А сам алгоритм распределения не учитывает никакие регистры, обычная математика.
Просто функция
Функция РаспределитьСуммуПропорциональноБазе(Знач РаспределяемаяСумма, МассивБазовыхЗначений, Знач Точность = 2, КоэффициентЗависимостиОтБазы = 1, ВычетИзБазы = 0) Экспорт

которая привозит к такому неадекватному распределению из-за минусовых сумм в расшифровке.
10 Фрэнки
 
30.03.20
14:35
(8) :-) Вот такое оно. Я для таких перцов, кому надо уменьшать вручную, показал расчетчику как изменить.

Но глобально решение такое - решили "разовое" начисление? Ну так не парьте мозги и сделайте межрасчетной выплатой всю сумму разового. Затем в Начисление и выплате по начислению гораздо проще будет.

А функция сделана там под что-то еще, типа, универсальная она. Не помню прям сейчас под что конкретно.
11 SleepyHead
 
гуру
30.03.20
14:45
(9) Никогда на это не грешил , поражён. Раз у тебя воспроизводится на демо-базе, пиши в поддержку все пошагово. Возможно, прислушаются и поправят алгоритм распределения.
12 SleepyHead
 
гуру
30.03.20
14:46
Точнее, не алгоритм распределения, а что входит в базовые значения для распределения.
13 Sun125
 
01.04.20
08:21
Ответ 1С: Причиной описанной проблемы является ошибка https://bugboard.v8.1c.ru/error/000049354
14 Фрэнки
 
01.04.20
10:29
(13) т.е. все-таки "способ обхода" работает - разовые начисления оплачивать отдельно, т.е. ставить их с межрасчетной выплатой и выплачивать отдельным документом в программе.
15 SleepyHead
 
гуру
01.04.20
12:43
(13) Не совсем та это ошибка..  Пишут про суммы к выплате по документам-основаниям, а у тебя не так распределяется НДФЛ удержанный.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший