Имя: Пароль:
1C
 
ЗначениеВРеквизитФормы(ТабТч, "Объект.Тч") - почему нельзя?
0 Nekr
 
12.02.20
15:14
Комрады, пишу такой код:

[code]
&НаСервере
Процедура ЗаполнитьНужныеРеквизитТЧ()
    
    ТабТч = РеквизитФормыВЗначение("Объект.Тч");
    
    Для Каждого мСтрока Из ТабСотавАкции Цикл
        мСтрока.НужныйРеквизит = Истина;
    КонецЦикла;    
    
    ЗначениеВРеквизитФормы(ТабТч , "Объект.Тч");
КонецПроцедуры
[/code]

в СП написано:

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


Собственно, ЗначениеВРеквизитФормы(ТабТч, [b]"Объект.Тч"[/b]) - почему нельзя?
1 Mankubus
 
12.02.20
15:16
(0) потому что это не реквизит формы. Есть же методы Выгрузить и Загрузить
2 Nekr
 
12.02.20
15:18
(1) а просто "Объект" - реквизит формы?
3 Homer
 
12.02.20
15:50
(2) Да
4 palsergeich
 
12.02.20
16:05
Есть еще методы ЗначениеВДАнныеФормы и ДанныеФормыВЗначение эти методы уже не ограничены контекстом.
5 Nekr
 
12.02.20
16:09
(3) Через "Объект" я всегда делаю, но стало интересно почему РеквизитФормыВЗначение("Объект.Тч") отрабатывает и нет сообщения об ошибке. Т.е. получается тут "Объект.Тч" - реквизит формы, а вот для "обратной" функции уже НЕ реквизит...
6 Nekr
 
12.02.20
16:11
да и сам такой код отрабатывает весь как надо, но выдает сообщение об ошибке
7 Cyberhawk
 
12.02.20
16:42
Твой вопрос только в том, почему не сделали во встроенном языке, если загружаешь в ДФК (реквизит формы через точку), то же самое, что реализовано через Загрузить()?
8 Nekr
 
12.02.20
17:16
(7) да
9 hhhh
 
12.02.20
17:21
(8) тут вообще не нужно РеквизитФормыВЗначение


Делай

Для Каждого Стр Из Объект.ТЧ Цикл
10 Cyberhawk
 
12.02.20
17:59
(8) Сделать можно все, но нельзя сделать всего (с)
11 Nekr
 
13.02.20
18:00
(9) Спасибо! Так и сделал, в данном случае не нужно использовать РеквизитФормыВЗначение и ЗначениеВРеквизитФормы.

А есть ли какой способ заполнения ТЧ (делать &НаКлиенте - не предлагать) без того, чтобы гонять весь контекст формы на сервер?
12 hhhh
 
13.02.20
18:46
(11) вообще-то во время работы пользователь по времени тупит гораздо дольше, чем передается контекст формы, поэтому в вашем случае лучше вообще с этим не париться, не забивать себе голову.