Обработчик события вызывается на сервере при получении стандартной формы клиентского приложения. Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.
Синтаксис
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)Полное описание, параметры и ограничения
ВнешнийИсточникДанныхТаблицаМенеджер.<Имя внешнего источника>.<Имя таблицы внешнего источника данных>.ОбработкаПолученияФормы (ExternalDataSourceTableManager.<External source name>.<External data source table name>.FormGetProcessing)
ВнешнийИсточникДанныхТаблицаМенеджер.<Имя внешнего источника>.<Имя таблицы внешнего источника данных> (ExternalDataSourceTableManager.<External source name>.<External data source table name>)
ОбработкаПолученияФормы (FormGetProcessing)
Доступен, начиная с версии 8.3.1.
Синтаксис:
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)
Параметры:
<ВидФормы>
Тип: Строка.
Имя категории стандартной формы.
<Параметры>
Тип: Структура.
Параметры формы.
<ВыбраннаяФорма>
Тип: Строка, ОбъектМетаданных: Форма.
Содержит имя открываемой формы или объект метаданных Форма.
Если значение параметра изменено, то будет осуществлен поиск формы в пределах объекта, для которого открывается форма.
<ДополнительнаяИнформация>
Тип: Структура.
Дополнительная информация открытия формы.
Структура, содержащая поле ПовторноеИспользование (Reuse) типа Булево, которое указывает, кешируется ли форма на стороне клиента.
<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет (выбираются установленные разработчиком форма и параметры).
Значение по умолчанию: Истина.
Описание:
Обработчик события вызывается на сервере при получении стандартной формы клиентского приложения.
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:
Доступен, начиная с версии 8.3.1.
Методическая информация
Практические примеры
Разобрать событие собственной внешней таблицы: выбор своей формы
Обработчик находится в точно названном модуле своей таблицы УчебныеКниги. Подготовленные поля, ключи и действие пользователя задают реальный источник события.
Где и как запускать
Названный модуль собственной внешней таблицы Карточки / Строки; подключение только к подготовленной GuideExternalBooks.
Подготовка
Только собственный локальный SQL Server и отдельная учебная база 1С без рабочих внешних источников. SQL-блок выполните вручную в SSMS своего экземпляра: он создаёт новую GuideExternalBooks и две собственные таблицы. Если имя уже занято, существующую базу не удаляйте и не заменяйте.
В ODBC Data Sources разрядности серверного процесса 1С создайте собственный System DSN GuideOwnBooks: ваш localhost SQL Server, база GuideExternalBooks, Windows-аутентификация. Пользователь серверного процесса 1С должен иметь доступ только к этой учебной базе. Настройте нормальное доверие сертификату драйвера, проверку TLS не отключайте.
В Конфигураторе создайте ВнешниеИсточникиДанных → УчебныеКниги, автоматическое управление блокировками. Таблица Карточки: имя dbo.lesson_items, тип ОбъектныеДанные, ТолькоЧтение Ложь; Код=book_id Строка20, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, ПоляКлюча и ПоляБлокировкиДанных — Код, представление — Название.
Таблица Строки: имя dbo.lesson_lines, тип НеобъектныеДанные, ТолькоЧтение Ложь; Урок=lesson_id Строка20, Номер=line_no Число9.0, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, поля ключа / блокировки — Урок и Номер именно в этом порядке.
У собственной объектной таблицы Карточки мастером создайте управляемую форму объекта УчебнаяКарточка. Основной код — модуль менеджера этой таблицы.
Откройте существующую BOOK-1 штатной командой редактирования из списка, а не явным вызовом формы по её конкретному имени.
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаОбъекта" Тогда
ВыбраннаяФорма = "УчебнаяКарточка";
СтандартнаяОбработка = Ложь;
Сообщить("Выбрана собственная форма внешней карточки");
КонецЕсли;
КонецПроцедурыВручную в своём SSMS: новая собственная SQL-база, не BSL
CREATE DATABASE GuideExternalBooks;
GO
USE GuideExternalBooks;
GO
CREATE TABLE dbo.lesson_items (
book_id nvarchar(20) NOT NULL PRIMARY KEY,
title nvarchar(100) NOT NULL,
quantity numeric(9,0) NOT NULL
);
CREATE TABLE dbo.lesson_lines (
lesson_id nvarchar(20) NOT NULL,
line_no numeric(9,0) NOT NULL,
title nvarchar(100) NOT NULL,
quantity numeric(9,0) NOT NULL,
PRIMARY KEY (lesson_id, line_no)
);
INSERT INTO dbo.lesson_items VALUES (N'BOOK-1', N'Учебная книга', 3);
INSERT INTO dbo.lesson_lines VALUES (N'LESSON-1', 1, N'Учебная строка книги', 3);Разбор по шагам
Подготовьте только собственный SQL-источник с точными полями и ключами.
Назначьте обработчик нужному модулю объекта / набора / менеджера, не произвольной форме.
Выполните указанное действие на своей строке и отличайте изменение в памяти от записи и завершения транзакции.
Как проверить результат
Для стандартной категории ФормаОбъекта выбрана действительно созданная у своей таблицы форма. Для других категорий стандартное поведение сохранено.
ВыбраннаяФорма ищется в пределах собственной таблицы. Ключ существующей строки из Параметры не подменяется.
Ожидаемый результат
Событие связано с собственной существующей внешней таблицей и конкретным пользовательским / программным вызовом.
На что обратить внимание
Рабочие SQL-источники не используются; копия закрывается без сохранения, демонстрационное удаление своей строки с положительным количеством должно быть отклонено.
Модуль менеджера, модуль объекта, модуль набора и модуль формы имеют разные события; их сигнатуры не смешиваются.
SQL и BSL здесь не запускались, соединения к SQL агентом не открывались; факт исполнения 1С не подтверждён.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.