Имя: Пароль:
1C
1С v8
Управляемые формы: обновление элемента формы
0 seademon86
 
25.02.13
15:38
Всем добрый день,
Есть внешняя обработка, у нее есть табличная часть и на управляемой форме есть реквизит типа "ТаблицаФормы", у которой в кач-ве пути к данным указана табличная часть обработки.

При этом при добавлении в Таблице формы - в табличной части появляется строка, а при добавлении в модуле обработки строк в табличную часть обработки - таблица формы остается пустой... Как правильно "обновить" таблицу формы, что бы она отображала данные табличной части?
1 MSII
 
25.02.13
15:41
ОбновитьОтображениеДанных, нет?
2 seademon86
 
25.02.13
15:44
(1) Пробовал, не помогает (
3 MSII
 
25.02.13
15:45
(2) Саму таблицу формы тоже пробовал обновлять?
4 le_
 
25.02.13
15:48
ЗначениеВДанныеФормы
5 Жан Пердежон
 
25.02.13
15:50
вызов из процедуры из формы идет? при контекстном вызове само должно все обновиться
6 seademon86
 
25.02.13
15:50
(3) Да, обновлял... Как понял, для формы ОбновитьОтображениеДанных(), это все равно, что Обновить() для каждого элемента формы, но могу ошибаться

Дополнение к (0)
На форме жмется кнопка, вызывается команда:

&НаКлиенте
Процедура ПрочитатьДанныеИзФайла(Команда)
   лИмяФайла = Объект.роИмяФайлаДляЗагрузки;
   Команда_ПрочитатьФайл(лИмяФайла);
   ЭтаФорма.ОбновитьОтображениеДанных();
КонецПроцедуры


&НаСервере
Процедура Команда_ПрочитатьФайл(пИмяФайла)
   ОбъектОбработка = РеквизитФормыВЗначение("Объект");
   ОбъектОбработка.ПолучитьТаблицуИзФайла(пИмяФайла);
   
КонецПроцедуры

После выполнения ОбъектОбработка.ПолучитьТаблицуИзФайла - табличная часть обработки заполнена (проверял), но как "перекинуть" ее в элемент формы - не могу разобраться.
7 MSII
 
25.02.13
15:52
(6) Как в (4)
8 seademon86
 
25.02.13
15:53
(4) Пробую, но не могу разобраться с параметрами. В кач-ве второго:
<Объект> (обязательный)

Тип: ДанныеФормыСтруктураСКоллекцией; ДанныеФормыКоллекция; ДанныеФормыСтруктура.
Данные формы, имеющие совместимую структуру.

Попробовал туда элемент формы (таблицу формы) передать - вылетела 1С ))
9 MSII
 
25.02.13
15:57
(8) Да сам объект передавай, ты же в него значение поместить хочешь.
10 seademon86
 
25.02.13
16:25
(9) Пишу:

&НаСервере
Процедура Команда_ПрочитатьФайл(пИмяФайла)
   ОбъектОбработка = РеквизитФормыВЗначение("Объект");
   ОбъектОбработка.ПолучитьТаблицуИзФайла(пИмяФайла);
   ЗначениеВДанныеФормы(ОбъектОбработка.роТаблицаОпераций,Объект);
   
КонецПроцедуры


Говорит "Недопустимое значение параметра 2". Пробовал туда передавать Объект, ОбъектОбработка (определяется в процедуре), ЭтаФорма, Элементы, Элемент.Операции (таблица формы) - безуспешно...
11 MSII
 
25.02.13
16:29
ЗначениеВДанныеФормы(ОбъектОбработка, Объект); - так пробовал?
12 seademon86
 
25.02.13
16:32
(11) Вылетает 1С (бла-бла-бла, производится поиск возможного решения проблемы в интернет и т.п.)... но по идее он ругался на недопустимость параметра 2...
13 eduspec82
 
25.02.13
16:37
элемент формы с коллекцией не может иметь имя Объект
14 zladenuw
 
25.02.13
16:38
ОтобразитьИзменениеДанных(Объект.Реквизит1,ВидИзмененияДанных.Изменение);
15 bvg
 
25.02.13
16:41
Зачем заниматься извращением , вытяни ТЧ на форму обработки и все само будет обновляться
16 seademon86
 
25.02.13
16:48
(11) (14)
Вылетает.. причем странно вылетает, прям винда 1С выкидывает:

http://i058.radikal.ru/1302/85/e108c508abb4.png
17 zladenuw
 
25.02.13
16:59
18 seademon86
 
26.02.13
10:11
(17) По ссылке почитал, получается, по таблице еще потом нужно циклом пробегаться и запихивать из табличной части обработки в таблицу формы? (( я думал, если они связаны, как-то можно избежать цикла (((
19 le_
 
26.02.13
10:30
(0) За это время можно было конфигурацию для автоматизации работы небольшой фирмы разработать.

Пример: http://dfiles.ru/files/9n5fxzw71
20 le_
 
26.02.13
10:32
+(19) И книжку по программированию управляемых форм прочесть.
21 seademon86
 
26.02.13
11:36
(19) Мегаогромнейшее спасибо!
(20) Какую книжку можно посоветовать?

Вопрос решался просто:

&НаСервере
Процедура Команда_ПрочитатьФайл(пИмяФайла)
   ОбъектОбработка = РеквизитФормыВЗначение("Объект");
   ОбъектОбработка.ПолучитьТаблицуИзФайла(пИмяФайла);
   ЗначениеВРеквизитФормы(ОбъектОбработка,"Объект");
КонецПроцедуры


Где ПолучитьТаблицуИзФайла - процедура, описанная в модуле обработки, которая заполняет табличную часть обработки
22 le_
 
26.02.13
11:39
(21) http://www.v8.1c.ru/metod/books/book.jsp?id=231
+ Видеоуроки Гилева неплохие.
Программист всегда исправляет последнюю ошибку.