Имя: Пароль:
1C
1С v8
Отбор в форме списка документа
0 mataranga
 
19.01.17
11:09
Доброе

В форме списка документа есть колонка Колонка1 с типом строка
на форме поле ввода тип строка
нужно сделать отбор в списке

пишу


Отбор.Колонка1.ВидСравнения = ВидСравнения.Содержит;
Отбор.Колонка1.Значение = Текст;
Отбор.Колонка1.Использование = Истина;

Ошибка при установке значения атрибута контекста (ВидСравнения)
Отбор.Колонка1.ВидСравнения = ВидСравнения.Содержит;
по причине:
Недопустимый тип сравнения
1 mataranga
 
19.01.17
12:03
как лучше отбор в форме списка сделать
2 bplmeddy
 
19.01.17
12:08
Значение переменной "Текст" как передаёш  ?
3 bplmeddy
 
19.01.17
12:09
Сильно подозреваю что в этом как раз и ошибка. Правильно так:
Текст = ЭлементыФормы.ПолеВвода.Значение;
4 mataranga
 
19.01.17
12:22
Процедура ПолеВвода1ОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
    
Отбор.СвязанныеДокументы.ВидСравнения = ВидСравнения.Равно;
Отбор.СвязанныеДокументы.Значение = Текст;
Отбор.СвязанныеДокументы.Использование = Истина;

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


в отладчике Текст это строка
5 oslokot
 
19.01.17
12:29
Лучше воспользоваться средствами типовых конфигураций, например
ОтборыСписковКлиентСервер.ИзменитьЭлементОтбораСписка
6 bplmeddy
 
19.01.17
12:29
Вот тебе пример как я делал поиск в ФормеСписка справочника. Возможно поможет.

ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
    Наим = ЭлементыФормы.Поиск.Значение;
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Код,
                   |    Номенклатура.Наименование
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.Код ПОДОБНО ""%" + Наим + "%""
                   |    ИЛИ Номенклатура.Наименование ПОДОБНО ""%" + Наим + "%""
                   |    ИЛИ Номенклатура.ТаблицаСовместимости.ПартНомер ПОДОБНО ""%" + Наим + "%"" ";
                   Запрос.УстановитьПараметр("Наим",Наим);
    Номера = Новый СписокЗначений;
    Номера.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Код"));
    Если Номера = Неопределено Тогда
        Возврат
    Иначе
        Если НЕ ЭлементыФормы.Поиск.Значение = Неопределено Тогда
            ЭтаФорма.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.ВСписке;
            ЭтаФорма.СправочникСписок.Отбор.Код.Значение = Номера;
            ЭтаФорма.СправочникСписок.Отбор.Код.Использование = Истина;
            Иначе ЭтаФорма.СправочникСписок.Отбор.Код.Использование = Ложь;    
        КонецЕсли;
    КонецЕсли;
7 mataranga
 
19.01.17
12:41
попробовал
ОтборыСписковКлиентСервер.ИзменитьЭлементОтбораСписка(ЖурналДокументовСписок,"СвязанныеДокументы",Текст,Истина,ВидСравнения.Содержит);

пишет
{ОбщийМодуль.ОтборыСписковКлиентСервер.Модуль(71)}: Поле объекта не обнаружено (Элементы)
    УдалитьЭлементОтбораКоллекции(Список.Отбор.Элементы, ИмяПоля);



попробовал

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


{ЖурналДокументов.РасчетныеДокументыБанк.Форма.ФормаСписка.Форма(167)}: Ошибка при установке значения атрибута контекста (ВидСравнения)
            ЭтаФорма.ЖурналДокументовСписок.Отбор.СвязанныеДокументы.ВидСравнения = ВидСравнения.Содержит;
по причине:
Недопустимый тип сравнения
8 Ёпрст
 
19.01.17
12:44
(7)  а чего, СвязанныеДокументы - это Строка у вас ?
Может, это всё же там ссылка валяется на  документ ?
9 mataranga
 
19.01.17
12:52
Простите дурака, в форме списка журнала документов была создана колонка СвойстваДокумента (Тип Строка), задавая вопрос я неверно скопировал название СвязанныеДокументы и сам на этом попался... сейчас другая проблема, созданной колонки нет в ЭтаФорма.ЖурналДокументовСписок.Отбор почему?
10 mataranga
 
19.01.17
12:54
То есть была форма списка, к ней я добавил колонку с типом текст, как сделать чтобы ее в отборах видно было? Связей с данныими у нее нет
11 Ёпрст
 
19.01.17
12:55
(9) дык добавь
12 bplmeddy
 
19.01.17
12:55
(10) А она через меню формы списка "Размещение Данных" включена?
13 Ёпрст
 
19.01.17
12:56
самое простое, создать графу журнала
14 bplmeddy
 
19.01.17
12:56
Мне уже самому интересно. Сейчас попробую сотворить что-нить похожее, отпишусь.
15 mataranga
 
19.01.17
12:57
в графе журнала мне не к чему привязаться, это колонка заполняется запросом при выводе строки
16 Ёпрст
 
19.01.17
12:58
(15) зачет ага.
И каким образом отбор должен знать, что отбирать тогда ?
17 mataranga
 
19.01.17
12:59
дак я же ему скажу :D
18 Ёпрст
 
19.01.17
13:02
(17) подумай, что есть отбор.
19 Ёпрст
 
19.01.17
13:04
Можно сделать, только своим отбором, разместив тупо поле ввода и его обработку на форме, по которой выполнится запрос, отберутся нужные документы и этот список воткнётся в штатный отбор по ссылке с типом сравнения в списке.
20 mataranga
 
19.01.17
13:04
(19) вариант
21 bplmeddy
 
19.01.17
13:05
Всё получилось, очень просто и с первого раза =)
У дока есть реквизит "Тестовый", он выведен в форме списка дока, отбор производится

Процедура ПолеТестПриИзменении(Элемент)
    Текст = ЭлементыФормы.ПолеТест.Значение;
    ЭтаФорма.ДокументСписок.Отбор.Тестовый.ВидСравнения = ВидСравнения.Содержит;
    ЭтаФорма.ДокументСписок.Отбор.Тестовый.Значение = Текст;
    ЭтаФорма.ДокументСписок.Отбор.Тестовый.Использование = Истина;
КонецПроцедуры
22 bplmeddy
 
19.01.17
13:09
23 bplmeddy
 
19.01.17
13:10
24 Ёпрст
 
19.01.17
13:11
(21,22) Почитай внимательнее тему.
25 bplmeddy
 
19.01.17
13:14
(24) В форме списка документа есть колонка Колонка1 с типом строка
на форме поле ввода тип строка
нужно сделать отбор в списке

И что сделано не так ? Есть форма списка дока, в ней колонка с типом строка. Есть необходимость фильтровать доки по этой колонке согласно значению введённом в поле ввода, на форме списка. По моему всё так и сделано, не ?
26 mataranga
 
19.01.17
13:14
У меня реквизита у домкуентов нет
27 mataranga
 
19.01.17
13:15
то есть эта колонка безсвязная, она формируется при выводе строки формы списка, соответственно я не могу просто отбор сделать, Епрст верно натолкнул меня что так не получится
28 Ёпрст
 
19.01.17
13:20
(25) Не. Читай.
29 bplmeddy
 
19.01.17
13:26
(28) Уже понял.