Для чего применяетя функция РеквизитФормыВЗначение

1. alw-1 26.04.12 10:58 Сейчас в теме
слышал , что в уравыляемом приложении для обмена информацией между клиентом и сервером удобно пользоваться ф- цией РеквизитФормыВЗначение и ЗначениеВреквизитФормы, попытался заполнить, все время выбрасывает ошибку, что не верное значение параметров подскажите позалуйста как она работает.(В синтаксис помошнике не понятно).
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. bforce 482 26.04.12 13:29 Сейчас в теме
(1) alw-1, РеквизитФормыВЗначение используется для того, чтобы (например) вызвать процедуру из модуля объекта.

Пусть у Вас есть форма и реквизит формы Объект. У него тип ДанныеФормыСтруктура.
Далее вызываем клиентскую процедуру, а из нее серверную. Теперь вызываем процедуру модуля объекта, а для этого нужен реальный объект.

&НаКлиенте
Процедура Сформировать()
   СформироватьНаСервере();
КонецПроцедуры;

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

Показать
.
Lobivan; savinnv; tdml; +3 Ответить 1
10. alw-1 26.04.12 15:26 Сейчас в теме
(9) bforce, Спасибо, по поводу ф-ции РеквизитФормыВЗначение более менее понятно, а для чего применяется на практике ф-ция ЗначениеВреквизитФормы , кстати как она работает - здесь полученное значение присваивается переменной Объект, а как в случае с формой?
2. Chernov_Dmitriy 89 26.04.12 11:03 Сейчас в теме
УправляемаяФорма (ManagedForm)
РеквизитФормыВЗначение (FormAttributeToValue)
Синтаксис:

РеквизитФормыВЗначение(<ИмяРеквизита>, <Тип>)
Параметры:

<ИмяРеквизита> (обязательный)

Тип: Строка.
Имя реквизита формы, который необходимо преобразовать.
Может быть указан реквизит данных формы (см. описание параметра <Объект> метода ДанныеФормыВЗначение).
<Тип> (необязательный)

Тип: Тип.
Тип значения, получаемого из реквизита формы (данных формы). Если данный параметр не указан, то он также получается из реквизита формы. Если реквизит является составным типом и значение параметра не указано, генерируется исключение времени выполнения.
Возвращаемое значение:

Тип: Произвольный.

Описание:

Преобразует указанный реквизит формы в объект прикладного типа.

Доступность:

Сервер.
3. alw-1 26.04.12 11:10 Сейчас в теме
(2) Dima_ssss, То, что вы написали есть в синтаксис помошнике, а пример с объяснением можно, если конечно он есть?
4. Dr.DragoN 26.04.12 11:15 Сейчас в теме
(2) Dima_ssss, здравствуй копипаст из синтаксис-помощника?
(1) alw-1, ЗначениеВРеквизитФормы(Переменная,"РеквизитФормы")
РеквизитФормыВЗначение("РеквизитФормы",Переменная)
5. Chernov_Dmitriy 89 26.04.12 11:18 Сейчас в теме
Параметр передаете строкой?
6. Chernov_Dmitriy 89 26.04.12 11:19 Сейчас в теме
в строке должен быть указан параметр вида : "Имя реквизита"
7. Chernov_Dmitriy 89 26.04.12 11:48 Сейчас в теме
А почему не должен быть копипаст? если синтаксис помошник для этого и существует - и зачем описывать то что уже давно грамотно описали?
8. Dr.DragoN 26.04.12 11:54 Сейчас в теме
(7) Dima_ssss,
(В синтаксис помошнике не понятно).
11. bforce 482 26.04.12 15:37 Сейчас в теме
ну, как? изменил объект - отдай его обратно!
&НаСервере
Процедура ПересчитатьНаСервере()
 
  // Преобразует реквизит Объект в прикладной объект.
  Документ = РеквизитФормыВЗначение(«Объект»);
 
  // Выполняет пересчет методом, определенным в модуле документа.
  Документ.Пересчитать();
 
  // Преобразует прикладной объект обратно в реквизит.
  ЗначениеВРеквизитФормы(Документ, «Объект»);
КонецПроцедуры
Показать
Если бы мы сразу в этой процедуре изменили что-нибудь на форме, то она бы перерисовалась сама собой. А, так как вызывается метод объекта, который никак не связан с представлением, то надо бы "оповестить" форму о том, что ее изменили.
Lobivan; NicolasCage; user1252779; ruddanil; user1516580; ulen; lebedovskiy; InJey; savinnv; lmk; Daynestro07; zemochka; python.pm; akarasev; +14 Ответить 1
12. InJey 26.03.21 11:45 Сейчас в теме
(11)
ЗначениеВРеквизитФормы(Документ, «Объект»);
Отлично объяснили, спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот