Имя: Пароль:
1C
1С v8
Поле с характеристикой ТолькоПросмотр
0 Arms
 
05.04.13
21:30
Суть: с помощью ВО нужно создать элемент справочника в УТ. одно из полей, которое требуется заполнить, имеет хар-ку ТолькоПросмотр - заполняется данными поля Наименование. когда передаю значение в Наименование, естесно поле ТолькоПросмотр не заполняется. его вообще реально таким образом заполнить? подскажите, пожалуйста
1 фобка
 
05.04.13
21:33
ну, да - программно
2 Arms
 
05.04.13
21:40
пишу:

НовЭл = Справочники.ИмяСпр.СоздатьЭлемент();
НовЭл.Поле = Значение;
НовЭл.Записать();

ошибка: поле "Поле" не найдено

название поля на форме то же, что и в коде.
этот же код нормально работает, относительно полей без ТолькоПросмотр.

что не так?
3 фобка
 
05.04.13
21:41
(2) "поле" это реквизит справочника или реквизит формы?
4 Поросенок Петр
 
05.04.13
21:44
Нашествие п-ца какое-то. Только просмотр, справочники, конгресс, немцы какие-то. Всё в кучу.
5 Arms
 
05.04.13
21:45
реквизит формы справочника ))
6 фобка
 
05.04.13
21:46
(5) это ответ на твой вопрос)
7 Arms
 
05.04.13
21:47
т.е. создаем в справочнике новое физЛицо с помощью ВО

НовЭл = Справочники.ФизЛица.СоздатьЭлемент();
НовЭл.Фамилия = ЗаписываемаяФамилия;
НовЭл.Записать();

так понятней?
8 фобка
 
05.04.13
21:48
только просмотр - это свойство актуально только для формы, сам элемент тут не причем.. если это поле заполняется из наименования по какому-то алгоритму, заполняй наименование
9 фобка
 
05.04.13
21:48
(7)
НовЭл = Справочники.ФизЛица.СоздатьЭлемент();
НовЭл.Наименование = ЗаписываемаяФамилия;
НовЭл.Записать();
10 Arms
 
05.04.13
21:50
Наименование записывается без проблем.
если потом открыть созданный элемент Спр, поле Фамилия пустое. такого не должно быть
11 фобка
 
05.04.13
21:50
(7) сделай точку останова отладчиком здесь "НовЭл.Фамилия = ЗаписываемаяФамилия;" и посмотри какие реквизиты есть у "НовЭл" в табло
12 фобка
 
05.04.13
21:51
(10) смотри при открытии или при создании на сервере откуда заполняется это поле
13 Arms
 
05.04.13
21:58
вот этого я не пойму. по факту поле заполняется приИзменении Наименования. в коде в этой процедуре ничего подобного не вижу..

в общем, получается, поля с хар-кой ТолькоПросмотр программно можно заполнить, это я что-то не так делаю?
14 фобка
 
05.04.13
22:01
(13) нет, у тебя отсутствует понимание просто.. "только просмотр" - это свойство элемента ФОРМЫ, т.е. действует только когда на клиенте открыта форма и пользователь пытается в это поле что-то внести руками.
15 фобка
 
05.04.13
22:03
(13) элемент формы можно заполнить руками/программно, либо указать (если имеется возможность) источник данных из которых его заполнять... 8ка это все-таки конструктор :)
16 фобка
 
05.04.13
22:05
(13) элемент формы может заполняться данными реквизита элемента справочника, к примеру, если это справочник.
Т.е. на пример ты на форме нарисовал отображение реквизита "Наименование".. чувствуешь различие между формой и объектом?
17 Arms
 
05.04.13
22:09
(16) т.е. все поля на форме по сути доступны программно, а ТолькоПросмотр это ограничение только для пользователя?
18 фобка
 
05.04.13
22:11
(17) вернее так: все поля формы доступны программно только из модуля формы.
а реквизиты самого объекта (в данном случае справочника) доступны программно откуда угодно
19 Arms
 
05.04.13
22:14
(18) значит в моем случае нужно вызвать процедуру из самого модуля, которая заполняет данное поле?
20 фобка
 
05.04.13
22:17
(19) надо понять по какому алгоритму (из каких реквизитов) заполняется поле формы.. Как ты вызовешь процедуру из модуля формы из внешней обработки? Ты только можешь скопировать ее кусок
21 фобка
 
05.04.13
22:19
+ 20 т.е. либо заполнить те реквизиты которые нужны..
В общем смотри что происходит при изменении (может регистр сведений какой-то заполняется) и смотри при открытии как это поле (фамилия) заполняется - если это не реквизит формы
22 Arms
 
05.04.13
22:24
(21) Спасибо огромное за терпение и разъяснения, стало понятнее)