Имя: Пароль:
1C
1С v8
копирование части табличного документа
0 alilo
 
07.06.22
11:36
Добрый день.

Есть огромный табличный документ ТабДок, который нужно разбить на несколько отдельных. Допустим я знаю что мне надо создать новый документ ТабДок2, в который должны попасть данные из первого документа с 17 по 50 строку.

ТабДок2 = Новый ТабличныйДокумент;
ТабДок2.ВставитьОбласть(ТабДок.Область("R17C2:R50C20"),ТабДок2.Область("R17C2:R50C20"));

Но при этом копирует в реальности не эти строки, а с 17 по 27.
В чем причина и как скопировать нормально?
1 Гипервизор
 
07.06.22
11:55
А почему у вас вставка в новый табличный документ в строку 17?
2 alilo
 
07.06.22
12:12
(1) потому что в первые строки встает другая информация, а с 17й надо скопировать.
Но даже если я напишу так

ТабДок2.ВставитьОбласть(ТабДок.Область("R17C2:R50C20"),ТабДок2.Область("R1C2:R34C20"));

То ничего не изменится. Информация будет с первой строки, но тоже не вся, а лишь несколько строк
3 Бабрак Кармаль
 
07.06.22
12:16
Яркий пример, как любитель написания всего в одну строку отстрелил себе возможность отладки.

А ведь можно было точку останова поставить, посмотреть, на типы и фактические размеры запрашиваемых областей.
4 lodger
 
07.06.22
12:18
а просто вывести нельзя?
5 alilo
 
07.06.22
12:37
(3) очень загадочно и интересно, но можно понятней что именно не так?
через отладку ясней не стало
6 alilo
 
07.06.22
12:38
(4) нет, потому что пользователь сначала выводит огромный табличный документ, а потом уже рядом манипуляций при желании может его разбивать
7 lodger
 
07.06.22
12:40
(6) так ты ж пишешь ТабДок2 = Новый ТабличныйДокумент;
просто выведи в него новую область из ТД1
8 alilo
 
07.06.22
14:36
(7) спасибо, через Вывести получилось как надо