Внешняя Обработка создание ЭСЧФ в 8.2 БУ 1.6(обычные формы). В форме надо добавить реквизит с возможностью отбора по ВидДокумента.
Вид Документа - заполняется в ЖурналеДокументов.ДокументыКОформлениюЭСЧФ.
Создаю новый реквизит и не могу понять, не вижу ЖурналДокументов. Как сделать выбор и отбор по выбранному?
---
Сейчас попробую структурировать как сделал!
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код

```1c
    "
    Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
    ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
    КонецЦикла;
```

В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:

```1c
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    // +++Тут добавил поучение документов если пустая строка, и если стоит значение документа
    ВидДок = СокрЛП(ВидДокумента.Отбор.ВидДокумента.Значение);

    Если ПустаяСтрока(ВидДок) Тогда
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    НоваяСтрока = ТабличноеПоле1.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
    ИначеЕсли СокрЛП(ТипЗнч(ВыборкаДетальныеЗаписи.Ссылка))<>ВидДок тогда
    Продолжить;
    КонецЕсли;//---
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    НоваяСтрока = ТабличноеПоле1.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);

    КонецЦикла;
    ;
```

Итог все работает!
Отдельное спасибо DenisVol за помощь.
---
Вы хотите чтоб в этом реквизите были определенные виды документов?
---
или так или все.
все виды документов из ЖураналшаДокументов.ДокументыКОформлениюЭСЧФ и там все регистрируемые документы:
---
реквизит с типом ДокументСсылка
---
не то
---
тогда не понял. в предприятии откроется весь перечень документов
---
Нужно вот как, что бы при формировании ТЧ, показывала только то, что определяется реквизитами выбора.
---
Не уже ли ни кто ни знает как это сделать?
---
Это тип. Значит хранить нужно строку вида ДокументСсылка.РеализацияТоваровУслуг. ЖурналДокументов это таблица на которую нельзя получить ссылку, соответственно и указать в реквизите.
---
этот список документом каким способом формируете? Какой-то запрос?
---
добавьте реквизит ВидДокумента с типом ДокументСсылка. И потом запросом с параметром в запросе равным "ВидДокумента" перезаполняйте ТЧ.
---
надо добавлять отборы:

```1c
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.ВидСравнения = ВидСравнения.Равно;
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Значение = ВидДокумента;
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Использование = Истина;
```

что так. Чисто интересно правильно ли мыслю?
---
1. Добавляете реквизит "ВидДокумента" (поле ввода). В поле данные указываете "Отбор.ВидДокумента.Значение".
2. В модуле формы делаете такую процедуру

```1c
    Процедура ВидДокументаПриИзменении(Элемент)
    Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
    КонецПроцедуры
```

3.Указываете эту процедуру ПриИзменении реквизита "ВидДокумента"
---
Процедура ВидДокументаПриИзменении(Элемент)
 Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
КонецПроцедуры

А отборы куда пишем?
---
Потом пишим процедуру ПриОткрытии()

```1c
    Процедура ПриОткрытии()
    Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
    ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
    КонецЦикла;
    КонецПроцедуры
```

и ципляете эту процедуру на форму обработки ПриОткрытии
---
у вас в форме обработки должен быть реквизит ДокументыКОформлениюЭСЧФ с типом ЖурналДокументов.ДокументыКОформлениюЭСЧФ. И вот когда вы добавляете поле ввода и поляне "Данные"

там и будут отбор
---
ДокументыКОформлениюЭСЧФ

выдает ошибку
{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
 <<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
---
вот
---
у меня вот так выглядит этот реквизит
---
добавьте реквизит на вкладке "реквизиты", которая рядом возле "модуль"
---
Сообщение было скрыто модератором.
---
и у меня
---
Не понял только куда
```1c
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.ВидСравнения = ВидСравнения.Равно;
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Значение = ВидДокумента;
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Использование = Истина;
```
---
это не надо. то я так предполагал изначально
---
пока ругается на отбор !

{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
 <<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
---
только вместо "ДокументыКонтрагентов", у Вас д.б. ДокументыКОформлениюЭСЧФ и уже там отбор
---
Сообщение было скрыто модератором.
---
вот что в поле ввода
---
у мене так
---
и вот
---
и продолжает ругаться? Что то у нас не сходится
---
по разному сделано что-то. А конфигурация какая?
---
все есть просто надо было добавить ДокументыКОформлениюЭСЧФ.Отбор.ВидДокумента.Использование
---
увидел уже. такой у меня нет вналичии
---
А как теперь что бы обновлялось в ТЧ?
---
ну этом реквизите должна быть процедура

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

Запрос рабочий, он выводит документы?
---
сейчас добавляю параметр "вид документа". с Журналом сейчас посмотрю.
Сравнивал, хотел посмотреть результат в запросе и какая-то хрень не вижу результата, а как переписал точь-в-точь все показала! Прям БЕСИТ!!!
---
вот так сделай

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

```1c
    "
    Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
    ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
    КонецЦикла;
```

В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:

```1c
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    // +++Тут добавил поучение документов если пустая строка, и если стоит значение документа
    ВидДок = СокрЛП(ВидДокумента.Отбор.ВидДокумента.Значение);

    Если ПустаяСтрока(ВидДок) Тогда
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    НоваяСтрока = ТабличноеПоле1.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
    ИначеЕсли СокрЛП(ТипЗнч(ВыборкаДетальныеЗаписи.Ссылка))<>ВидДок тогда
    Продолжить;
    КонецЕсли;//---
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    НоваяСтрока = ТабличноеПоле1.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);

    КонецЦикла;
    ;
```

Итог все работает!
Отдельное спасибо DenisVol за помощь.