CftClub.ru
Клуб специалистов ЦФТ-Банк

Неизвестная ошибка выполнения VBScript (выгрузка в Excel)
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
lki
Участник со стажем


Вступление в Клуб: 18.03.2008
СообщениеВт Дек 20, 2011 07:59   Неизвестная ошибка выполнения VBScript (выгрузка в Excel) Ответить с цитатой
Полезность: Нет оценки
При формировании отчета в Excel выдается ошибка:
" Неизвестная ошибка выполнения
Src: Ошибка выполнения Microsoft VBSript
Line:0 Error:0
Scode:800a03ec"
Как определить из-за чего ошибка?
Отчет выводится на 10 листов книги. Иногда (разные входные данные) вываливается такая ошибка. Причем определить на каком конкретном месте ошибка не получается.
Например, делаю:
- комментирую вывод на 6-ой лист (т.е. вывожу листы 1-5 и 7-10) = отчет без ошибки
- комментирую вывод на 1-4 листы (т.е. вывожу листы 5-10) = отчет без ошибки
- комментирую вывод на 1-3 листы (т.е. вывожу листы 4-10) = ошибка
и так далее, т.е. ошибка может повторяться в разных местах, при этом при других входных данных (даже когда в отчет выгружается бОльший объем информации) ошибка не возникает.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеВт Дек 20, 2011 08:18    Ответить с цитатой
Полезность: Нет оценки
1) формировать отчет в текстовый файл,( xml, html ) и тянуть в EXCEL

2) попробовать выполнить в другой версии EXCEL ( 2003 <-> 2010)

3) формировать отчет в WORD
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеВт Дек 20, 2011 08:25    Ответить с цитатой
Полезность: Нет оценки
Поставить отладчик скриптов.
Либо выгружать в текстовый файл vbs и запустить его.

Код:
   
for i in 0..[RUNTIME].[EXCEL].tbl_rep.last loop
      stdio.PUT_LINE( file, [RUNTIME].[EXCEL].tbl_rep(i)||CR$, FALSE, NULL, stdio.WINTEXT );
   end loop;
lexus
Профи


Вступление в Клуб: 28.09.2007
СообщениеВт Дек 20, 2011 09:04    Ответить с цитатой
Полезность: Нет оценки
отладчик скриптов помогает в таких ситуациях.
Он есть на сайте поддержки ЦФТ, в разделе ТЯ. Там же и инструкция.
svn
Профи


Вступление в Клуб: 04.02.2008
СообщениеВт Дек 20, 2011 09:54    Ответить с цитатой
Полезность: Нет оценки
очень частый вариант такой ошибки - обращение к несуществующему листу - я б копал в эту сторону
lki
Участник со стажем


Вступление в Клуб: 18.03.2008
СообщениеВт Дек 20, 2011 10:52    Ответить с цитатой
Полезность: Нет оценки
отладчик попробую, позже отпишусь, если что-то выясню.
по другим предложениям:
- разные версии MS Office пробовал, помогло всего один раз (в 2003 не выгружался, а в 2007 выгрузился), а так ошибка в любой версии
- текстовый файл и потом в Excel, с трудом представляю себе как это провернуть. в отчете часть форматирования формируется в момент выгрузки (не все форматирование есть в шаблоне); есть поля комментариев с большим объемом текста; достаточно сложная структура отчета (может быть несколько таблиц на одном листе, на разных листах разная структура)
- формировать в Word проблематично в виду сложной структуры отчета и необходимости последующей работы с числами (формулами) в отчете
- по поводу vbs файла, выгрузку напрямую в него не пробовал, но пробовал использовать команду excel.show_script и потом из монитора сессии сохранял в vbs файл (правда руками приходилось убирать даты и время и строки с ________________) запускал, отчет поднимался
- по поводу отсутствующих листов - отчет не всегда ломается, я бы сказал наоборот из примерно 500 вариантов разных входных данных сломался раза 3-4, в остальных случаях все отлично работает
P.S. если не трудно скажите как обзывается по ЦФТ-шному этот отладчик скриптов? а если совсем не трудно киньте ссылкой на него
lki
Участник со стажем


Вступление в Клуб: 18.03.2008
СообщениеСр Дек 21, 2011 05:00    Ответить с цитатой
Полезность: Нет оценки
не нашел отладчик на сайте ЦФТ. подскажите как он называется по ЦФТ-шному?
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеСр Дек 21, 2011 07:53    Ответить с цитатой
Полезность: 2
lki пишет:
не нашел отладчик на сайте ЦФТ. подскажите как он называется по ЦФТ-шному?

Код:
http://supportobject.cft.ru/scdp/page?event=link(viewdetails)&obj=2770128&class=news&viewsubmode=NewsList&page=1&service=289310&origin=content&linktype=inner
lki
Участник со стажем


Вступление в Клуб: 18.03.2008
СообщениеСр Дек 21, 2011 09:59    Ответить с цитатой
Полезность: Нет оценки
Спасибо за помощь, особенно за ссылку на отладчик, без прямой ссылки так и не смог добраться до него (хотя Microsoft Script Debugger у меня уже был установлен, просто не был установлен нужный параметр в реестре - инструкция помогла).
Благодаря отладчику нашел ошибку. Она заключалась в следующем: в Excel вставлялась формула (как раз на 6 лист) по типу "=A-B*C/D", значение C=null и в итоге вставлялась формула "=A-B*/D".
Единственное, что осталось загадкой, это почему данная формула (с ошибкой) нормально обрабатывается в случае вывода этого листа отдельной операцией. Есть подозрение, что если такая ошибка попадает в первую часть скрипта (весь же скрипт дробится при исполнении на части из-за длины переменной=32000), то все будет нормально отрабатываться, а иначе выйдет ошибка. Такое предположение оправдывает случаи описанные мной в 1-ом посте:
- комментирую вывод на 6-ой лист (т.е. вывожу листы 1-5 и 7-10) = отчет без ошибки
- комментирую вывод на 1-4 листы (т.е. вывожу листы 5-10) = отчет без ошибки
- комментирую вывод на 1-3 листы (т.е. вывожу листы 4-10) = ошибка
Т.е. ошибка возникает не при самом исполнении VB скрипта (т.к. сохраненный в файл .vbs скрипт отлично поднимает отчет), а на этапе предварительной обработки этого скрипта в ТЯ.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеСр Дек 21, 2011 10:45    Ответить с цитатой
Полезность: Нет оценки
Кстати, в тему, нужно учитывать, что если в начале выводимой командой PUT обычной строки попадаются символы =+-, то Excelю это очень не понравится (сталкивался при выводе назначения платежа).
vek21
Участник со стажем


Вступление в Клуб: 20.09.2007
СообщениеПт Дек 23, 2011 07:45   Re: Неизвестная ошибка выполнения VBScript (выгрузка в Excel Ответить с цитатой
Полезность: Нет оценки
Кстати, до кучи - подобная ошибка
lki пишет:
При формировании отчета в Excel выдается ошибка:
" Неизвестная ошибка выполнения
Src: Ошибка выполнения Microsoft VBSript...

часто возникает, если в процессе обработки VB-скрипта пользователь - возможно, в совершенно постороннем, другом окне - делает копирование в буфер/восстановление из буфера(CTRL-C/CTRL-V)...
markoff
Участник - экстремал


Вступление в Клуб: 09.06.2009
СообщениеПт Дек 23, 2011 09:44   Re: Неизвестная ошибка выполнения VBScript (выгрузка в Excel Ответить с цитатой
Полезность: Нет оценки
vek21 пишет:
Кстати, до кучи - подобная ошибка
lki пишет:
При формировании отчета в Excel выдается ошибка:
" Неизвестная ошибка выполнения
Src: Ошибка выполнения Microsoft VBSript...

часто возникает, если в процессе обработки VB-скрипта пользователь - возможно, в совершенно постороннем, другом окне - делает копирование в буфер/восстановление из буфера(CTRL-C/CTRL-V)...


Тоже замечал такое поведение, мне помогла вот такая конструкция
[EXCEL].open_file - параметр visible ставим false
перед [EXCEL].release прописываем [EXCEL].Visible
vek21
Участник со стажем


Вступление в Клуб: 20.09.2007
СообщениеПт Дек 23, 2011 11:30    Ответить с цитатой
Полезность: Нет оценки
Нет, markoff, это помочь не может. То, что вы написали -
Цитата:
[EXCEL].open_file - параметр visible ставим false
перед [EXCEL].release прописываем [EXCEL].Visible

- делается всегда по умолчанию (во всяком случае, у нас). Но это не спасает от вышеописанной ошибки, если в процессе обработки VB-скрипта пользователь нажимает CTRL-C/CTRL-V. Хотя и не всегда. Порой копирование/вставка при обработке VB-скрипта не приводит к фатальным последствиям. Smile
NewGirl
Участник


Вступление в Клуб: 14.01.2016
СообщениеПт Янв 15, 2016 17:55    Ответить с цитатой
Полезность: Нет оценки
А может кто-нибудь скинуть этот легендарный отладчик + инструкцию? Ссылка видимо уже давно не работает. Заранее спасибо.
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Янв 15, 2016 18:06    Ответить с цитатой
Полезность: Нет оценки
Установите
HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug = "1"
Попробуйте запустить на исполнение любой vbs с какой-нибудь ошибкой.
Если отладчик не запускается - установите его:
Download Script Debugger for Windows NT 4.0 and Later...
microsoft.com›en-US/download/details.aspx…
File Name: scd10en.exe
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru