Имя: Пароль:
IT
Админ
1с 8.2 Кнопка "Найти" в форме списка
0 kuza_87
 
04.06.13
19:18
Здравствуйте, уважаемые друзья!!! У меня возник очень интересный вопрос, в котором не могу разобраться.  Я написал обработку для форм списка, которые подсчитывает показатели объектов (например устанавливаю какой-либо отбор и обработка показывает количество элементов, которые входят в этот отбор). Но если я делаю отбор стандартной кнопкой "найти" то обработка не работает(показывает количество объектов такое же, как и было до того как я сделал "найти"), так как отбор эта команда не устанавливает. Отловить событие отладчиком не удалось, так как это стандартный механизм платформы. Подскажите пожалуйста, что происходит при нажатии кнопки найти, где и какие отборы устанавливаются, и можно ли это как-нибудь связать со стандартной командой "отбор"(настроить список).
1 whitedi
 
04.06.13
19:26
При нажатии срабатывает "механизм платформы". Связать "найти" с отбором не получиться.
2 kuza_87
 
04.06.13
19:33
Так ведь и отбор - это тоже стандартный механизм платформы
3 degot
 
04.06.13
19:37
(0) ничего не получится, штатный поиск это вещь в себе
4 whitedi
 
04.06.13
19:38
(2) в отбор дин списка можно программно влезть, в "найти" никак не влезешь.
5 Drac0
 
04.06.13
19:52
(0) если нужно подсчитать строки, то только пробежать по всем строкам и проверять методом ПроверитьСтроку().
6 kuza_87
 
04.06.13
19:54
У меня не только строки считает, но и из элементов справочников берет одно значение
7 Drac0
 
04.06.13
19:56
(6) а разницы? если строка соответсвует отбору, бери, если нет - дальше иди.
8 kuza_87
 
04.06.13
19:59
так в том то и дело, что если делаем отбор кнопкой "найти" то никакого отбора не происходит. Смотрел в отладке - у списка не появляется никаких отборов. Юзеры (гады) хотят чтобы и кнопка отбор была, и чтобы кнопка найти тоже было(я вообще её хотел сначала убрать)
9 Drac0
 
04.06.13
20:03
(8) метод ПроверитьСтроку() проверяет строку на соответствие установленным фильтрам, в том числе и через найти. а вот событие отловить да, нельзя.
10 kuza_87
 
04.06.13
21:15
не понял. как при помощи этого метода получить то что я хочу? Проверяю в отладчике Список.Отбор = нифига. Хотя в "найти" я задал параметры
11 kuza_87
 
04.06.13
21:20
выкладываю код:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
   ПараметрыФормы = Новый Структура("Тип,Отбор,Список",
   ПараметрыВыполненияКоманды.Источник.ИмяФормы,
   ПараметрыВыполненияКоманды.Источник.Список.Отбор,
   ПараметрыВыполненияКоманды.Источник.Список);
   
   ОткрытьФорму("ОбщаяФорма.дт_Итоги", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры
12 kuza_87
 
04.06.13
21:22
потом открывается форма и происходят вычисления. то есть по сути нужно добавить в отбор который создается в структуре, отбор из "найти"
13 kuza_87
 
04.06.13
21:53
А методом ПроверитьСтроку() пробовал пользоваться. динамический список в цикле не хочет перебираться, говорит что итератор для значения не определен
14 Drac0
 
04.06.13
22:39
(13) упс, для дс это реально не прокатит.
15 kuza_87
 
05.06.13
06:15
Создал тему на форуме 1с
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=613192#613192

Ничего не получится с моей задумкой(((
16 1Сергей
 
05.06.13
07:23
пичалька
17 ИС-2
 
naïve
05.06.13
07:51
(0) вижу пока только перехватить нажатие ctrl-F и выполянть аналогичный запрос.

Либо ход конем. Добавить колонку в которой будут значения 1, под список добавить итог и попробывать его. Но тут не понятно какой список - динамический? Если да, то можно сделать группировку в ресурсе которого будет сумма однерок.
18 1Сергей
 
05.06.13
08:13
(17) поиск происходит не только по ctrl-F. можно встать на колонку и начать набирать текст.
19 kuza_87
 
05.06.13
09:53
Тема закрыта. Убедил клиента что эта задача нереальная. Всем спасибо!