Имя: Пароль:
1C
1С v8
Событие при получении данных в табличной части(управляемая форма)
,
0 IT_PROGRAMMIST
 
23.10.11
19:51
Добрый вечер!УПП 1.3.11.5.пл.8.2.13.219
Проблема в следующем: не могу найти в управляемых формах событие при получении данных для табличной части.Есть ли вообще это событие в управляемых формах и если нет, то как  можно обойти эту проблему???Заранее,спасибо.
1 Ranger_83
 
23.10.11
19:53
ТекущиеДанные
2 acsent
 
23.10.11
19:53
нету
3 Tafa
 
23.10.11
20:30
Если это динамический список, то может помочь его условное оформление или (например, картинки строк вывести свои) произвольный запрос, а если нет - то условное оформление формы.
4 IT_PROGRAMMIST
 
23.10.11
20:51
Передо мной стоит такая задача: Нужно заполнить реквизиты формы табличной части из реквизитов документа табличной части. К примеру: есть реквизиты формы табличной части День1,День2,День3,каждый из них состоит из двух реквизитов документа табличной части: Вид времени,Отработано часов.Мне нужно, чтобы при открытие документа заполнились вот эти реквизиты :День1,День2, День3.....и т.д.(т.е День1=ВидВремени1,ОтработаноЧасов1 и т.д).Это можно легко сделать через событие получение данных(в обычных формах через оформление строки).А как это можно сделать в упр формах?
5 Seducer
 
23.10.11
20:56
ПриСозданииНаСервере()
ПриЧтенииНаСервере()
ПослеЗаписиНаСервере()
6 Ranger_83
 
23.10.11
21:01
(5)О!Какие люди,сколько лет сколько зим :)
7 Seducer
 
23.10.11
21:01
Ну и + при изменении реквизитов табличной части документа, раз от них будет зависеть заполнение.
8 MegaKent2
 
23.10.11
21:02
(4)
посматри процедуру ПриИзмененииРеквизитовВТЧКлиент там думаю можно чтонить найти .
9 Seducer
 
23.10.11
21:08
(6)  :)
10 Ranger_83
 
23.10.11
21:11
(9)Ну,как поживаешь?Может в аську стукнешься?;)
11 IT_PROGRAMMIST
 
23.10.11
21:27
(8) не подойдет, так как при открытие формы должно происходить заполнение, а не при изменении элемента табличной части.При изменении у меня всё норм работает.
(5) а можешь подробней объяснить.Написал вот такой код:

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
   
   Для Каждого ОформлениеСтроки Из ТекущийОбъект.ОтработанноеВремя Цикл
       

     Для НомерДня=День(Объект.ДатаНачалаПериода) по День(Объект.ДатаОкончанияПериода) цикл
       
       НазваниеЯчейкиВидВремени="ВидВремени"+НомерДня;
       НазваниеЯчейкиОтработаноЧасов="ОтработаноЧасов"+НомерДня;

//вот этот код не срабатывает.Ругается на ДАННЫЕ СТРОКИ!!

       ВидВремени = ОформлениеСтроки.Данныестроки[НазваниеЯчейкиВидВремени];
       ОтработаноЧасов=ОформлениеСтроки.Данныестроки[НазваниеЯчейкиОтработаноЧасов];
       Текст=ВидВремени+ОтработаноЧасов;        

//РУГАЕТСЯ НА ЯЧЕЙКИ
       ТекущаяЯчейка = ОформлениеСтроки.Ячейки["День"+НомерДня]
       
       ТекущаяЯчейка.Значение=Текст;
//************************************    
       
     КонецЦикла;    
   КонецЦикла;
   
КонецПроцедуры
12 Seducer
 
23.10.11
21:42
(11) А при чем тут "ДанныеСтроки"  ?
ОформлениеСтроки[НазваниеЯчейкиВидВремени]
13 IT_PROGRAMMIST
 
23.10.11
21:52
Теперь ругается на реквизит формы табличной части День(см. ниже)

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
   
   Для Каждого ОформлениеСтроки Из ТекущийОбъект.ОтработанноеВремя Цикл
       
       ТекДень=Объект.ДатаНачалаПериода-60*60*24;
   
     Для НомерДня=День(Объект.ДатаНачалаПериода) по День(Объект.ДатаОкончанияПериода) цикл
       
       ТекДень=Объект.ДатаНачалаПериода+60*60*24;

       НазваниеЯчейкиВидВремени="ВидВремени"+НомерДня;
       НазваниеЯчейкиОтработаноЧасов="ОтработаноЧасов"+НомерДня;
       
       ВидВремени = ОформлениеСтроки[НазваниеЯчейкиВидВремени];
       ОтработаноЧасов=ОформлениеСтроки[НазваниеЯчейкиОтработаноЧасов];
       Текст=Строка(ВидВремени)+Строка(ОтработаноЧасов);        
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! поле объекта не обнаружено
       ТекущаяЯчейка = ОформлениеСтроки["День"+НомерДня];
       //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       ТекущаяЯчейка.Значение=Текст;
   
       
     КонецЦикла;    
   КонецЦикла;
   
КонецПроцедуры
14 IT_PROGRAMMIST
 
23.10.11
22:11
СОС!!!!))
15 Seducer
 
23.10.11
22:12
ОформлениеСтроки["День"+НомерДня]=Текст;

Так не работает, что ли?
16 IT_PROGRAMMIST
 
23.10.11
22:14
Да,пишет поле объекта не обнаружено День1
17 Seducer
 
23.10.11
22:14
Посмотри отладчиком, что у тебя в "ОформлениеСтроки". Есть ли вообще "День1"
18 IT_PROGRAMMIST
 
23.10.11
22:17
Да, его нет в оформление строки.Наверное из-за того,что это реквизит формы.Блин..
19 Seducer
 
23.10.11
22:21
не въехал..... т.е. колонка в форме? и она ни с чем не связана?
20 IT_PROGRAMMIST
 
23.10.11
22:25
чего же ,реквизит добавлен путем  добавления колонки в табличную часть формы.
21 acsent
 
23.10.11
22:28
Не ТекущийОбъект, а Объект
22 IT_PROGRAMMIST
 
23.10.11
22:37
ТОЧНО!!!!!!!!!!!!!!!!!!!!!!!!!!!Исправил ТекушийОБъект на Объект и все ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
СПАСИБО ВСЕМ ОГРОМНОЕ ЗА ПОМОШЬ!!!!!!!!!!!!!!!ОЧЕНЬ ПОМОГЛИ.
23 Asmody
 
23.10.11
22:43
Что ещё раз подтверждает, что при работе с УФ книга http://v8.1c.ru/metod/books/book.jsp?id=231 обязательна к прочтению
24 Seducer
 
23.10.11
22:51
Да, блин.... Че-то я этот момент упустил. Думал, это так автор обозвал
Основная теорема систематики: Новые системы плодят новые проблемы.