Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по Таблице значений на Управляемой форме 1С 8.3

Вопрос по Таблице значений на Управляемой форме 1С 8.3
Я
   ivamailh
 
09.04.19 - 10:04
Добрый день, коллеги.
Просветите, пожалуйста, по такому вопросу, если кто знает:

Есть таблица значений (таблица формы) на управляемой форме (внешняя обработка).
В этой таблице есть возможность при помощи стандартной команды "Найти" отобрать строки по какому то условию.
Каким образом можно вывести в подвал по определенной колонке сумму только по видимым строкам? Я нашел бы как решить вопрос, но никак не могу сообразить, каким обработчиком можно обработать (перехватить) событие этого самого стандартного "Найти". Вот, например, сортировка перехватывается обработчиком "ПриИзменении", а поиск никак не могу перехватить...

Заранее спасибо.
 
 
   Ns33
 
1 - 09.04.19 - 11:43
Видимые, насколько  знаю, ты никак не получишь. Я что-то подобное делал, но по выделенным.

&НаСервере
Процедура Команда1НаСервере()
Для  каждого Элемент  Из  элементы.Список.ПодчиненныеЭлементы Цикл
            ПутьКДанным=Элемент.ПутьКДанным;
            ИмяРеквизита=Сред(ПутьКДанным,8)//Из "Список.Дата" получаем "Дата"

        
            
            Если ИмяРеквизита="Дата"  или ИмяРеквизита="Номер" Тогда
                Продолжить;
            КонецЕсли;  
            ИмяДок=Сред(ЭтаФорма.Список.ОсновнаяТаблица,10)//тут напр "РеализацияТоваровУслуг"

            
            ТипРекв=Строка(метаданные.документы[ИмяДок].Реквизиты[ИмяРеквизита].Тип);
            Если ТипРекв <>"Число" Тогда
                Продолжить;
            КонецЕсли;  
            
            Сум=0;
            Для каждого Док Из элементы.Список.ВыделенныеСтроки Цикл
                Сум=Сум+Док[ИмяРеквизита];
            КонецЦикла;  
            Элемент.ТекстПодвала=  ОбщегоНазначения.ФорматСумм(Сум);
            Элемент.ГоризонтальноеПоложениеВПодвале=ГоризонтальноеПоложениеЭлемента.Право;
        КонецЦикла;  
КонецПроцедуры
   sqr4
 
2 - 09.04.19 - 12:00
Пока кроме подключения обработчика ожидания с постоянным перерасчетом в голову ничего не приходит
   sqr4
 
3 - 09.04.19 - 12:01
Вероятнее всего приАктивизации строки тоже сработает
   fisher
 
4 - 09.04.19 - 12:10
Тоже подумал про события ПриАктивизации...
Если и они не срабатывают - тогда идей нет.
   fisher
 
5 - 09.04.19 - 12:12
(1) Можно через ПроверитьСтроку()
   sqr4
 
6 - 09.04.19 - 12:26
   Ns33
 
7 - 09.04.19 - 12:43
(5) ПроверитьСтроку() - это для определения соответствует ли отбору строка; в данном случает проще весь список в ТЗ выгрузить, и там подсчитать.
   ivamailh
 
8 - 09.04.19 - 13:41
(3) (4) ПриАктивизации пробовал - не срабатывает
   ivamailh
 
9 - 09.04.19 - 14:05
(2) Скорее всего, только так, или свой поиск вместо стандартного
   ivamailh
 
10 - 09.04.19 - 15:42
А люди берутся сделать - http://1clancer.ru/offer/taskId=44405
Заказчик не я, просто наткнулся. Спросить бы у них - как они собираются это реализовать?
С обработчиком ожидания сделал, но совершенно не комильфо, если открывать поиск через "Ещё", то заметно лагает, "Ещё" постоянно закрывается. После осуществления Поиска или Отмены Поиска видна задержка при пересчёте.
 
 Рекламное место пустует
   1Сергей
 
11 - 09.04.19 - 17:15
А на ОФ это проще делалось, кажысь
   Вафель
 
12 - 09.04.19 - 17:16
вроде доступа к "найти" нет совсем
   sqr4
 
13 - 09.04.19 - 17:31
(10) убирать итоги из формы и вешать кнопку которая будет считать, так и пользователи не запутаются и от обработчика ожидания можно будет уйти
   sqr4
 
14 - 09.04.19 - 17:34
ХОтя тоже не вариант
   ivamailh
 
15 - 09.04.19 - 17:56
(13) С кнопкой понятно. Но это уж совсем крайний случай. Совсем не комильфо.
   Вафель
 
16 - 09.04.19 - 17:57
(15) а как ты по кнопке найдешь все отборы "найти" ?
   Вафель
 
17 - 09.04.19 - 17:57
Хотя если ctrl+A нажать, то можно
   sqr4
 
18 - 09.04.19 - 17:58
(16) А там через проверитьСТроку
   fisher
 
19 - 11.04.19 - 09:17
(7) ПроверитьСтроку() - единственный способ идентифицировать отобранные строки.
   ivamailh
 
20 - 17.04.19 - 10:10
Написал в службу поддержки 1С. Попытались отфутболить - не согласился. Интересно, что-нибудь ответят по существу? Подождём.
   Новиков
 
21 - 17.04.19 - 11:01
(17) Событие ПриАктивизацииСтроки() на Ctrl+A не срабатывает ни в таблице, ни в динамическом списке, и поэтому ВыделенныеСтроки все равно нужно будет проверять в обработчике ожидания.

(20) итоги в таблице по отборам и (или) выделенным - это давняя тема. На текущий момент спасает только обработчик ожидания. Но ответ напиши, интересно что ответят.
   Garykom
 
22 - 17.04.19 - 11:18
Свою кнопку вместо стандартной команды "Найти" можно навесить?
   ivamailh
 
23 - 17.04.19 - 14:15
С обработчиком ожидания и с ПроверитьСтроку() всё получилось хорошо, не глючит теперь, считает, правда, с небольшой задержкой, но это ладно. Меня теперь эта тема интересует в большей степени по вопросу очистки условий поиска (отбора). Таблица значений, где производится поиск, находится на странице формы (назовём страницей 2), при возврате к другой странице (к странице 1) страница 2 (где таблица значений и поиск) закрывается. При выборе какого то значения на странице 1, страница 2 опять открывается, заново пересчитывается/выводится таблица значений, а предыдущее условие поиска то остаётся... Если снова нажать Ctrl-F и Отменить поиск, то всё работает нормально, ну или  если перед закрытием Страницы 2 Отменить поиск, то, соответственно, всё работает, а вот если забыть. Вот как это условие поиска очистить? Уже и в Условном оформлении всё прочесал, и во всех Хранилищах был. Безрезультатно, не нашёл. Остаётся только полностью форму открыть/закрыть. Но это же неправильно.
   Cyberhawk
 
24 - 17.04.19 - 14:17
Поиск - он для пользователя, а не разработчика
   ivamailh
 
25 - 18.04.19 - 10:19
(24) Да, но задача разработчика сделать его удобным.
   Сияющий в темноте
 
26 - 18.04.19 - 15:54
я делал через две таблицы-одна с данными,но пользователю не видна,а вторая на морде,при отборе,чтобы там пользователь в отбор не напихал,шуруем на сервер и запросом строим в видимую на основе невидимой и показываем.
   Cyberhawk
 
27 - 18.04.19 - 18:48
(25) Тогда только кастом


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует