Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как в форме списка при открытии формы отказаться от срабатывания обработчика ПриАктивизацииСтроки?          
gololol Подменю пользователя
сообщение 30.10.20, 21:52
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 0 раз
Рейтинг: 0

Доброго врениени суток.

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


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

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

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

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

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

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

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


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


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

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


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

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

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


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

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


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

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

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

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

Буду признателен, если кто-то подскажет решение.

Сообщение отредактировал Vofka - 31.10.20, 10:03

Vofka Подменю пользователя
сообщение 31.10.20, 10:01
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

    Сообщить("Ссылк: " + ТД.Ссылка);
    
КонецПроцедуры

gololol Подменю пользователя
сообщение 31.10.20, 12:53
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Сегодня, 10:01 * ,

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

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

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


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

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

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


Vofka Подменю пользователя
сообщение 31.10.20, 16:08
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

?
И какое тогда нужное?

gololol Подменю пользователя
сообщение 31.10.20, 18:08
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Сегодня, 16:08 * ,
Не знаю.
Мне было сказано, что у формы есть такое событие.
Я посмотрел их все.
Ничего не нашёл...

Vofka Подменю пользователя
сообщение 01.11.20, 10:02
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

gololol, есть обработчик ПриАктивизацииСтроки, который срабатывает, как не странно, при активизации строки. Он вам как бы подходит, но не всегда. Что вы хотите сделать - непонятно.

gololol Подменю пользователя
сообщение 03.11.20, 12:43
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ 01.11.20, 10:02 * ,
Приношу свои извинения.
Это ложный путь.
Надо обрабатывать событие ТабличноеПоле.ПриАктивизацииСтроки

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 15:10
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!