|
Как обратиться к программно созданным колонкам табличного поля? Обычные формы. | ☑ | ||
---|---|---|---|---|
0
DGorgoN
05.07.21
✎
20:16
|
Создаю колонки
НоваяКолонка = ЭлементыФормы.Анализ.Колонки.Добавить(СокрЛП(Стр.Подразделение.тдГруппаПодразделений), СокрЛП(Стр.Подразделение.тдГруппаПодразделений)); НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода")); Вот как теперь мне узнать какое текущее значение в колонке СокрЛП(Стр.Подразделение.тдГруппаПодразделений) ? |
|||
1
ДенисЧ
05.07.21
✎
20:22
|
В колонке нет значений...
Они есть в ячейке строки... А так ... Строкатз[ИмяКолонки] |
|||
2
DGorgoN
05.07.21
✎
20:23
|
(1) Нифига. Не получается. Я делал давно но сейчас хоть убей не помню. Полчаса ковырял и вот..
|
|||
3
DGorgoN
05.07.21
✎
20:24
|
Процедура АнализПриИзмененииФлажка(Элемент, Колонка)
//Сообщить(Колонка.Имя); ////Сообщить(Элемент.ТекущаяСтрока[Колонка.Имя]); ////Сообщить(ЭлементыФормы.Анализ.ТекущаяСтрока[Колонка.Имя]); //ЭлементыФормы.Анализ.Яче //ТекущиеДанные = ЭлементыФормы.Анализ.ТекущиеДанные; //Сообщить(ТекущиеДанные[Колонка.Имя]); ///Имя реквизита //Для каждого СтрПоля из ЭлементыФормы.Анализ Цикл // Сообщить(СтрПоля[Колонка.Имя]); //КонецЦикла; Для Каждого Строчка из Анализ Цикл Сообщить(Строчка[Колонка.Имя]); КонецЦикла; КонецПроцедуры Везде ошибки |
|||
4
ДенисЧ
05.07.21
✎
20:33
|
ВотсЪ
Процедура ПриОткрытии() тз.Колонки.Добавить("Колонка1"); ЭлементыФормы.ТЗ.СоздатьКолонки();; ЭлементыФормы.ТЗ.Колонки["Колонка1"].УстановитьЭлементУправления(Тип("ПолеВвода")); тз.Добавить().Колонка1 = "1"; тз.Добавить().Колонка1 = "2"; КонецПроцедуры Процедура ТЗПриАктивизацииСтроки(Элемент) сообщить("" + тз[0]["Колонка1"]); сообщить("" + тз[1]["Колонка1"]); КонецПроцедуры тз - таблица значений на форме. |
|||
5
DGorgoN
05.07.21
✎
20:39
|
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(27)}: Поле объекта не обнаружено (Колонки)
Анализ.Колонки.Добавить("Колонка1"); |
|||
6
ДенисЧ
05.07.21
✎
20:41
|
(5) значит, анализ у тебя не таблица значений.
|
|||
7
ДенисЧ
05.07.21
✎
20:41
|
Источник у неё какой?
|
|||
8
DGorgoN
05.07.21
✎
20:43
|
(7) Это реквизит документа, ну может быть реквизит обработки.
|
|||
9
DGorgoN
05.07.21
✎
20:43
|
Табличная часть обработки
|
|||
10
ДенисЧ
05.07.21
✎
20:44
|
И как ты собирался к нему добавить колонки?
Для таких колонок ты можешь записать туда что-то. В ПриВыводеСтроки() или в ПриПолученииДанных() |
|||
11
Ёпрст
05.07.21
✎
20:48
|
Проще уж не программно добавить колонку в ТЧ обработки, тем более, что это флажок..
|
|||
12
DGorgoN
05.07.21
✎
20:51
|
(10) Ну добавлять то просто
НоваяКолонка = ЭлементыФормы.Анализ.Колонки.Добавить(СокрЛП(Стр.Подразделение.тдГруппаПодразделений), СокрЛП(Стр.Подразделение.тдГруппаПодразделений)); НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода")); НоваяКолонка.Ширина = 5; |
|||
13
DGorgoN
05.07.21
✎
20:52
|
(10) (11) Есть список постоянный полей и есть список динамических. От 0 до n. Можно конечно добавить реквизит1, реквизит2 и т.п. но хочется покрасивее.
|
|||
14
DGorgoN
05.07.21
✎
20:53
|
(10) Записать при выводе строки получается. Вот пользователь изменил что то в этой колонке - как узнать в какой и что?
|
|||
15
Сергиус
05.07.21
✎
21:28
|
(14)Метод ДанныеСтроки.
|
|||
16
DGorgoN
05.07.21
✎
21:30
|
(15) Поясни подробнее с примером пжста.
|
|||
17
Сергиус
05.07.21
✎
21:37
|
(16)Не прокатит, там будут доступны только данные колонок из привязанной ТЧ. Для твоего случая только либо ПриВыводеСтроки, либо ПриПолученииДанных - события Табличного поля
|
|||
18
Ёпрст
05.07.21
✎
21:51
|
(13) Тогда не используй ТЧ, используй ТЗ. И там, что угодно. Ну, разве что отборы будешь ручоками лепить
|
|||
19
DGorgoN
05.07.21
✎
22:00
|
(18) Я вот точно помню что перебирал элемент формы. Ну не ужели нет способа и мне причудилось?
|
|||
20
Ёпрст
05.07.21
✎
22:04
|
(19) способ есть. Он в (18)
|
|||
21
DGorgoN
05.07.21
✎
22:05
|
Ну коряво это. Буду делать как в установкецен - по аналогии.
|
|||
22
Ёпрст
05.07.21
✎
22:20
|
(21) там просто ТЗ на форме. Которая потом хранится в виде плоской ТЧ.
|
|||
23
Ёпрст
05.07.21
✎
22:21
|
Ну и собственна, см (18)
|
|||
24
DGorgoN
05.07.21
✎
22:23
|
(23) Ну вот так и придётся делать. Странно с точки зрения программирования не предоставить доступ к элементам табличного поля напрямую на форме. Колонки создать можно, даже что то туда записать при выводе строки а считать никак )
|
|||
25
Ёпрст
05.07.21
✎
22:48
|
(24) Источник ТЧ - в колонках ТЧ можешь сделать что угодно. Добавляя свои колонки в табличное поле, они никак с ТЧ не связаны, вообще. Ты можешь только показать нечто в этих колонках использую ПривыводеСтроки или ПриПолученииДанных.
А вот с ТЗ, всё проще - ты сразу добавляешь колонки в ТЗ (хотя можешь и в табличное поле и см. проблему выше), т.е в сам источник данных Соответственно можешь делать что угодно. |
|||
26
Ёпрст
05.07.21
✎
22:50
|
Табличное поле - это всего лишь "окошко", через которое ты на данные источника смотришь.
Если ты в источник не добавляешь ничего (колонки свои) ты их в "окошко" и не видишь и управлять ими не можешь. |
|||
27
DGorgoN
05.07.21
✎
22:58
|
(26) Ну почему тогда в это окошко можно добавить колонку? )
|
|||
28
Ёпрст
05.07.21
✎
22:59
|
(27) чтобы вывести нередактируемую доп информацию, которую ты можешь получить из источника данных
|
|||
29
DGorgoN
05.07.21
✎
23:02
|
(28) Почему тогда ты эту информацию можешь редактировать? )
|
|||
30
Ёпрст
05.07.21
✎
23:03
|
(29) не можешь
|
|||
31
DGorgoN
05.07.21
✎
23:11
|
(30) Ну как не можешь? Можешь - отображается что можешь. Да пофик на самом деле - на обычные форму 1с давно забила. Чисто по логике вполне себе можно было допилить.
|
|||
32
Ёпрст
05.07.21
✎
23:20
|
(31) Если че, в УФ - всё тоже самое.
|
|||
33
Ёпрст
05.07.21
✎
23:20
|
Только, там еще больше ограничений
|
|||
34
DGorgoN
05.07.21
✎
23:41
|
(32) (33) Ну не скажи. Там всё логично более-менее. Хотя где 1с где логика, скорее привычка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |