Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 1c 8.3 управляемые формы. Как обратиться к колонке?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
illiona
Добрый день. Есть таблица ЭтаФорма.ДанныеФайла, которая полностью программно создается и выводится на форму.
Названия столбцов всегда разное
Как мне потом обратиться к наименованию колонки, чтоб считать данные?

К строке понятно как обратиться
Для Каждого ТекСтрока из ЭтаФорма.ДанныеФайла Цикл
КонецЦикла

illiona
illiona @ Сегодня, 9:27 необходимо зарегистрироваться для просмотра ссылки ,
Для Каждого ТекСтрока из ЭтаФорма.ДанныеФайла Цикл

                       Таблица = ЭтаФорма.ДанныеФайла.Выгрузить().Колонки;
            i=1;
            Пока i < Таблица.Количество() Цикл
                    НоваяСтрока = ДокПриход.Товары.Добавить();
                    НазваниеКолонки = Таблица[i].Имя;
                    Товар = Справочники.Номенклатура.НайтиПоНаименованию(НазваниеКолонки,Истина);
                    НоваяСтрока.Номенклатура =  Товар.Ссылка;
                    //НоваяСтрока.Количество = ТекСтрока.  ; // как обратиться к значению в строке
                    i = i+1;
            КонецЦикла;
КонецЦикла

Коллекцию колонок получила, как обратиться теперь к значению в строке?
Vofka
Вы хотите на основании одной таблицы сделать и наполнить другую?
illiona
Все равно как -то к значениям в строке через столбец надо обратиться
Vofka
Значение = Строка[ИмяКолонки];
illiona
У меня имена колонок всегда разные при формировании таблицы
Bernet
illiona @ Сегодня, 8:58 необходимо зарегистрироваться для просмотра ссылки ,
Сохраните имена ваших колонок при формировании в какой-то массив, а дальше где нужно берите с этого массива элементы и так как Vofka написал, через имя колонки обращайтесь к значению. Пример:
// создание колонок
ТЗ = Новый ТаблицаЗначений;
МассивКолонок = Новый Массив;
Инд=1;
Пока Инд <= 5 Цикл
      ТЗ.Колонки.Добавить("Колонка"+Строка(Инд));
      МассивКолонок.Добавить("Колонка"+Строка(Инд));
КонецЦикла;

// ... тут где-то заполняем таблицу данными

//  а потом где нужно получить значение каких-то колонок
Для Каждого СтрокаТЗ Из ТЗ цикл
      Для Каждого ИмяКолонки Из МассивКолонок Цикл
             Сообщить(СтрокаТЗ[ИмяКолонки]);
      КонецЦикла;
КонецЦикла;


пардон, ошибочка в предыдущем посте
// создание колонок
ТЗ = Новый ТаблицаЗначений;
МассивКолонок = Новый Массив;
Инд=1;
Пока Инд <= 5 Цикл
      ТЗ.Колонки.Добавить("Колонка"+Строка(Инд));
      МассивКолонок.Добавить("Колонка"+Строка(Инд));
      Инд = Инд + 1;
КонецЦикла;

// ... тут где-то заполняем таблицу данными

//  а потом где нужно получить значение каких-то колонок
Для Каждого СтрокаТЗ Из ТЗ цикл
      Для Каждого ИмяКолонки Из МассивКолонок Цикл
             Сообщить(СтрокаТЗ[ИмяКолонки]);
      КонецЦикла;
КонецЦикла;
Vidocq05
illiona @ Сегодня, 6:27 необходимо зарегистрироваться для просмотра ссылки ,
Задача не совсем понятна. Но возможно так

НоваяСтрока.Количество = ТекСтрока[i];


или так

НоваяСтрока.Количество = ТекСтрока[i].Значение;


Давно с управляемыми формами не работал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.