Помогите пожалуйста разобраться в сценарии управления для реализации автоматического взятия раздела при условии выхода из зоны пользователя.
Исходный код прилагаю. Я только начал разбираться с языком сценариев, и поэтому есть небольшие затруднения в реализации задачи.
Главное понять принцип. Заранее благодарю за отзыв.
- Спойлер
- СЦЕНАРИЙ
НАЧАЛОСЦЕНАРИЯ
Переменные
Перем ЗоныДоступа1;
Перем ЗонаДоступа1;
Перем Разделы1;
Перем Раздел1;
Перем Компьютер1;
Перем Компьютеры1;
Перем РабочиеМеста1;
Перем РабочееМесто1;
Перем Событие1;
НачалоСценария
Попытка
Компьютеры1 = СоздатьОбъект( "Компьютеры" );
Компьютер1 = Компьютеры1.ПолучитьПоИд(2);
РабочиеМеста1 = Компьютер1.РабочиеМеста();
РабочееМесто1 = РабочиеМеста1.ПолучитьПоТипуСетевогоМеста("Ядро");
Событие1 = ПолучитьСобытие();
ЗоныДоступа1 = СоздатьОбъект( "ЗоныДоступа" );
Если не ПустоеЗначение( ЗоныДоступа1 ) Тогда
Разделы1 = РабочееМесто1.Разделы();
Если не ПустоеЗначение( Разделы1 ) Тогда
Раздел1 = Разделы1.ПолучитьПоИД( 76 );
ЗонаДоступа1 = ЗоныДоступа1.ПолучитьПоИД( 1 );
Если Не ПустоеЗначение( Событие1 ) Тогда
Если Не ПустоеЗначение( Событие1.Событие() ) Тогда
Если Не ПустоеЗначение( Событие1.ЗонаДоступа() ) Тогда
Если Не ПустоеЗначение( Событие1.Пароль() ) Тогда
Если Не ПустоеЗначение( Событие1.Пароль().Сотрудник() ) Тогда
Если не ПустоеЗначение( ЗонаДоступа1 ) Тогда
Если (Событие1.Событие().ИД()==32) Тогда
Если не ПустоеЗначение( РабочееМесто1.Сотрудники() ) Тогда
Сотрудник2 = РабочееМесто1.Сотрудники().ПолучитьПоИД( 492 );
Если не ПустоеЗначение( Сотрудник2 ) Тогда
Если не ПустоеЗначение( Раздел1 ) Тогда
Раздел1.Взять();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Исключение Сообщить("Произошло исключение ",0); КонецПопытки;
КОНЕЦСЦЕНАРИЯ