Системные предопределенные процедуры предназначены для того, чтобы дать возможность программно обрабатывать системные события, возникающие при интерактивных действиях пользователя, таких как ввод нового, изменение, удаление. Исключение составляют только предопределенные процедуры Модуля документа: ОбработкаПроведения, ОбработкаУдаленияПроведения, АрхивироватьДокумент, которые вызываются как при интерактивном, так и при программном возникновении события.
ВНИМАНИЕ! Системные предопределенные процедуры не являются встроенными процедурами языка. Для них зарезервированы только название и синтаксис. Тело процедур должно быть написано самим разработчиком конфигурации в соответствующих программных модулях.
Вызов системных предопределенных процедур (если они использованы в конфигурации) производится неявно самой системой 1С:Предприятие перед обработкой какого-либо интерактивного действия пользователя, например, при вводе нового документа. В этот момент система передает в предопределенную процедуру фактические значения параметров. В теле процедур переданные параметры могут использоваться для обработки события, например, выдачи предупреждающих сообщений, установки статуса возврата и т. п.
С помощью системной функции СтатусВозврата в теле предопределенной процедуры можно устанавливать значение статуса возврата процедуры. Статус возврата используется системой, чтобы определить — выполнить или нет действие того системного события, которое вызвало данную предопределенную процедуру.
Предопределенные процедуры Глобального модуля
Описанные в данном разделе системные предопределенные процедуры должны располагаться только в глобальном программном модуле. Данные процедуры, например, могут использоваться для расширения возможности программного управления правами доступа пользователя к системе.
ПриНачалеРаботыСистемы
Предопределенная процедура при начале работы задачи.
Синтаксис:
ПриНачалеРаботыСистемы()
Англоязычный синоним:
OnStartSystem
Описание:
Вызов предопределенной процедуры ПриНачалеРаботыСистемы производится системой 1С:Предприятие неявно при начале работы с программой. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если время доступа данного пользователя к системе истекло), то пользователь не сможет войти в программу.
Данная предопределенная процедура может располагаться только в глобальном программном модуле.
Пример:
Процедура ПриНачалеРаботыСистемы()
Курс = Константа.ОсновнаяВалюта.Текущ_Курс.Получить(ТекущаяДата();
Предупреждение("Добро пожаловать! Сегодня " + " " + ТекущаяДата() +
РазделительСтрок + "Сейчас установлен курс доллара=" + Курс), 7);
КонецПроцедуры
Процедура ПриЗавершенииРаботыСистемы()
Предупреждение("До свидания !", 2);
КонецПроцедуры
Процедура ПриУдаленииДокумента(Док, Реж)
Если НазваниеНабораПрав() = "Продавец" Тогда
Если (Док.Вид() = "РасходнаяНакл") И (Реж = 1) Тогда
Предупреждение("У вас нет права удалять накладную!", 2);
СтатусВозврата(0);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриУдаленииЭлемента(Элем, Реж)
Если НазваниеНабораПрав() = "Продавец" Тогда
Если (Элем.Вид() = "Товар") И (Реж = 1) Тогда
Предупреждение("У вас нет права удалять Товар!", 2);
СтатусВозврата(0);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua