|
Почему программа перестает реагировать, и даже отладку нельзя отключить | ☑ | ||
---|---|---|---|---|
0
Бюро пиявок
28.09.13
✎
21:02
|
//Общий модуль ПроверкаПользователя: Модуль
&НаСервере Функция ПроверитьПользователя() Экспорт СтатусПользователя = Новый Структура("Админ, ВыбралОбед"); //Пользов = ПользователиИнформационнойБазы.ТекущийПользователь().Имя; Пользов = ОпределитьПользователя().Имя; НайденЛи = Справочники.Пользователи.НайтиПоНаименованию(Пользов); Если НайденЛи = Справочники.Пользователи.ПустаяСсылка() Тогда НовыйСправочник = Справочники.Пользователи.СоздатьЭлемент(); НовыйСправочник.Администратор = ПользователиИнформационнойБазы .ТекущийПользователь().Роли.Содержит(Метаданные.Роли.Админ); НовыйСправочник.Наименование = Пользов; НовыйСправочник.Записать(); Сообщить("Создан новый пользователь"); Возврат НовыйСправочник.Администратор; КонецЕсли; Админ = ПользователиИнформационнойБазы.ТекущийПользователь().Роли.Содержит(Метаданные.Роли.Админ); ВыбралЛиОбед = Ложь; ТекДата = НачалоДня(ТекущаяДата()); Выборка = Справочники.ОбедыПользователей.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Дата = ТекДата Тогда ВыбралЛиОбед = Истина; Прервать; КонецЕсли; КонецЦикла; СтатусПользователя.Админ = Админ; СтатусПользователя.ВыбралОбед = ВыбралЛиОбед; Возврат СтатусПользователя; КонецФункции Функция ОпределитьПользователя() Экспорт Возврат ПользователиИнформационнойБазы.ТекущийПользователь(); КонецФункции //УчебноеЗадание:Модуль управляемого приложения Перем ТекПользователь Экспорт; &НаКлиенте Процедура ПриНачалеРаботыСистемы(Отказ) //ТекПользователь = ПроверкаПользователя.ОпределитьПользователя().Имя; Если НЕ ПроверкаВремени.РабочееЛиВремя() Тогда Предупреждение("Вы пришли не вовремя", , "Предупреждение"); ЗавершитьРаботуСистемы(); Возврат; КонецЕсли; СтатусПользователя = ПроверкаПользователя.ПроверитьПользователя(); Админ = СтатусПользователя.Админ; ВыбралОбед = СтатусПользователя.ВыбралОбед; Если НЕ (Админ ИЛИ ВыбралОбед) Тогда ОткрытьФорму("Обработка.ОбработкаВыборОбеда.Форма"); КонецЕсли; КонецПроцедуры Решил добавить к существующему модулю управляемого приложения строчку ТекПользователь = ПроверкаПользователя.ОпределитьПользователя().Имя; Если в модуле управляемого приложения на этой строчке поставить точку останова, то программа на этой строчке остановится. Нажимаем F11. Переходим в общий модуль Проверка пользователя, и попадаем на строчку: Возврат ПользователиИнформационнойБазы.ТекущийПользователь(); Нажимаем F11 - попали на конец функции. Еще раз F11. Открывается 1С: Предприятие. Курсор превращается в бублик (Занят). Программа не реагирует на управление. При этом в Конфигураторе я не могу остановить отладку. Т.е. у меня нет возможности. Там в меню Отладка опять предлагается Начать отладку. И нигде нет остановки отладки. Был бы очень признателен за совет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |