Изменить программно вычеты НДФЛ после расчёта

1. user1201553 13.05.19 06:21 Сейчас в теме
Есть Документ "Начисление Зарплаты", все считается нормально, но у бухгалтерии есть одно требование.
поскольку в организации много внутренних совместителей, бухгалтерия хочет, чтобы налоговые вычеты при расчёте з/п цеплялись только к по основному месту работы (сейчас налоговые вычеты размазываются пропорционально з/п на все места работы основное и совместительство).
Внешних совместителей пока не трогаем.

Где производится расчёт вычетов и что изменить, чтобы получить требуемое?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. user_2010 894 13.05.19 10:13 Сейчас в теме
(1) а если вычет окажется больше суммы дохода по основному рабочему месту? все равно не будет давать вычеты по рабочему месту по совместительству?
2. NatalkaBal 28 13.05.19 08:40 Сейчас в теме
Если не залазить в дебри кода, можно сделать постобработку которая корректирует вычеты в регистрах НДФЛ-а
3. Swetlana 25 13.05.19 09:15 Сейчас в теме
(2) зачем в регистрах?
В табличной части НДФЛ скорректировать внешней обработкой,прикрепленной к документу.
При проведении документа все будет в регистрах как нужно
5. user1201553 13.05.19 13:03 Сейчас в теме
Есть 2 варианта - Лопатить функцию УчетНДФЛ.РассчитатьНалогПоОсновнойСтавке или действительно создавать постобработку.
Но с постобработкой непонятно откуда брать суммы вычетов и виды занятости сотрудников

Я создал расширение конфигурации сделал в форме документа НачислениеЗарблаты на вкладке НДФЛ (табличная часть) кнопку - которая вызывает обработчик на Клиенте
В обработчике создал функцию выборки из регистраСведений - имею проблему данные не могу передать из функции.


"а если вычет окажется больше суммы дохода по основному рабочему месту" - эээ, это вычет из налога, а не из дохода


&НаСервере

Функция ТекстЗапросВыборВидовЗанятостиПоСотруднику()
Текст =
"ВЫБРАТЬ
| ВидыЗанятостиСрезПоследних.Период,
| ВидыЗанятостиСрезПоследних.Активность,
| ВидыЗанятостиСрезПоследних.Сотрудник,
| ВидыЗанятостиСрезПоследних.ГоловнаяОрганизация,
| ВидыЗанятостиСрезПоследних.ФизическоеЛицо,
| ВидыЗанятостиСрезПоследних.ВидЗанятости,
| ВидыЗанятостиСрезПоследних.ДействуетДо
|ИЗ
| РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(
| &ВыбМесяцНачисления,
| Активность = Истина И
| Сотрудник = &ВыбСотрудник
| ) КАК ВидыЗанятостиСрезПоследних
|УПОРЯДОЧИТЬ ПО
| ВидыЗанятостиСрезПоследних.ГоловнаяОрганизация";

Возврат Текст;
КонецФункции

&НаСервере
/// Выбор из регистра сведений ВидыЗанятости строк для сотрудника
// Параметр Выбсотрудник - Ссылка на сотрудника
// Возвращает таблицу сведений по запросу возвращаемому функцией
// ТекстЗапросВыборВидовЗанятостиПоСотруднику()

Функция ВыборИзРегистраСведенийВидовЗанятостиСотрудника(ВыбСотрудник, ВыбМесяцНачисления)

// Выбор из регистра сведений

// За возможности выборки наиболее поздних записей регистра
// сведений (среза последних) в разрезе заданной аналитики
// отвечает виртуальная таблица СрезПоследних.
// У неё есть следующие параметры:
// 1. Период (включительно)
// 2. Условие (например, Организация = &ВыбОрганизация)

// Получим цены на бананы для каждого контрагента
// на конец 1 квартала 2014 года (включительно)
// по организации ООО "Ромашка".

Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапросВыборВидовЗанятостиПоСотруднику();

Запрос.УстановитьПараметр("ВыбСотрудник", ВыбСотрудник);
Запрос.УстановитьПараметр("ВыбМесяцНачисления", ВыбМесяцНачисления);

РезультатЗапроса = Запрос.Выполнить();

Возврат РезультатЗапроса;

КонецФункции

&НаКлиенте
Процедура РВычет_РВ_ПересчитатьВычетыПосле(Команда)


Для каждого СтрокаТаблицы из Объект.НДФЛ Цикл

Записи = ВыборИзРегистраСведенийВидовЗанятостиСотрудника(СтрокаТаблицы.ФизическоеЛицо, Объект.МесяцНачисления).Выбрать();

ЗДЕСЬ ИМЕЮ НЕСООТВЕТСТВИЕ ТИПОВ


Пока Записи.Следующий() Цикл
Сообщить ("СОТРУДНИК: " + Записи.Сотрудник + " "+
"ФИЗИЧЕСКОЕлицо: "+Записи.ФизическоеЛицо + " " +
"ГОЛОВНАЯОрганизация " +Записи.ГоловнаяОрганизация + " " +
"ВИДЗанятости " +Записи.ВидЗанятости + " "
"ДЕЙСТВУЕТдо " +Записи.ДействуетДо);
КонецЦикла;


/// выбор из регистра сведений


КонецЦикла;

КонецПроцедуры
6. IrrI 15.05.19 11:57 Сейчас в теме
(5)
эээ, это вычет из налога, а не из дохода


Что такое "вычет из налога"?


(5)
Но с постобработкой непонятно откуда брать суммы вычетов и виды занятости сотрудников


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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот