Быстрое объединение двух таблиц значений

nytlenc 32 2 2

Соединяет две разные таблицы значений с одинаковыми колонками в одну целую таблицу значений. Способ интересен тем, что он вставляет одну таблицу в начало другой таблицы, а не добавляет строки из одной таблицы в конец другой. Такой способ работает намного быстрее чем стандартный.

// Добавляет в начало первой ТЗ, значения из второй ТЗ, колонки обоих ТЗ должны совпадать
// Данный способ работает быстрее чем стандартный с добавлением в конец строк из другой ТЗ
// Подробности см. http://www.gilev.ru/простой-трюк-для-быстрого-объединени/
//
// Параметры:
//  Таблица1 - ТаблицаЗначений	 - в эту таблицу, в начало (а не в конец) будут добавлены строки из Таблица2
//  Таблица2 - ТаблицаЗначений	 - таблица, строками которой требуется дополнить значение из параметра Таблица1
//
Процедура ДополнитьТаблицуЗначениямиИзВторой(Таблица1, Таблица2) Экспорт
	
	Для Индекс = 1 По Таблица2.Количество() Цикл
		Таблица1.Вставить(0);
	КонецЦикла;
	Для Индекс = 0 По Таблица2.Колонки.Количество() - 1 Цикл
		Таблица1.ЗагрузитьКолонку(Таблица2.ВыгрузитьКолонку(Индекс), Индекс);
	КонецЦикла;
	
КонецПроцедуры

Источник

1

Комментарии

СергейТ
#1, 01 ноября 2023 11:45

Любопытно.
А на сколько быстрее это происходит?


См. также

Простой трюк для быстрого объединения таблиц значений

Связывание таблиц значений по ФИФО

Быстрое удаление строк в таблице значений

ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе (БСП)

ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе (БСП)

ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазеИзНеразделенногоСеанса (БСП)

ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазеИзНеразделенногоСеанса (БСП)

Сравнение плановых и фактических дней отпуска

Объединение данных двух периодических регистров

Модератору