Имя: Пароль:
1C
1С v8
УФ. Как скопировать Таблицу Значений в реквизит данных формы?
0 Humandra
 
14.02.12
15:36
Добрый день!
Подскажите плиз, копаюсь с УФ.

Есть где-то выполняющийся на сервере метод, возвращающий ТаблицуЗначений.
Есть произвольная форма регистра сведений.
И есть на форме реквизит формы типа ТаблицаЗначений.

В серверном событии ПриСозданииНаСервере хочу отобразить полученные в ТЗ данные на форме.
Если просто присвоить
ТаблицаЗначенийФормы = ТаблицаЗначенийФункции;

то получим ошибку Нельзя изменять поле, содержащее объект данных формы, в принципе понятно почему - сам объект меняется при таком присваивании.

В 7.7 1С++ были методы вида ТЗ.Выгрузить(ДругаяТЗ), но что-то я тут не нашла. Или просто плохо искала?
Как вообще решается такая задача в 8.2?
1 Жан Пердежон
 
14.02.12
15:40
ТЗ.Скопировать()?
2 Mort
 
14.02.12
15:42
ЗначениеВРеквизитФормы
3 andrewks
 
14.02.12
15:42
4 Humandra
 
14.02.12
15:57
(1) Не, этот метод тоже изменяет объект
(2), (3) Ага, работает. Но вообще-то не догоняю немного. Я ведь видела этот метод, и мне казалось, что я понимаю, для чего он. Думала, что он для передачи на клиента данных.
Да, в доках и на форуме пишут, что на клиенте ТЗ не существует. Но подождите - я же думала, что реквизиты формы как раз на сервере существуют! И если на сервере их изменять, например, ТЗ выгружать туда, то все работать будет... Это на клиенте уже нельзя к ТЗ мол обращаться, так как там ее нет.
А тут что-то не стыкуется с моим пониманием... Как так?
5 Humandra
 
14.02.12
15:58
То есть, ведь пишут что форма есть одновременно на сервер и на клиенте. И на сервере есть все возможности 1С. И тут все понятно вроде.
Почему же на сервере нельзя изменить ТЗ?
6 andrewks
 
14.02.12
16:13
(5) то, что ты видешь на УФ - не ТЗ, а ДанныеФормыКоллекция (не верь глазам своим)
7 andrewks
 
14.02.12
16:14
+(6) *видишь
8 Humandra
 
14.02.12
16:27
(6) А, поняла. Т.е. там в скобках тип (ТаблицаЗначений) у реквизита формы - на самом деле не ТаблицаЗначений :)
9 lm-alex
 
16.02.12
15:50
Может тебе это надо?:

ЗначениеВДанныеФормы (ValueToFormData)
Синтаксис:
ЗначениеВДанныеФормы(<Значение>, <Объект>)
Параметры:
<Значение> (обязательный)
Тип: Произвольный.
Значение прикладного типа, для которого определено преобразование в данные формы.
<Объект> (обязательный)
Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура.
Данные формы, имеющие совместимую структуру.
Описание:
Преобразует объект прикладного типа в универсальный объект данных.
Доступность:
Сервер, толстый клиент.

ДанныеФормыВЗначение (FormDataToValue)
Синтаксис:

ДанныеФормыВЗначение(<Объект>, <Тип>)
Параметры:

<Объект> (обязательный)

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