Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как в форме списка при открытии формы отказаться от срабатывания обработчика ПриАктивизацииСтроки?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
gololol
Доброго врениени суток.

1С:Предприятие 8.3 (8.3.10.2667)
Толстый клиент
Обычное приложение


Есть объект конфигурации Документ1

Поле: Дата
Поле: Номер

Табличная часть: Товары
Поле: Номенклатура
Поле: Цена
Табличная часть здесь ненужна.

Есть ТабличноеПоле: ДокументСписок

На этом табличном поле отображены поля:
Дата, Номер

Есть две записи в таблице

номер дата
000000001 01.07.2018 21:07:44
000000002 02.07.2018 22:17:35


Задача получить с помощью клика левой кнопки мыши ссылку на запись.


Пример рализации этой задачи.
ТабличноеПоле: ДокументСписок имеет обработчик события - ПриАктивизацииСтроки см. ниже:

Процедура ДокументСписокПриАктивизацииСтроки(Элемент)
    
    Ссылка = ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка;
    Сообщить("Ссылк: " + Ссылка);
    
КонецПроцедуры


Проблема в том, что при открытии формыСписка после обработчка ПриОткрытии()
срабатывает обработчик события ДокументСписокПриАктивизацииСтроки() и
происходит ненужное выполнение обработчика события.

Проблему, конечено, можно решить таким образом:
Перем пСтарт;

Процедура ПриОткрытии()
    пСтарт = Истина;
КонецПроцедуры


Процедура ДокументСписокПриАктивизацииСтроки(Элемент)
    
    Если пСтарт Тогда
        пСтарт = Ложь;
    Иначе
        Ссылка = ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка;
        Сообщить("Ссылк: " + Ссылка);
    КонецЕсли;
    
КонецПроцедуры

Но это не правильное решение.


Необходимо реализовать подобную обработку с помощью обработчика события Формы.

Этот обработчик лишен указанного выше недостатка и переменная пСтарт просто ненужна.

Обработчиков ФормыСписка всего 13:
ПередОткрытием()
...
ПриСменеСтраницы()

Внимтельно изучил и опробовал все, ничего не нашёл.

Буду признателен, если кто-то подскажет решение.
Vofka
Процедура ДокументСписокПриАктивизацииСтроки(Элемент)
    
    ТД = ЭлементыФормы.ДокументСписок.ТекущиеДанные;
    Если ТД = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Сообщить("Ссылк: " + ТД.Ссылка);
    
КонецПроцедуры
gololol
Vofka @ Сегодня, 10:01 необходимо зарегистрироваться для просмотра ссылки ,

После обработчика ПриОткрытии()

выполняется обработчик ДокументСписокПриАктивизацииСтроки(Элемент)

ТД = ЭлементыФормы.ДокументСписок.ТекущиеДанные;


После этой строки ТД <> Неопределено

поэтому при открытии формыСписка обработчик

ДокументСписокПриАктивизацииСтроки(Элемент) отрабатывет полность.

Vofka
gololol, а что значит
Цитата(gololol @ 30.10.20, 21:52) необходимо зарегистрироваться для просмотра ссылки
ненужное выполнение обработчика события

?
И какое тогда нужное?
gololol
Vofka @ Сегодня, 16:08 необходимо зарегистрироваться для просмотра ссылки ,
Не знаю.
Мне было сказано, что у формы есть такое событие.
Я посмотрел их все.
Ничего не нашёл...
Vofka
gololol, есть обработчик ПриАктивизацииСтроки, который срабатывает, как не странно, при активизации строки. Он вам как бы подходит, но не всегда. Что вы хотите сделать - непонятно.
gololol
Vofka @ 01.11.20, 10:02 необходимо зарегистрироваться для просмотра ссылки ,
Приношу свои извинения.
Это ложный путь.
Надо обрабатывать событие ТабличноеПоле.ПриАктивизацииСтроки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.