Платформа 8.3.21.1302, конфигурация ЗУП 3.1

В обработке создаю документ

```1c
    док = Документы.ДоходВНатуральнойФорме.СоздатьДокумент()
```

Инструкцию &НаСервере добавил.

Падает с ошибкой - поле объекта не обнаружено.
Кэш почистил.
Думаю Тестирование и исправление запустить.
---
Не помогло, но в журнале регистрации есть ошибка:

Событие: Ошибка выполнения

{Документ.ИТ_Регистрация.МодульОбъекта(77)}: Поле объекта не обнаружено (ДоходВНатуральнойФорме)
---
Может дело вот в этом:

"ЭтотОбъект.Документы.Добавить(); "

Если у вас существует реквизит Документы, то, разумеется, Документы.ДоходВНатуральнойФорме выдаст ошибку, т.к. это обращение к реквизиту. Синтаксис помощник, разумеется, через точку будет подсказывать не то.
---
Перезапустите конфигуратор и ИБ
---
Посмотрите еще, нету ли на форме реквизита с наименованием "докДоход"
---
Не помогло, но в журнале регистрации есть ошибка:

Событие: Ошибка выполнения

{Документ.ИТ_Регистрация.МодульОбъекта(77)}: Поле объекта не обнаружено (ДоходВНатуральнойФорме)
---
Что написано в модуле документа ИТ_Регистрация в строке 77 ?
---
докДоход = Документы.ДоходВНатуральнойФорме.СоздатьДокумент()
---
добавил оплату
---
на уровне предположения - нет прав на документ на уровне пользователя
и код процедуры бы полностью привести
---
но через точку документ подбирается в выпадающем списке.
---
через точку дает, ничего не значит
это просто помощник синтаксиса
я бы все таки проверил права пользователя
---
прибавил прав пользователю на документ Доход В Натуральной Форме.

Однако в отладчике по-прежнему - Поле объекта не обнаружено (Доход в натуральной форме)
---
документ под пользователем создается - Доход в натуральной форме.
---
значит синтаксис проверяем
и в отладчик, смотреть что там по проблемной строке
---
в отладчике

Свойство
Документы.ДоходВНатуральнойФорме

Значение
{<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ДоходВНатуральнойФорме)
---
а в Документы что?
вот тут в (13) дельную мысль подсказывают
---
вот оно, вот я подставился с этими Документами. Не хотел такую таб.часть создавать, но создал ))
---
&НаСервере
Процедура ОбработкаПроведения(Отказ, РежимПроведения)

 Запрос = Новый Запрос;
 Запрос.УстановитьПараметр("Ссылка", Ссылка);
 Запрос.Текст =
 "ВЫБРАТЬ
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.ФизическоеЛицо КАК ФизическоеЛицо,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.КодВидаРасчетаЗУП КАК КВО,
 | СУММА(СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Сумма) КАК Сумма,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.МесяцНачисления КАК МесяцНачисления,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.Ответственный КАК Ответственный,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.Номер КАК Номер,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.КодВидаРасчетаЗУП.НачислениеШаблон КАК НачислениеШаблон,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.Дата КАК Дата
 |ИЗ
 | Документ.СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицам.Взаиморасчеты КАК СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты
 |ГДЕ
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка = &Ссылка
 |
 |СГРУППИРОВАТЬ ПО
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.ФизическоеЛицо,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.КодВидаРасчетаЗУП,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.МесяцНачисления,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.Ответственный,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.Номер,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.КодВидаРасчетаЗУП.НачислениеШаблон,
 | СП_РегистрацияВзаиморасчетовПоПодотчетнымЛицамВзаиморасчеты.Ссылка.Дата
 |
 |УПОРЯДОЧИТЬ ПО
 | КВО";

 ТаблицаКВО = Запрос.Выполнить().Выгрузить();
 ТаблицаКВО.Колонки.Добавить("Сотрудник");
 ТаблицаКВО.Колонки.Добавить("Подразделение");

 МассивКВО = ТаблицаКВО.ВыгрузитьКолонку("КВО");

 ////Сотрудники
 Запрос.Текст = "ВЫБРАТЬ
 | Сотрудники.Ссылка КАК Сотрудник,
 | Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
 | Сотрудники.ГоловнойСотрудник КАК ГоловнойСотрудник
 |ИЗ
 | Справочник.Сотрудники КАК Сотрудники";

 ТаблСотрудники = Запрос.Выполнить().Выгрузить();

 //Подразделения
 Запрос.УстановитьПараметр("ДатаОкончания", КонецМесяца(Ссылка.Дата));
 Запрос.Текст = "ВЫБРАТЬ
 | КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
 | КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо,
 | КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение
 |ИЗ
 | РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&ДатаОкончания, ) КАК КадроваяИсторияСотрудниковСрезПоследних";
 ТаблПодразделения = Запрос.Выполнить().Выгрузить();

 ЗаполнитьТаблицуКВО(ТаблицаКВО,ТаблСотрудники,ТаблПодразделения);

 Для Каждого ЭлементКВО Из МассивКВО Цикл

  Отбор = Новый Структура;
  Отбор.Вставить("КВО", ЭлементКВО);

  докДоход = Неопределено; докДанные = Неопределено;
  СтрокиКВО = ТаблицаКВО.НайтиСтроки(Отбор);
  Для Каждого СтрокаКВО Из СтрокиКВО Цикл

   Если ТипЗнч(СтрокаКВО.КВО.НачислениеШаблон) = Тип("ПланВидовРасчетаСсылка.Начисления") Тогда

    Если докДоход = Неопределено Тогда

     докДоход = Документы.ДоходВНатуральнойФорме.СоздатьДокумент();
     докДоход.Дата = СтрокаКВО.Дата;
     докДоход.Начисление = СтрокаКВО.НачислениеШаблон;
     докДоход.Ответственный = СтрокаКВО.Ответственный;
     докДоход.Комментарий = "№ " + СтрокаКВО.Номер + " от " + Формат(СтрокаКВО.Дата,"ДФ=dd.MM.yyyy");
     докДоход.ДатаПолученияДохода = КонецМесяца(СтрокаКВО.МесяцНачисления);
     докДоход.ДоначислитьЗарплатуПриНеобходимости = Ложь;

     НоваяСтрока = докДоход.Начисления.Добавить();
     НоваяСтрока.Сотрудник = СтрокаКВО.Сотрудник;
     НоваяСтрока.Подразделение = СтрокаКВО.Подразделение;
     НоваяСтрока.Результат = СтрокаКВО.Сумма;
     НоваяСтрока.НДФЛ = СтрокаКВО.Сумма * 0.13;
     НоваяСтрока.КорректировкаВыплаты = 0;
    Иначе
     НоваяСтрока = докДоход.Начисления.Добавить();
     НоваяСтрока.Сотрудник = СтрокаКВО.Сотрудник;
     НоваяСтрока.Подразделение = СтрокаКВО.Подразделение;
     НоваяСтрока.Результат = СтрокаКВО.Сумма;
     НоваяСтрока.НДФЛ = СтрокаКВО.Сумма * 0.13;
     НоваяСтрока.КорректировкаВыплаты = 0;
    КонецЕсли;

   ИначеЕсли ТипЗнч(СтрокаКВО.КВО.НачислениеШаблон) = Тип("СправочникСсылка.ВидыДокументовВводДанныхДляРасчетаЗарплаты") Тогда

    Если докДанные = Неопределено Тогда
     докДанные = Документы.ДанныеДляРасчетаЗарплаты.СоздатьДокумент();
     докДанные.Дата = СтрокаКВО.Дата;
     докДанные.Период = СтрокаКВО.МесяцНачисления;
     докДанные.ВидДокумента = СтрокаКВО.КВО.Начисление_Шаблон;
     докДанные.ПериодОкончания = КонецМесяца(СтрокаКВО.МесяцНачисления);
     докДанные.Ответственный = СтрокаКВО.Ответственный;
     докДанные.ИспользоватьПриРасчетеПервойПоловиныМесяца = Истина;
     докДанные.Комментарий = "№ " + СтрокаКВО.Номер + " от " + Формат(СтрокаКВО.Дата,"ДФ=dd.MM.yyyy");

     НоваяСтрока = докДанные.ЗначенияПоказателей.Добавить();
     НоваяСтрока.Объект = СтрокаКВО.Сотрудник;
     Если СтрокаКВО.КВО.Начисление_Шаблон.Показатели.Количество() > 0 Тогда
      НоваяСтрока.Показатель = СтрокаКВО.КВО.Начисление_Шаблон.Показатели.Получить(0).Показатель;
     КонецЕсли;
     НоваяСтрока.Значение = СтрокаКВО.Сумма;
     НоваяСтрока.Период = НачалоМесяца(СтрокаКВО.МесяцНачисления);
     НоваяСтрока.ПериодОкончания = КонецМесяца(СтрокаКВО.МесяцНачисления);
    Иначе
     НоваяСтрока = докДанные.ЗначенияПоказателей.Добавить();
     НоваяСтрока.Объект = СтрокаКВО.Сотрудник;
     НоваяСтрока.Значение = СтрокаКВО.Сумма;
     НоваяСтрока.Период = НачалоМесяца(СтрокаКВО.МесяцНачисления);
     НоваяСтрока.ПериодОкончания = КонецМесяца(СтрокаКВО.МесяцНачисления);
    КонецЕсли;

   КонецЕсли;
  КонецЦикла;

  Если докДоход <> Неопределено Тогда
   докДоход.Начислено = докДоход.Начисления.Итог("Результат");
   докДоход.Записать(РежимЗаписиДокумента.Проведение);

   нСтрокаРегистрации = ЭтотОбъект.Документы.Добавить();
   нСтрокаРегистрации.Документ = докДоход;
  КонецЕсли;

  Если докДанные <> Неопределено Тогда
   докДанные.Записать(РежимЗаписиДокумента.Проведение);

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

 Для Каждого ТекСтрока Из ТаблицаКВО Цикл
  ТекСтрока.Сотрудник = КадровыйУчетРасширенный.ОсновнойСотрудникФизЛица(ТекСтрока.ФизическоеЛицо, Организация,Дата);
     ТекСтрока.Подразделение = ПодобратьПодразделение(ТаблПодразделения, ТекСтрока.Сотрудник);
 КонецЦикла;
КонецПроцедуры
//***********************************************************
Функция ПодобратьПодразделение(ТаблПодразделения, Сотрудник)

 Отбор = Новый Структура;
 Отбор.Вставить("Сотрудник", Сотрудник);
 СтрокиПодразделение = ТаблПодразделения.НайтиСтроки(Отбор);
 Подразделение = Справочники.ПодразделенияОрганизаций.ПустаяСсылка();

 Если СтрокиПодразделение.Количество() > 0 Тогда
  Подразделение = СтрокиПодразделение.Получить(0).Подразделение;
 КонецЕсли;

    Возврат Подразделение;
КонецФункции
//***********************************************************
---
Может дело вот в этом:

"ЭтотОбъект.Документы.Добавить(); "

Если у вас существует реквизит Документы, то, разумеется, Документы.ДоходВНатуральнойФорме выдаст ошибку, т.к. это обращение к реквизиту. Синтаксис помощник, разумеется, через точку будет подсказывать не то.
---
точно, был реквизит Документы.