В ЗУП 3.1 заполнение документа доход в натуральной форме реализовано с помощью внешней обработки с excel. Но не могу программно передать НДФЛ, при проведении остается пустое поле. Может кто с этим сталкивался?
---
Спасибо большое за помощь, нужно было заполнить в ТЧ НДФЛ не только "Категорию дохода", но "Подразделение". Но вы очень помогли.
---
добавьте "Категорию дохода" в таблицу НДФЛ. И заполните таблицу Физические лица.
---
А можно посмотреть, как вы заполняете программно НДФЛ? В документе "ДоходВНатуральнойФорме" начисления и налог в различных табличных частях.
---
```1c
    &НаКлиенте
    Процедура ПослеВыбораЛиста(ВыбранныйЭлемент, Об_Конект) Экспорт

    Если ВыбранныйЭлемент = Неопределено Тогда
    Возврат;
    КонецЕсли;

    СтрокаСписка = ВыбранныйЭлемент.Значение;

    Если СтрокаСписка <> Неопределено Тогда
    //Сообщить("Выбран лист "+СтрокаСписка);
    ТекстЗапроса = "SEL ECT * FR OM ["+СтрокаСписка+"]";

    Попытка
    //RecordSet = Об_Конект.Execute(ТекстЗапроса); //не работало количество строк RecordSet.RecordCount
    RecordSet = Новый COMОбъект("ADODB.Recordset");
    RecordSet.CursorType = 3;
    RecordSet.Open(ТекстЗапроса, Об_Конект);
    Исключение
    Сообщить("Не удалось выполнить запрос к файлу Excel
    |"+ ОписаниеОшибки(),СтатусСообщения.Важное);
    Возврат;
    КонецПопытки;

    Сч = 0;

    RecordSet.AbsolutePosition = 12;

    ВидВычета = ВидВычета();

    Пока НЕ RecordSet.EOF() Цикл

    Сч = Сч + 1;

    RecordSet.MoveNext();

    //Состояние("Идет считывание с файла xls", (Сч/RecordSet.RecordCount)*100);

    //Проверим период
    //Если СокрЛП(RecordSet.Fields(1).value) = "структурное подразделение" Тогда
    // ДатаНачала = RecordSet.Fields(35).value;
    // ДатаОкончания = RecordSet.Fields(39).value;
    //КонецЕсли;

    //обойдём всех сотрудников
    Если RecordSet.EOF = Ложь Тогда
    Если ТипЗнч(RecordSet.Fields(1).value) = Тип("Строка") Тогда

    ОбработкаПрерыванияПользователя();

    ФИОСотрудника = RecordSet.Fields(1).value;
    Результат = RecordSet.Fields(4).value;
    НДФЛ = RecordSet.Fields(5).value;
    КоличествоСлов = КоличествоСлов(ФИОСотрудника);
    //ТабНомер = Найти(ФИОСотрудника, "(");

    Если КоличествоСлов = 3 Тогда
    //ТабНомер = Прав(ФИОСотрудника, СтрДлина(ФИОСотрудника)-ТабНомер);
    //ТабНомер = СтрЗаменить(ТабНомер, ")", ");
    Сотрудник = ПолучитьСотрудникаПоНаименованию(ФИОСотрудника);
    Подразделение = ИнформацияОФизЛиц(Сотрудник);
    СтрокаВР = ВладелецФормы.Объект.Начисления.Добавить();
    СтрокаВР.Сотрудник = Сотрудник;
    СтрокаВР.КодВычета = ВидВычета;
    СтрокаВР.Результат = Результат;
    СтрокаВР.Подразделение = Подразделение;
    СтрокаВР.НДФЛ = НДФЛ;
    СтрокаВРН = ВладелецФормы.Объект.НДФЛ.Добавить();
    СтрокаВРН.ФизическоеЛицо = ПолучитьФизЛицоСотрудника(Сотрудник);
    СтрокаВРН.Налог = НДФЛ;
    СтрокаВРН.МесяцНалоговогоПериода = ВладелецФормы.Объект.ДатаПолученияДохода;
    //НачисленияПриНачалеРедактирования();

    //СтрокаВРН.ФизическоеЛицо = Сотрудник;
    КонецЕсли;

    ВладелецФормы.Модифицированность = Истина;

    //СтрокаВР = ВладелецФормы.Объект.Начисления.Добавить();
    //СтрокаВР.Сотрудник = Сотрудник;
    //СтрокаВР.ЭтоПерваяСтрокаПоСотруднику = Истина;
    НоваяСтрока = Истина;
    ВтораяСтрока = Неопределено;

    КонецЕсли;
    КонецЕсли;

    //Если СокрЛП(RecordSet.Fields(1).value) = "ВСЕГО:" Тогда
    // Состояние("Идет считывание с файла xls",100);
    // Прервать;
    //КонецЕсли;

    КонецЦикла;

    КонецЕсли;

    //закрываем соединение с Excel
    Об_Конект.Close();
    Об_Конект = Неопределено;

    //УчетРабочегоВремениРасширенныйКлиентСервер.ТабельУстановитьИнфонадписьВысотаСтрок(ВладелецФормы);

    ВладелецФормы.ОбновитьОтображениеДанных();

    КонецПроцедуры // ()
```
---
СтрокаВР = ВладелецФормы.Объект.Начисления.Добавить();, в этой талбице в конфигураторе я не вижу реквизита НДФЛ, но есть другая таблица, так и называется НДФЛ, там реквизит Налог, м.б. туда писать ваш прочитанный НДФЛ.

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

```1c
    СтрокаВРН = ВладелецФормы.Объект.НДФЛ.Добавить();
    СтрокаВРН.Налог = НДФЛ;
```
---
Вы заполните сначала документ врукопашную в 1С, можно 1-го сотрудника. Затем через универсальный отчет посмотрите какие таблицы заполняются и какими данными, сравните с документом который пытаетесь заполнить из экселя.
---
А как посмотреть через универсальный отчет? Подскажите пожалуйста?
---
Администрирование -> Печатные формы, отчеты и обработки -> Универсальный отчет.
---
Спасибо большое за помощь, нужно было заполнить в ТЧ НДФЛ не только "Категорию дохода", но "Подразделение". Но вы очень помогли.
---
Пожалуйста. :)
---
Всем привет!
Вот бы еще ТЧ Удержания при этом рассчитывались если они есть (исп листы).
Непонятно как эту ТЧ заполнять программно.