Вот такой вот запрос формируется для заполнения 2-го раздеоа 6-НДФЛ
"ВЫБРАТЬ
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо КАК ФизЛицо,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.КодДохода,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Регистратор,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода КАК Период,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода КАК ДатаПолученияДохода,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ВидСтроки КАК ВариантУдержания,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ВидДвижения,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СрокПеречисления,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Налог КАК Сумма,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Период КАК ДатаУдержания,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СуммаВыплаченногоДохода
|ПОМЕСТИТЬ ВТНалоги
|ИЗ
| РегистрНакопления.НДФЛРасчетыСБюджетом КАК РасчетыНалогоплательщиковСБюджетомПоНДФЛ
|ГДЕ
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Период МЕЖДУ &НачалоПредыдущегоГода И &ОкончаниеПериода
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Организация = &ГоловнаяОрганизация
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ОбособленноеПодразделение = &Организация
| И ВЫБОР
| КОГДА РасчетыНалогоплательщиковСБюджетомПоНДФЛ.КодПоОКТМО <> &ПустойКодПоОКТМО
| ТОГДА РасчетыНалогоплательщиковСБюджетомПоНДФЛ.КодПоОКТМО
| КОГДА ЕСТЬNULL(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации.КодПоОКТМО, &ПустойКодПоОКТМО) <> &ПустойКодПоОКТМО
| ТОГДА РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации.КодПоОКТМО
| ИНАЧЕ ЕСТЬNULL(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ОбособленноеПодразделение.КодПоОКТМО, &ПустойКодПоОКТМО)
| КОНЕЦ = &КодПоОКТМО
| И ВЫБОР
| КОГДА РасчетыНалогоплательщиковСБюджетомПоНДФЛ.КПП <> &ПустойКПП
| ТОГДА РасчетыНалогоплательщиковСБюджетомПоНДФЛ.КПП
| КОГДА ЕСТЬNULL(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации.КПП, &ПустойКПП) <> &ПустойКПП
| ТОГДА РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации.КПП
| ИНАЧЕ ЕСТЬNULL(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ОбособленноеПодразделение.КПП, &ПустойКПП)
| КОНЕЦ = &КПП
| И (РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Налог <> 0
| ИЛИ РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СуммаВыплаченногоДохода <> 0)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Поле1,
| НЕОПРЕДЕЛЕНО КАК Поле2,
| НалогиПоДатам.ДатаПолученияДохода КАК ДатаФактическогоПолученияДохода,
| НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ) КАК ДатаУдержанияНалога,
| ВЫБОР
| КОГДА НалогиПоДатам.ДатаУдержания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| КОГДА НалогиПоДатам.СрокПеречисления = ЗНАЧЕНИЕ(Перечисление.СрокиПеречисляемогоНалога.МежрасчетныеОтпускаИБольничные)
| ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(НалогиПоДатам.ДатаУдержания, МЕСЯЦ), ДЕНЬ)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ), ДЕНЬ, 1)
| КОНЕЦ КАК СрокПеречисленияНалога,
| НалогиПоДатам.ДатаПолученияДохода КАК П000020010001,
| НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ) КАК П000020011001,
| ВЫБОР
| КОГДА НалогиПоДатам.ДатаУдержания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| КОГДА НалогиПоДатам.СрокПеречисления = ЗНАЧЕНИЕ(Перечисление.СрокиПеречисляемогоНалога.МежрасчетныеОтпускаИБольничные)
| ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(НалогиПоДатам.ДатаУдержания, МЕСЯЦ), ДЕНЬ)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ), ДЕНЬ, 1)
| КОНЕЦ КАК П000020012001,
| СУММА(НалогиПоДатам.СуммаВыплаченногоДохода) КАК П000020013001,
| СУММА(ВЫБОР
| КОГДА НалогиПоДатам.ВариантУдержания = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Удержание)
| ТОГДА НалогиПоДатам.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК П000020014001
|ИЗ
| ВТНалоги КАК НалогиПоДатам
|ГДЕ
| НалогиПоДатам.ВариантУдержания = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Удержание)
| И НалогиПоДатам.ДатаУдержания МЕЖДУ &НачалоПериода И &ОкончаниеПериода
|
|СГРУППИРОВАТЬ ПО
| НалогиПоДатам.ДатаПолученияДохода,
| НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ),
| ВЫБОР
| КОГДА НалогиПоДатам.ДатаУдержания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| КОГДА НалогиПоДатам.СрокПеречисления = ЗНАЧЕНИЕ(Перечисление.СрокиПеречисляемогоНалога.МежрасчетныеОтпускаИБольничные)
| ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(НалогиПоДатам.ДатаУдержания, МЕСЯЦ), ДЕНЬ)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ), ДЕНЬ, 1)
| КОНЕЦ,
| НалогиПоДатам.ДатаПолученияДохода,
| НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ),
| ВЫБОР
| КОГДА НалогиПоДатам.ДатаУдержания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| КОГДА НалогиПоДатам.СрокПеречисления = ЗНАЧЕНИЕ(Перечисление.СрокиПеречисляемогоНалога.МежрасчетныеОтпускаИБольничные)
| ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(НалогиПоДатам.ДатаУдержания, МЕСЯЦ), ДЕНЬ)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(НалогиПоДатам.ДатаУдержания, ДЕНЬ), ДЕНЬ, 1)
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| ДатаУдержанияНалога,
| СрокПеречисленияНалога,
| ДатаФактическогоПолученияДохода";
Показать
В первом части запроса собираются данные из общеизвестного регистра. Можно заметить, что в качестве даты удержания используется период , а месяц налогового периода - это дата получения дохода. Во второй части запроса на основании данных из первой части формируются поля с именами ячеек в макете отчета ( П000020010001- строка 100 , П000020011001 -110 строка , П000020012001 -120 строка, П000020013001 - 130 строка , П000020014001 -140 строка).
Из второй части так же можно увидеть как определяется строка 140. При выплате отпускных или больничных значение "срок перечисления" заполняется значением "Не позднее конца месяца, в котором выплачен доход (по отпускным и больничным)" на основании этого значения в запросе определяется дата перечисления налога