8,2 Не удается использовать ДанныеФормыВЗначение() выдает ошибку. #521295


#0 by WarHawk99
Хочу заполнить таблицу на второй форме. Реквизит формы "ТаблицаОтображения" объявлена как "Таблица значений". Мне нужно из текущей формы взять данные из ТаблицыЗначений и ими заполнить таблицу на другой форме. {Справочник.T_СправочникНастроекАРМ.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение) Рез = ДанныеФормыВЗначение(данные,Тип("ДанныеФормыКоллекция")); Несоответствие типов (параметр номер '2') Код такой: &НаСервере
#1 by Abs4
Так нельзя передавать данные между управляемыми формами (таблицы значений и тем более ДанныеФормыКоллекция) Рекомендую вначале помещать таблицу значений во временное хранилище, передавать в качестве параметра при открытии второй формы адрес этого временного хранилища. На второй форме в процедуре ПриСозданииНаСервере получить по этому адресу данные. Соответсвенно обратно - также через ВременноеХранилище.
#2 by Aprobator
Тип("ТаблицаЗначений")
#3 by WarHawk99
--- Про этот вариант знаю, хочу попробовать найти другой. --- Огромное спасибо, наконец-то заработало!!!
#4 by 5 Элемент
Лучше использовать ЗначениеВРеквизитФормы, РеквизитФормыВЗначение
#5 by Aprobator
просвети, плиз, если знаешь. ДанныеФормыВЗначение юзается только для основного реквизита формы? А то я с 8.2 еще слабовато.
#6 by WarHawk99
--- Я преобразовываю просто "реквизит формы"      "ТаблицаОтображения" от другой формы. Теперь проблема этот реквизит вернуть и открыть форму:)  --- Не будет работать реквизит чужой формы.
#7 by Aprobator
куда вернуть? Во вновь открываемую форму? и там в таком же реквизите развернуть?
#8 by WarHawk99
выдает ошибку: {Справочник.T_СправочникНастроекАРМ.Форма.ФормаЭлемента.Форма}: Ошибка при установке значения атрибута контекста (ТаблицаОтображения)    Проверить(ФормаТаблицы.ТаблицаОтображения); Нельзя изменять поле, содержащее объект данных формы
#9 by WarHawk99
Я хочу передать значения из ТЗ текущей формы в ТЗ вновь открываемой формы.
#10 by Aprobator
что это за ребус? В основной реквизит формы данные писать пытаемся?
#11 by WarHawk99
Не основной, просто реквизит формы. Почему ребус? Передать данные из одной формы в таблицу на другой форме. В 8.1 особых проблем не создавало.
#12 by Aprobator
что такое Рез?
#13 by Aprobator
+ а кстати, попробуй данные в форму то выводить не до, а после  ее открытия.
#14 by 5 Элемент
они работают также как и только не требуется указывать тип.
#15 by 5 Элемент
Это потому что ты передаешь в качестве параметров данные формы. У платформы особенность такая: при возврате с сервера, она присваивает параметрам значения, которые были до вызова (если их не меняли).
#16 by Aprobator
а вижу тип необязателен. Плюс ДанныеФормыВЗначение не берет табличную часть и ограничение по доступности там разное.
#17 by WarHawk99
Рез это ТаблицаЗначений получается из данных справочника. Но у "РЕЗ" тип ТаблицаЗначений. Сейчас попробую. они работают абсолютно не также:) ЗначениеВРеквизитФормы ты не сможешь засунуть реквизит с чужой формы.
#18 by 5 Элемент
>> Не будет работать реквизит чужой формы. Рекомендую забыть про такую возможность для управляемых форм :)
#19 by WarHawk99
ЗначениеВРеквизитФормы, РеквизитФормыВЗначение Они работают только с реквизитами формы в модуле которой ты работаешь.
#20 by WarHawk99
Ты настаиваешь на передаче только через хранилище?
#21 by 5 Элемент
>> Мне нужно из текущей формы взять данные из ТаблицыЗначений и ими заполнить таблицу на другой форме. В 8.2 принято делать по-другому: Вариант 1 1. Код заполнения таблицы разместить в той форме где эта таблица находится. 2. Передавать в форму данные по которым будет выполнен п.1 Вариант 2 1. Заполнить таблицу в первой форме. 2. Открыть форму и передать ей таблицу из п.1 (через параметры). 3. При создании формы из параметров получить таблицу и загрузить ее.
#22 by WarHawk99
По сути оба варианта это одно и тоже:) В обоих случаях код заполнения будет во второй форме и в обоих случаях передавать данные через параметры:)
#23 by WarHawk99
А как кстати ТЗ передать если мне ее с сервера на клиента не получить?
#24 by Aprobator
ПриСозданииНаСервере?
#25 by 5 Элемент
в первом готовая таблица заполняется во второй форме, во втором варианте - в первой.
#26 by 5 Элемент
ТЗ ты не передашь через параметры. Точно не помню что из этого можно передать ДанныеФормыКоллекция, ДанныеФормыСтруктураСКоллекцией
#27 by Aprobator
кстати: Тип: Структура. Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры. Тупо через параметры отдать не проходит?
#28 by WarHawk99
Не если использовать Вариант 2 &НаСервере Так работать не будет. Это на первой форме чтобы получить ТЗ для передачи на вторую. Во еще и саму ТЗ не передать через параметры ЖЕСТЬ!!! А данных формы у меня нет, это у меня в примере они данные формы, а в оригинале это будет именно ТЗ, которая и будет передаваться на вторую форму чтобы там отобразиться для пользователя.
#29 by WarHawk99
я предполагал что должно пройти. Но 5 Элемент в говорит что нельзя. Сейчас попробую.
#30 by 5 Элемент
тогда см
#31 by WarHawk99
ТЗ = Новый ТаблицаЗначений на клиенте вообще объявить нельзя:) так что остается только хранилище:) ОБОЖАЮ 8.2!!!!
#32 by WarHawk99
Передать ТЗ через параметры формы или через вызов процедуры из второй формы не удалось.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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