Как поймать событие при выборе элемента в форме списка? #117214


#0 by LobS
Есть справ2 в котром есть ссылка на справ1 (справочники не подчиненные). В форме списка Справ1 повесил таблицу значений в которой доолжны отражаться элементы справ2 с отбором по ссылке на справ1 (Написал функцию). Как теперь перемещаясь по элементам справ1 в форме списка перерисовывать ТЗ? Куда засунуть эту функцию?
#1 by КонецЦикла
Невидимый текст с функцией не пойдеть?
#2 by LobS
Не понял вопрос
#3 by Sasha
Ну чего тут непонятного, вешаешь на форму текстовый реквизит с формулой, содеражщей функцию, которая будет срабатывать при переходе по строкам ТЗ, но есть ограничение, она не будет срабатывать при переходе по столбцам ТЗ в пределах одной строки...
#4 by LobS
Получилось, но мне нужно еще перемещаться по строкам ТЗ, а при выборе строки ТЗ текущей упорно остается первая строка ТЗ. Как от этого избавиться?
#5 by Defender aka LINN
ТекущаяСтрока(НужнаяСтрока) не спасет отца русской демократии?
#6 by КонецЦикла
2 При выборе - это как? Просто перерисовывай ТЗ зановоЗЫ. ниасилил
#7 by Макс 1С
у тебя функция на форме... потоянно перерисовывает ТЗ, поэтому в ТЗ всегда перваяСтрока, как только ты переходишь к второй строке, твоя функция снова перерисовывает ТЗ и опять строка =1.... поставь в функцию заполняющую ТЗ условие...
#8 by LobS
В отладчике вижу, что при выборе другой строки ТЗ функция перерисовывает ТЗ. Условие наложить так и не смог (если можно помогите). Но вот только я думаю, что такое построение формы может быть и неправильное, т.к. знаю что элементов справ1 будет несколько 10 тыс., соотв-но справ2 еще больше. Наверника при таком объеме все будет тормозить. Если это так, то может существует другой выход показа "связей" двух справочников?
#9 by Макс 1С
чего непонятного?Если ТекущийЭлемент <> СтарыйЭлемент ТогдаКонецЕсли;" Но вот только я думаю, что такое построение формы может быть и неправильное, т.к. знаю что элементов справ1 будет несколько 10 тыс., соотв-но справ2 еще больше." - это ты так придумал, кто же знает какие у тебя там условия задания.. телепаты в отпуске....в ТЗ все равно же будет только относящиеся к текущемуэлементу
#10 by LobS
Да писал я так, не работает, короче:
#11 by zak
Перем СтарыйЭлемент; - вынеси за пределы функции
#12 by LobS
Вынес, теперь это не переменная функции, а всего модуля - бесполезно!??
#13 by zak
+СтарыйЭлемен=МатЛЗК; заменить на ...СтарыйЭлемент=МатЛЗК;
#14 by LobS
Спасибо за подсказку ошибки, но тот же результат
#15 by Макс 1С
последнее время у вопрощающих появилась болезнь.... как можно чаще использовать =Функция ПоказатьМатериалыЭстим  Перем СтарыйЭлемент; - это должна быть ГЛОБАЛЬНАЯ переменная модуля... это проблема элементарно отлавливается в отладчике.....
#16 by zak
Значит условие СтарыйЭлемент<>МатЛЗК всегда верно..В отладчике посмотри чему равно СтарыйЭлемент и МатЛЗК при активизации тз на форме
#17 by Макс 1С
+15... вот такой код должен получиться..
#18 by LobS
Ничего из не работает, сделал так:
#19 by zak
тоже вариант :)
#20 by zak
(+19) но неэффективно...лучше как было, только найди в чем ошибка... возможно СтарыйЭлемент по разному написан в объявлении переменной и в теле функции (например "С" или "е" - в анг. раскладке)
#21 by LobS
С раскладной все нормально. Почему не эффективно? Ответьте на . В отладчике вижу, что если меняю уровень иерархии, то функция пересчитывает все элементы на данном уровне, если в пределах уровня просто меняю элемент, то пересчитывает только этот элемент. Если отключен режим вывода списка по группам пересчитывает тоже только один элемент, если сохраняю редактированный элемент пересчитывает весь справочник. Что же будет когда таких элементов будет 10 - 100 тыс?
#22 by Макс 1С
не может быть.... должно работать...
#23 by Макс 1С
не понял как соотносится показ элементов спраочника 2 в ТЗ со сменой иерархии в справочнике 1...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С