Имя: Пароль:
1C
1С v8
Ссылка на строку из тз
,
0 alexmosk08
 
05.09.19
08:19
Добрый день. Каким образом можно получить ссылку на строку, что бы потом воспользоваться колонкой наименования этой строки
1 hhhh
 
05.09.19
08:23
(0) через квадратные скобки. ТЗ[0] - первая строка, ТЗ[1] - вторая, и т.д.
2 FIXXXL
 
05.09.19
08:36
(0) в каких целях? так то у строки нет коллекции колонок...
3 alexmosk08
 
05.09.19
08:46
(2) а как я могу добраться до наименования нужной мне колонки ?
4 catena
 
05.09.19
08:53
(3)А какая из них "нужная"?
5 alexmosk08
 
05.09.19
08:58
(4) та, у которой в поле Родитель будет значение 1
6 Fish
 
05.09.19
08:59
(2) Если это строка ТЧ, например, то вполне себе есть.
7 Fish
 
05.09.19
09:03
(6) Ну и у ТЗ, конечно же есть.
8 alexmosk08
 
05.09.19
09:03
(6) так а как это реализовать? Как в первом сообщении подсказали ?
9 Fish
 
05.09.19
09:05
(8) Можно воспользоваться для начала СП:
"КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)
Элементы коллекции:

КолонкаТаблицыЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс элемента (нумерация с 0).

Свойства:

<Имя колонки> (<Column name>)

Методы:

Вставить (Insert)
Добавить (Add)
Индекс (IndexOf)
Количество (Count)
Найти (Find)
Очистить (Clear)
Получить (Get)
Сдвинуть (Move)
Удалить (Delete)

Описание:

Представляет собой коллекцию колонок таблицы значений. Доступ к объекту осуществляется через свойство Колонки таблицы значений.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
См. также:

ТаблицаЗначений, свойство Колонки"


Но ты лучше внятно объясни, что тебе нужно. Что за поле родитель?
10 catena
 
05.09.19
09:06
(5)Ты путаешься с терминами. У колонки нет поля. Тебе нужна строка со значением 1 в колонке Родитель?
11 Rovan
 
гуру
05.09.19
09:07
(6) у строки поля (реквизиты), а колонку у ТЗ и ТЧ
12 alexmosk08
 
05.09.19
09:10
(9) из экселя добавил в ТЗ данные, далее нужно записать их в справочник, но для этого нужно пройтись по всей ТЗ и строки у которых в поле родитель значиться 1 будет являться при записи в справочник родителем для всей следующих строк расположенных последовательно до следующей 1 в поле Родитель. Вот и хочу получить ссылку на строку точнее колонку наименование нужной мне строки что бы в дальнейшем записывать ее наименование в поле родитель при записи в справочник
13 alexmosk08
 
05.09.19
09:11
(10) да, именно так
14 catena
 
05.09.19
09:12
(12)А зачем плодить темы, нельзя было спрашивать в предыдущей? Не было бы путанницы, тем более, я вам в прошлой теме готовую рыбу кода дала.
15 alexmosk08
 
05.09.19
09:14
(14) да, благодарю, но интересно возможно ли именно ссылку получить и с помощью нее все реализовать
16 ДенисЧ
 
05.09.19
09:15
Наименование строки ТЗ? Что-то новенькое...
А ссылка - это номер строки в тз
17 catena
 
05.09.19
09:43
(15)Что вы будете делать со "ссылкой", если у вас вся логика завязана на следующие за ней строки?
18 catena
 
05.09.19
09:44
(15)А вообще НайтиСтроки()
19 FIXXXL
 
05.09.19
09:57
(6) покажи рабочий код, который вернет от Строки имя Колонки, без использования .Родитель :)
20 Fish
 
05.09.19
10:01
(19) Пожалуйста. Имена всех колонок:
Для каждого Колонка Из СтрокаТЗ.Колонки Цикл
        Сообщить(Колонка.Имя);
КонецЦикла  

Для одной колонки СтрокаТЗ[0].Имя

И никаких родителей.
21 FIXXXL
 
05.09.19
10:50
(20) выполни такой код
22 Fish
 
05.09.19
10:52
(21) Так возьми и выполни, если СП не читал. Код полностью рабочий.
23 FIXXXL
 
05.09.19
10:56
(22)

&НаСервере
Процедура КолонкаТЗНаСервере()

    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("К01");
    ТЗ.Колонки.Добавить("К02");
    ТЗ.Колонки.Добавить("К03");
    
    СтрокаТЗ = тз.Добавить();
    
    Для каждого Колонка Из СтрокаТЗ.Колонки Цикл
        Сообщить(Колонка.Имя);
    КонецЦикла     
    
    
КонецПроцедуры


{ВнешняяОбработка.тест.Форма.Форма.Форма(1004)}: Поле объекта не обнаружено (Колонки)
    Для каждого Колонка Из СтрокаТЗ.Колонки Цикл

Читай СП до просветления...
24 Fish
 
05.09.19
11:01
(23) Ну подумаешь, ошибся :)) Вместо СтрокаТЗ.Колонки, надо написать ТЗ.Колонки.
Ну и для одной колонки ТЗ.Колонки[0]
25 ДенисЧ
 
05.09.19
11:02
(20)

СтрокаТаблицыЗначений (ValueTableRow)
Элементы коллекции:

Произвольный
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения в колонке данной строки.
Возможно обращение к значению колонки данной строки посредством оператора [...]. В качестве аргумента передается индекс колонки (нумерация с 0).

Свойства:

<Имя колонки> (<Column name>)

Методы:

Владелец (Owner)
Получить (Get)
Установить (Set)
26 VladZ
 
05.09.19
11:04
(0) Смешались в кучу кони, люди...

Расскажи нам в целом про задачу.
27 hhhh
 
05.09.19
11:05
вы все не про то. У ТС не наименование колонки, а наоборот: как "воспользоваться колонкой наименования"
28 FIXXXL
 
05.09.19
11:06
(24) ну фига ты ошибся! :) ТЗ и СтрокуТЗ попутал
От строки - через Владельца, онли...
29 Fish
 
05.09.19
11:08
(28) Перепутал получение самих колонок и их значений. Посыпал голову пеплом.
30 FIXXXL
 
05.09.19
12:59
(29) ну я тож Родителя с Владельцем попутал :)
31 Rovan
 
гуру
05.09.19
13:18
Я понял вопрос !
у Строки ТЗ действительно есть владелец, это сама ТЗ.
Как узнать к какой ТЗ относится данная строка (сохраненная в переменную) ?

тСтрока = ТЗКонтрагенты[5];
...
тСтрока = ТЗДоговоры[15];

Можно ли из строки получить ссылку на всю ТЗ ?
Можно - метод Владелец();
ТЗ = тСтрока.Владелец();

Оно ? Помогло решить саму задачу ?
32 hhhh
 
05.09.19
13:36
(31) для решения задачи это вообще не нужно.
33 Serg_1960
 
05.09.19
13:52
К сотому посту ТС уточнит, что его ТЗ - дерево :)
Программист всегда исправляет последнюю ошибку.