Имя: Пароль:
1C
1С v8
1С8.1 Отбор в табличном поле
0 leftmails
 
29.08.12
06:44
Всем привет!
1С8.1
Пожалуйста подскажите как установить отбор в табличном поле (Колонки: Номер,дата,организация,объект)

Пытался как в примере (с вашего сайта):
//установить отбор
ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.Установить(ЗначениеОтбора);

//отключить отбор
ЭлементыФормы.ИмяТабПоля.ОтборСтрок.Колонка1.Установить(,Ложь);

или 2-й вариант:

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


Но выдает ошибку:

{Справочник.Исходящее_письмо.Форма.ФормаСписка(49)}: Поле объекта не обнаружено (ОтборСтрок)
   ЭлементыФормы.СправочникСписок.ОтборСтрок.Колонка1.Значение = ЗначениеОтбора;


Все перепробовал:(
1 Wobland
 
29.08.12
06:54
ЭлементыФормы.Организации.Значение.Отбор.Ссылка.Использование=Истина;
   ЭлементыФормы.Организации.Значение.Отбор.Ссылка.ВидСравнения=ВидСравнения.ВСписке;
   ЭлементыФормы.Организации.Значение.Отбор.Ссылка.Значение=СписокОрганизаций;
2 leftmails
 
29.08.12
07:09
{Справочник.Исходящее_письмо.Форма.ФормаСписка(51)}: Ошибка при установке значения атрибута контекста (Значение): Неверный тип значения
   ЭлементыФормы.СправочникСписок.Значение.Отбор.Ссылка.Значение=ЗначениеОтбора;
по причине:
Неверный тип значения

ЭлементыФормы.СправочникСписок.Значение.Отбор.Ссылка.*****=ЗначениеОтбора;
Меняю **** на название колонки, всеравно:(


{Справочник.Исходящее_письмо.Форма.ФормаСписка(51)}: Поле объекта не обнаружено (Номер)
   ЭлементыФормы.СправочникСписок.Значение.Отбор.Ссылка.Номер=ЗначениеОтбора;
3 Рэйв
 
29.08.12
07:13
(2)
А так?

Таблица1 = ЭлементыФормы.ТаблицаОстатков;
Отбор = Новый Структура;
Отбор.Вставить("НашДолг", 10);
Таблица1.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор);
4 leftmails
 
29.08.12
07:16
{Справочник.Исходящее_письмо.Форма.ФормаСписка(56,29)}: Тип не определен (ФиксированнаяСтруктура)
Таблица1.ОтборСтрок = Новый <<?>>ФиксированнаяСтруктура(Отбор);
5 Wobland
 
29.08.12
07:16
(2) мне нужно было сделать отбор по результату запроса, поэтому я делал отбор по ссылке в списке значений
6 leftmails
 
29.08.12
07:17
Wobland а в моем случае?
7 Wobland
 
29.08.12
07:18
(6) предлагаю так же
8 leftmails
 
29.08.12
07:19
угу, пытался переделать не по ссылке, не получается((
9 leftmails
 
29.08.12
07:20
Wobland а как мне этот результат запроса подготовить?
10 Wobland
 
29.08.12
07:21
(9) СписокКонтрагентов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0));
11 leftmails
 
29.08.12
07:25
А с ЭлементыФормы.ТабличноеПоле.  как выгрузить? он выдает ошибку если делаю по аналогии как у вас:(
12 Wobland
 
29.08.12
07:26
(11) там данные какие?
13 leftmails
 
29.08.12
07:31
Номер, Организация и т.д.

Ура у меня получилось!

   Отобрать = СправочникСписок.Отбор.Номер;
   Отобрать.Значение = "80";
   Отобрать.Использование = Истина;

Всем спасибо!

Wobland подход с запросом интересный, но для меня новичка немного сложновато для понимания:(
14 Wobland
 
29.08.12
07:40
(13) запросы - штуки полезные. подружись с ними
15 leftmails
 
29.08.12
07:43
хорошо,
пожалуйста подскажите литературу где можно подробненько почитать:)
16 Wobland
 
29.08.12
07:46
17 leftmails
 
29.08.12
08:16
Спасибо!

Еще появился вопрос, а как отключить отбор программно?
Иначе получается крякозябла:(
18 Wobland
 
29.08.12
08:17
(17) присвоить что-нибудь в использование
19 leftmails
 
29.08.12
08:21
Не, вот я ставлю отбор по колонкам через поле ввода.
Но потом как отключить, чтоб высветился нормальный список?

Отобрать.Использование = Истина;

В другой процедуре это не поставишь, а хотел сделать. Есть стандартная кнопка "Отключить отбор", а вот программно сделать не хнаю как
20 Wobland
 
29.08.12
08:22
(19) чо? использование у отбора своего табполя можешь менять в любом месте модуля формы
21 leftmails
 
29.08.12
08:29
Ну вот: Полеввода1 тип ссылка на справочник объекты
Событие при изменении:

   ЗначениеОтбора=Строка(ЭлементыФормы.ПолеВвода1.Значение);
   Отобрать = СправочникСписок.Отбор.Объект;    
   Отобрать.Значение = ЗначениеОтбора;
   Отобрать.Использование = Истина;


Затем аналогичное для поле ввода 2 только Поле ввода2 тип Организации

И когда все отобрал, мне нужно чтоб все отборы прекратились.
Делаю:

Процедура Кнопка1Нажатие(Элемент)
   
     Отобрать.Использование = Истина;
   КонецПроцедуры

Но
{Справочник.Исходящее_письмо.Форма.ФормаСписка(79,4)}: Переменная не определена (Отобрать)
     <<?>>Отобрать.Использование = Истина;
22 Wobland
 
29.08.12
08:30
правильно. Отобрать у тебя в этом месте невесть что такое. обратись к элементу формы
23 leftmails
 
29.08.12
08:32
Не сработало:(
ЭлементыФормы.ПолеВвода1.Отобрать.Использование = Ложь;
24 leftmails
 
29.08.12
08:40
Получилось
Отбор.Сбросить()

Всем спасибо!
25 Wobland
 
29.08.12
08:44
(23) что такое Отобрать?
26 leftmails
 
29.08.12
12:21
Отобрать - это мой реквизит - значение отбора, который прописан в событии Поляввода
27 Wobland
 
29.08.12
14:29
(26) не реквизит, а переменная. ты думал, она будет видна за пределами "события Поляввода"?
2 + 2 = 3.9999999999999999999999999999999...