Объединить таблицы значений

prog1c 45 1 5

Ищет в ТаблицеЗначений строки, соответствующие значениям колонок Измерения и складывает значения колонок Ресурсы. Если строка не найдена, то добавляется новая.

Функция ОбъединитьТаблицыЗначений(Знач Таблица1, Таблица2, Измерения, Ресурсы) Экспорт
	
	МассивРесурсов = СтрРазделить(Ресурсы, ",");
	СтруктураОтбора = Новый Структура(Измерения);
	Для Каждого СтрокаТЗ Из Таблица2 Цикл
		
		ЗаполнитьЗначенияСвойств(СтруктураОтбора, СтрокаТЗ);
		
		РезультатОтбора = Таблица1.НайтиСтроки(СтруктураОтбора);
		Если РезультатОтбора.Количество() > 0 Тогда
			СтрокаОтбора = РезультатОтбора[0];
			Для Каждого Колонка Из МассивРесурсов Цикл
				СтрокаОтбора[Колонка] = СтрокаОтбора[Колонка] + СтрокаТЗ[Колонка];
			КонецЦикла;
		Иначе
			СтрокаОтбора = Таблица1.Добавить();
			ЗаполнитьЗначенияСвойств(СтрокаОтбора, СтрокаТЗ);
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат Таблица1;
	
КонецФункции
TurboConf - расширение Конфигуратора 1С

Похожие публикации

ТаблицаЗначенийВТаблицуХТМЛ

Определить элементарные интервалы, образующиеся при пересечении всех исходных интервалов

Сохранение таблицы значений в XML

Отбор по таблице значений

Дополнить таблицу значений - приемника данными из таблицы значений - источника

Модератору