Имя: Пароль:
1C
1С v8
Получить данные из колонки
0 Milana
 
08.05.13
06:44
Я в документе на табличном поле создала дополнительную колонку, которая заполняется в процедуре "ПриПолученииДанных". Затем при нажатии на кнопку хочу получить все данные из табличной части, включая эту колонку. Но никак не могу обратиться к этой колонке. Подскажите, как это сделать?
1 Wobland
 
08.05.13
06:46
через элементы формы
2 Milana
 
08.05.13
06:52
(1) Я уже всяко пробовала. И Для Каждого СтрокаТаблицы из ЭлементыФормы.ИмяТабличногоПоля.Данные и Для Каждого СтрокаТаблицы из ЭлементыФормы.ИмяТабличногоПоля.Значение - не получается значение из этой колонки.
3 Галахад
 
гуру
08.05.13
06:57
Покажи как заполняешь. И как получаешь.
4 Wobland
 
08.05.13
06:59
и ещё что-нибудь цветное покажи
5 Milana
 
08.05.13
07:00
Вот так заполняю:
Процедура РаботникиОрганизацииПриПолученииДанных(Элемент, ОформленияСтрок)    
   <......>
   Для Каждого СтрокаТабличнойЧасти Из ОформленияСтрок Цикл        
       ДанныеСтроки = СтрокаТабличнойЧасти.ДанныеСтроки;    
       Выборка.Сбросить();
       Если Выборка.НайтиСледующий(ДанныеСтроки.Кто, "Сотрудник") Тогда
           СтрокаТабличнойЧасти.Ячейки.ПодразделениеЗамещаемого.УстановитьТекст(Выборка.ПодразделениеОрганизации);
           СтрокаТабличнойЧасти.Ячейки.ДожностьЗамещаемого.УстановитьТекст(Выборка.Должность);
       КонецЕсли;    
   КонецЦикла;    
КонецПроцедуры
И никак не получаю на данный момент.
6 Галахад
 
гуру
08.05.13
07:03
Заполняешь текст, а читаешь данные.
7 Milana
 
08.05.13
07:06
(6) Да, нестыковочка. Но я была бы не против даже, если бы текст получить (прочитать) для начала.
8 Галахад
 
гуру
08.05.13
07:08
Фотки-то нету...
9 Milana
 
08.05.13
07:18
(8) В аське есть маленькая фотка.
10 kosts
 
08.05.13
07:19
(0) >Но никак не могу обратиться к этой колонке.
И не нужно. Используй свою выборку.
11 Milana
 
08.05.13
07:21
(10) Да, такой вариант я уже тоже придумала. Только не понятно, зачем два раза получать одни и те же данные, когда было бы проще взять из таблицы. Какая в этом логика?
12 Рэйв
 
08.05.13
07:22
(0)попробуй так


//---------
Для Каждого стр из ТЧ Цикл
  Сообщить(Элементыформы.ТЧ.ОформлениеСтроки(Стр).Ячейки.Колонка1.Значение);
//или
Сообщить(Элементыформы.ТЧ.ОформлениеСтроки(Стр).Ячейки.Колонка1.Текст);

КонецЦикла;
13 kosts
 
08.05.13
07:36
(11) >зачем два раза получать одни и те же данные
Огорчу. Событие ПриПолученииДанных вызывается много-много раз... Напиши Сообщить в процедуре и убедись в этом сама. Полистав список вверх вниз. Текст в оформлении существует пока он виден, стоит только скрыться за горизонт и ... его больше нет.
14 kosts
 
08.05.13
07:39
(13) >Событие ПриПолученииДанных вызывается много-много раз
Соответственно желательно закешировать полученные из базы данные, для предотвращения повторных запросов к БД.
15 Рэйв
 
08.05.13
07:47
(14)а кэш в какой то момент может разойтись с реальностью
16 kosts
 
08.05.13
07:48
(15) Каждый решает сам где и во сколько.
17 Milana
 
08.05.13
07:52
(12) У Элементыформы.ТЧ нет свойства ОформлениеСтроки.
18 Milana
 
08.05.13
07:52
(13) Я в курсе ))
19 1Сергей
 
08.05.13
07:55
у меня так делается:
Процедура ДоговорыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

   Если ЗначениеЗаполнено(ДанныеСтроки.Ссылка) И ЭтотОбъект.ОсновнойДоговорКонтрагента = ДанныеСтроки.Ссылка Тогда
       ОформлениеСтроки.Шрифт = мЖирныйШрифт;
   КонецЕсли;
   
   УсловиеДоговора = мУсловияДоговоров.Получить(ДанныеСтроки.Ссылка);
   Если ЗначениеЗаполнено(УсловиеДоговора) Тогда
       ОформлениеСтроки.Ячейки.УсловиеДоговора.Значение = УсловиеДоговора;
20 Рэйв
 
08.05.13
07:55
(17)Есть если в цикле перебора обра0аться как я показал
21 Рэйв
 
08.05.13
07:56
+(20)Ну или просто если есть текущая строка, которую можно вставить параметьром
22 Milana
 
08.05.13
08:01
(19) Это в процедуре "Привыводестроки" колонка доступна, а в отдельной процедуре как к ней обратиться?
23 Рэйв
 
08.05.13
08:10
(22) Если у тебя есть текущая строка, то обращайся.  Это стр в моем примере.Передаешь ее параметром и все
24 kosts
 
08.05.13
08:12
(23) Забудь про оформление и Привыводестроки и ПриПолученииДанных. Делай нормально.
25 Milana
 
08.05.13
08:16
(20) Точно, в цикле есть такое свойство! Спасибо, получилось взять данные! Спасибо огромное!!!
26 Milana
 
08.05.13
08:21
(20)+ Как до этого можно было догадаться?
27 Рэйв
 
08.05.13
08:22
(26)Согласен, что истина совсем не очевидная.Так что только методом научного тыка:-)