Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 июн 2022, 08:53

Перехват события выделения табличного поля

Автор kolshik, 05 окт 2018, 11:39

0 Пользователей и 1 гость просматривают эту тему.

kolshik

Есть такая проблема, может кто сталкивался и может помочь решить её. Есть документ, на документе расположено два табличных поля и поле картинки. В табличные поля добавляется номенклатура и соответственно выбранной номенклатуре (строки в табличном поле)  выводится изображение этой номенклатуры. Всё действие обрабатывается событием формы ОбновлениеОтображения и событиями табличных полей ПриАктивизацииСтроки. Всё работает замечательно, но проблема заключается в том, что в каждом табличном поле по умолчанию выбрана уже строка и при щелчке на уже выбранной строке в табличном поле не обрабатывается ни одно событие, а соответственно не меняется изображение, а меняется только при щелчке на другую строчку. К сожалению в 1С нет обработки событий ПолучениеФокуса или щелчки мышью, что крайне неудобно. Может кто нашёл решение как обойти это?

MuI_I_Ika

Формы управляемые?

Просто при открытии формы нужно так же актуализировать картинку и все.

kolshik

Цитата: MuI_I_Ika от 05 окт 2018, 11:46
Формы управляемые?

Просто при открытии формы нужно так же актуализировать картинку и все.

Формы обычные. При открытии все работает, не работает при переходе из одного табличного поля в другое и только при выборе уже выделенной строки

AIFrame

Показать при открытии можно по событию ПриОткрытии.
Если ТЧ находятся внутри Панели и каждая ТЧ на своей странице в этой Панели, то у панели есть событие ПриСменеСтраницы. В этом событии ты выясняешь, какая страница сейчас у тебя активна и для ее ТЧ выводишь картинку из ТекущиеДанные.

kolshik

Цитата: AIFrame от 05 окт 2018, 12:00
Показать при открытии можно по событию ПриОткрытии.
Если ТЧ находятся внутри Панели и каждая ТЧ на своей странице в этой Панели, то у панели есть событие ПриСменеСтраницы. В этом событии ты выясняешь, какая страница сейчас у тебя активна и для ее ТЧ выводишь картинку из ТекущиеДанные.
Так будет работать, но все ТЧ должны быть на одной странице. Пока вижу только один выход, сделать для каждой ТЧ своё изображение

LexaK

простую вещь все пропускают, что бы работало так как планирует автор, достаточно всего лишь, при активизации строки в одной таблице, сбрасывать активные строки в другой таблице!
тогда все элементарно получается, у вас на форме две ТЗ в одной из них выделенная строка и для нее выведена картинка, вы кликаете в другую ТЗ там активизируется строка (срабатывает событие активизации) выводится картинка,
при этом в предыдущей ТЗ активная строка сбрасывается.
вот небольшая тестовая обработка с демонстрацией этого механизма.
если помогло сказать: Спасибо!

AIFrame

Просто работать оно будет именно что только ПриАктивизацииСтроки. Если в ТЧ выгрузить запрос и попытаться ВыделенныеСтроки.Очистить() - ничего не выйдет. И мы снова получаем выделенную строку в ТЧ, которая при нажатии на себя ничего не сделает.
Добавлено: 05 окт 2018, 14:31


Хотя попробовал на твоей обработке - вроде работает. Только сбрасывает текущую строку на активизацию по дефолту (первая строка последней ТЧ в обходе отрисовки). Главное, что это событие сбрасывает строку во второй ТЧ. С одной ТЧ на форме оно не работает от слова совсем, но тут не тот случай.

LexaK

AIFrame, все то-же самое работает и для ТЧ (проверено)
если помогло сказать: Спасибо!

kolshik

Цитата: LexaK от 05 окт 2018, 13:48
простую вещь все пропускают, что бы работало так как планирует автор, достаточно всего лишь, при активизации строки в одной таблице, сбрасывать активные строки в другой таблице!
тогда все элементарно получается, у вас на форме две ТЗ в одной из них выделенная строка и для нее выведена картинка, вы кликаете в другую ТЗ там активизируется строка (срабатывает событие активизации) выводится картинка,
при этом в предыдущей ТЗ активная строка сбрасывается.
вот небольшая тестовая обработка с демонстрацией этого механизма.
Спасибо!!! Все работает как надо, искал способ убрать выделение в свойствах ТЗ, а про метод Очистить запамятовал  :dfbsdfbsdf:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск