Обработчик события вызывается на сервере при получении стандартной формы клиентского приложения. Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.
Синтаксис
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)Полное описание, параметры и ограничения
РегистрБухгалтерииМенеджер.<Имя регистра бухгалтерии>.ОбработкаПолученияФормы (AccountingRegisterManager.<Accounting register name>.FormGetProcessing)
РегистрБухгалтерииМенеджер.<Имя регистра бухгалтерии> (AccountingRegisterManager.<Accounting register name>)
ОбработкаПолученияФормы (FormGetProcessing)
Доступен, начиная с версии 8.2.
Синтаксис:
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)
Параметры:
<ВидФормы>
Тип: Строка.
Имя стандартной формы.
<Параметры>
Тип: Структура.
Параметры формы.
<ВыбраннаяФорма>
Тип: Строка, ОбъектМетаданных: Форма.
Содержит имя открываемой формы или объект метаданных Форма.
Если значение параметра изменено, то будет осуществлен поиск формы в пределах объекта, для которого открывается форма.
<ДополнительнаяИнформация>
Тип: Структура.
Дополнительная информация открытия формы.
Структура, содержащая поле ПовторноеИспользование (Reuse) типа Булево, которое указывает, кешируется ли форма на стороне клиента.
<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет (выбираются установленные разработчиком форма и параметры).
Значение по умолчанию: Истина.
Описание:
Обработчик события вызывается на сервере при получении стандартной формы клиентского приложения.
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Выбрать альтернативную форму УчебныйУчетЗапросов
Платформа запрашивает стандартную форму собственного объекта, а менеджер выбирает реально созданную альтернативу. Запросы других видов форм остаются стандартными.
Где и как запускать
Модуль менеджера собственного объекта: серверный платформенный обработчик без директив. Дополнительный блок — клиентская команда другой учебной формы.
Подготовка
В собственной пустой учебной конфигурации создайте план счетов УчебныеСчетаЗапросов: строковый код 10, максимум субконто 0. В предопределенных данных добавьте Актив (код УЧ-А, вид Активный) и Пассив (код УЧ-П, вид Пассивный), оба не забалансовые. Обновление учебной базы должно создать их как данные.
Создайте регистр бухгалтерии УчебныйУчетЗапросов с планом УчебныеСчетаЗапросов и включенной Корреспонденцией. Длина уточнения периода 3, итоги включены. Измерения: Организация (Строка 20, Балансовый Истина), Подразделение (Строка 20, Балансовый Ложь).
Ресурсы регистра: Сумма (Число 15.2, Балансовый Истина), Количество (Число 10.0, Балансовый Ложь). Признаки учета для ресурсов не назначайте: в этой учебной схеме они используются для обоих счетов. Реквизит регистра Комментарий (Строка 100). Общие реквизиты и субконто для этой партии не нужны.
Создайте документ УчебнаяПроводкаЗапросов с разрешенным проведением и автонумерацией. Реквизиты: СчетДебета и СчетКредита (ПланСчетовСсылка.УчебныеСчетаЗапросов), Организация (Строка 20), ПодразделениеДебета и ПодразделениеКредита (Строка 20), Сумма (Число 15.2), КоличествоДебета и КоличествоКредита (Число 10.0), Комментарий (Строка 100).
В движениях документа УчебнаяПроводкаЗапросов включите регистр УчебныйУчетЗапросов, чтобы документ стал его регистратором. Обработчик проведения и проводки здесь не нужны: урок только открывает список регистра.
У РегистрБухгалтерии УчебныйУчетЗапросов создайте две управляемые формы одного подходящего вида: ОсновнаяУчебная и УчебнаяАльтернатива. Для ФормаСписка назначьте основной только ОсновнаяУчебная; УчебнаяАльтернатива не должна быть основной.
Для списочных объектов используйте мастер формы списка с его обычным основным реквизитом. Для перечисления создайте формы выбора, для обработки / отчёта — соответствующие основные формы. У альтернативы задайте заголовок Альтернативная учебная форма и добавьте такую же текстовую декорацию.
В модуле менеджера УчебныйУчетЗапросов разместите основной обработчик целиком. Не вызывайте в нём ОткрытьФорму и не размещайте его в модуле самой формы.
Обновите учебную базу. В своей внешней обработке с управляемой формой создайте команду ОткрытьУчебнуюФорму; её клиентский обработчик возьмите из дополнительного блока. Списки могут быть пустыми: этот урок ничего не создаёт и не записывает.
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаСписка" Тогда
ВыбраннаяФорма = "УчебнаяАльтернатива";
СтандартнаяОбработка = Ложь;
ДополнительнаяИнформация.Вставить("ПовторноеИспользование", Ложь);
КонецЕсли;
КонецПроцедурыВнешняя учебная обработка: клиентский запрос стандартной формы
&НаКлиенте
Процедура ОткрытьУчебнуюФорму(Команда)
ОткрытьФорму("РегистрБухгалтерии.УчебныйУчетЗапросов.ФормаСписка");
Сообщить("Запрошена стандартная форма; её имя выбирает модуль менеджера");
КонецПроцедурыРазбор по шагам
Клиент запрашивает ФормаСписка через ОткрытьФорму; обработчик вызывается платформой на сервере.
Только для указанного вида назначается имя УчебнаяАльтернатива в пределах данного объекта метаданных.
СтандартнаяОбработка = Ложь применяет собственный выбор. ПовторноеИспользование = Ложь отключает повторное использование формы для этого запроса, а не кэш всей платформы.
Как проверить результат
Открылась форма с заголовком Альтернативная учебная форма, хотя клиент запросил стандартное имя.
Запрос другого стандартного вида не переопределяется. При прямом открытии именованной формы этот обработчик стандартного выбора не следует использовать как универсальный перехват.
Ожидаемый результат
Событие менеджера выбирает конкретную существующую форму своего объекта.
На что обратить внимание
Имя альтернативы локально для объекта метаданных; нельзя указать в ВыбраннаяФорма полный путь формы другого объекта.
Не вызывайте повторное получение стандартной формы внутри обработчика: это может повторно вызвать тот же выбор.
Открытие списка не создаёт записей и не является проверкой выполнения бухгалтерского или расчётного кода.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.