Имя: Пароль:
1C
1С v8
OLE/COM попытка №3))
0 Анцеранана
 
19.04.12
17:14
Это не спам, просто теперь появились другие грабли...
Друзья, помогите..

Передо мной стоит следующая задача: открыть форму (неважно в каком режиме модально или нет) , записать значение реквизита "наименование", записать объект и закрыть форму...Знаю, что бред, по-другому нельзя вроде...
Вот первая проблема:

V8 = Новый COMObject ("V81.Application");
Соединение = V8.Connect("File="""+КаталогИБ+"""; Usr ="""+ИмяПользователя+""";");
МенеджерСправочники = V8.Справочники;
Для Каждого СтрСправочник Из МенеджерСправочники Цикл
  ...//получили НайденныйЭлемент. фрагмент не привожу все работает
 ФормаЭлемента = НайденныйЭлемент.ПолучитьФорму();
 ФормаОткрыта = Истина; //это просто переменная
 Попытка
            ФормаЭлемента.Открыть();
   //ФормаЭлемента.ОткрытьМодально();
 Исключение
   ФормаОткрыта = Ложь;
 КонецПопытки;
...
КонецЦикла;

У пользователя нет прав на открытие...
Если я делаю ОткрытьМодально() - у меня алгоритм прекращает работу - пока я не нажму в открывшейся форме какую-нибудь кнопку: например "закрыть", но попытка отрабатывает корректно...

Если я делаю просто Открыть() - то попытка не отрабатывает, на экран выводится системное сообщение "нарушение прав доступа", то есть обработка опять же останавливается и значение переменной ФормаОткрыта не меняется с Истины...

Что делать. как обойти эти вилы, чтобы дальше двигаться по циклу ...
1 Анцеранана
 
19.04.12
17:47
ап)
2 H A D G E H O G s
 
19.04.12
17:52
Ну натыкается на справочник, которому прав на открытие не выдано.
Логиньтесь под полными правами.
3 Анцеранана
 
19.04.12
18:01
(2) Мне нужно определить, что я не могу зайти, если права ограничены и выдать это в протокол. Как раз задача и стоит зайти под пользователенм с ограниченными правами
4 Молчаливый
 
19.04.12
18:14
Зачем "открыть форму, записать объект, закрыть форму" если всё что нужно -- это записать значение реквизита Наименование?
Почему бы не сделать это вообще без использования формы, при этом сам вызов Записать() обернуть в Попытку, получив тем самым исключение если нет прав на запись справочника?