|   |   | 
| 
 | 1С 8.2. Word Application | ☑ | ||
|---|---|---|---|---|
| 0
    
        maker1992 30.07.18✎ 12:48 | 
        Здравствуйте.
 Проблема с работой c вордом через Ком-объект. В 1С открываю шаблон документа через ком, в котором есть несколько таблиц. Я программно заполняю одну из них, и после того, как уже в таблице накопилось 3 тысячи строк, с объектом, который представляет из себя документ, что то происходит - все его методы перестают работать, он как будто вылетает, хотя запись в таблицу продолжается, но уже сохранить документ не удастся, т. к. методы не доступны. Я пробовал заполнять таблицу путем добавления пустых строчек - тогда все нормально. Пробовал разбивать на несколько таблиц, но это уже не работает. Сделал вывод, что ошибка выскакивает при превышении в документе какого то ограничения на объем данных. Попробовал вручную сформировать в ворде такуюже таблицу - все нормально, файл занимает где то 1,5 мб. Как решить эту проблему? | |||
| 1
    
        Скиурус 30.07.18✎ 12:51 | 
        разбей на несколько таблиц     | |||
| 2
    
        maker1992 30.07.18✎ 12:51 | 
        (1) Пробовал, не помогает.     | |||
| 3
    
        ptiz 30.07.18✎ 12:54 | 
        (0) "Я программно заполняю одну из них" - код покажи.
 "Я пробовал заполнять таблицу путем добавления пустых строчек - тогда все нормально" - и этот код покажи. Или речь про добавление руками? | |||
| 4
    
        maker1992 30.07.18✎ 12:54 | 
        (3) 5 минут     | |||
| 5
    
        Скиурус 30.07.18✎ 12:55 | 
        (2) Сохраняй документ, закрывай, открывай заново после каждой таблицы     | |||
| 6
    
        maker1992 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; | |||
| 7
    
        maker1992 30.07.18✎ 12:57 | 
        (5) Попробую этот вариант     | |||
| 8
    
        olegves 30.07.18✎ 14:07 | 
        (0) стесняюсь спросить, а почему не Эксель?     | |||
| 9
    
        maker1992 30.07.18✎ 15:08 | 
        (8) Хочу вывести таблицу в несколько колонок     | |||
| 10
    
        ptiz 30.07.18✎ 15:13 | 
        (6) Т.е. разница только в параметрах?
 Я бы вставил Сообщить(Пар_1) и т.п. - посмотреть на чем спотыкается. | |||
| 11
    
        Скиурус 30.07.18✎ 15:19 | 
        (10) Спотыкается скорее всего на объеме массива, превышающем 64 килобайта.     | |||
| 12
    
        ptiz 31.07.18✎ 09:14 | 
        (7) Получилось что-нибудь?
 Я ради эксперимента пробую создать большую таблицу - с каждой строкой всё медленнее и медленнее добавляются. Как бы еще скорость увеличить? | |||
| 13
    
        maker1992 31.07.18✎ 10:09 | 
        (12) Нет, это не работает. Пока не нашел решение.     | |||
| 14
    
        Сияющий в темноте 31.07.18✎ 10:15 | 
        не понял,а previous зачем делать?
 добавили строку,фигачим в нее массив данных через Range и пошли дальше. А по сути,если в Word вручную набить много данных,то он тупо падает,в отличие от ексель,которая одна ил луших программ от мелкомягких,Word этим званием похвастаться не может. | |||
| 15
    
        maker1992 31.07.18✎ 10:15 | 
        (11) А можно по-подробнее про массив?     | |||
| 16
    
        maker1992 31.07.18✎ 10:20 | 
        (14) По логике программы так требуется: я в некоторых строках объединяю ячейки и форматирую, и если после объединения добавить строку, то она тоже добавиться объединенной, а мне нужно как обычно - с ячейками.
 А через privies я объединяю предпоследнюю строку, а последняя остаются нетронутой. В моем документе должно быть примерно 150 страниц, вручную пробовал заполнять - все нормально, не вылетает. | |||
| 17
    
        maker1992 31.07.18✎ 10:22 | 
        Если бы вывод шел в одну колонку, то ексель бы подошел, а в две уже нет, только ворд.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |