Контакты
Почта проекта: sdesk1c@bk.ru
Всем привет.
Хочу рассказать, как реализовали свое заполнение второго раздела отчета 6-НДФЛ.
До этого у нас уже был изменен документ "Перечисление НДФЛ в бюджет" следующим образом: в него были добавлены реквизиты "ПодразделениеОрганизации" и "Перечисление ЗП" (Булево).
В рамках текущей доработки, добавили еще один реквизит "Срок перечисления налога" (Дата).
В отчет 6-НДФЛ добавили кнопку "Заполнить из перечислений НДФЛ", которая очищает 2 раздел и заполняет данными из документов 6-НДФЛ.
Пройдемся по каждой строке 2 раздела:
Дата фактического получения дохода (код 100)
Если в документе "Перечисление НДФЛ в бюджет" указано "Перечисление ЗП" = Истина, тогда
"Дата фактического получения дохода" = конец месяца от реквизита "МесяцНалоговогоПериода" (если указано Март 2016, тогда ставится 31.03.16)
Иначе
"Дата фактического получения дохода" = дата платежа из документа "Перечисление НДФЛ в бюджет"
Дата удержания налога (код 110)
"Дата удержания налога" = дата платежа из документа "Перечисление НДФЛ в бюджет"
Срок перечисления налога (код 120)
Если в документе "Перечисление НДФЛ в бюджет" заполнен реквизит "Срок перечисление налога" тогда
"Срок перечисления налога" = берем из реквизита "Срок перечисление налога" документа "Перечисление НДФЛ в бюджет"
Иначе
"Срок перечисления налога" = конец месяца от даты платежа из документа "Перечисление НДФЛ в бюджет"
UPD от 110716: если полученная дата выпала на выходной или праздничный день, тогда дата заменяется на первый следующий рабочий день.
Cумма удержанного налога (код 140)
"Cумма удержанного налога" = берем из табличной части "СотрудникиОрганизации" реквизит "Сумма" документа "Перечисление НДФЛ в бюджет"
Сумма фактически полученного дохода (код 130)
Если в документе "Перечисление НДФЛ в бюджет" указано "Перечисление ЗП" = Истина тогда
"Сумма фактически полученного дохода" = "Cумма удержанного налога" * 100 /13 + СуммаСтандартныхВычетов + СуммаИмущественныхВычетов
Иначе
"Сумма фактически полученного дохода" = "Cумма удержанного налога" * 100 / 13
Пару слов о том, как программно добавить строки в раздел 6-НДФЛ
Функция ПолучитьТЗЗначениеОбластей() Экспорт
пТЗЗначениеОбластей = Новый ТаблицаЗначений();
пТЗЗначениеОбластей.Колонки.Добавить("ИмяПоказателя",Новый ОписаниеТипов("Строка"));
пТЗЗначениеОбластей.Колонки.Добавить("ПредставлениеПоказателя",Новый ОписаниеТипов("Строка"));
пТЗЗначениеОбластей.Колонки.Добавить("КодСтроки",Новый ОписаниеТипов("Строка"));
пТЗЗначениеОбластей.Колонки.Добавить("ИмяОбласти",Новый ОписаниеТипов("Строка"));
ДобавитьВТЗЗначениеОбластей(пТЗЗначениеОбластей,"ДатаФактическогоПолученияДохода","Дата фактического получения дохода","100","П000020010001");
ДобавитьВТЗЗначениеОбластей(пТЗЗначениеОбластей,"ДатаУдержанияНалога","Дата удержания налога","110","П000020011001");
ДобавитьВТЗЗначениеОбластей(пТЗЗначениеОбластей,"СрокПеречислениеНалога","Срок перечисления налога","120","П000020012001");
ДобавитьВТЗЗначениеОбластей(пТЗЗначениеОбластей,"СуммаФактическиПолученногоДохода","Сумма фактически полученного дохода","130","П000020013001");
ДобавитьВТЗЗначениеОбластей(пТЗЗначениеОбластей,"CуммаУдержанногоНалога","Cумма удержанного налога","140","П000020014001");
Возврат пТЗЗначениеОбластей;
КонецФункции //ПолучитьТЗЗначениеОбластей()
Функция ПолучитьИмяОбластиИзТЗЗначениеОбластей(ИмяПоказателя,пТЗЗначениеОбластей) Экспорт
пИмяОбласти = Неопределено;
ПараметрыОтбора=Новый Структура();
ПараметрыОтбора.Вставить("ИмяПоказателя",ИмяПоказателя);
НайденныеСтроки = пТЗЗначениеОбластей.НайтиСтроки(ПараметрыОтбора);
ВсегоНайденныеСтроки = НайденныеСтроки.Количество();
ТекстОшибки = "";
Если ВсегоНайденныеСтроки = 1 тогда
СтрокаНайденныеСтроки = НайденныеСтроки[0];
пИмяОбласти = СтрокаНайденныеСтроки.ИмяОбласти;
ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда
ТекстОшибки = "Ошибка! Найдено более 1 строки";
Иначе
ТекстОшибки = "Ошибка! Не найдена строка";
Конецесли;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ТекстОшибки = ТекстОшибки
+" в пТЗЗначениеОбластей для "
+" ИмяПоказателя ["+ИмяПоказателя+"]"
;
Сообщить(ТекстОшибки);
Конецесли;
Возврат пИмяОбласти;
КонецФункции //ПолучитьИмяОбластиИзТЗЗначениеОбластей(ИмяПоказателя)
Добавление строк в раздел 2 и заполнение из результата запроса
пТЗЗначениеОбластей = ПолучитьТЗЗначениеОбластей();
МассивПоказателей = Новый Массив();
МассивПоказателей.Добавить("ДатаФактическогоПолученияДохода");
МассивПоказателей.Добавить("ДатаУдержанияНалога");
МассивПоказателей.Добавить("СрокПеречислениеНалога");
МассивПоказателей.Добавить("СуммаФактическиПолученногоДохода");
МассивПоказателей.Добавить("CуммаУдержанногоНалога");
пНомерСтрокиРаздел2 = 1;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если пНомерСтрокиРаздел2 > 3 Тогда
ВставитьДополнительнуюСтроку();
Конецесли;
Для каждого ИмяПоказателя из МассивПоказателей цикл
ЗначениеОбласти = Выборка[ИмяПоказателя];
ИмяОбласти = ПолучитьИмяОбластиИзТЗЗначениеОбластей(ИмяПоказателя,пТЗЗначениеОбластей);
ИмяОбласти = ИмяОбласти + "_"+пНомерСтрокиРаздел2;
УстановитьЗначениеПоказателя(ИмяОбласти, ЗначениеОбласти, ИмяРаздела2);
Конеццикла;
пНомерСтрокиРаздел2 = пНомерСтрокиРаздел2 + 1;
Конеццикла;
После заполнения реализована детальная расшифровка, в которой отображается, из каких документов были собраны данные, а также данные по стандартным и имущественным вычетам детально по сотрудникам и регистраторам.
Как добавить реквизиты:

Обновление 18.04.18:
Обновлена версия отчета "ивРегламентированныйОтчет6НДФЛ_190418.erf" для ЗУП 2.5.130.2 от 29.03.2018
Инфа о релизе ЗУП 2.5.130.2: В конфигурацию включена форма Расчета 6-НДФЛ, утв. приказом ФНС России от 14 октября 2015 г. № ММВ-7-11/450@ в редакции приказа ФНС России от 17 января 2018 г. № ММВ-7-11/18@.
Добавлена почта проекта: sdesk1c@bk.ru
Обновление 11.10.16:
Обновлена версия отчета "ивРегламентированныйОтчет6НДФЛ_111016.erf" для ЗУП 2.5.110.1
Обновление 11.07.16:
скорректировано заполнение строки: Срок перечисления налога (код 120)
если полученная дата выпала на выходной или праздничный день, тогда дата заменяется на первый следующий рабочий день.
Обновление 11.06.16:
Исправил отчет, чтобы можно было формировать без заполнненого подразделения. Добавил видео "Как добавить реквизиты".
Обновление 25.04.16:
Добавил измененный отчет ивРегламентированныйОтчет6НДФЛ.erf, сделан для конфигурации ЗУП 2.5.101.2.
Чтобы он заработал в Вашей базе, необходимо добавить следующие реквизиты в документ "Перечисление НДФЛ в бюджет":
- ивПодразделениеОрганизации (тип СправочникСсылка.ПодразделенияОрганизаций)
- ивПеречислениеЗП (Тип Булево)
- ивСрокПеречислениеНалога (Тип Дата)