СтандартнаяОбработка в процедуре ПриСозданииНаСервере

1. Gleb_Varlamov 28.03.19 16:17 Сейчас в теме
Всем доброго времени суток.
Товарищи программисты, подскажите, пожалуйста, для чего служит параметр СтандартнаяОбработка в процедуре ПриСозданииНаСервере у формы? В целом ее предназначение понятно - она отменяет стандартное поведение. Довольно часто сталкивался с этим в ОбработкаПолученияПредставления, ОбработкаПолученияФормы и тд. Но что именно она отменяет в форме, при ее создании?
По теме из базы знаний
Найденные решения
12. spacecraft 28.03.19 19:25 Сейчас в теме
(1) помимо доступных обработчиков формы есть еще служебные (системные). Они не доступны напрямую. В данном случае после выполнения обработчика ПриСозданииНаСервере происходит привязка и настройка параметров формы.
К примеру:
Есть формаВыбора справочника. Для списка параметр "ВыборГруппИЭлементов" установлен в Элементы.
Переопределяем в коде:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.Список.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы; // тут конкретные значения можно через параметры получать и устанавливать.
КонецПроцедуры

Все вроде хорошо. Вызываем эту форму и... выбор элементов доступен. Как будто ничего в коде и не писали.

Теперь изменяем код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Элементы.Список.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы; // тут конкретные значения можно через параметры получать и устанавливать.
КонецПроцедуры

И теперь выбор элементов стал недоступен.
Gleb_Varlamov; +1 Ответить
14. spacecraft 28.03.19 20:17 Сейчас в теме
(13) видимость это основные параметры. СтандартнаяОбработка отвечает больше за настройку параметров на закладке "Использование".
Gleb_Varlamov; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. spacecraft 28.03.19 19:25 Сейчас в теме
(1) помимо доступных обработчиков формы есть еще служебные (системные). Они не доступны напрямую. В данном случае после выполнения обработчика ПриСозданииНаСервере происходит привязка и настройка параметров формы.
К примеру:
Есть формаВыбора справочника. Для списка параметр "ВыборГруппИЭлементов" установлен в Элементы.
Переопределяем в коде:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.Список.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы; // тут конкретные значения можно через параметры получать и устанавливать.
КонецПроцедуры

Все вроде хорошо. Вызываем эту форму и... выбор элементов доступен. Как будто ничего в коде и не писали.

Теперь изменяем код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Элементы.Список.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы; // тут конкретные значения можно через параметры получать и устанавливать.
КонецПроцедуры

И теперь выбор элементов стал недоступен.
Gleb_Varlamov; +1 Ответить
13. Gleb_Varlamov 28.03.19 20:01 Сейчас в теме
(12) Спасибо за подробный ответ! Проверил, действительно так и есть. Также следующий код:
 СтандартнаяОбработка = ложь;
	Элементы.Список.РазрешитьВыборКорня = истина;


работает только, если СтандартнаяОбработка =ложь;

Попробовал сделать
 Элементы.Список.Видимость = Ложь 
, СтандартнуюОбработку оставил без изменений (истина), но список не виден. С чем это связано? Хотя Ваш пример работает исправно в зависимости от значения СтандартнаяОбработка.

Получается, если брать в пример Список формы, то это актуально для тех свойств, что выделены на скриншоте?
Прикрепленные файлы:
14. spacecraft 28.03.19 20:17 Сейчас в теме
(13) видимость это основные параметры. СтандартнаяОбработка отвечает больше за настройку параметров на закладке "Использование".
Gleb_Varlamov; +1 Ответить
15. spacecraft 28.03.19 20:31 Сейчас в теме
(13)
Получается, если брать в пример Список формы, то это актуально для тех свойств, что выделены на скриншоте?

Более подробно не подскажу. Можете сами проверить на какие свойства срабатывает.
Мне главное знать особенность использования.
Gleb_Varlamov; +1 Ответить
16. user1468592 08.02.22 17:47 Сейчас в теме
если установить СтандартнаяОбработка в значение Ложь, то в этом случае событие произойдет, но стандартные действия системы, например ПоУстановкеНовогоКода не будут выполнены.
o — это принципиальное отличие от параметра Отказ
• если мы устанавливаем параметр Отказ в Истину, то действия вообще не произойдет, и будет выдана ошибка
2. VmvLer 28.03.19 16:28 Сейчас в теме
почитайте синтаксис помощник.

если вопрос будет актуальным, то, извините, это как 2*2 = 4
3. Gleb_Varlamov 28.03.19 16:42 Сейчас в теме
(2)Синтаксис:

ПриСозданииНаСервере(<Отказ>, <СтандартнаяОбработка>)
Параметры:

<Отказ>

Тип: Булево.
Признак отказа от создания формы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то форма создана не будет.
Значение по умолчанию: Ложь.
<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Значение по умолчанию: Истина.
Описание:

Возникает на сервере при создании формы.

--------------

Это я уже читал. Вопрос был, что подразумевается под "стандартной обработкой события" именно в процедуре ПриСозданииНаСервере. Что она отменяет.
Дмитрий74Чел; +1 Ответить
4. Boneman 298 28.03.19 16:51 Сейчас в теме
интересный вопрос.
А если стандартную поставить в ложь, то следующее событие "ПриОткрытии" - будет отрабатывать ?
5. VmvLer 28.03.19 17:03 Сейчас в теме
Вопрос был, что подразумевается под "стандартной обработкой события" именно в процедуре ПриСозданииНаСервере. Что она отменяет.


Событие "создание формы" и именно это событие будет отменено.

будем дальше учить таблицу умножения или вы немного задумаетесь?
6. Boneman 298 28.03.19 17:29 Сейчас в теме
(5)
Событие "создание формы" и именно это событие будет отменено.

а как же параметр "отказ" ? Это именно про него написано
<Отказ> 

Тип: Булево. 
Признак отказа от создания формы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то форма создана не будет. 
Значение по умолчанию: Ложь. 
Дмитрий74Чел; +1 Ответить
8. Xershi 1490 28.03.19 17:46 Сейчас в теме
(5) наверно речь идет о том, что отказ это завершение работы формы.
А вот стандартная обработка, это отказ от выполнения процедуры.
Дальше все идет как обычно.
Единственное, а что же такого особенного эта процедура выполняет? Это же не модуль.
Или это для расширений сделано?
Возможно какие-то оповещения не так отработают?
9. Gleb_Varlamov 28.03.19 18:23 Сейчас в теме
(8) Именно это у меня и вызывает вопрос. Если установить СтандартнаяОбработка = Ложь по сути дальше все идет, как обычно. Даже в ПриОткрытии попадает.
10. Xershi 1490 28.03.19 18:28 Сейчас в теме
(9) так правильно дальше и работает.
Вопрос в другом, на этапе при создании, какие такие стандартные обработки то выполняются. Я про такие не слышал.
11. Gleb_Varlamov 28.03.19 18:36 Сейчас в теме
(10) Вот и мне интересно. Ранее не задумывался про это, а сегодня столкнулся вновь.
Сначала подумал, что если мы в процедуре ПриСозданииНаСервере изменяем видимость элементов формы, или, например, устанавливаем Этаформа.ТолькоПросмотр = Истина; , предварительно не выставив СтандартнаяОбработка = Ложь, то изменения не учтутся. Но, как выяснилось СтандартнаяОбработка на это не влияет, они учтутся в любом случае.
7. VmvLer 28.03.19 17:31 Сейчас в теме
наш диалог похож на беседу двух ботов нулевого уровня

вот, я нашел в БД как "съехать" с этого порожняка

"я устал - я ухожу"
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот