Имя: Пароль:
1C
 
Заполнение реквизита формы СправочникОбъект
0 zvivla
 
24.08.17
15:36
Здравствуйте.
Есть форма с реквизитом СправочникОбъект. Как из этой же формы можно передать значение этому реквизиту? ЗначениеВДанныеФормы не подходит. Потому как при обращении к реквизиту он имеет тип ДанныеФормыСтруктура
1 1c-bs
 
24.08.17
15:38
РеквизитФормыВЗначение <-> ЗначениеВРеквизитФормы
2 zvivla
 
24.08.17
15:40
(1) не поняла
3 zvivla
 
24.08.17
15:50
&НаСервере
Процедура ЗаполнитьНаСервереБезКонтекста(ФрмОбъект, ВосстановленныйОбъект)
    ЗначениеВРеквизитФормы(ФрмОбъект.ссылка, "Ссылка");
КонецПроцедуры

&НаКлиенте
Процедура ФизЛицоПриИзменении(Элемент)
    ЗаполнитьНаСервереБезКонтекста(этаформа.ФизЛицо, этаформа.Физическоелицо);
.....

Делаю так выводит ошибку:
Ошибка при вызове метода контекста (ЗначениеВРеквизитФормы)
    ЗначениеВРеквизитФормы(ФрмОбъект.ссылка, "Ссылка");
по причине:
Недопустимое значение параметра (параметр номер '2')
4 zvivla
 
24.08.17
15:53
Поменяла на
ЗначениеВРеквизитФормы(ФрмОбъект.ссылка, "Физическоелицо.Ссылка");

Ошибка: Недопустимое значение параметра (параметр номер '1')
5 zvivla
 
24.08.17
16:04
когда делаю так:
&НаСервере
Процедура ЗаполнитьНаСервереБезКонтекста(ФрмОбъект, ВосстановленныйОбъект)
    ЗначениеВРеквизитФормы(ФрмОбъект.получитьОбъект(), "Физическоелицо");
КонецПроцедуры

&НаКлиенте
Процедура ФизЛицоПриИзменении(Элемент)
    ЗаполнитьНаСервереБезКонтекста(этаформа.ФизЛицо, этаформа.Физическоелицо);
    этаформа.ОбновитьОтображениеДанных();

Физическоелицо-принимает нужное значение, поля формы обновляются, но выходит ошибка:

Нельзя изменять поле, содержащее объект данных формы
6 aleks_default
 
24.08.17
16:13
Может просто назначить этот реквизит основным реквизитом формы?
7 zvivla
 
24.08.17
16:16
(6) Объект.ФизическоеЛицо, чтобы было?
8 zvivla
 
24.08.17
16:19
Решено
Перестала передавать на сервер физ лицо. Отрабатывает без ошибок

&НаСервере
Процедура ЗаполнитьНаСервереБезКонтекста(ФрмОбъект)
    ЗначениеВРеквизитФормы(ФрмОбъект.получитьОбъект(), "Физическоелицо");
    нн=11;
КонецПроцедуры

&НаКлиенте
Процедура ФизЛицоПриИзменении(Элемент)
    ЗаполнитьНаСервереБезКонтекста(этаформа.ФизЛицо);
    этаформа.ОбновитьОтображениеДанных();
КонецПроцедуры
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший