|
УТ11 Вопрос по СтрокаТаблицыЗначений | ☑ | ||
---|---|---|---|---|
0
yuraskas
01.06.18
✎
09:26
|
В цикле получаю строку таблицы значений. Как вывести в переменную имя колонки конкретного поля?
В помошнике в СтрокаТаблицыЗначений есть единственное свойство: <Имя колонки>, как его получить в переменную? |
|||
1
hhhh
01.06.18
✎
09:28
|
(0) СтрокаТаблицыЗначений.Владелец().Колонки
|
|||
2
yuraskas
01.06.18
✎
09:42
|
(1) Мне ж нужно узнать имя колонки конкретной позиции, чтото типа такого стрЭ[1].Владелец.Колонки, а как это сделать?
|
|||
3
НЕА123
01.06.18
✎
09:46
|
стрЭ.Владелец.Колонки[1]
|
|||
4
yuraskas
01.06.18
✎
09:55
|
(3) я делаю обход строк а не колонок. Этот вариант не проходит
|
|||
5
Buster007
01.06.18
✎
10:09
|
(0) так в чем дело то?
|
|||
6
Antony8x
01.06.18
✎
10:10
|
(3) :)
|
|||
7
catena
01.06.18
✎
10:17
|
(4)Т.е., у тебя есть стр.ИмяКолонки и тебе хочется получить "ИмяКолонки"? В чем проблема, если ты его знаешь?
Два варианта: Для каждого Стр из ТЗ Значение = Стр[0]; ИмяКолонки = ТЗ.Колонки[0].Имя; КонецЦикла; Для каждого Стр из ТЗ Значение = Стр.Номенклатура; ИмяКолонки = "Номенклатура"; КонецЦикла; Твой какой? |
|||
8
dezss
01.06.18
✎
10:20
|
(7) Ну ему же нужно имя колонки строки, а не имя колонки ТЗ, что бы это ни значило.)))
(0) Может тебе нужно получить имя колонки текущего выделенного элемента строки? |
|||
9
yuraskas
01.06.18
✎
10:22
|
вот это уже ближе
Для каждого Стр из ТЗ Значение = Стр[0]; ИмяКолонки = ТЗ.Колонки[0].Имя; КонецЦикла; |
|||
10
Малыш Джон
01.06.18
✎
10:25
|
(0) ну ты же из строки как-то само поле получаешь? по аналогии - из коллекции колонок получай колонку с именем.
|
|||
11
yuraskas
01.06.18
✎
10:28
|
Смысл задачи: обойти первою строку в таблице значений, и там где пустое значение, определить имя колонки, и вывести это имя в массив.
|
|||
12
dezss
01.06.18
✎
10:34
|
(11) а затем?
|
|||
13
Малыш Джон
01.06.18
✎
10:36
|
(11) пустое значение как определять собираешься? цикл по полям строки?
|
|||
14
yuraskas
01.06.18
✎
10:36
|
(12)так а затем это уже другая история, как решить (11)
|
|||
15
catena
01.06.18
✎
10:38
|
(14)Эээ... Из (9) (11) решается добавлением двух строк.
|
|||
16
yuraskas
01.06.18
✎
10:49
|
(15) в (9) у тебя идет обращение по конкретному индеку ("ТЗ.Колонки[0].Имя;") - так работает. Но для СтрокаТаблицыЗначений нельзя задать цикл с ПО.
|
|||
17
yuraskas
01.06.18
✎
10:49
|
и мне не определить имя колонки для текущей ячейки строки.
|
|||
18
dezss
01.06.18
✎
10:50
|
(14) если тебе вывести сообщение пользователю, то не надо имя колонки определять, надо использовать СообщениеПользователю.
|
|||
19
dezss
01.06.18
✎
10:51
|
(17) Возможно обращение к значению колонки данной строки посредством оператора [...]. В качестве аргумента передается индекс колонки (нумерация с 0).
И это будет тот же самый индекс, что и индекс колонки ТЗ. |
|||
20
dezss
01.06.18
✎
10:52
|
(16) что мешает создать цикл с ПО?
|
|||
21
perester
01.06.18
✎
10:54
|
я походу понял
для каждого строка из ТЗ цикл для каждого колонка из строка.владелец().колонки цикл если значениезаполнено(строка[колонка.имя]) тогда КонецЕсли; КонецЦикла; КонецЦикла; Только по идее надо для каждого строка из ТЗ цикл для каждого колонка из тз.колонки цикл если значениезаполнено(строка[колонка.имя]) тогда КонецЕсли; КонецЦикла; КонецЦикла; |
|||
22
catena
01.06.18
✎
10:55
|
(16)12 лет... За 12 лет счетчиком ни разу не пользовался? Серьезно?
|
|||
23
yuraskas
01.06.18
✎
10:57
|
(22) Уже не помню :) Не, ну чтобы получить имя колонки надо столько городить кода, это конечно сугс.
|
|||
24
dezss
01.06.18
✎
10:59
|
(23)
И где тут много кода? Или вариант из (21). Для каждого стр из ТЗ Цикл Для й = 0 По ТЗ.Колонки.Количество()-1 Цикл ЗначениеМоейКолонки = стр[й]; ИмяМоейКолонки = ТЗ.Колонки[й]; КонецЦикла КонецЦикла |
|||
25
yuraskas
01.06.18
✎
11:01
|
Спасибо за обсуждение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |