Как получить дополнительный реквизит документа в обработке, с возможностью его программно менять.
Я создаю доп реквизит с типом булево в документе РасходнаяНакладная. Мне нужно программно изменить этот реквизит.
Например Если я изменяю программно документ Расходная накладная, то ставиться галочка в доп реквизите.
---
```1c
    ДопРеквизитПроверено = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыведенИзОборота");
    СтрокаТЧ = СсылкаНаОбъект.ДополнительныеРеквизиты.Найти(ДопРеквизитПроверено, "Свойство");//Пусть результатом поиска будут "ЕстьСтроки"
    Если СтрокаТЧ = Неопределено Тогда
    СтрокаТЧ = СсылкаНаОбъект.ДополнительныеРеквизиты.Добавить();
    СтрокаТЧ.Свойство = ДопРеквизитПроверено;
    СТрокаТЧ.Значение = Истина;
    Иначе
    СТрокаТЧ.Значение = Истина;
    КонецЕсли;
```

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

```1c
    ВЫБРАТЬ
    РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка КАК Ссылка,
    РасходнаяНакладнаяДополнительныеРеквизиты.Свойство КАК Свойство,
    РасходнаяНакладнаяДополнительныеРеквизиты.Значение КАК Значение
    ИЗ
    Документ.РасходнаяНакладная.ДополнительныеРеквизиты КАК РасходнаяНакладнаяДополнительныеРеквизиты
```

Пожалуйста подробнее подскажите что мне делать. Заранее спасибо
---
Далее использвал этот запрос :
```1c
    ВЫБРАТЬ
    РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка КАК Ссылка,
    РасходнаяНакладнаяДополнительныеРеквизиты.Свойство КАК Свойство,
    РасходнаяНакладнаяДополнительныеРеквизиты.Значение КАК Значение,
    РасходнаяНакладная.Ссылка КАК Ссылка1
    ИЗ
    Документ.РасходнаяНакладная КАК РасходнаяНакладная
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.ДополнительныеРеквизиты КАК РасходнаяНакладнаяДополнительныеРеквизиты
    ПО (РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка = РасходнаяНакладная.Ссылка)
    ГДЕ
    РасходнаяНакладная.Ссылка = &Ссылка
    И РасходнаяНакладнаяДополнительныеРеквизиты.Свойство = &Свойство
```

Но он либо возвращает пустое значение, либо то в котором Допрек = Истина, а мне же нужно получить документы где доп рек = Ложь, чтобы программно менять на истина
---
4.
Внестите в допреквизит значение вручную (раз булево, вид допника должен быть "галочка").
Прочитайте его запросом в консоли.
Потом вручную галочку снимите.
Прочитайте его запросом в консоли.

Если ничего в 1С не поменялось, то в данном случае запрос будет "пустой".
Типовой механизм, если допреквизит ставят в значение "ложь", вообще стирает данную строку из табличной части.

По крайней мере, в ЗУПе так. Если у вас также, тогда ориентируйтесь именно на это.
Результат запроса будет возвращать "Пустой" или "Истина"
вы действуйте программно аналогично.

Да, и запрос слишком громоздкий.
Вот проще.

```1c
    ВЫБРАТЬ
    ВашДокументДополнительныеРеквизиты.Значение КАК Значение
    ИЗ
    Документ.ВашДокумент.ДополнительныеРеквизиты КАК ВашДокументДополнительныеРеквизиты
    ГДЕ
    ВашДокументДополнительныеРеквизиты.Ссылка = &СсылкаНаДокумент
    И ВашДокументДополнительныеРеквизиты.Свойство = &Свойство
```
---
И еще. Почему вы не попробуете программный интерфейс?
Я только в ЗУП имею доступ и сужу по нему, но разве у вас нет общего модуля "УправлениеСвойствами" ?
Наверняка у вас тоже есть методы:
- ДобавитьСвойство()
- ДобавитьЗначениеСвойства()
- ПараметрыДобавленияСвойства()
- ПараметрыДобавленияЗначенияСвойства()
- ЗначениеСвойства()
- ЗаписатьСвойстваУОбъекта() и так далее. Все методы этого модуля работают с допреквизитами и допсвойствами.
---
ЗначениеСвойств

Сделал так

```1c
    ДопРеквизитПроверено = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыведенИзОборота", Истина);
    ЕстьСтроки = СсылкаНаОбъект.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура("Свойство", ДопРеквизитПроверено));//Пусть результатом поиска будут "ЕстьСтроки"
    Если ЕстьСтроки.Количество() = 0 Тогда
    СтрокаТЧ = СсылкаНаОбъект.ДополнительныеРеквизиты.Добавить();
    СтрокаТЧ.Свойство = ДопРеквизитПроверено;
    Иначе
    СтрокаТЧ = ЕстьСтроки[0];
    КонецЕсли;
    СТрокаТЧ.Значение = Истина;
```

Он Добавляет новый доп реквизит. Как добавить свой?
---
```1c
    ДопРеквизитПроверено = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыведенИзОборота");
    СтрокаТЧ = СсылкаНаОбъект.ДополнительныеРеквизиты.Найти(ДопРеквизитПроверено, "Свойство");//Пусть результатом поиска будут "ЕстьСтроки"
    Если СтрокаТЧ = Неопределено Тогда
    СтрокаТЧ = СсылкаНаОбъект.ДополнительныеРеквизиты.Добавить();
    СтрокаТЧ.Свойство = ДопРеквизитПроверено;
    СТрокаТЧ.Значение = Истина;
    Иначе
    СТрокаТЧ.Значение = Истина;
    КонецЕсли;
```

Сработал этот код.
Спасибо большое за помощь.