gifts2017

Начисление НДФЛ "без рук" при увольнении "задним числом" с компенсацией неиспользованного отпуска.

Опубликовал Татьяна Шавлак (Stety) в раздел Программирование - Практика программирования

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

В модуле объекта у документа "Начисление заработной платы организаций" есть функция "ВыполнитьАвтозаполнение", а в этой функции сидит запрос, который создает "ВТСписокРаботников", по которому собственно документ и заполняется - ни вправо, ни влево. Отбор ведется не так, как подсказывает нам логика расчета, а по регистру сведений "РаботникиОрганизаций" - отбирает тех, кто числился в периоде действия, и по документам "ДоговорНаВыполнениеРаботСФизЛицом" - тех, у кого даты действия договора подходящие. И гениально, и стильно, правда? Мы же надеялись, что будут выбрать тех, у кого действуют плановые и тех, кому что-то начислено в регистрах расчета, а оно вона как премудро.
В последних релизах строка начала нужного запроса ездила туда-сюда. Находим "ТекстЗапросаПоСпискуРаботников", идем в конец текста запроса, между строками

| ИЛИ ДоговорНаВыполнениеРаботСФизЛицом.ПодразделениеОрганизации В
| (ВЫБРАТЬ
| Подразделения.Подразделение
| ИЗ
| ВТПодразделенияОтбора КАК Подразделения))


и

|ИНДЕКСИРОВАТЬ ПО
| Сотрудник";


, а в релизе 2.5.21.3 это получается строка 5030, добавляем такой текстик.

//Начало изменений STETY 27.03.09 Добавим в выборку внештатников с дополнительными начислениями
|ОБЪЕДИНИТЬ
|ВЫБРАТЬ
| ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник,
| ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо
|ИЗ
| РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
|ГДЕ
| ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации <= &парамКонец
| И ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации >= &парамНачало
| И ДополнительныеНачисленияРаботниковОрганизаций.Организация = &парамОрганизация
| И (&ПоВсемФизЛицам
| ИЛИ ДополнительныеНачисленияРаботниковОрганизаций.Физлицо В (&ФизЛица))

 | И (&ПоВсемПодразделениям
 |ИЛИ ДополнительныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации В
 |(ВЫБРАТЬ
 |Подразделения.Подразделение
|ИЗ
|ВТПодразделенияОтбора КАК Подразделения))
//Конец изменений STETY 27.03.09 Добавим в выборку внештатников с дополнительными начислениями


Там, где не редкость перерасчеты у уволенных месяц или два тому, а ведь по закону уволенный и больничный в течении двух месяцев притащить может, можно добавить аналогичный кусочек кода для вылавливания из регистра расчета "ОсновныеНачисленияРаботниковОрганизаций".

В "Комплексной автоматизации" тоже должно работать. К УПП не примерялось. В ЗБУ, скорее всего, будет несколько иначе.

 

PS После дельного замечания Ish_2 добавлен фильтр по подразделению. Для случая, когда документы заполняются по подразделениям. Если есть внештатники с разовыми выплатами, по которым подразделение не указано в регистре расчета, нужен документ, заполненный по всем.

Фильтр, по подразделениям, тем не менее, не защищает от завышения НДФЛ при одновременном расчете документа по всем и по подразделению. А также при расчете документа на подразделение более высокое в иерархии и подчиненное ему. Кроме того, в расчете НДФЛ остаются другие огрехи.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Петр (redgad) 04.03.10 09:40
ИМХО правильней смотреть регистр накопления "НДФЛСведенияОДоходах"
2. Татьяна Шавлак (Stety) 04.03.10 10:13
(1) Для ВТСписокРаботников нужно поле "Сотрудник". Поэтому НДФЛСведенияОДоходах в качестве источника не канает. В данный регистр в функции ВыполнитьАвтозаполнение один из следующих запросов заглядывает, но тех, кого в ВТСписокРаботников нет, итоговый запрос не берет. Такие дела.
3. Петр (redgad) 05.03.10 07:36
Можно написать внешнюю обработку заполнения ТЧ "НДФЛ" и заполнить его Физ лицами, которые имели доход
4. Игорь Исхаков (Ish_2) 13.03.10 23:16
С сожалением отмечаю.
В опции ГДЕ запроса нужно предусмотреть фильтр по подразделениям.
Если пользователи начисляют зарплату с указанием подразделения, то в Вашем варианте в документ попадут работники с доп.начислениями всех подразделений.
5. Татьяна Шавлак (Stety) 13.03.10 23:33
(4) Спасибо.
Да, вы правы - из моих никто никакими фильтрами при заполнении не пользуется, заполняют док по организации. Вот и не нарвалась я за целый год ни на какие неприятности. Хотя... Вернее всего, как появились бы эти "лишние" строки НДФЛ при заполнении, так и ушли бы при расчете.
Но и потеря времени - это тоже досадная неприятность.
6. Игорь Исхаков (Ish_2) 14.03.10 00:05
Вы рассуждаете локально. Имея ввиду только одного расчетчика.
Два расчетчика создали одновременно для разных подразделений документы начисления с одними и теми же работниками (фильтра -то по подразделениям для доп.начислений нет). Затем одновременно их провели . Что будет ?
7. Татьяна Шавлак (Stety) 14.03.10 10:58
(6) Я знаю, что в этом статистически редком случае, и при условии, что НДФЛ перед выплатой не проверяют, налог завысится. Но от завыщения налога в программе и так нет защиты. В самом расчете НДФЛ до сих пор имеются ошибки.
Все равно приходится, прописывая процесс расчета, вставлять перед выплатой отчет, проверяющий корректность расчета НДФЛ и не дающий двигаться дальше, если разошлось.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа