0
Анцеранана
19.04.12
✎
17:14
|
Это не спам, просто теперь появились другие грабли...
Друзья, помогите..
Передо мной стоит следующая задача: открыть форму (неважно в каком режиме модально или нет) , записать значение реквизита "наименование", записать объект и закрыть форму...Знаю, что бред, по-другому нельзя вроде...
Вот первая проблема:
V8 = Новый COMObject ("V81.Application");
Соединение = V8.Connect("File="""+КаталогИБ+"""; Usr ="""+ИмяПользователя+""";");
МенеджерСправочники = V8.Справочники;
Для Каждого СтрСправочник Из МенеджерСправочники Цикл
...//получили НайденныйЭлемент. фрагмент не привожу все работает
ФормаЭлемента = НайденныйЭлемент.ПолучитьФорму();
ФормаОткрыта = Истина; //это просто переменная
Попытка
ФормаЭлемента.Открыть();
//ФормаЭлемента.ОткрытьМодально();
Исключение
ФормаОткрыта = Ложь;
КонецПопытки;
...
КонецЦикла;
У пользователя нет прав на открытие...
Если я делаю ОткрытьМодально() - у меня алгоритм прекращает работу - пока я не нажму в открывшейся форме какую-нибудь кнопку: например "закрыть", но попытка отрабатывает корректно...
Если я делаю просто Открыть() - то попытка не отрабатывает, на экран выводится системное сообщение "нарушение прав доступа", то есть обработка опять же останавливается и значение переменной ФормаОткрыта не меняется с Истины...
Что делать. как обойти эти вилы, чтобы дальше двигаться по циклу ...
|
|
3
Анцеранана
19.04.12
✎
18:01
|
(2) Мне нужно определить, что я не могу зайти, если права ограничены и выдать это в протокол. Как раз задача и стоит зайти под пользователенм с ограниченными правами
|
|
4
Молчаливый
19.04.12
✎
18:14
|
Зачем "открыть форму, записать объект, закрыть форму" если всё что нужно -- это записать значение реквизита Наименование?
Почему бы не сделать это вообще без использования формы, при этом сам вызов Записать() обернуть в Попытку, получив тем самым исключение если нет прав на запись справочника?
|
|