Отмена отбора строк таблицы на форме.

1. t955938 11.12.17 09:35 Сейчас в теме
Добрый день Знатоки!

Разместил таблицу значений на управляемой форме (Тонкий клиент). Заполняю таблицу программно.
На форме делаю отбор строк:


Элементы.Таблица.ОтборСтрок = Новый ФиксированнаяСтруктура("Машрут", Машрут);


Хочу отменить отбор:


&НаКлиенте
Процедура МашрутОчистка(Элемент, СтандартнаяОбработка)
Элементы.Таблица.ОтборСтрок = Неопределено;
Элементы.Таблица.Обновить();
КонецПроцедуры


Но отбор не отменяется.
Подскажите, пожалуйста как очистить отбор строк.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Alexey_ 26 11.12.17 10:18 Сейчас в теме
(1) из СП: Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.
11. spacecraft 11.12.17 11:16 Сейчас в теме
(1)
Процедура МашрутОчистка(Элемент, СтандартнаяОбработка)

Уверены, что этот обработчик вызывается? Он не будет вызываться, если просто удалить текст в данном поле. Он будет вызываться только по соответствующей кнопке или по Shift+F4.
Если он вызывается, то смотрите дополнительно вызываемые обработчики.
Элементы.Таблица.Обновить(); это лишнее. Может вызывать дополнительные обработчики, в которых сами же и занесли наложение отбора.
2. t955938 11.12.17 09:50 Сейчас в теме
Пробовал:


Элементы.Таблица.ОтборСтрок = Новый ФиксированнаяСтруктура;



Не отключается!
4. t955938 11.12.17 10:25 Сейчас в теме
Пробовал:


Элементы.Таблица.ОтборСтрок = Неопределено;

Элементы.Таблица.ОтборСтрок = Новый ФиксированнаяСтруктура;



НЕ РАБОТАЕТ!!!
5. t955938 11.12.17 10:28 Сейчас в теме
Пробовал:


Элементы.Таблица.ОтборСтрок.Машрут = Неопределено;

Исчезают все строки. А хочу чтобы были видны все строки, без отбора.
6. DarkUser 11.12.17 10:32 Сейчас в теме
Скорее всего у вас где то в коде происходит изменение таблицы, возможно очистка. Проверьте код отладчиком.
7. t955938 11.12.17 10:42 Сейчас в теме
Не происходит.
Если я присваиваю ОтборСтрок.Машрут другое значение, то отбор по новому значению отображается. Но избавиться от отбора не могу.
8. DarkUser 11.12.17 10:45 Сейчас в теме
(7) А если так:

ФОтбор = Новый ФиксированнаяСтруктура("Маршрут",Неопределено);
Элементы.Таблица.ОтборСтрок = ФОтбор;
9. t955938 11.12.17 10:53 Сейчас в теме
Не работает.

Пробовал даже так:

Для каждого Эл Из Элементы.Заказы.ОтборСтрок Цикл
Эл = Неопределено;
КонецЦикла;

Не работает.

Просто очищается таблица. Пока снова не укажу значение отбора.
10. DarkUser 11.12.17 10:54 Сейчас в теме
(9) В свойствах самой формы дополнительные отборы не накладывали? Попробуйте сбросить настройки формы на стандартные.
12. t955938 11.12.17 11:27 Сейчас в теме
Этот обработчик вызывается при нажатии на кнопку.

Чтобы разобраться с проблемой я создал новую форму. Заполнил ее произвольными (не ссылочными) значениями. И добавил кнопки отбора. Так работает:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Строка = Таблица.Добавить();
Строка.Названия = "Видно";
Строка.Видимость = Истина;

Строка = Таблица.Добавить();
Строка.Названия = "Не видно";
Строка.Видимость = Ложь;

Строка = Таблица.Добавить();
Строка.Названия = "Видно";
Строка.Видимость = Истина;

Строка = Таблица.Добавить();
Строка.Названия = "Не видно";
Строка.Видимость = Ложь;

Строка = Таблица.Добавить();
Строка.Названия = "Видно";
Строка.Видимость = Истина;

//Таблица.Загрузить(Запрос.Выполнить().Выгрузить().Скопировать());
КонецПроцедуры

&НаКлиенте
Процедура Отбор(Команда)
Элементы.Таблица.ОтборСтрок = Новый ФиксированнаяСтруктура("Видимость", Истина);
КонецПроцедуры

&НаКлиенте
Процедура УдалитьОтбор(Команда)
Элементы.Таблица.ОтборСтрок = Неопределено;
КонецПроцедуры

Остается понять, чем отличается реальная форма от примерчика.
Obertone; +1 Ответить
13. t955938 11.12.17 11:27 Сейчас в теме
Большое спасибо всем участникам форума!!!!
14. TiK 17 03.02.21 17:37 Сейчас в теме
Попробуйте так:
1. Отбор
Элементы.ТаблицаДокумента.ОтборСтрок = Новый ФиксированнаяСтруктура(НовыйСтруктура("Параметр1, Параметр2", Истина, Истина));

2. Отмена отбора
Элементы.ТаблицаДокумента.ОтборСтрок = Новый ФиксированнаяСтруктура(НовыйСтруктура(" , ", , ));


У меня работает.
15. TSSV 1145 23.06.23 12:53 Сейчас в теме
На сегодняшний день работает вот так:

Элементы.Документы.ОтборСтрок = Неопределено;
16. Archer161 09.08.23 15:50 Сейчас в теме
Беда в том, что, даже если сработает очистка - после очистки опять заходит в "При изменении" и заполняет отбор пустым значением. Поэтому надо так:

Если ЗначениеЗаполнено(Маршрут) Тогда
        Элементы.Таблица.ОтборСтрок = Новый ФиксированнаяСтруктура("Машрут", Машрут);
Иначе
        Элементы.Таблица.ОтборСтрок = Неопределено;
КонецЕсли;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот