Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> 1c 8.3 управляемые формы. Как обратиться к колонке?          
illiona Подменю пользователя
сообщение 12.10.17, 5:27
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день. Есть таблица ЭтаФорма.ДанныеФайла, которая полностью программно создается и выводится на форму.
Названия столбцов всегда разное
Как мне потом обратиться к наименованию колонки, чтоб считать данные?

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


illiona Подменю пользователя
сообщение 12.10.17, 6:36
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

Коллекцию колонок получила, как обратиться теперь к значению в строке?

Vofka Подменю пользователя
сообщение 12.10.17, 7:06
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Вы хотите на основании одной таблицы сделать и наполнить другую?

illiona Подменю пользователя
сообщение 12.10.17, 7:18
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 0 раз
Рейтинг: 0

Все равно как -то к значениям в строке через столбец надо обратиться

Vofka Подменю пользователя
сообщение 12.10.17, 7:51
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Значение = Строка[ИмяКолонки];

Спасибо сказали: illiona,

illiona Подменю пользователя
сообщение 12.10.17, 7:58
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 0 раз
Рейтинг: 0

У меня имена колонок всегда разные при формировании таблицы

Bernet Подменю пользователя
сообщение 12.10.17, 8:26
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

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

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

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


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

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

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


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Спасибо сказали: illiona,

Vidocq05 Подменю пользователя
сообщение 12.10.17, 8:29
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

illiona @ Сегодня, 6:27 * ,
Задача не совсем понятна. Но возможно так

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


или так

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


Давно с управляемыми формами не работал.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 15:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!