powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Выгрузка и Загрузка колонок Таблицы Значений.
13 сообщений из 13, страница 1 из 1
Выгрузка и Загрузка колонок Таблицы Значений.
    #36081580
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Привет, помогите разобраться.
Есть 1Сv8.1, создаю внешнюю обработку, делаю форму, на форме создаю два табличных поля (Таб1 и Таб2). Таб1 вешаю на кнопку и заполняю его колонками (колонка1, колонка2, колонка3), а в таб2 делаю две колонки идентичных как в Таб1 (колонка1, колонка2).
ВОПРОС: как скопировать Колонку1 из Таб1 в Таб2, без перебора строк ????
Я зделал вот так, как бы все работает но данных в таб2 никаких не отображает.
МассивВыгрузки = Новый Массив;
МассивВыгрузки = Таб1.ВыгрузитьКолонку("Колонка1");
Сообщить(МассивВыгрузки.Количество());
Таб2.ЗагрузитьКолонку(МассивВыгрузки,"Колонки1");
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36081806
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gudy Я зделал вот так, как бы все работает но данных в таб2 никаких не отображает.
МассивВыгрузки = Новый Массив;
МассивВыгрузки = Таб1.ВыгрузитьКолонку("Колонка1");
Сообщить(МассивВыгрузки.Количество());
Таб2.ЗагрузитьКолонку(МассивВыгрузки,"Колонки1");

ТабличноеПоле (TableBox)
СоздатьКолонки (CreateColumns)
Синтаксис:
СоздатьКолонки()
Описание:
Удаляет старые колонки и загружает новые колонки из источника данных.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36081819
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чтобы не было скучно - еще отвалятся интерактивные обработчики "повешенные" на колонки
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36081891
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, ничего не работает...

МассивВыгрузки = Новый Массив;
МассивВыгрузки = Таб1.ВыгрузитьКолонку("Колонка1");
Сообщить(МассивВыгрузки.Количество());

ЭлементыФормы.Таб2.Значение = МассивВыгрузки;
ЭлементыФормы.Таб2.СоздатьКолонки();
Сообщить (Таб2.Количество());

Может без массив надо делать????
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36081998
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МассивВыгрузки = Новый Массив;
МассивВыгрузки = Таб1.ВыгрузитьКолонку("Колонка1");

Для каждого Элемент из МассивВыгрузки Цикл
НоваяСтрока = Таб2.Добавить();
НоваяСтрока.Колонка1 = Элемент;
КонецЦикла;

Вот так работает, но я хотел через функции скопировать колонки из одной таблицы в другую, а получилось как обычно перебором... ЕСЛИ кто знает как зделать через функции или как копировать колонки табличных чатей на форме, напишите.
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36082127
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
долго думать "куда мне загрузить колонку если в таблице нет строк"
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36083588
Пример из СП

ТаблицаРезультат = Новый ТаблицаЗначений;
Для каждого ИмяКолонки Из МассивИменКолонок Цикл
ТаблицаРезультат.Колонки.Добавить(ИмяКолонки);
КонецЦикла;

// Создадим пустые строки таблицы
Для Н=1 По СтрокиДереваЗначений.Количество() Цикл
ТаблицаРезультат.Добавить();
КонецЦикла;

// Скопируем значения колонок
Для каждого ИмяКолонки Из МассивИменКолонок Цикл
ЗначенияКолонки = СтрокиДереваЗначений.ВыгрузитьКолонку(ИмяКолонки);
ТаблицаРезультат.ЗагрузитьКолонку(ЗначенияКолонки, ИмяКолонки);
КонецЦикла;
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36084584
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Привет еще разик... Спасибо всем кто принял участия в обсуждении, но результата я достиг сам так что вот смотрите, может кому пригодится. И ОТДЕЛЬНОЕ "СПАСИБО" "Госпадину ПЖ" за столь значительный вклад в обсуждении данной темы.

ТабЗнач = Таб1.Скопировать();
ТабЗнач.Колонки.Добавить("num");
Для каждого Элемент из ТабЗнач Цикл
Элемент.num = 1;
КонецЦикла;

ИсточникСвертывания = ЭлементыФормы.Таб1.ТекущаяКолонка.Имя;
ТабЗнач.Свернуть(ИсточникСвертывания,"num");

//Для удаления строк из ТЗ
НайденнаяСтрока = ТабЗнач.Найти(1,"num");
Пока НайденнаяСтрока <> неопределено Цикл
ТабЗнач.Удалить(НайденнаяСтрока);
НайденнаяСтрока = ТабЗнач.Найти(1,"num");
КонецЦикла;

ЭлементыФормы.Таб2.Значение = ТабЗнач;
ЭлементыФормы.Таб2.СоздатьКолонки();
ЭлементыФормы.Таб2.Колонки.Найти(ИсточникСвертывания).Ширина = 10;
ЭлементыФормы.Таб2.Колонки.Найти("Num").Ширина = 5;
ТабПолеСверАЭСК.Сортировать("num убыв");
Сообщить (ТабПолеСверАЭСК.Количество());

Если кому что не понятно отвечу без проблем.
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36084634
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не учи плохому... сначала сам Габца прочитай чтоли.. "Простые примеры разработки"
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36085954
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давай разберем.... Что здесь плохого???
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36086231
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для каждого Элемент из ТабЗнач Цикл
Элемент.num = 1;
КонецЦикла;

заменяется на ТабЗнач.ЗаполнитьЗначения(1, "Num");

сама колонка ТабЗнач.Колонки.Добавить("num"); - не типизирована, а потом по ней идет свертка - за такие штуки надо бить по eggs

//Для удаления строк из ТЗ
НайденнаяСтрока = ТабЗнач.Найти(1,"num");
Пока НайденнаяСтрока <> неопределено Цикл
ТабЗнач.Удалить(НайденнаяСтрока);
НайденнаяСтрока = ТабЗнач.Найти(1,"num");
КонецЦикла;

заменяется на

Строки = ТабЗнач.НайтиСтроки(Новый Структура("num", 1));
Для каждого стр Из Строки Цикл
ТабЗнач.Удалить(стр);
КонецЦикла;
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36086294
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну приступим... впринципе для ответа на данный вопрос нам надо всего три строки:

ТабЗнач = Таб1.Скопировать(); // - ЧТО КОПИРУЕМ (КИПИРУЕТ ПОЛНОСТЬЮ ВСЮ ТАБЛИЦУ
В ТЗ СО ВСЕМИ ДАННЫМИ).
ЭлементыФормы.Таб2.Значение = ТабЗнач; // ПЕРЕНОСИМ ВСЕ ДАННЫЕ В Таб2 ИЗ ТЗ.

ЭлементыФормы.Таб2.СоздатьКолонки(); // После "УСЛОВНО ОТОБРАЖАЕМ" данные в Таб2 и
в результате видим все тоже что и в Таб1. САМОЕ
ГЛАВНОЕ ЧТО ЭТО ПРОИСХОДИТ ОЧЕНЬ БЫСТРО.

Ну начну по порядочку - на счет типизации, я писал что создем таблицу на форме, т.е табличную часть Таб2 с колонками, вот там то и указывается тип...., а Num я создал в ТЗ для того чтоб свернуть по ней, замечание кстати замечу Ваше правельное, но при указывании числа без кавычек обработчик указывает тип по умолчанию числовой.

Дальше я просто удоляю из ТЗ строки с Num = 1, они мне не нужны, и результат полученного записываю в Таб2, причем без перебора, и это все происходит очень быстро с учетом, что я работаю с много тысячными данными. В таблице у меня 247 000 строк, а благодоря вот таким функциям это все обрабатывается оч быстро.
...
Рейтинг: 0 / 0
Выгрузка и Загрузка колонок Таблицы Значений.
    #36086886
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Госпадин ПЖ, - взял во внимание Ваши советы и применил их в некоторых вещях, скажу откровенно, что действиетльно работает ... Правда, Спасибо за помощь, в некоторых месятах я реально упрастил свою обработку.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Выгрузка и Загрузка колонок Таблицы Значений.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]