Загрузить таблицу значений в табличную часть формы обработки #722316


#0 by Kleopatra2803
Доброе утро! Мне нужно из модуля формы внешней обработки открыть другую форму этой же обработки. У обработки есть реквизит табличная часть, который размещен на второй форме обработки. При открытии этой формы в таблице должна располагаться таблица значений, которую я туда передам. Проблема такая: форма открывается, но с пустой табличной частью. Реализую так: ТЗНеПродаем - таблица значений, которую нужно загрузить в табличную часть второй формы. В реквизит объекта таблица загружается, но на форме не появляется
#1 by Ёпрст
а как она там должна появится, если вы её в открытую форму ну никак не передали ?
#2 by Ёпрст
вы получили форму, открыли её модально и.. всё.. и ничего с этой формой не сделали..ничего!
#3 by программистище
ПолучитьФорму - получает форму, но форма ничего не знает про экземпляр объекта, из которого Вы открываете туда нужно что-то передать
#4 by Kleopatra2803
, , я понимаю, но как это сделать? метод загрузить на клиенте не работает. По идее, реквизит формы - табличная часть берет данные из реквизита обработки
#5 by Kleopatra2803
поэтому я загружаю тз в объект. если загружать тз на форму, и вместо Объект.НоменклатураБезПродажи.Загрузить(ТЗНеПродаем) писать Форма.Объект.НоменклатураБезПродажи.Загрузить(ТЗНеПродаем), причем в эту процедуру кроме тз передавать форму, то выходит ошибка передачи данных между клиентом и сервером, что логично, потому что вряд ли можно форму передать в качестве параметра
#6 by программистище
вот не помню, раньше работало ПоместитьВоВременноеХранилище(<Данные>, <Адрес>) помещаешь данные на сервер в хранилище передаешь адрес а в форме присозданиинасервере получаешь либо тз конвертить в массив соответсвий лет 5 не пользовался уже этим
#7 by Kleopatra2803
а можно поподробнее? пыталась как-то разобраться с этим методом, но так и не смогла
#8 by Krolik Bezobraznik
Лучше ТЗ передай в качестве параметра формы в новую форму. А в новой форме п процедуре ПриСозданииНаСервере передай ТЗ в табличную часть.
#9 by Krolik Bezobraznik
Вот пример: В первичной форме так: ПараметрыФормы = Новый Структура; В открываемой форме так: &НаСервере
#10 by Krolik Bezobraznik
Там правда не ТЗ а Структура, но и с ТЗ должно сработать.
#11 by программистище
с тз так не прокатит
#12 by Kleopatra2803
Как передать ТЗ во вторую форму в процедуру присозданиина сервере? Она у меня формируется в первой форме
#13 by Kleopatra2803
блин туплю, она же у меня уже в реквизите обработки лежит)
#14 by Krolik Bezobraznik
К слову сказать у меня есть чувство, что в процедуре ОтметитьНоменклатуруНеДляПродажи у вас в переменной ТЗНеПродаем вовсе не таблица значений. Проверьте в отладчике.
#15 by Kleopatra2803
Получилось!!! Сделала так: в модуле первой формы: &НаКлиенте в модуле второй формы: &НаСервере Спасибо большое - пребольшое!!!
#16 by Krolik Bezobraznik
Незачто =) Но все же интересно какого типа у вас переменная ТЗНеПродаем в процедуре ОтметитьНоменклатуруНеДляПродажи. У меня чисто спортивный интерес.
#17 by программистище
ТЗ на клиенте? хм...
#18 by Kleopatra2803
таблица значений
#19 by Kleopatra2803
он создавать тз не дает на клиенте, а работать с ней можно)
#20 by Krolik Bezobraznik
1. ТЗНеПродаем это реквизит в обработке или переменная создаваемая в процедуре на клиенте? 2. Процедура ПолучитьНоменклатуруНеДляПродажи у вас выполняется на сервере или на клиенте?
#21 by Kleopatra2803
1) это переменная, создаваемая в процедуре на сервере, которая вызывается в процедуре на клиенте; 2) НаСервере. Как раз та, в которой создается программно тз
#22 by программистище
тогда не должно работать )))
#23 by Krolik Bezobraznik
Согласен. Не должно так работать. Чудеса прям.
#24 by Maniac
Через хранилище все надо делать.
#25 by Kleopatra2803
, но работает же)
#26 by Maniac
АдресПередаваемыхПараметров = ПоместитьДанныеВоВременноеХранилище; СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("Адрес",АдресПередаваемыхПараметров);
#27 by Kleopatra2803
я уже с этими управляемыми формами ничему не удивляюсь)
#28 by Fish
Работает только потому, что это не переменная а реквизит обработки. Сам же написал в .
#29 by Krolik Bezobraznik
Зачем так усложнять?
#30 by программистище
если бы реквизит формы тогда бы работало но опять же с сервера на клиент не передашь а тем более нужно не просто загрузить ТЧ.загрузить(Реквизитформы.Выгрузить)
#31 by Krolik Bezobraznik
Если это реквизит обработки, то ему так просто не присвоить Объект.ТЗ = СоздатьТЗ; на клиенте. А у нее тем более вообще ТЗ = СоздатьТЗ, да еще и на клиенте. Клеопатра, вы что то утаиваете от нас.
#32 by Maniac
чем усложнять? никто ничего не усложняет. именно так и есть правильный вариант.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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