ТаблицаФормы.ПриАктивизацииПоля

События · OnActivateField

Вызывается при активизации поля, расположенного в колонке таблицы.

Синтаксис

ПриАктивизацииПоля()
Полное описание, параметры и ограничения

ТаблицаФормы.ПриАктивизацииПоля (FormTable.OnActivateField)

ТаблицаФормы (FormTable)

ПриАктивизацииПоля (OnActivateField)

Доступен, начиная с версии 8.2.

Синтаксис:
ПриАктивизацииПоля()
Описание:

Вызывается при активизации поля, расположенного в колонке таблицы.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент).

Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.
Использование в версии:

Доступен, начиная с версии 8.2.

Описание изменено в версии 8.3.15.

Методическая информация

Практические примеры

ПриАктивизацииПоля: собственная управляемая таблица

Клиентское событие ПриАктивизацииПоля обновляет сведения по текущей собственной строке. Серверные процедуры не вызываются.

Где и как запускать

Модуль своей управляемой формы; клиентское событие элемента, серверная подготовка отдельно.

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой и запускайте в тонком клиенте (кроме отдельного мобильного урока).

  2. Реквизиты формы: Товары (ТаблицаЗначений), Статус (Строка 200), ИтогКоличество (Число 10.0), РазрешитьУдаление (Булево), ЗапретитьСворачивание (Булево). Выведите статус, итог и оба флажка.

  3. У таблицы Товары колонки Наименование (Строка 100), Количество (Число 10.0), Фиксирована (Булево). Имя элемента таблицы — Товары, данные / путь — Товары; разрешите интерактивное редактирование строк.

  4. Основной обработчик назначьте указанному событию элемента Товары, не событию формы. Первый параметр Элемент уже включён в процедуру; платформа передаёт его автоматически.

  5. Каждый урок проверяйте в отдельном варианте своей формы. Не объединяйте повторяющиеся процедуры подготовки и обработчики с одинаковыми именами.

  6. Колонки реквизита ТаблицаЗначений создайте в редакторе реквизитов формы до добавления элемента-таблицы. На клиенте это данные формы, а не серверный объект ТаблицаЗначений.

&НаКлиенте
Процедура ТоварыПриАктивизацииПоля(Элемент)
    Данные = Элемент.ТекущиеДанные;
    Если Данные = Неопределено Тогда
        Статус = "Нет текущей строки";
    Иначе
        Статус = Данные.Наименование + ": " + Строка(Данные.Количество);
    КонецЕсли;
    Сообщить(Статус);
КонецПроцедуры
Та же управляемая форма: отдельная серверная процедура подготовки
&НаСервере
Процедура ЗаполнитьТоварыНаСервере()
    Товары.Очистить();
    СтрокаТовара = Товары.Добавить();
    СтрокаТовара.Наименование = "Книга";
    СтрокаТовара.Количество = 2;
    СтрокаТовара.Фиксирована = Ложь;
    СтрокаТовара = Товары.Добавить();
    СтрокаТовара.Наименование = "Ручка";
    СтрокаТовара.Количество = 3;
    СтрокаТовара.Фиксирована = Истина;
    РазрешитьУдаление = Ложь;
    ЗапретитьСворачивание = Истина;
    ИтогКоличество = 5;
    Статус = "Готово";
КонецПроцедуры
Назначить событию формы ПриСозданииНаСервере
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ЗаполнитьТоварыНаСервере();
    Сообщить("Собственная таблица подготовлена");
КонецПроцедуры

Разбор по шагам

  1. Подготавливаем настоящую собственную таблицу / список и назначаем точное событие.

  2. Параметры после Элемент соответствуют установленной справке конкретного типа.

  3. Клиентское событие ПриАктивизацииПоля обновляет сведения по текущей собственной строке. Серверные процедуры не вызываются.

Как проверить результат

  1. Переходите между ячейками / полями книг и ручек: статус показывает текущую строку.

  2. Это активизация, не завершение редактирования и не запись.

Ожидаемый результат

Событие работает с собственными данными и реально заданным источником действия.

На что обратить внимание

  1. Не вызывайте обработчики событий вручную: проверяйте указанное пользовательское действие.

  2. События активизации, наведения, раскрытия и смены родителя не должны вызывать серверные методы формы.

  3. Обычная и управляемая формы имеют разные API; не переносите между ними элементы и процедуры без адаптации.

  4. Таблица значений хранит данные формы, не записывает их в регистр автоматически.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.