#0
by Aristo
Добрый день. Есть большой отчет, который на выходе заполняет книгу Excel из 7 листов, в последнюю очередь заполняется 1 лист с диаграммами. Данных много, до 1000 строк в каждом листе. Примерно в 50% случаев Excel вылетает с ошибкой и выбивает 1С. Вылетает на разных местах, на разных листах. На разных компьютерах и даже на разных копиях базы. В других 50% случаев отрабатывает до конца. В чем может быть проблема ? В какую сторону хотя бы смотреть ?
#2
by dk
может ты в коде через activesheet, activecell, activebook .. а в это время пользователь играется тоже с excel
#4
by Aristo
Отрубал. Грешу что памяти не хватает, где то протечка. Потому что отрубается в основном на последних листах Пробую сейчас засейвить файл после каждого листа
#6
by Aristo
Сделал Книга.Save после каждого листа, теперь вылетает не в 50, а в 20% случаев. Видимо, несохраненные сделанные через OLE изменения жрут память.
#8
by dk
ну видимость то поставил не работает-то у тебя, когда по клаве и мышке не стучат, или у пользователя?
#10
by Aristo
от видимости не зависит требование заказчика. Кроме того, ячейки связаны формулами с диаграммами, параметры которых тоже выставляются через OLE
#13
by dk
хз, освобождай ненужные переменные приведи хоть текст ошибок-то --- есть рабочий отчет с 20-30 листами (правда там строк мало)
#15
by пипец
если во время заполнения листов работают какие то функции и вычисления - выкинь нафик их в предзаполнение ТЗ тоесь вычисляй и заполняй ТЗ и только потом наполняй ексель из уже имеющихся значений ЗЫ СделатьПаузу ??? это чоу /вайщефингня
#17
by Aristo
Парни, мне кажется я понял. На будущее напишу, возможно кому - то поможет. Save во временный файл несколько раз между заполнения листов и посередине большого листа в данный момент решил проблему. До этого сохранение было пустого шаблона перед началом заполнения и затем вывод на экран. Вылетало. После изменения - при 20 запусках не вылетел. Похоже ошибка вызывается из-за переполнения кеша истории изменений. Каждое действие у нас запоминается и его можно стрелкой откатить. Видимо, построчное заполнение убивало этот буфер и выбивало 1С. Save этот буфер очищает. Добрый, добрый майкрософт :)))
#18
by Aristo
СделатьПаузу это фича Formex, на глюки не влияет, как раз была попытка решить с помощью него. Ни холодно ни жарко. Уберу. С функциями и вычислениями так и делается. По каждому листу заполняется индексированная таблица значений (из 1С++), эта часть работает безукоризненно. Листы заполняются уже линейно из таблицы, без вычислений. Единственное что - лист при создании берется из шаблона, там есть еще ячейки которые не заполняются программно, а рассчитываются по формулам из текущих. Откуда идет глюк - уже есть гипотеза (промежуточный save спасает), она не связана с формулами ячеек и расчетом данных.
#19
by dk
странная теория тогда заполнение листа 4-8 тыс строк на 30-40 колонок вообще должно Excel в ступор вгонять, но этого не происходит кстати можно еще автокалькуляцию попробовать отключить и включить в конце, особенно если формулы сложные типа впр или другие по работе с массивами
#20
by Aristo
да это просто гипотеза, возможно это и автокалькуляция. Потому что как раз 3000 срок и 30 колонок, из которых навскидку 20 заполняется а 10 рассчитывается. Хоть там и просто сложение, но массовость может повлиять Попробую отключить.
#24
by Torquader
Её выключить в начале, а потом в конце - включить. Тоже можно проделать и с обновлением (рисованием) - особенно печальна отработка рисования диаграмм, когда их отрисовывает отдельный процесс - он-то и теряет ссылки - просто Save вносит задержку при выполении, и кто-то успевает всё отрисовать.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Проблемы с работой через OLE, запуск функции через OLE
- Как через OLE узнать высоту/ширину таблицы (области введенных данных) в Excel
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- Не могу из v7 подключиться v7 к через OLE
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Как правильно передавать параметры условий в запрос через OLE
- v7: Чтение excel файлов без установленого excel
- v7: Перенос данных Бухгалтерия из v7 в v8
В этой группе 1С
- Странная УТ 10.2 - помогите опознать
- Вывод панели настроек в печатной форме документа
- Ввод остатков денежных средств. Как внести овердрафт по счету?
- Конвертация данных. Поиск счета по коду
- Исключительная ситуация : Выполнение обмена запрещено администратором.
- v7: Число фильтров субконто превысило допустимое значение!
- Посоветуйте быструю флешку, с защитой от записи, от 16 Гб.
- Как автоматизировать вывод результата запроса в табличный документ 1с 8.2
- Документ отчет о розничных продажах ут11
- Хелп! =) Стандартный обмен между ут и розница перенос заказа поставщику
- Перенос справочников из ИнФина в БП 3
- Ссылка на узел обмена в правилах обмена, как ее получить
- УПП: И опять не закрывается 25 счет
- Счет 004.01 в "Перемещении товаров"
- Декларант-Алко импорт оборотов по производителям Таможенного Союза
- Форма констант - "Состав" глючит
- Работа с REST API
- PostgreSQL 9.2.4-1.1C и 9.1.9-1.1C вышли
- вывод табличной части документа в WORD.
- Неразрешимые ссылки при обновление