Имя: Пароль:
1C
1С v8
Как в ЗУП вернуть часть профвзносов?
0 Пендальф Серый
 
22.08.13
09:05
Работник в июне уходит в отпуск на два месяца. С суммы отпускных начисляется 1% профвзносы. В середине июля он заболел, часть отпускных сторнировано. По логике документ НЗРО должен профвзносы поставить с минусом. Но в модуле прописана функция Макс(РасчетнаяБаза,0). Как тогда вернуть часть профвзносов? Если убрать Макс и начислить отрицательные профвзносы, программа вернёт часть денег или полезут косяки?
1 Гобсек
 
22.08.13
09:20
Начисляй отрицательные взносы.
2 Пендальф Серый
 
22.08.13
09:21
НЗРО - начисление зарплаты работникам организации. Расчётная база в данном случае отрицательная.
3 Пендальф Серый
 
22.08.13
09:22
(1) убрать Макс(РасчетнаяБаза,0) и поставить РасчетнаяБаза?
4 DarKySiK
 
22.08.13
09:24
Интересный вопрос. Не сталкивалась, но кругом пишут, что удержания сторнируют руками. А вот Макс(РасчетнаяБаза,0) могут не спроста поставить). Очень возможно, что что-то работать перестанет после изменений)))
5 DarKySiK
 
22.08.13
09:25
Нет, я таки залезу в демку.
6 Пендальф Серый
 
22.08.13
09:26
(4) Спрашивал у человека, сопровождающего ЗиК 77, говорит, что там начисляются отрицательные в такой ситуации. Что же изменилось в восьмёрке, что поставили Макс(,)?
7 Пендальф Серый
 
22.08.13
09:29
(4) в семёрке было автоматом, а в восьмёрке руками? Прогресс.
8 Гобсек
 
22.08.13
09:29
(4)ИМХО, конструкции, подобные Макс(РасчетнаяБаза,0) в 1С ставят по настоянию заумных методистов.
9 Пендальф Серый
 
22.08.13
09:31
(8) наверное заумные методисты будут утверждать, что такого не бывает - забрали, так забрали.
10 Пендальф Серый
 
22.08.13
09:33
- А может в реанимацию?
- Доктор сказал "в морг" - значит в морг!
11 Гобсек
 
22.08.13
09:33
(3)У меня формула
Результат = <Процент удержаний> * Расчетная база
эксплуатируется несколько лет без проблем.

Или руками отрицательную сумму вбить.
12 Пендальф Серый
 
22.08.13
09:38
(11) Буду пилить модуль.
13 Peltzer
 
22.08.13
09:39
Т.е. в формуле расчета стоит РасчетнаяБаза*ПроцентУдержания, а ЗУП считает расчетной базой только положительные суммы?
14 Пендальф Серый
 
22.08.13
09:40
(13) совершенно верно
15 DarKySiK
 
22.08.13
09:41
Пакость.
16 Пендальф Серый
 
22.08.13
09:42
(13) способ расчета Регламентированный Процентом
17 Peltzer
 
22.08.13
09:46
Поставьте как в (11)
18 Peltzer
 
22.08.13
09:53
А вообще, на этот случай есть штатная обработка - перерасчет заработной платы
19 Пендальф Серый
 
22.08.13
09:54
(18) это точно на ЭТОТ случай поможет?
20 Peltzer
 
22.08.13
09:59
Перерасчет зарплаты организации
В этом форме можно проверить необходимость перерасчета зарплаты организации и выполнить перерасчет тех или иных документов.

Перерасчет может выполняться в двух режимах:

Перерасчет существующего документа с актуализацией его данных. При этом существующий документ, результаты расчета которого могли потерять актуальность, автоматически перерассчитывается и сохраняется в новом состоянии.
Перерасчет документа прошлого периода путем создания нового корректирующего документа в текущем периоде. При этом документ прошлого периода не изменяется, отчеты по прошлым периодам не теряют своей актуальности, а в текущем периоде появляется новый документ, который в текущем периоде сторнирует прежние результаты расчета и вводит новые уточненные результаты расчета.
21 Пендальф Серый
 
22.08.13
10:02
(20) Начисление происходит в документе НЗРО. Он только сейчас создаётся и рассчитывается. О каком перерасчёте идёт речь??? Какой документ я должен пересчитать?
22 DarKySiK
 
22.08.13
10:02
(20) Не думаю, что это спасет отца русской демократии. Если исправлять документ НЗРО, то закладка "Прочие удержания" тупо пропадает.
23 Пендальф Серый
 
22.08.13
10:08
Накопал вот такой текст
Если РегламентированныеУдержания Тогда
    Результат = Макс(РезультатБаза * СтрокаДвижений[ПоказательРазмер]/100 - УжеНачисленоВТекущемПериоде,0);
                    
Иначе
                    Результат = РезультатБаза * СтрокаДвижений[ПоказательРазмер]/100;

Под Иначе понимается как раз то, что мне нужно. НО у меня РегламентированныеУдержания ИСТИНА

Лезу выше - где их ставит в Истину.

А вот где

ИначеЕсли ТипЗнч(НаборЗаписейРегистра) = Тип("РегистрРасчетаНаборЗаписей.УдержанияРаботниковОрганизаций") Тогда
        РегламентированныеУдержания = Истина;
    КонецЕсли;

Т.е. других вариантов для УдержанийРаботниковОрганизаций и не предусмотрено.

О как!
24 Пендальф Серый
 
22.08.13
10:10
Невольно вспоминается Ильф и Петров: "Пилите, Шура, пилите".
25 Peltzer
 
22.08.13
10:13
А если мы уже перечислили эти деньги в профсоюзную организацию? Что, просить их вернуть взад?
А если это, не дай бог, алименты?
Программа всё правильно считает. Удержали в момент выдачи денег - всё, забыли, не пересчитываем. А то и правда, заставите профсоюз бабло возвращать.
26 Artful Den
 
22.08.13
10:16
(25) Возвращать - нет, просто в следующий раз перечислят на эту сумму меньше.
27 Peltzer
 
22.08.13
10:17
Следующего раза может не быть.
28 Пендальф Серый
 
22.08.13
10:18
(25) тоже логично. Человеку сказать - простите, мы уже эти деньги в профсоюз перечислили.
29 Пендальф Серый
 
22.08.13
10:19
(26) С чего бы меньше? В следующем месяце будет своя расчетная база. Предыдущего месяца она ни как не коснётся.
30 DarKySiK
 
22.08.13
10:19
(29) он про перечисление удержаний говорит, а не о расчете.
31 Пендальф Серый
 
22.08.13
10:20
(30) не понял, ещё раз
32 DarKySiK
 
22.08.13
10:23
Ну смотри. В первом месяце рассчитал 100 рублей удержания. Перечислил. Во втором понял, что из 100 рублей  за первый месяц 10 лишние. Таким образом во втором месяце у тебя 100 рублей за второй месяц + -10 рублей пересчета за первый месяц. Тааким образом в профсоюз ты перечисляешь -10 + 100.
33 DarKySiK
 
22.08.13
10:24
(25) А как быть, если исполнительный лист без учета больничного. Человеку насчитали оклад за месяц, а он потом больничный принес на неделю. В итоге - больше элементов рассчитали, чем положено по базе.
34 Artful Den
 
22.08.13
10:25
(32) все верно
35 Пендальф Серый
 
22.08.13
10:31
(32) Проблема в том, что во втором месяце программа будет видеть только расчетную базу второго месяца, а про первый месяц мне надо будет помнить самому и ручками править.
36 DarKySiK
 
22.08.13
10:31
(35) Мы поняли :)
37 Пендальф Серый
 
22.08.13
10:33
Как итог: штатной автоматизации тут нет. Надо или руками править, или пилить модуль. Поставлю условие на профвзносы, чтобы не дай бог не затронуло алименты или ещё чего.
38 Peltzer
 
22.08.13
12:04
(33) В таких случаях первым делом нужно надавать по шее ответственному за составление табелей. Потому что у вас либо невыходы не поставлены, либо человек по своей инициативе работал в дни больничного, что, в свою очередь, говорит о том, что сторнировать не надо.
И опять же, в текущем периоде удержится меньше на сумму отсторнированной зарплаты. Если же уменьшится настолько, что облагаемая база станет меньше нуля, то алиментов заплатим ноль. Обратного хода расчет алиментов не имеет, в каждом месяце он опирается на те суммы, которые были начислены. это не НДФЛ, который считается накопительно.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший