|
Как объединить 2 таблицы значений в одну? |
☑ |
0
Василий
14.07.04
✎
14:31
|
Хочу слить 2 таблицы значений в одну.
Струтура колонок одинаковая.
Есть ли какая-нибудь процедура которая дописывает в Таблицу1
все строки из Таблицы2 или нужно перебирать все ячейки в цикле?
|
|
1
Warlock
14.07.04
✎
14:33
|
|
|
2
smdv1000
14.07.04
✎
15:35
|
Нет такой процедуры. Надо циклом перебирать.
|
|
3
laeg
14.07.04
✎
15:56
|
(1) - Почти Гон ...
Можно упрастить
Пример:
Старт = тбл1.КоличествоСтрок()+1;
Для к = 1 по тбл2.КоличествоСтрок() Цикл тбл1.НоваяСтрока() КонецЦикла;
тбл1.Заполнить(тбл2, Старт);
|
|
4
Warlock
14.07.04
✎
22:44
|
(3)А как тебе:
ТЗ1.КоличествоСтрок(ТЗ1.КоличествоСтрок()+ТЗ2.КоличествоСтрок());
ТЗ1.Заполнить(ТЗ2,ТЗ1.КоличествоСтрок()+1,ТЗ1.КоличествоСтрок()+ТЗ2.КоличествоСтрок());
?
|
|
5
laeg
15.07.04
✎
09:17
|
ХМ ... ага :о)))
|
|
6
Warlock
15.07.04
✎
09:36
|
Я там(4) слегка неправильно написал(просто показывал идею), а теперь релиз:
ТЗ1.КоличествоСтрок(ТЗ1.КоличествоСтрок()+ТЗ2.КоличествоСтрок());
ТЗ1.Заполнить(ТЗ2,ТЗ1.КоличествоСтрок()-ТЗ2.КоличествоСтрок(),ТЗ1.КоличествоСтрок());
|
|
7
NS
16.07.04
✎
02:10
|
Прикольно конечно.... но зачем два раза вычислять количествоСтрок()? (по каждой таблице)
Это всяко не ускорит....
|
|
8
Warlock
16.07.04
✎
08:06
|
(7)Зато никаких дополнительных переменных...
|
|
9
Sniffer
16.07.04
✎
09:03
|
(8) а если в ТЗ записей эдак в несколько сот тысяч. Это ОП надо под хранение ТЗ, пусть выделение дополнительной ОП для подсчета строк ТЗ.
|
|
10
laeg
16.07.04
✎
09:11
|
(9)
Главное смысл, а это уже мелочи
|
|
11
NS
17.07.04
✎
00:10
|
Самое поганое, что ошибки в обоих вариантах (просто неправильно работает), и (4) и (6) - а еще и в базу данных отправили.. с ошибками.. кто отправил? Кто такой умный?
Причем, в ссылке(1) в пятом посту - ошибок нет...
|
|
12
Warlock
17.07.04
✎
01:08
|
(11)Извиняюсь. Действительно неправильно фурычит... Я для теста плохо заполнил ТЗшки и не увидел ошибки. Там не хватает "+1". Вот рабочий вариант без доп. переменных:
ТЗ1.КоличествоСтрок(ТЗ1.КоличествоСтрок()+ТЗ2.КоличествоСтрок());
ТЗ1.Заполнить(ТЗ2,ТЗ1.КоличествоСтрок()-ТЗ2.КоличествоСтрок()+1,ТЗ1.КоличествоСтрок());
|
|