gifts2017

Авансовые платежи по НДФЛ иностранных граждан

Опубликовал Евгений П. (jack19) в раздел Отчеты - Бухгалтерские

Простенький, но полезный отчет по иностранцам, работающим по патенту (по месяцам): сколько уплачено аванса по НДФЛ, исчислено НДФЛ, возвращено аванса и осталось на конец текущего месяца.

Особого описания не требуется. Нужно лишь сказать, что в тексте программы отчета использован фрагмент процедуры глобального модуля глСобратьДанныеДляНДФЛ2011(), а именно

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

Разработчики 1С решили упростить себе задачу, и сделали так, что, если за январь 2016 года сотрудник заплатил в октябре 2015, то документ оплаты должен датироваться 2016 годом (например 01.01.2016). Иначе 2016 год нельзя выбрать в качестве налогового периода документа. При этом условие вышеприведенного запроса:

|Условие(НалоговыйПериод = НалоговыйПериод);

мало того, что бессмысленно (А=А всегда есть истина), но и становится ненужным, так как в выборку с начала года по конец года могут попасть только документы с налоговым периодом, соответствующим этому году. Однако, так как дата операции (оплаты) может стоять реальная, например 22.10.2015, то в сответствии с текстом процедуры сумма оплаты такого документа попадет в 10 месяц 2016 года, т.е. в январе программа его не увидит. Правда выявится эта ошибка только в 2016 году, если не исправят её раньше. В отчете эта ошибка исправлена. Все такие документы попадают в январь следующего года. Кроме того, предусмотрена возможность учета непроведенных документов авансовых платежей для тех, на кого еще не получено уведомление из налоговой инспеции.

Скачать файлы

Наименование Файл Версия Размер
Авансовые платеж 3
.ert 81,50Kb
07.11.15
3
.ert 81,50Kb Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа