Перечисление НДФЛ в бюджет: Зачет излишне перечисленных взносов по методу ФИФО

Публикация № 200078

Администрирование - Администрирование данных 1С - Обработка документов

переплата НДФЛ в бюджет

Доработка конфигурации ЗУП для зачета излишне перечисленного в бюджет НДФЛ

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

Для реализации необходимо:

1) Добавить возможность сохранять незаполненное значение в регистре     РасчетыНалоговыхАгентовСБюджетомПоНДФЛ 

2) Модуль формы документа Перечисление НДФЛ в бюджет: заменить типовую процедуру

Процедура КоманднаяПанельСотрудникиОрганизацииДействиеЗаполнить(Кнопка)
	//ВСТАВКА
	Если ДокументОбъект.Проведен Тогда
		ТекстВопроса = "Заполнить документ можно только после отмены проведения. Отменить проведение?";
		Если РаботаСДиалогами.ЗадатьВопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
			ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
		Иначе  			
			Возврат;
		КонецЕсли;
	КонецЕсли;
    //ВСТАВКА КОНЕЦ

	Если СотрудникиОрганизации.Количество() > 0 Тогда
		ТекстВопроса = "Существующий список сотрудников будет очищен. Продолжить?";
		Если РаботаСДиалогами.ЗадатьВопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет) <> КодВозвратаДиалога.Да Тогда
			Возврат;
		КонецЕсли;
	КонецЕсли;
		
	СотрудникиОрганизации.Очистить();
	
	//ЗАМЕНА
	//Автозаполнение();
	нов_Автозаполнение();
	//КОНЕЦ
	
	Если СотрудникиОрганизации.Количество() = 0 Тогда
		Сообщить("Не обнаружены данные для записи в документ.", СтатусСообщения.Важное )
	Иначе
		ЭлементыФормы.СотрудникиОрганизации.ТекущаяСтрока = СотрудникиОрганизации[0]
	КонецЕсли;
	
КонецПроцедуры

 3. Модуль документа перечисление НДФЛ в бюджет

Процедура нов_Автозаполнение(ФизическиеЛица = Неопределено) Экспорт

	Если Сумма = 0 Тогда
		Возврат 
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.ФизЛицо,
	|	РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.СуммаОстаток КАК Сумма
	|ПОМЕСТИТЬ ВТОстатки
	|ИЗ
	|	РегистрНакопления.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Остатки(
	|			&ДатаОперации,
	|			Организация = &Организация
	|				И Ставка = &Ставка
	|				И (ФизЛицо В (&ФизическиеЛица)
	|					ИЛИ &НеОтбирать)
	|				И МесяцНалоговогоПериода = &МесяцНалоговогоПериода
	|				И ОКАТО_КПП = &ОКАТО_КПП) КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.ФизЛицо,
	|	РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Сумма
	|ИЗ
	|	РегистрНакопления.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛ
	|ГДЕ
	|	&УчитыватьДвиженияРегистратора
	|	И РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Регистратор = &Регистратор
	|	И (РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.ФизЛицо В (&ФизическиеЛица)
	|			ИЛИ &НеОтбирать)
	|	И РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Организация = &Организация
	|	И РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Ставка = &Ставка
	|	И РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.МесяцНалоговогоПериода = &МесяцНалоговогоПериода
	|	И РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.ОКАТО_КПП = &ОКАТО_КПП
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки.СуммаОстаток КАК НераспределенныйОстаток
	|ИЗ
	|	РегистрНакопления.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Остатки(
	|			&ДатаОперации,
	|			ФизЛицо = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
	|				И Организация = &Организация
	|				И Ставка = &Ставка 
	|				И ОКАТО_КПП = &ОКАТО_КПП) КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОстатки
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Остатки.ФизЛицо,
	|	СУММА(Остатки.Сумма) КАК Сумма
	|ИЗ
	|	ВТОстатки КАК Остатки
	|
	|СГРУППИРОВАТЬ ПО
	|	Остатки.ФизЛицо
	|
	|ИМЕЮЩИЕ
	|	СУММА(Остатки.Сумма) > 0";
	Запрос.УстановитьПараметр("Регистратор", Ссылка);
	Запрос.УстановитьПараметр("Организация", Организация);
	Запрос.УстановитьПараметр("ДатаОперации", КонецМесяца(МесяцНалоговогоПериода)+1);
	Запрос.УстановитьПараметр("МесяцНалоговогоПериода", МесяцНалоговогоПериода);
	Запрос.УстановитьПараметр("Ставка", Ставка);
	Запрос.УстановитьПараметр("ОКАТО_КПП", ОКАТО_КПП);
	Запрос.УстановитьПараметр("НеОтбирать", Не ЗначениеЗаполнено(ФизическиеЛица));
	Запрос.УстановитьПараметр("ФизическиеЛица", ФизическиеЛица);
	Запрос.УстановитьПараметр("УчитыватьДвиженияРегистратора", Проведен И Модифицированность() И ДатаПлатежа > ОбщегоНазначенияЗК.ПолучитьЗначениеРеквизита(Ссылка,"ДатаПлатежа"));
	Результаты = Запрос.ВыполнитьПакет();
	Результат = Результаты[Результаты.Количество()-1].Выгрузить();
	//проверим остаток на пустом ФЛ, чтобы распределить его
	Выборка = Результаты[Результаты.Количество()-2].Выбрать();
	НераспределенныйОстаток = 0;
	Если Выборка.Следующий() Тогда
		НераспределенныйОстаток = ?(Выборка.НераспределенныйОстаток<0, -Выборка.НераспределенныйОстаток, 0);
	КонецЕсли;
	Сообщить("Нераспределенная сумма с предыдущих платежей: "+НераспределенныйОстаток);
	ВсегоНужноПеречислить = Результат.Итог("Сумма");
	СуммаКРаспределению = Сумма+НераспределенныйОстаток;
	Если СуммаКРаспределению>ВсегоНужноПеречислить Тогда //разницу отнесем на пустое ФЛ
		НовыйОстаток = СуммаКРаспределению-ВсегоНужноПеречислить;
		СуммаКРаспределению = ВсегоНужноПеречислить;
		Сообщить("Остаток нераспределенной суммы: "+НовыйОстаток);
	Иначе 
		НовыйОстаток = 0;
	КонецЕсли;


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

 4. Модуль документа перечисление НДФЛ в бюджет, уберем проверку пустого физлица

//ЗАКОММЕНТИРОВАНО								
		//Если Не ЗначениеЗаполнено(СтрокаТЧ.ФизЛицо) Тогда
		//	ОбщегоНазначенияЗК.ВывестиИнформациюОбОшибке(НачалоСообщения + "не указано физическое лицо!", Отказ, Заголовок);
		//КонецЕсли;

 5. Недостатком такой доработки может явиться то, что в отчетах о налогах и взносах может появиться строка с пустым физлицом. Там где это будет мешать легко исправить соответствующим условием

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. den_valley 230 16.09.13 10:30 Сейчас в теме
В качестве замечаний.

1. Предлагаю относить не на пустое физ лицо, а использовать служебный элемент справочника "Физические лица".

2. Необходимо проверить, как данная операция отразится в справке 2-НДФЛ.
2. den_valley 230 16.09.13 10:38 Сейчас в теме
И поправьте ошибку в коде. Несолидно как то.

Если Выборка.Следующий() Тогда
НераспределенныйОстаток = ?(Выборка.НераспределенныйОстатокВсегоНужноПеречислить Тогда //разницу отнесем на пустое ФЛ
3. Aleksandr 22 18.09.13 10:07 Сейчас в теме
den_valley, ошибка исправлена, спасибо.

Желающие могут сделать на служебное физлицо. В справке 2-НДФЛ перечисленный налог будет равен исчисленному.
4. doctorov_s 40 31.01.16 13:10 Сейчас в теме
А в связи с изменившемся законодательством, никто не пробовал изменять обработку??
5. doctorov_s 40 31.01.16 13:10 Сейчас в теме
Соответственно и изменились записи в регистре!
Оставьте свое сообщение

См. также

Групповая обработка (Управляемая консоль отчетов)

Обработка документов Инструментарий разработчика Обработка справочников v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    9989    Evg-Lylyk    10    

Редактирование документа "Поступление товара" на поступление алкогольной продукции в 1С: Розница ЕГАИС

Обработка документов Розничная торговля Пользователю системы Розничная торговля v8::ОУ Розница Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

Редактирование табличной части документа "Поступление товара", введенного на основании товарно-транспортной накладной ЕГАИС с использованием групповой обработки реквизитов.

05.04.2019    6425    PitMal    2    

1С 8. Перенумерация документов и справочников

Обработка документов Обработка справочников v8 1cv8.cf Бесплатно (free)

1с 8. Перенумерация документов и справочников. Как перенумеровать различные документы (и справочники) в 1с 8? Как перенумеровать документы с префиксами по различным организациям?

06.06.2015    39129    pvlunegov    9    

Фоновое перепроведение

Обработка документов Практика программирования v8 БП2.0 Россия Бесплатно (free)

Фоновое перепроведение документов в регламентном задании. Бухгалтерия 3.0

14.01.2015    20897    kida1    11    

Программисту на заметку: автозаполнение реквизитов документов и справочников

Обработка документов Практика программирования Обработка справочников v8 1cv8.cf Бесплатно (free)

Часто бывает необходимым, чтобы при создании документа, элемента справочника автоматически заполнялись заданным значением определенные его реквизиты. Ниже предлагается вариант реализации механизма автозаполнения реквизитов документов по заданным условиям.

23.09.2013    35828    vdscom    13    

Отбор в управляемой форме списка документа "Счет на оплату покупателю" УПП 1.3

Обработка документов Учет ТМЦ Практика программирования Учет ТМЦ v8 УПП1 УУ Бесплатно (free)

Часто требуется разграничить счета покупателей в списке по ответственным менеджерам. В случае если менеджеры работают через веб-клиент условие на отбор в управляемой форме списка документа "Счет на оплату покупателю" отличается от выборки в обычной форме на толстом клиенте.

02.12.2012    15805    sarun    6    

Загрузка из Lotus или OLE-подключение из других (не 1С) программ

Внешние источники данных Обработка документов v8 БП2.0 Россия БУ НУ НДС Бесплатно (free)

Как-то давно писала настройку в 7.7. Теперь пришлось переделать на 8.2. Суть в том, что в программе Lotus заводятся счета, накладные, счет-фактуры. Как уж там прописана кнопка "Экспорт" - не знаю, но эта кнопка передает в 1С8 через функцию Import2 перечень реквизитов (ИНН, Наименование, Сумма, СуммаНДС , НомерСчета, ДатаСчета, ПН, Группа). А 1С8 их подхватывает в модуле внешнего соединения и "загружает" реализацию и счета-фактуры.

12.06.2012    15358    nvl    2    

Конвертация данных. Создание Субконто в документе ОперацияБух или «А план видов характеристик чудесным образом, но обрабатывается».

Перенос данных из 1C8 в 1C8 Обмен через XML Обработка документов v8 БП2.0 КД Россия Бесплатно (free)

Необходимо при помощи конфигурации «Конвертация данных» в базе-источнике сформировать данные (в виде таблицы значений) и перегрузить в документ «ОперацияБух» базы-приемника так, чтобы строки таблицы значений стали строками документа «ОперацияБух» (то есть, формирование ручных проводок по таблице значений). Платформа источника и приемника 8.х. В конфигурации источника план счетов есть, но нет субконто (нет «ПланВидовХарактеристикСсылка.ВидыСубконто…»).

09.03.2012    74371    Dmitri_1C    38    

Экспорт платежных поручений в казначейство г. Москвы

Обработка документов Обмен с банком Обмен через XML Банковские операции Банковские операции v8 БГУ Государственные, бюджетные структуры Россия Госбюджет Бесплатно (free)

Устанавливая конфигурацию "1С: Бухгалтерия государственного учреждения" (1С:БГУ) в одном из детских садиков г. Москвы, столкнулся с проблемой - казначейство не принимает платежные поручения (платежки), выгруженные из 1С:БГУ стандартной обработкой обмена.

09.02.2012    16751    AVK_Alex    1    

Перенос накопленных учетных данных из редакции 1.6 программы "1С:Бухгалтерия предприятия 8". Переход на редакцию 2.0

Перенос данных из 1C8 в 1C8 Обмен через XML Обработка документов v8 БП2.0 Бесплатно (free)

Перенос накопленных учетных данных из редакции 1.6 программы "1С:Бухгалтерия предприятия 8". Переход на редакцию 2.0

09.12.2010    42129    bb1962    73    

УНФ. Увеличение вложенности узлов. Использование рекурсии.

Обработка документов Практика программирования Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УНФ Бесплатно (free)

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

10.12.2009    7446    Michael_Osipov    6    

Drag & Drop строк документа

Обработка документов Работа с интерфейсом Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ включить возможность переноса мышкой строк из одного документа в другой

09.12.2009    14821    8c1.ru    9    

Очередная печать справочников и документов, с отбором, но без прикрас

Обработка документов Обработка справочников v8 1cv8.cf Россия Бесплатно (free)

Навеяно http://infostart.ru/projects/3646/ и, в частности, постом (20) из нее. Очень хочется иметь возможность распечатывать элементы справочников или документы, да еще с произвольным отбором, да еще и реквизиты какие хотим для печати указывать.

21.03.2009    10526    tsd    15    

Последовательность …и как "я" её понимаю …

Обработка документов v8 1cv8.cf Россия Бесплатно (free)

Данная статья написано для тех, кто начинает знакомиться и работать с объектом - «последовательность». При обнаружении ошибок, неточностей или дополнений прошу изложить соответствующие замечания. В прилагаемой к статье обработке для 1С 8.х показаны общие примеры исследования «последовательностей» и связи «документ-последовательность». С уважением, Шёпот теней.

25.02.2009    59645    Шёпот теней    50    

Заполнение табличных частей документов в восьмерке (внешние обработки)

Математика и алгоритмы Обработка документов v8 КА1 БП2.0 ЗУП2.5 УТ10 ЗКБУ Розница УПП1 Бесплатно (free)

В отличии от семерочных типовых конфигураций в восьмерочных появилась возможность подключать внешние обработки для заполнения табличных частей документов и справочников. Статья является продолжением цикла статей и разработок: Внешние печатные формы в восьмерке http://infostart.ru/blogs/157/ Обработка для тестирования внешних печатных форм в восьмерке http://infostart.ru/projects/833/ Использование встроенного почтового клиента - http://infostart.ru/blogs/161/ Документ с печатью и подписью - http://infostart.ru/blogs/162/ Внешние печатные формы в восьмерке II - http://infostart.ru/blogs/324/ Заполнение табличных частей документов в восьмерке (внешние обработки) http://infostart.ru/blogs/345/ Обработка для тестирования внешних обработок заполнения табличных частей http://infostart.ru/projects/1749/ Использование свойств объектов при доработке типовых конфигураций http://infostart.ru/blogs/692/ Примеры обработок: Закрытие регистров накопления (обработка заполнения табличных частей) http://infostart.ru/projects/3280/ Объединение одинаковых строк табличной части документа http://infostart.ru/projects/4355/

28.02.2008    121119    poppy    49