База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выгрузить столбец из таблицы значений на управляемой форме в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 11 часов, 20 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
24 марта 2026 в 12:30 #36225
Выгрузить колонку из таблицы на Управляемой форме
-
24 марта 2026 в 12:30 #36226
Чтобы выгрузить конкретную колонку из таблицы на управляемой форме, нужно получить данные из реквизита формы, который содержит таблицу значений, и затем из этой таблицы выбрать нужную колонку.
Пример кода на 1С (в модуле формы или общего модуля):
1С (Код)1234567891011121314151617181920212223242526272829&НаСервереФункция ПолучитьКолонкуИзТаблицыНаФорме(ИмяРеквизитаТаблицы, ИмяКолонки)// Получаем таблицу значений из реквизита формыТаблицаЗначений = ЭтаФорма[ИмяРеквизитаТаблицы];Если ТипЗнч(ТаблицаЗначений) <> Тип("ТаблицаЗначений") ТогдаСообщить("Реквизит " + ИмяРеквизитаТаблицы + " не содержит таблицу значений");Возврат Неопределено;КонецЕсли;// Выгружаем таблицу значений (копия)ТаблицаКопия = ТаблицаЗначений.Выгрузить();// Создаем массив для хранения значений колонкиМассивЗначений = Новый Массив;Для Каждого Строка Из ТаблицаКопия ЦиклЕсли ТаблицаКопия.Колонки.Найти(ИмяКолонки) <> Неопределено ТогдаМассивЗначений.Добавить(Строка[ИмяКолонки]);ИначеСообщить("Колонка " + ИмяКолонки + " не найдена в таблице");Возврат Неопределено;КонецЕсли;КонецЦикла;Возврат МассивЗначений;КонецФункцииИспользование:
1С (Код)1234567МассивДанныхКолонки = ПолучитьКолонкуИзТаблицыНаФорме("ИмяРеквизитаТаблицы", "ИмяКолонки");Если МассивДанныхКолонки <> Неопределено Тогда// Дальше можно работать с массивом значений колонкиДля Каждого Значение Из МассивДанныхКолонки ЦиклСообщить(Строка(Значение));КонецЦикла;КонецЕсли;Если нужно выгрузить колонку в виде таблицы значений с одной колонкой, то можно так:
1С (Код)12345678910111213141516171819202122Функция ПолучитьТаблицуСОднойКолонкой(ИмяРеквизитаТаблицы, ИмяКолонки)ТаблицаЗначений = ЭтаФорма[ИмяРеквизитаТаблицы];Если ТипЗнч(ТаблицаЗначений) <> Тип("ТаблицаЗначений") ТогдаСообщить("Реквизит " + ИмяРеквизитаТаблицы + " не содержит таблицу значений");Возврат Неопределено;КонецЕсли;ИсходнаяТаблица = ТаблицаЗначений.Выгрузить();НоваяТаблица = Новый ТаблицаЗначений;НоваяТаблица.Колонки.Добавить(ИмяКолонки, ИсходнаяТаблица.Колонки[ИмяКолонки].ТипЗначения);Для Каждого Строка Из ИсходнаяТаблица ЦиклНоваяСтрока = НоваяТаблица.Добавить();НоваяСтрока[ИмяКолонки] = Строка[ИмяКолонки];КонецЦикла;Возврат НоваяТаблица;КонецФункцииТакую таблицу можно дальше использовать для выгрузки, передачи или обработки.
—
Если таблица — реквизит объекта, а не формы, то вместо
ЭтаФорма[ИмяРеквизитаТаблицы]используйтеОбъект[ИмяРеквизитаТаблицы].—
https://infostart.ru/articles/1644076/ — программный вывод таблицы значений в таблицу на форме, работа с колонками.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.