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