Подскажите пожалуйста..
Как на такой форме правильно сделать отбор по контрагенту и фирме?
Данные табличное поле,а тип значения Справочник
---
вот так, пример с УТ 10.3

```1c
    Процедура ОрганизацияПриИзменении(Элемент)
    УстановитьОтбор();
    КонецПроцедуры

    Процедура КонтрагентПриИзменении(Элемент)
    УстановитьОтбор();
    КонецПроцедуры

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

Вам же абы устроить ГА-ГА-ГА.
Займитесь делом , а?
Может какую полезную людям обработку хоть сварганьте, или пустота в голове?
---
Кстати на 1-м скриншоте и есть динамический список на ОФ, так что нужно использовать отборы
---
как? подскажите,..
---
https://helpf.pro/faq/view/866.html - первый вариант
---
что то не получается,может что не так пишу?

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

{Обработка.ОтборПоДоговорам.Форма.Форма.Форма(45)}: Ошибка при установке значения атрибута контекста (Значение)
СправочникСписок.Отбор.Фирма.Значение=ЭлементыФормы.Фирма;
по причине:
Неверный тип значения
---
вот так, пример с УТ 10.3

```1c
    Процедура ОрганизацияПриИзменении(Элемент)
    УстановитьОтбор();
    КонецПроцедуры

    Процедура КонтрагентПриИзменении(Элемент)
    УстановитьОтбор();
    КонецПроцедуры

    Процедура УстановитьОтбор()
    ТабличноеПоле1.Отбор.Сбросить();
    ТабличноеПоле1.Отбор.Организация.ВидСравнения=ВидСравнения.Равно;
    ТабличноеПоле1.Отбор.Организация.Значение=Организация;
    ТабличноеПоле1.Отбор.Организация.Установить();
    ТабличноеПоле1.Отбор.Владелец.ВидСравнения=ВидСравнения.Равно;
    ТабличноеПоле1.Отбор.Владелец.Значение=Контрагент;
    ТабличноеПоле1.Отбор.Владелец.Установить();
    КонецПроцедуры
```
---
фирма выбирается и работает,а контрагент,что то ошибка выходит Поле объекта не обнаружено (Контрагент)
СправочникСписок.Отбор.Контрагент.ВидСравнения=ВидСравнения.Равно;

```1c
    Процедура ФирмаПриИзменении(Элемент)
    УстановитьОтборФирма();

    КонецПроцедуры

    Процедура КонтрагентПриИзменении(Элемент)
    УстановитьОтборКонтрагент();

    КонецПроцедуры

    Процедура УстановитьОтборФирма()
    СправочникСписок.Отбор.Сбросить();
    СправочникСписок.Отбор.Фирма.ВидСравнения=ВидСравнения.Равно;
    СправочникСписок.Отбор.Фирма.Значение=Фирма;
    СправочникСписок.Отбор.Фирма.Установить();
    КонецПроцедуры
    Процедура УстановитьОтборКонтрагент()
    СправочникСписок.Отбор.Контрагент.ВидСравнения=ВидСравнения.Равно;
    СправочникСписок.Отбор.Контрагент.Значение=Контрагент;
    СправочникСписок.Отбор.Контрагент.Установить();
    КонецПроцедуры
```
---
Процедура УстановитьОтборКонтрагент()
СправочникСписок.Отбор.Контрагент.ВидСравнения=ВидСравнения.Равно;
СправочникСписок.Отбор.Контрагент.Значение=Контрагент;
СправочникСписок.Отбор.Контрагент.Установить();
КонецПроцедуры

у договора нет реквизита Контрагент есть реквизит Владелец
---
а все поменяла на владелец))
---
можно и без запроса,мне просто надор вывести все договора по отбору
---
покажите свойства реквизита формы ТабличноеПоле1. На закладке Реквизиты
---
мне надо вот в таком сделать отбор
---
Так у вас заполнилось табличное поле то?
Добавьте реквизиты в табличную часть и в запрос поля и соответствующие из справочника Договоры
И все поля у вас заполнятся
---
все у меня заполнилось,но тк не пойдет
---
можно немного упростить задачу. У табличного поля есть свойство Связь по владельцу , если там указать поле контрагент , то останется сделать только отбор по фирме
---
Уточвните почему не пойдет, Что не так , если все заполнилось?
---
Надо чтобы вид был как в справочнике,и при открытии сразу выводились все данные
---
Я же вам и говорю - создайте в табличной части реквизиты - все которые вы хотите увидеть как в справочнике. И в запросе получите их из справочника. Все на самом деле прозрачно и очень просто , когда поймете этот простой механизм.
---
так и сделала,сказали не пойдет
---
Ясно.
Это типа тестовое задание?
Тогда может условия озвучите?
---
Вывести все договора и установить отбор по фирме и контрагенту
---
Ясно , то есть сначала необходимо увидеть все , а по мере изменений реквизитов - сокращение в табличной части?
Все же и это можно реализовать также в предложенном мной варианте.
У вас текст процедуры с запросом в какой Процедуре лежит?

Запрос немного меняем...
Я правда не знаю что со справочником Фирмы - проверьте правильно ли я его указал

```1c
    ВЫБРАТЬ
    Договоры.Ссылка КАК Ссылка,
    Договоры.Наименование КАК Наименование,
    Договоры.Контрагент КАК Контрагент
    ИЗ
    Справочник.Договоры КАК Договоры
    ГДЕ
    &Контрагент = Значение(Справочник.Контрагенты.ПустаяСсылка) ИЛИ Договоры..Владелец.Ссылка= &Контрагент
    И &Фирма= Значение(Справочник.Фирмы.ПустаяСсылка) ИЛИ Договоры..Фирма = &Фирма
```

Этот запрос выдаст вам все что вам необходимо.
Если будут пустые параметры - выдаст все договоры, а по мере заполнения &Контрагент, &Фирма будет выдавать все меньше.
Его просто необходимо перезапускать при изменении полей с Контрагентом и Фирмой
---
Ну так после изменения Реквизита Контрагент - заполняйте Табличноеполе1 свое.
Данными из запроса обычно с параметром &Контрагент/
---
у меня вот такой запрос есть

```1c
    Процедура НайтиНажатие(Элемент)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Договоры.Ссылка
    |ИЗ
    | Справочник.Договоры КАК Договоры
    |ГДЕ
    |Договоры.Владелец.Ссылка = &Контрагент
    | И Договоры.Фирма = &Фирма";
    Запрос.УстановитьПараметр("Контрагент",Контрагент);
    Запрос.УстановитьПараметр("Фирма",Фирма);
    результатЗапроса=Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.ТабличноеПоле1.Значение=результатЗапроса;
    ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

    КонецПроцедуры
```
---
Выгружать нужно не в элементформы а в реквизит и создавать колонки ни к чему...
---
Выгружать нужно не в элементформы а в реквизит
Не поняла
---
У вас есть реквизит Табличноеполе1
Вот в него и выгружайте результат запроса
В элементы не грузят ничего...
---
Примерно так
  Объект.Табличноеполе1.Загрузить(Запрос.Выполнить().Выгрузить());
Но я не знаю структуры ваших данных
---
Объект.Табличноеполе1.Загрузить(Запрос.Выполнить().Выгрузить());
Метод объекта не обнаружен (Загрузить)
---
сделала вот так,но отбор не работает

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

Кроме того проверяйте чтобы не было пустыми значения параметров запроса.
Вы проверили в отладке результат выгрузки не пустой?
---
так?
Да проверяла,не пустой
---
внимательно посмотрите реквизиты ТабличноеПоле1. Они не соответствует тому, что пытаетесь загрузить. Должны имена полей и типы соответствовать.
---
Вам поговорить не с кем?
Где вы увидели несоответствующие реквизиты-то?
Тем более что все работает ;-))
---
если вы невнимательны, то это ваши проблемы.
Смотрите скрин в шапке. Там ТабличноеПоле1 и даже видна часть реквизитов этого поля. Вот и нужно в запросе получить эти данные и загрузить в реквизит формы ТабличноеПоле1.
---
Вы снова путаете мягкое с теплым!
В шапке одно, в (12), про которое вы пытаетесь встревать совсем другое!!
Может вы научитесь быть внимательным когда-нибудь?
Картинка в шапке ДАВНО неактуальна, ибо ушли от того механизма...
---
это вы пытаетесь увести в сторону. Приплети Табличную часть.
Нужно же просто в запросе получить нужные данные с именами и типами соответствующими реквизитам ТабличноеПоле1 и загрузить в реквизит формы ТабличноеПоле1. Все.
---
Если вы такой Умный, то что ж нету у вас ни одной живой обработки на сайте?
Или вы тут просто потрепаться да поскандалить?
Адреналин потратить?
Польза реальная от вас нулевая к сожалению....
А мой совет работает у человека и не только этот совет...
---
в Москву из Питера можно и через Америку попасть. Только не оптимально.
Чем мой совет в (20) не правильный и польза нулевая?
---
Польза нулевая потому, что после вашего появления в этой теме начался бардак!
Оптимально конечно писать писать писать комментарии и Ничего самому не делать...
Это ж доводить до ума надо, чтоб заработало.... Тут ляпнул и в кусты...
---
Так от Вас обоих пользы нет , либо помогаете либо идете в другую тему выяснять личные отношения
---
Я эту рекомендацию дал еще в (2) посте и если бы вы не устроили тут бардак , вопрос давно решился бы
---
Так если вы выложили свою табличную часть на форму , то после загрузки в нее данных , они сразу появятся на форме
---
да,так и есть,все работает. Но данные надо выводить вот такие как в табличном поле
Так то я могла и просто в список значений вывести
---
И в чем проблемы? Все данные получайте в запросе, только реквизиты создайте у табличного поля соответствующие