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

Учебные задачи

Вызывается при нажатии на правую кнопку мыши или клавишу меню на клавиатуре, на ячейке или рисунке, содержащей значение расшифровки. Показать собственную расшифровку ячейки.

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

Клиентский модуль собственной управляемой формы. Элемент передаёт платформа; дополнительный блок — отдельный серверный обработчик создания.

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой. Реквизиты формы: Статус (Строка 200), Счетчик (Число 10.0), РазрешитьСохранение (Булево). Выведите Статус и РазрешитьСохранение на форму.

  2. Основной обработчик назначается событию указанного элемента Образец, а не событию формы. Код вставляется на уровне модуля формы с директивой НаКлиенте. Дополнительный серверный блок назначьте событию формы ПриСозданииНаСервере.

  3. Открывайте обработку в настольном тонком клиенте. Каждый урок проверяйте в отдельном варианте формы; HTML показывает код, но не исполняет его.

  4. Добавьте реквизит УчебныйДокумент типа ТабличныйДокумент и элемент Образец вида ПолеТабличногоДокумента, путь к данным УчебныйДокумент. У поля Редактирование Истина и Защита Ложь; ячейка A1 разрешена для интерактивного редактирования.

  5. В свойствах элемента Образец → События назначьте ОбработкаДополнительнойРасшифровки процедуре ОбразецОбработкаДополнительнойРасшифровки. Подготовка использует текущую сигнатуру установленной справки плюс неявный параметр Элемент управляемой формы.

&НаКлиенте
Процедура ОбразецОбработкаДополнительнойРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры, ВсеРасшифровкиОбласти, ДляПанелиДействий)
    СтандартнаяОбработка = Ложь;
    Статус = "Код учебной ячейки: " + Строка(Расшифровка);
    Сообщить(Статус);
КонецПроцедуры
Подготовить собственное содержимое формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Счетчик = 0;
    РазрешитьСохранение = Ложь;
    Статус = "Готово";
    Документ = Новый ТабличныйДокумент;
    Ячейка = Документ.Область(1, 1);
    Ячейка.Текст = "Книга";
    Ячейка.Расшифровка = "УЧЕБНЫЙ-КОД";
    Ячейка.Защита = Ложь;
    УчебныйДокумент = Документ;
    Элементы.Образец.Редактирование = Истина;
    Элементы.Образец.Защита = Ложь;
    Элементы.Образец.Вывод = ИспользованиеВывода.Разрешить;
КонецПроцедуры

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

  1. Дополнительный серверный блок создаёт собственные данные, элемент подготовлен в редакторе формы.

  2. Платформа вызывает назначенный обработчик вследствие действия пользователя; процедуру с придуманными параметрами вручную не вызываем.

  3. Обработчик меняет только явно названные данные своей формы или параметры текущего события.

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

  1. Для A1 с Расшифровка УЧЕБНЫЙ-КОД двойной щелчок или Enter вызывает обычную расшифровку; правая кнопка или клавиша меню — дополнительную.

  2. Выводится переданный код, не номер строки и не ссылка из другой конфигурации. Дополнительная расшифровка не запускает стандартное контекстное действие.

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

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

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

  1. Настольный тонкий клиент — контекст этого урока. Доступность и порядок событий в веб- и мобильном клиентах могут отличаться.

  2. Код не открывает внешние страницы, не отправляет сообщения и не обращается к рабочим документам.

  3. Свойство СтандартнаяОбработка и параметр Отказ имеют разные назначения: первый заменяет стандартное действие, второй отменяет операцию.

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

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

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

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

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