Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 дек 2023, 23:11

как сложить из 2х массивов таблицу значений ?

Автор margo, 20 ноя 2023, 22:14

0 Пользователей и 1 гость просматривают эту тему.

margo

Доброго времени суток!

Подскажите, как из 2х массивов таблицу значений?
Например, есть массивдат и массивконтрагентов и надо
в тз добавить
тз.дата = дата1
тз.контрагент = контрагент1;
тз.дата = дата2
тз.контрагент = контрагент1;
потом для следующего контрагета
тз.дата = дата1
тз.контрагент = контрагент2;
тз.дата = дата2
тз.контрагент = контрагент2;

ls600

margo,
Преобразование Массива В Таблицу Значений

1С 8.3 Преобразование Массива В Таблицу Значений

&НаСервереБезКонтекста
Функция ПреобразованиеМассивВТаблицуЗначений(Массив)

ТЗ = Новый ТаблицаЗначений;

Для Каждого СтрокаМассива Из Массив Цикл

Если ТЗ.Колонки.Количество() = 0 Тогда
Для Каждого ЭлементМассива Из СтрокаМассива Цикл
ТЗ.Колонки.Добавить(ЭлементМассива.Ключ);
КонецЦикла;
КонецЕсли;

НоваяСтрока = ТЗ.Добавить();
Для Каждого ЭлементМассива Из СтрокаМассива Цикл
НоваяСтрока[ЭлементМассива.Ключ] = ЭлементМассива.Значение;
КонецЦикла;
КонецЦикла;

Возврат ТЗ;

КонецФункции


LexaK

margo, Используйте цикл
при условии что размеры массивов одинаковые, то примерно так
(пример, не проверял, могут быть опечатки)

МассивДат;
МассивКонтрагентов;

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

//заполняем таблицу           
Для лкИндекс = 0 По МассивДат.Количество()-1 Цикл
лкСтр = НоваяТЗ.Добавить();
лкСтр.Дата = МассивДат[лкИндекс];
лкСтр.Контрагент = МассивКонтрагентов[лкИндекс];
КонецЦикла;
если помогло нажмите: Спасибо!

margo


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск