Косяк или нюанс в документе "Справка 2-НДФЛ для передачи в ИФНС" (ЗУП 2.5.46.1)

20.03.12

Задачи пользователя - Адаптация типовых решений

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

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

Также я учёл нюанс, когда в последнем положительном месяце не хватает денег, чтобы учесть минус.

Ещё момент: Справка 2-НДФЛ для сотрудника должна печататься так, как было.

Решение:


1. Документ "СправкаПоНДФЛВНалоговыйОрган", ФормаДокумента

Процедура КнопкаОбновитьДанныеОДоходахНажатие(Элемент)

..........

СправкиПоНДФЛ.УдалитьДанныеСправки(ТекущийНомерСправки, СведенияОДоходах);
СправкиПоНДФЛ.УдалитьДанныеСправки(ТекущийНомерСправки, СведенияОВычетах);
СправкиПоНДФЛ.УдалитьДанныеСправки(ТекущийНомерСправки, СуммыНалогов);
///
СправкиПоНДФЛ.ПрочитатьДанныеСправки(ТекущаяСтрока, СведенияОДоходах, СведенияОВычетах, СуммыНалогов, НалоговыйПериод, Организация, мГоловнаяОрганизация, ОКАТО_КПП, НачалоМесяца(Дата), Истина); //(Добавил для отсечки данной процедуры от другого документа)
// TVA/>
КонецЕсли;
КонецПроцедуры

2. Документ "СправкаПоНДФЛВНалоговыйОрган", Модуль объекта

Процедура Автозаполнение() Экспорт

..........

(там формируется большой запрос в "Если ... Иначе", после этого я добавил строку)

..........

СотрудникиОрганизации.Загрузить(СправкиПоНДФЛ.ДанныеСотрудников(Запрос.Выполнить().Выгрузить(), Дата, НалоговыйПериод));
Для каждого СтрокаТЧ Из СотрудникиОрганизации Цикл
СтрокаТЧ.НомерСправки = НомерПервойСправки + СотрудникиОрганизации.Индекс(СтрокаТЧ)
КонецЦикла;
СтруктураДанных = СправкиПоНДФЛ.ДанныеОДоходах(СотрудникиОрганизации.Выгрузить(), НалоговыйПериод, Организация, ОбщегоНазначения.ГоловнаяОрганизация(Организация), ОКАТО_КПП, НачалоМесяца(Дата));
///
СправкиПоНДФЛ.ПереносОтрицательногоОстаткаНДФЛПоКоду2012(СтруктураДанных.Доходы);
// TVA/>
СведенияОДоходах.Загрузить(СтруктураДанных.Доходы);
СведенияОВычетах.Загрузить(СтруктураДанных.Вычеты);

..........

КонецПроцедуры // Автозаполнение()

 

3. Общий модуль "СправкиПоНДФЛ".

 

///
Процедура ПрочитатьДанныеСправки(ОписаниеСправки, СведенияОДоходах, СведенияОВычетах, СуммыНалогов, НалоговыйПериод, Организация, ГоловнаяОрганизация, ОКАТО_КПП, Дата, ЭтоИсправление = Ложь) Экспорт //(Добавил для отсечки данной процедуры от другого документа)
// TVA/>

 

ФизЛицо = ОписаниеСправки.Сотрудник;
Ставка = ОписаниеСправки.Ставка;

Если Не ЗначениеЗаполнено(Организация) Или Не ЗначениеЗаполнено(ФизЛицо) Или (НалоговыйПериод < 2011 и Не ЗначениеЗаполнено(Ставка)) Тогда
Возврат
КонецЕсли;

ТаблицаСотрудников = Новый ТаблицаЗначений;
ТаблицаСотрудников.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
ТаблицаСотрудников.Колонки.Добавить("Ставка", Новый ОписаниеТипов("ПеречислениеСсылка.НДФЛСтавки"));
ТаблицаСотрудников.Колонки.Добавить("НомерСправки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(8, 0)));
ЗаполнитьЗначенияСвойств(ТаблицаСотрудников.Добавить(), ОписаниеСправки);
СтруктураДанных = ДанныеОДоходах(ТаблицаСотрудников, НалоговыйПериод, Организация, ГоловнаяОрганизация, ОКАТО_КПП, Дата);
///
Если ЭтоИсправление Тогда
ПереносОтрицательногоОстаткаНДФЛПоКоду2012(СтруктураДанных.Доходы);
КонецЕсли;
// TVA/>
Для каждого СтрокаТЗ Из СтруктураДанных.Доходы Цикл

..........

КонецПроцедуры

..........

(И в этом же общем модуле полностью новая процедура)

..........

 

///
//В Документе СправкаПоНДФЛВНалоговыйОрган при отгуленном отпуске больше, чем нужно и
//последующем увольнении проставляется доход 2012 со знаком минус.
//Контур такой отчёт не принимает. Необходимо, чтобы этот минус учитывался в последнем месяце
//начислений по коду 2012.
Процедура ПереносОтрицательногоОстаткаНДФЛПоКоду2012(ТЗ) Экспорт

ДоходНДФЛ2012 = Справочники.ДоходыНДФЛ.Код2012;
ДоходыСКодом2012 = Новый ТаблицаЗначений;
ДоходыСКодом2012.Колонки.Добавить("НомерСтроки");
ДоходыСКодом2012.Колонки.Добавить("НомерСправки");
ДоходыСКодом2012.Колонки.Добавить("СуммаДохода");
ДоходыСКодом2012.Колонки.Добавить("СуммаВычета");
Для Каждого СтрокаТЗ Из ТЗ Цикл
Если СтрокаТЗ.КодДохода = ДоходНДФЛ2012 Тогда
НоваяСтрока = ДоходыСКодом2012.Добавить();
НоваяСтрока.НомерСтроки = ТЗ.Индекс(СтрокаТЗ);
НоваяСтрока.НомерСправки = СтрокаТЗ.НомерСправки;
НоваяСтрока.СуммаДохода = СтрокаТЗ.СуммаДохода;
НоваяСтрока.СуммаВычета = СтрокаТЗ.СуммаВычета;
КонецЕсли;
КонецЦикла;
ъ = ДоходыСКодом2012.Количество() - 1;
СуммаДоходаДляПравки = 0;
СуммаВычетаДляПравки = 0;
НомерСправки = -1;
Пока ъ >= 0 Цикл
Если (НомерСправки <> ДоходыСКодом2012[ъ].НомерСправки) И (НомерСправки <> -1) Тогда
СуммаДоходаДляПравки = 0;
СуммаВычетаДляПравки = 0;
КонецЕсли;
НомерСправки = ДоходыСКодом2012[ъ].НомерСправки;
Если ДоходыСКодом2012[ъ].СуммаДохода < 0 Тогда
СуммаДоходаДляПравки = СуммаДоходаДляПравки + ДоходыСКодом2012[ъ].СуммаДохода;
СуммаВычетаДляПравки = СуммаВычетаДляПравки + ДоходыСКодом2012[ъ].СуммаВычета;
ТЗ.Удалить(ДоходыСКодом2012[ъ].НомерСтроки);
Иначе
Если (СуммаДоходаДляПравки <> 0) Или (СуммаВычетаДляПравки <> 0) Тогда
Если (ДоходыСКодом2012[ъ].СуммаДохода + СуммаДоходаДляПравки) > 0 Тогда
ТЗ[ДоходыСКодом2012[ъ].НомерСтроки].СуммаДохода = ТЗ[ДоходыСКодом2012[ъ].НомерСтроки].СуммаДохода + СуммаДоходаДляПравки;
СуммаДоходаДляПравки = 0;
ТЗ[ДоходыСКодом2012[ъ].НомерСтроки].СуммаВычета = ТЗ[ДоходыСКодом2012[ъ].НомерСтроки].СуммаВычета + СуммаВычетаДляПравки;
СуммаВычетаДляПравки = 0;
Иначе
СуммаДоходаДляПравки = СуммаДоходаДляПравки + ТЗ[ДоходыСКодом2012[ъ].НомерСтроки].СуммаДохода;
ТЗ.Удалить(ДоходыСКодом2012[ъ].НомерСтроки);
КонецЕсли;
КонецЕсли;
КонецЕсли;
ъ = ъ - 1;
КонецЦикла;

КонецПроцедуры
// TVA/>

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5129    11    5    

20

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3505    8    0    

27

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статистическая выборка сценариев и точек изменения отчетов на общей форме ФормаОтчета в типовых конфигурациях. Примеры кода.

03.06.2024    2946    Serg2000mr    29    

100

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    3433    YA_418728146    11    

52

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Стажер Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    5619    mrXoxot    11    

106

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free)

Разбираемся, зачем в системе ЕРП созданы справочники: ключи аналитик учета, зачем созданы аналогичные по набору измерений регистры сведений. Какие проблемы они решают, какие создают новые и что с этим делать.

08.11.2023    9731    ids79    25    

77

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    2759    21    avmartynov    14    

53
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Slavez 24 21.03.12 18:20 Сейчас в теме
И никогда не принимали.
Таких справок бывает совсем немного.
Смысл исправлять модуль?
Проще в руки объединить с доходами любого месяца.
2. VitaliyTokarev 222 22.03.12 03:20 Сейчас в теме
Смысл в том, что у нас в компании таких справок больше сотни...
Менялось Юр.лицо.
А политика такая, что должно всё автоматом считаться.
Возможно кому-то пригодится.
3. klel 24.03.12 09:29 Сейчас в теме
Спасибо за информацию думаю пригодится фирма то у нас немаленькая =)
4. пользователь 24.03.12 09:33
Сообщение было скрыто модератором.
...
Оставьте свое сообщение