Имя: Пароль:
1C
1С v8
Расчет общей отработки за месяц
0 lexx0002
 
14.11.25
16:20
Всем привет.
В ЗУП сейчас столкнулся с проблемой, когда необходимо учесть все время отработанное за месяц. Условно если человек отработал 200 часов, то ему необходима прибавка к часовой ставке. Формула выглядела как (ВремяВЧасах * 30).
В случае со статичным сотрудников все было хорошо, но когда появлялись кадровые переводы, тут уже начали возникать проблемы. Время в часах рассчитывает только в рамках одного места (подразделения) и отсекается кадровым переводом.
В итоге получается, что по формуле сотрудник мог отработать на первом месте 100 часов и на втором месте 100 часов, но под условие ни там, ни там не попал.
Есть ли возможность как-то типовыми средствами этого добиться?
Долго искал аналогичное, нашел только 1C ЗУП 3.1 Настройка начислений , но там ответа итогового нет.
1 lexx0002
 
14.11.25
16:35
(0) Формулу не верно написал, там ?(ВремяВЧасах >= 200, ВремяВЧасах * 30, 0)
2 Гена
 
гуру
14.11.25
16:38
(0) Давайте картинки настройки по первым трём вкладкам.
3 lexx0002
 
14.11.25
16:46
(2)
Вторая не активна так как базы нет.
https://disk.360.yandex.ru/i/VWDiST3aHv3TYw
https://disk.360.yandex.ru/i/EnG9F8zhdQqTcw
4 2S
 
14.11.25
17:13
Можно сделать через промежуточное начисление служебное, с формулой "ВремяВЧасах". Результатом будем сумма часов.  В вашем начислении использовать расчетную базу, куда вкл. это служебное начисление.
5 lexx0002
 
14.11.25
17:16
(4) Я возможно как-то не так делал, потому что у меня все мои созданные начисления считались только в рамках периода в одном подразделении, ничего суммировать не удалось.
6 2S
 
14.11.25
17:20
(5) Не получится у Вас так, имхо. Рабочее время делится всегда относительно кадровой истории. Перечитайте еще раз (4)
7 lexx0002
 
14.11.25
17:25
(6) Так не будет суммы часов в 200, будет в первом подразделении 100 и во втором будет 100, в итоге то мне их как-то сложить надо.
8 2S
 
14.11.25
17:26
1. Создаете начисление "Служебное", натуральный доход. Можно поиграться с установкой флага "Начисление больше не используется".
Формулу пропишите "ВремяВЧасах". Учет времени - "Рабочее время"
2. Меняете в своем начислении формулу на ?(РасчетнаяБаза>= 200, РасчетнаяБаза * 30, 0). В расчетную базу включаете п.1

Что непонятного?
9 lexx0002
 
14.11.25
17:27
(8) Непонятно то, что в моем начислении в первом подразделении расчетной базой будет 100, во втором будет также 100. Оно в итоге то не сложится никак.
10 Гена
 
гуру
14.11.25
17:37
(3) Гут. Давно хотел проверить одну идею, но ленился, Вы как раз подвернулись )
Есть такой скрытый реквизит НачисляетсяВЦеломЗаМесяц
По умолчанию он Ложь.
А вот чем он занимается - давайте проверим (см. рис.)
11 2S
 
14.11.25
17:41
(9) Я накинул идею, нет возможности проверить. Проверили, тоже делит  по периодам?
Ещё можно создать показатель , в документ ввода данных для расчёта зп повесить кнопку заполнения и использовать сей показатель в формуле. Но тут немного программировать надо. Дерзайте
12 lexx0002
 
14.11.25
17:41
(10) Сейчас могу конечно еще раз его проверить, ибо вчера на него натыкался и проставлял везде где видел.
На старых скриншотах в интернете он на форме виден, сейчас же в конфигураторе остался, но почему-то скрывается, возможно от него избавляются потихому.
https://disk.360.yandex.ru/i/WCHAGBkd9ASu0A
13 Гена
 
гуру
14.11.25
17:49
(12) Это другой реквизит Вы показали.
Будьте добры, сделайте по моей картинке БЕЗ своих размышлений.
14 2S
 
14.11.25
17:53
(10) Кстати, да, может помочь. Но до первой перезаписи начисления.
15 Гена
 
гуру
14.11.25
17:56
(14) Уже проверяли? А чего тогда молчите? )
16 2S
 
14.11.25
19:03
(15) Нет, на бухэксперте был такой вариант решения.
17 lexx0002
 
14.11.25
19:08
(13) После отправки заметил что другой реквизит, на этот тоже где-то указывали. Указанный реквизит не помог, не считается зарплата.
18 lexx0002
 
14.11.25
19:22
(13) Реквизит изменился только через режим загрузки = Истина, после этого добавка не начислилась, но она встала одной строкой (ранее была по каждому подразделению).
19 Гена
 
гуру
14.11.25
19:38
(18) Отлично. Нам и нужна одна строка. Проверьте Явки вместо Рабочее время в настройке. Если не поможет - в отладчик. Поправьте код, чтобы эта ОДНА строка рассчитывалась. Вот и всё.
20 Garykom
 
гуру
14.11.25
20:23
Давайте начнем с того что это нифига не прибавка к часовой ставке, а банальная премия
А премии рассчитывать и начислять можно как угодно
В т.ч. некой обработкой/кодом
21 Гена
 
гуру
14.11.25
20:23
Кстати, ещё мысль есть )
Следите.
Когда в формуле прибит временной показатель - у нас при мерцании должностей, подразделений или показателей внутри месяца ЗУП всегда разобьёт строки на несколько. Ну и ладно.
?(ВремяВЧасах >= 200, ВремяВЧасах * 30, 0)

А где ещё работает это время? Да в оплате по окладу, например,
Оклад * ВремяВЧасах / НормаЧасов
Значит мы можем в формуле взять РасчетнаяБаза
В эту базу включаем оплату по окладу. Хоть 10 строк - всё равно в итоге будет
РасчетнаяБаза = Оклад * ВремяВЧасах / НормаЧасов

Отсюда ВремяВЧасах = РасчетнаяБаза * НормаЧасов / Оклад
При явном отсутствии в формуле ВремяВЧасах у нас будет только одна строка.
22 Волшебник
 
14.11.25
20:23
(20) Я поддерживаю. Премия за переработки.
23 lexx0002
 
14.11.25
20:42
(20) В целом у нас так и есть, регламентированно это премия за интенсивность. На текущий момент эта премия начисляется вручную бухами, хотим снизить их нагрузку и сделать это автоматически.
24 Гена
 
гуру
14.11.25
20:49
(23) Ладно, не мучайтесь. Сделайте натуру как 2S советует в (8) - неубиенный и самый простой вариант.
25 lexx0002
 
14.11.25
21:03
(24) Я понял что сделать сначала некое начисление, которое будет просто считать часы, но как его сделать "служебным"? Просто не включать в начисления по сотруднику? Если так, то оно все равно считается отдельно за каждый период. А если включать, то будет лишняя строка, которую в дальнейшем надо будет сторнировать каждый раз.
26 Гена
 
гуру
14.11.25
21:11
(25) Лишняя строка в начислении зарплаты будет, конечно, ведь расчётная база с неё потянет. Но сторнировать её не надо, это натура без налогов и взносов. Никому не мешает, никого не трогает. Тысячу раз проверено. Если раздражать будет её присутствие в р/л внизу слева в ячейке "Справочно", то в настройках р/л в отборе уберите её.
27 lexx0002
 
14.11.25
21:59
(26) https://disk.360.yandex.ru/i/VrdP4EPMSfgmNw все равно один результат
AdBlock убивает бесплатный контент. 1Сергей