ДанныеФормыВЗначение, ЗначениеВДанныеФормы и тип ДанныеФормыДерево #528681


#0 by CagoBHuK
Глобальный контекст (Global context) Синтаксис: Параметры: <Объект> (обязательный) Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура; ДанныеФормыДерево. Данные формы. <Тип> (обязательный) Тип: Тип. Тип значения, получаемого из данных формы. Возвращаемое значение: Тип: Произвольный. Описание: Преобразует данные формы в объект прикладного типа. Доступность: Сервер, толстый клиент. Примечание: Нельзя преобразовать в объект типа Табличная часть. Все хорошо. Обратите внимание на то, что "Объект" может принимать тип "ДанныеФормыДерево". Глобальный контекст (Global context) ЗначениеВДанныеФормы (ValueToFormData) Синтаксис: Параметры: <Значение> (обязательный) Тип: Произвольный. Значение прикладного типа, для которого определено преобразование в данные формы. <Объект> (обязательный) Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура. Данные формы, имеющие совместимую структуру. Описание: Преобразует объект прикладного типа в универсальный объект данных. Доступность: Сервер, толстый клиент. Все плохо. Преобразовав данные формы типа "ДанныеФормыДерево" в объект прикладного типа, обратно в данные формы этот объект уже не преобразовать. Типа "ДанныеФормыДерево" почему-то у параметра "Объект" уже нет. Вопрос: каким образом мне обработать дерево значений, находящееся в реквизите формы?
#1 by Defender aka LINN
"Преобразовав данные формы типа "ДанныеФормыДерево" в объект прикладного типа, обратно в данные формы этот объект уже не преобразовать." - таки шо ви говорите...
#2 by CagoBHuK
По крайней мере так нам вещает синтаксис-помощник. Я не зря привел его вещания в . Если у тебя есть противоположный опыт, будь любезен, поделись им.
#3 by Defender aka LINN
Очуметь. - это МОЙ пост. Ткни пальцем, где в СП написано, что дерево обратно преобразовать нельзя.
#4 by acsent
Кстати чем отличается ДанныеФормыВЗначение и РеквизитФормыВЗначение?
#5 by CagoBHuK
Второе помещает в реквизит с заведомо известным именем, а первое в указанный объект данных. Тем не менее, первое не работает для дерева значений, что весьма пичалька, а переделывать код под второе нет ни времени, ни желания.
#6 by CagoBHuK
А ты ПОПРОБУЙ его преобразовать. Мне интересно, что у тебя получится.
#7 by Defender aka LINN
Я таки пробовал, и мне понравилось. А чем можете похвастаться вы?
#8 by CagoBHuK
Синтаксис: ЗначениеВДанныеФормы(<Значение>, <Объект>) Параметры: <Значение> (обязательный) Тип: Произвольный. Значение прикладного типа, для которого определено преобразование в данные формы. <Объект> (обязательный) Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура. Данные формы, имеющие совместимую структуру. У меня падает на этом операторе, когда я пытаюсь выполнить его со следующими параметрами: Значение - Дерево значений, только что извлеченное из данных формы оператором ДанныеФормыВЗначение, Объект - объект данных формы, имеющий тип ДанныеФормыДерево. Я повторюсь, что если открыть синаксис-помощник, то для этого оператора нет типа параметра Объект ДанныеФормыДерево. Покажи нам свой код. Может быть я чего-то не понимаю?
#9 by detec
По поводу могу сказать, что данные методы следует использовать только в случае _крайней_ необходимости. Например, во внешних обработках, которые не используют данные инфобазы никоим образом, нчиего оттуда не читают и не сохраняют. Если нужна тяжёлай работа с данными на клиенте, то предпочтительней ДанныеФормыКоллекция. С ДанныеФормыДерево очень геморно, т.к. поддерживаемых методов кот наплакал.
#10 by Defender aka LINN
"У меня падает на этом операторе" - обожаю такие фразы. А если открыть глаза и прочитать сообщение, с которым оно падает?
#11 by CagoBHuK
Итак, живой пример. Выполняю строку кода: ЭтаФорма[НазваниеДерева] - ДанныеФормыДерево. {Справочник.Контрагенты.Форма.SA_ФормаСпискаИВыбораУпр.Форма}: Ошибка при вызове метода контекста (ЗначениеВРеквизитФормы)    ЗначениеВРеквизитФормы(ДЗ, ЭтаФорма[НазваниеДерева]);     по причине: Несоответствие типов (параметр номер '2')
#12 by Mitriy
а зачем пихать невпих_уемое?
#13 by CagoBHuK
Что значит невпих_уемое? Я выполняю кусок кода: Оно разве не должно быть конвертируемо туда-обратно? В я ошибся и написал неправильный оператор. Тем не менее, ситуация не изменилась. {Справочник.Контрагенты.Форма.SA_ФормаСпискаИВыбораУпр.Форма}: Ошибка при вызове метода контекста (ЗначениеВДанныеФормы)    ЗначениеВДанныеФормы(ДЗ, ЭтаФорма[НазваниеДерева]); по причине: Недопустимое значение параметра (параметр номер '2')
#14 by Mitriy
&НаКлиенте &НаСервере все работает и не жужжит... попробуй кеш почистить...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С