Имя: Пароль:
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) Спасибо огромное за терпение и разъяснения, стало понятнее)