Имя: Пароль:
1C
1С v8
Как понять что запись РС отсутствует
0 askharlov
 
20.07.14
00:07
Пишу код:
&НаКлиенте
ЗаписьСтруктура = ПрочитатьРСПаспортныеДанныеФизЛиц(Объект.Ссылка);
КлючЗаписи = Новый Структура;
КлючЗаписи.Вставить("ФизЛицо", Объект.Ссылка);
КлючЗаписи.Вставить("Период", ЗаписьСтруктура.Период);
МассивКлюча = Новый Массив;
МассивКлюча.Добавить(КлючЗаписи);
КлючЗаписиРегистра = Новый("РегистрСведенийКлючЗаписи.ПаспортныеДанныеФизЛиц", МассивКлюча);
ПараметрыЗаписиРС = Новый Структура("Ключ", КлючЗаписиРегистра);
ОткрытьФорму("РегистрСведений.ПаспортныеДанныеФизЛиц.ФормаЗаписи", ПараметрыЗаписиРС);

Если запись с такими измерениями существует, то все работает прекрасно (открывается нужная запись РС)
А если  такой записи нет, то получаю ошибку
Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("РегистрСведений.ПаспортныеДанныеФизЛиц.ФормаЗаписи", ПараметрыЗаписиРС);
по причине:
Объект не найден

Думал определить вернулся ли ключ через метод Пустой(), так он и при наличии записи, и при отсутствии возвращает Ложь.
Думал хоть посмотреть на этот ключ в отладчике, чтоб была почва к размышлению, так он не просматривается.
СП не помог. Поиск по форумам тоже.

Кто знает в чем проблема? Помогите, пожалуйста!
1 France
 
20.07.14
00:14
Эта, обработку исключений пользуй.. В суть задачи не вникал
2 PR
 
20.07.14
01:30
(0) КлючЗаписиРегистра.Пустой()
3 PR
 
20.07.14
01:30
(1) Ая-я-яй, а ведь взрослый дяденька :))
4 askharlov
 
21.07.14
00:49
(2) Так КлючЗаписи.Пустой() и при наличии записи, и при отсутствии возвращает Ложь мне ложь!!!
Сам думал этим методом, но что-то не понимаю как он работает.
5 askharlov
 
21.07.14
11:34
ап
6 1Сергей
 
21.07.14
11:37
(4) не ложь, а клади
7 France
 
25.07.14
00:43
(3) ай ай за "не вникал" или за исключения?))
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn