Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Список полей/реквизитов ТаблицыЗначений (http://forums.kuban.ru/f1040/spisok_polej_rekvizitov_tablicyznachenij-9234193.html)

taras12 12.07.2024 23:22

Список полей/реквизитов ТаблицыЗначений
 
Добрый вечер! Помогите пожалуйста с Таблицами Значений! Есть ТаблицаЗначени1, у нее есть реквизит Т с типом "ТаблицаЗначени" у которой есть поля/реквизиты. Как можно получить список полей/реквизитов внутренней ТЗ?

Я Уже пробовал так: "Список полей/реквизитов ТаблицыЗначений.Т Цикл..." НО нет: Список полей пуст.

Billi 13.07.2024 14:03

Смотри в сторону свойства Колонки

Чучундер 25.07.2024 02:48

ТаблицаЗначений1 - это есть переменная, в которой сидит таблица значений
.
ТаблицаЗначений1.Т - это есть переменная, в которой сидит таблица значений
.
Чем отличаются ТаблицаЗначений1 и ТаблицаЗначений1.Т с точки зрения оперирования ими? НИЧЕМ - это таблицы значений.
.
К ТаблицаЗначений1.Т можешь применять все те же методы/приемы что и к ТаблицаЗначений1
.
Напрмер: ТаблицаЗначений1.Т.КоличествоСтрок() или ТаблицаЗначений1.Т.КоличествоКолонок() или ТаблицаЗначений1.Т.ВыбратьСтроки();
Пока ТаблицаЗначений1.Т.ПолучитьСтроку()=1 Цикл
..итд
.
Для улучшения читабельности можно
ТЗДочерняя = ТаблицаЗначений1.Т;
ТЗДочерняя.ПолучитьЗначение(1,1); // значение из первой строки первой колонки итд...
.
Обращаю внимание, что ТЗДочерняя и ТаблицаЗначений1.Т - это ОДНА И ТА ЖЕ таблица значений, т.к. (упрощенно) в переменной ТаблицаЗначений1.Т содержится адрес памяти где сидит собственно эта таблица значений Т, и от того что адрес памяти будет переложен из переменной ТаблицаЗначений1.Т в ТЗДочерняя - обе переменные будут указывать на одну и ту же область памяти.

Чучундер 25.07.2024 02:55

(0) "Как можно получить список полей/реквизитов внутренней ТЗ?"
- а нафейхоа? если ты не знаешь идентификаторов колонок таблицы значений Т - тебе не пофиг? обращайся к значению не по идентификатору колонки, а по номеру колонки
.
ТаблицаЗначений1.ВыбратьСтроки();
Пока ТаблицаЗначений1.ПолучитьСтроку()=1 Цикл
ТаблицаЗначений1.Т.ВыбратьСтроки();
Пока ТаблицаЗначений1.Т.ПолучитьСтроку()=1 Цикл
ЭтоЗначениеПервойКолонки = ТаблицаЗначений1.Т.ПолучитьЗначение(ТаблицаЗначений1.НомерСТроки,1);
ЭтоЗначениеВторойКолонки = ТаблицаЗначений1.Т.ПолучитьЗначение(ТаблицаЗначений1.НомерСТроки,2);
КонецЦикла; // дочка
КонецЦикла; // родитель

Чучундер 25.07.2024 03:01

(0) "Как можно получить список полей/реквизитов внутренней ТЗ?"
- если приперло или действительно надо, то типа так
Для ы=1 по ТаблицаЗначений1.Т.КоличествоКолонок() Цикл
..ИдКолонки = ТаблицаЗначений1.Т.ПолучитьПараметрыКолонки(ы);
..Если ВРег(ИдКолонки) = "СУММАНДС" Тогда
..//ну тут что надо
..ИначеЕсли ВРег(ИдКолонки) = "ЧЕЧЕМПИОН" Тогда
..//ну тут что надо
..КонецЕсли; // имя колонки
КонецЦикла; // перебор колонок дочерней ТЗ


Текущее время: 00:00. Часовой пояс GMT +3.