|
|
УФ. Как скопировать Таблицу Значений в реквизит данных формы? |
☑ |
|
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)
Синтаксис:
ДанныеФормыВЗначение(<Объект>, <Тип>)
Параметры:
<Объект> (обязательный)
Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура; ДанныеФормыДерево.
Данные формы.
<Тип> (обязательный)
Тип: Тип.
Тип значения, получаемого из данных формы.
Возвращаемое значение:
Тип: Произвольный.
Описание:
Преобразует данные формы в объект прикладного типа.
Доступность:
Сервер, толстый клиент.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший