новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Объединить две ТЗ

    • #1
    • 23.03.2019 14:47
    0
    Добрый день. Задача: есть две ТЗ. Поля данных таблиц одинаковые. Требуется: в ТЗ_1 загрузить ТЗ_2, но с условием, что последнее поле (QueryId) при загрузке ТЗ_2 начнет идти последнего поля QueryId в ТЗ_1 +1. Всю голову изломал. Таблицы соединяю: Функция обОбъеденитьДвеТаблицы(Таб1,Таб2) Экспорт Таб=Таб1.Скопировать(); Для Каждого ТекСтр ИЗ Таб2 Цикл НовСтр=Таб.Добавить(); Для н=0 ПО Таб.Колонки.Количество()-1 Цикл НовСтр[н]=ТекСтр[н]; КонецЦикла; КонецЦикла; Возврат Таб; КонецФункции
    • #2
    • 23.03.2019 15:27
    • Отредактировано: 23.03.2019 15:30:29
    0
    непонятно что Вам надо. "Поля данных таблиц одинаковые" "последнее поле (QueryId) при загрузке ТЗ_2 начнет идти последнего поля". Вы хотите удвоить количество полей (они же столбцы)?
    • #3
    • 23.03.2019 15:30
    0
    Нет, я хочу продолжить считать это поле, а не загрузить его.
    Шесть полей из ТЗ_2 я загружу, а седьмое поле (номер строки) я высчитаю.
    • #4
    • 23.03.2019 15:40
    +1
    Функция обОбъеденитьДвеТаблицы(Таб1,Таб2) Экспорт
    	Таб=Таб1.Скопировать();
    	ИдПоследнейСтроки = Таб1[Таб1.Количество()-1].QueryId;
    	Для Каждого ТекСтр ИЗ Таб2 Цикл
    		ИдПоследнейСтроки = ИдПоследнейСтроки + 1;
    		НовСтр=Таб.Добавить();
    		ЗаполнитьЗначенияСвойств(НовСтр, ТекСтр);
    		НовСтр.QueryId = ИдПоследнейСтроки;
    	КонецЦикла; 
    	Возврат Таб;
    КонецФункции
    • #5
    • 23.03.2019 15:46
    0
    Великолепно!
    Спасибо огромное.
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться