Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

1С 8.2. Word Application

1С 8.2. Word Application
Я
   maker1992
 
30.07.18 - 12:48
Здравствуйте.

Проблема с работой c вордом через Ком-объект.
В 1С открываю шаблон документа через ком, в котором есть несколько таблиц. Я программно заполняю одну из них, и после того, как уже в таблице накопилось 3 тысячи строк, с объектом, который представляет из себя документ, что то происходит - все его методы перестают работать, он как будто вылетает, хотя запись в таблицу продолжается, но уже сохранить документ не удастся, т. к. методы не доступны.
Я пробовал заполнять таблицу путем добавления пустых строчек - тогда все нормально. Пробовал разбивать на несколько таблиц, но это уже не работает. Сделал вывод, что ошибка выскакивает при превышении в документе какого то ограничения на объем данных. Попробовал вручную сформировать в ворде такуюже таблицу - все нормально, файл занимает где то 1,5 мб.

Как решить эту проблему?
 
 
   Скиурус
 
1 - 30.07.18 - 12:51
разбей на несколько таблиц
   maker1992
 
2 - 30.07.18 - 12:51
(1) Пробовал, не помогает.
   ptiz
 
3 - 30.07.18 - 12:54
(0) "Я программно заполняю одну из них" - код покажи.
"Я пробовал заполнять таблицу путем добавления пустых строчек - тогда все нормально" - и этот код покажи. Или речь про добавление руками?
   maker1992
 
4 - 30.07.18 - 12:54
(3) 5 минут
   Скиурус
 
5 - 30.07.18 - 12:55
(2) Сохраняй документ, закрывай, открывай заново после каждой таблицы
   maker1992
 
6 - 30.07.18 - 12:56
Код:

СтрокаВордСледующая = ТаблицаВорд.Rows.Add();
СтрокаВорд = СтрокаВордСледующая.Previous;
СтрокаВордRange = СтрокаВорд.Range;
СтрокаВордRange.Cells(1).Range.Text = Пар_1;
СтрокаВордRange.Cells(2).Range.Text = Пар_2;
СтрокаВордRange.Cells(3).Range.Text = Пар_3;
СтрокаВордRange.Cells(4).Range.Text = Пар_4;

Код добавления пустых строк:

СтрокаВордСледующая = ТаблицаВорд.Rows.Add();
СтрокаВорд = СтрокаВордСледующая.Previous;
СтрокаВордRange = СтрокаВорд.Range;
   maker1992
 
7 - 30.07.18 - 12:57
(5) Попробую этот вариант
   olegves
 
8 - 30.07.18 - 14:07
(0) стесняюсь спросить, а почему не Эксель?
   maker1992
 
9 - 30.07.18 - 15:08
(8) Хочу вывести таблицу в несколько колонок
   ptiz
 
10 - 30.07.18 - 15:13
(6) Т.е. разница только в параметрах?
Я бы вставил Сообщить(Пар_1) и т.п. - посмотреть на чем спотыкается.
 
 Рекламное место пустует
   Скиурус
 
11 - 30.07.18 - 15:19
(10) Спотыкается скорее всего на объеме массива, превышающем 64 килобайта.
   ptiz
 
12 - 31.07.18 - 09:14
(7) Получилось что-нибудь?
Я ради эксперимента пробую создать большую таблицу - с каждой строкой всё медленнее и медленнее добавляются. Как бы еще скорость увеличить?
   maker1992
 
13 - 31.07.18 - 10:09
(12) Нет, это не работает. Пока не нашел решение.
   Сияющий в темноте
 
14 - 31.07.18 - 10:15
не понял,а previous зачем делать?
добавили строку,фигачим в нее массив данных через Range и пошли дальше.

А по сути,если в Word вручную набить много данных,то он тупо падает,в отличие от ексель,которая одна ил луших программ от мелкомягких,Word этим званием похвастаться не может.
   maker1992
 
15 - 31.07.18 - 10:15
(11) А можно по-подробнее про массив?
   maker1992
 
16 - 31.07.18 - 10:20
(14) По логике программы так требуется: я в некоторых строках объединяю ячейки и форматирую, и если после объединения добавить строку, то она тоже добавиться объединенной, а мне нужно как обычно - с ячейками.
А через privies я объединяю предпоследнюю строку, а последняя остаются нетронутой.

В моем документе должно быть примерно 150 страниц, вручную пробовал заполнять - все нормально, не вылетает.
   maker1992
 
17 - 31.07.18 - 10:22
Если бы вывод шел в одну колонку, то ексель бы подошел, а в две уже нет, только ворд.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует