Имя: Пароль:
1C
 
8.2 РеквизитФормыВЗначение что это и зачем?
0 lanc2233
 
09.05.10
17:25
УправляемаяФорма (ManagedForm)
РеквизитФормыВЗначение (FormAttributeToValue)
Синтаксис:
РеквизитФормыВЗначение(<ИмяРеквизита>, <Тип>)
Параметры:
<ИмяРеквизита> (обязательный)
Тип: Строка. Имя реквизита формы, который необходимо преобразовать.
<Тип> (необязательный)
Тип: Тип. Тип значения, получаемого из реквизита формы (универсального объекта). Если данный параметр не указан, то он также получается из реквизита формы. Если реквизит является составным типом и значение параметра не указано, генерируется исключение времени выполнения.
Возвращаемое значение:
Тип: Произвольный.
Описание:
Преобразует указанный реквизит формы в объект прикладного типа.

Доступность:
Сервер.

Какое практическое использование этой функции? или можно какой-то пример, что нужно было сделать и чем эта функция помогла?
1 NcSteel
 
09.05.10
18:00
Доступность:
Сервер.
2 Armando
 
09.05.10
18:00
Да
3 lanc2233
 
09.05.10
18:01
??
4 Armando
 
09.05.10
18:01
Даже не знаю как проще объяснить. Сделай глобальный поиск по типовой конфе на 8.2.
5 NcSteel
 
09.05.10
18:02
(3) На форму иногда выводят не только реквизиты объекта , но и пользователь может работать с реквизитами формы, которые надо еще на сервер передать.
6 Armando
 
09.05.10
18:05
Код из руководства разрабтчика
&НаСервере
Процедура ПересчитатьНаСервере()

 // Преобразует реквизит Объект в прикладной объект.
 Документ = РеквизитФормыВЗначение("Объект");

 // Выполняет пересчет методом, определенным в модуле документа.
 Документ.Пересчитать();

 // Преобразует прикладной объект обратно в реквизит.
 ЗначениеВРеквизитФормы(Документ, "Объект");
КонецПроцедуры
7 NcSteel
 
09.05.10
18:07
(6) Работает только если контекст поддерживает, как я понимаю на сервере без контекста , пошлет подальше?
8 Armando
 
09.05.10
18:09
(7) Да, без контекста не взлетит.
9 tridog
 
09.05.10
19:06
(7) Пошлет, ибо это метод формы. Но если уж очень хочешь, можешь в безконтекстную функцию передать объект ЭтаФорма параметром, и потом

Спр = ФормаПереданнаяПараметром.РеквизитФормыВЗначение("Объект");
10 Armando
 
09.05.10
20:45
(9) тот же куй, только в другой руке)
11 tridog
 
09.05.10
21:13
(10) Ну смысла от такого неконтекстного вызова нету - форма один фиг уйдет на сервер. А вот когда хочется в одной процедуре работать с контекстами нескольких форм - такое как раз пригождается.