подскажите пожалуйста, как правильно написать код 1С:Предприятие 8.3 (8.3.18.1289):
мне надо отобрать не конкретного контрагента, а всех в группе "реконструкция"

```1c
    Если
    Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ")

    тогда СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    КонецЕсли;
```
---
Можно еще проще

```1c
    Если
    Контрагент.ПринадлежитЭлементу(Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ"))

    тогда СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    КонецЕсли;
```
---
Проще через запрос

```1c
    Родитель = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    | Контрагенты.Ссылка
    |ИЗ
    | Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    | Контрагенты.Ссылка В ИЕРАРХИИ(&Ссылка)";

    Запрос.УстановитьПараметр("Ссылка", Родитель);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
```
---
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Ссылка В ИЕРАРХИИ(&Ссылка)

Я не программист, как этот запрос в код вставить?

```1c
    Если
    Контрагент = Справочники.Контрагенты.НайтиПоНаименованию ("РЕКОНСТРУКЦИЯ")
    тогда
    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию ("РЕКОНСТРУКЦИЯ");

    КонецЕсли;
```
---
этот код вам вернет только контрагентов из папки реконструкция
---
Тогда опишите задачу точнее - что Вы делаете: обработку?
---
тку?

Хотим, чтобы в документе ПЛАТЕЖНОЕ ПОРУЧЕНИЕ при изменении ВидОперации на "ПрочийРасход" для контрагентов которые в группе "реконструкция" подставлялась СтатьяЗатрат "реконструкция", а для остальных "прочий расход".

Увеличенный кусок кода:

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

    КонецЕсли;
    ///---реконструкция

    Иначе
    СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаПоставщику;
    КонецЕсли;
```
---
```1c
    Родитель = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    Если Контрагент.Родитель = Родитель Тогда
    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    Иначе
    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");
    КонецЕсли;
```

Это если по быстрому и без проверок. Единственное посмотрите в переменной с каким именем доступен Ваш контрагент.
---
Можно еще проще

```1c
    Если
    Контрагент.ПринадлежитЭлементу(Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ"))

    тогда СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    КонецЕсли;
```
---
```1c
    ПапкаКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    Если Контрагент.Родитель = ПапкаКонтрагент Тогда

    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    иначе
    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");

    КонецЕсли;
```
---
А лучше так ,это на случай если справочник многоуровневый

```1c
    ПапкаКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    Если Контрагент.ПринадлежитЭлементу ( ПапкаКонтрагент) Тогда

    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
    иначе
    СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");

    КонецЕсли;
```
---
КОД проверки, является ли выбранный контрагент поставщиком. дополнительно создаем функцию и процедуру полного цикла проверки, чтобы появлялся вопрос "Выбранный контрагент не является поставщиком". Очистить поле "Контрагент?"