[quote author=АЛьФ link=1213630555/0#3 date=1213643691]А я так ни чего странного не вижу. Я такие ошибки каждый день по нескольку раз ловлю. Иногда даже систему вышибает.
2(0) Ты уж как-то попробуй описать когда и в связи с чем это у тебя возникает.[/quote]
вот: [code] Процедура глПароль() Экспорт Перем НашлиПользователя; НашлиПользователя=0; Пароль=""; ОткрытьФормуМодально("Обработка.Пароль",Пароль); Если Пароль="ВЫХОД" Тогда Если Вопрос("Вы уверены что хотите закончить работу?","Да+Нет")="Да" Тогда ЗавершитьРаботуСистемы(0); Иначе глПароль(); КонецЕсли; Иначе НашлиПользователя=0; Спр=СоздатьОбъект("Справочник.Пользователи"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()>0 Цикл Если СокрЛП(Спр.Пароль)=СокрЛП(Пароль) Тогда НашлиПользователя=1; глПользователь=Спр.ТекущийЭлемент(); глПользовательКод=Спр.Код; Прервать; КонецЕсли; КонецЦикла; Если НашлиПользователя=0 Тогда Предупреждение("Пользователь с данным паролем"+РазделительСтрок+"НЕ НАЙДЕН !!!",15); глПароль(); Иначе ОткрытьФорму("Обработка.ХХХ"); // после закрытия этой обработки, вызывается глПароль(). КонецЕсли; КонецЕсли; КонецПроцедуры
Процедура глЗапуск() Спр=СоздатьОбъект("Справочник.Пользователи"); Если Спр.НайтиПоКоду(0)=0 Тогда Спр.Новый(); Спр.Код=0; Спр.Наименование="Администратор"; Спр.Пароль="СуперАдмин"; Спр.ТипПользователя=1; Спр.Записать(); КонецЕсли; Если (НазваниеНабораПрав()="РабочееМесто") Тогда //глПодключитьТО(); глПароль(); Иначе ОткрытьФормуМодально("Обработка.ПодключениеТО","Подключить"); КонецЕсли; КонецПроцедуры
Процедура ПриНачалеРаботыСистемы() Попытка Драйвер = "FormEx.dll"; Если ЗагрузитьВнешнююКомпоненту(Драйвер)=1 Тогда Если НазваниеНабораПрав()="РабочееМесто" Тогда глОкно = СоздатьОбъект("Окна"); глОкно.СтильОкна(,0); глОкно.МенюОкна(,1,0,0,0); глОкно.ПоказыватьПанели(0); глОкно.ПоказыватьСтрокуСостояния(0); глОкно.РазмерОкна(,1024,768);
Результат=""; СписокМеню = глОкно.ПолучитьМеню(); Для к=1 По СписокМеню.РазмерСписка() Цикл СписокМеню.ПолучитьЗначение(к,Результат); глОкно.ВидимостьМеню(Результат,0); КонецЦикла; КонецЕсли; Иначе Предупреждение("Ошибка загрузки: "+Драйвер); КонецЕсли; Исключение Драйвер = "FormEx.dll"; Предупреждение("Ошибка загрузки Драйвера! "+Драйвер); СтатусВозврата(0); КонецПопытки; глЗапуск(); КонецПроцедуры
//********************************************************************* //Обработка.ХХХ Процедура ПослеОткрытия() Если НазваниеНабораПрав()="РабочееМесто" Тогда ОкноЗала=СоздатьОбъект("Окна"); ОкноЗала.СтильОкна(Форма,2); ОкноЗала.МенюОкна(Форма,0,0,0,1); ОкноЗала.Максимизировать(Форма);
Результат=""; СписокМеню = ОкноЗала.ПолучитьМеню(); Для к=1 По СписокМеню.РазмерСписка() Цикл СписокМеню.ПолучитьЗначение(к,Результат); ОкноЗала.ВидимостьМеню(Результат,0); КонецЦикла; КонецЕсли; КонецПроцедуры //ПослеОткрытия
Процедура ПослеЗакрытия() глПароль(); КонецПроцедуры //ПослеЗакрытия [/code] первый раз все - ОК, а вот после вызова глПароль(), не открывается обработка и вылетает эта ошибка. Что тут не то, может быть из-за формекса?
|