Имя: Пароль:
1C
1С v8
Нельзя изменять поле, содержащее объект данных формы
0 Azgerd
 
05.04.13
13:50
При выполнении на сервере следующего кода появляется ошибка:
Нельзя изменять поле, содержащее объект данных формы
На строке - Объект = РезультатПоиска.ПолучитьОбъект();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
             |    МойСправочник.Ссылка,
             |МойСправочник.Владелец,
         |МойСправочник.Код,
             |МойСправочник.НомерЛицензии,
             |МойСправочник.ДатаЛицензии,
             |Из
             |Справочник.МойСправочник КАК МойСправочник";
       РезультатЗапроса = Запрос.Выполнить();
   Выборка = РезультатЗапроса.Выбрать();
   Пока Выборка.Следующий() Цикл
            КодЗп = Выборка.Код;
            НомЛиц =Выброка.НомерЛицензии;
            ДвтЛиц = Выборка.ДатаЛицензии;
            ВыборкаСпр = Справочники.МойСправочник.Выбрать();
            Пока ВыборкаСпр.Следующий() Цикл
                 Если ВыборкаСпр.НомерЛицензии = НомЛиц Тогда
                     РП=Справочники.МойСправочник.НайтиПоКоду(КодЗп);
                     Объект=РП.ПолучитьОбъект();
                     НовСтрока=Объект.Подсистемы.Добавить();
                     НовСтрока.Дата=ДатЛиц;
                 КонецЕсли;              
            КонецЦикла;
       КонецЦикла;
Из-за чего возникает ошибка?
1 rutony
 
05.04.13
13:52
(0) Делай проверку сначало
РП=Справочники.МойСправочник.НайтиПоКоду(КодЗп);
Если Не РП.Пустой() Тогда
   Объект=РП.ПолучитьОбъект();
КонецЕсли;
2 rutony
 
05.04.13
13:53
(0) Если справочник не будет найден, там будет сидеть пустая ссылка
3 sapphire
 
05.04.13
13:54
(0)
Объект=РП.ПолучитьОбъект();// вот здеся...
НовСтрока=Объект.Подсистемы.Добавить();
НовСтрока.Дата=ДатЛиц;
4 sapphire
 
05.04.13
13:55
(1) (2) Не неси пургу, просто переменную надо обозвать иначе.
5 Azgerd
 
05.04.13
13:57
На самом деле я делаю проверку "Если Не РП.Пустой() Тогда"  просто в тексте вопроса я её пропустил.
6 Infsams654
 
05.04.13
14:28
(5) Форма обычная ? не может быть что управляемая...
7 Azgerd
 
05.04.13
15:15
Форма управляемая.
8 Azgerd
 
05.04.13
16:26
sapphire Спасибо! Хотя не сразу въехал какую переменную ты имел ввиду.
Вместо Объект=РП.ПолучитьОбъект()
сделал ППОбъект=РП.ПолучитьОбъект() и ошибка пропала!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.