Тема: Массовое создание комплекта ТД
Здравствуйте.
Разработал скрипт массового создания комплектов ТД для выделенных номенклатур, но после каждого завершения формирования отчета выскакивает ошибка.
Как ее можно победить?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
TechnologiCS → TechnologiCS → Использование TechnologiCS API → Массовое создание комплекта ТД
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте.
Разработал скрипт массового создания комплектов ТД для выделенных номенклатур, но после каждого завершения формирования отчета выскакивает ошибка.
Как ее можно победить?
Здравствуйте! а как отчеты запускаете покажите код? ну и вообше что происходит то хоть и что за отчеты формируются. Судя по ошибке отчет не запустился.
Скрипт предназначен для пакетного формирования тех.процессов (на бланках) для выделенных позиция в справочнике НМК.
Вот часть кода, которая отвечает за запуск репортера и сохранения отчета (тех. процесса) в архив.
temp = ScriptHelper.ApplicationTempDirectory nametemp2 = ".xls" nametemp = Nmk.Properties("NAME").displaytext reporttemp = temp + nametemp + nametemp2 Set NMKTP = Nomenclature.Properties("NmkTechnology").AsIDispatch If NMKTP.Reports(false).Locate("NAME", "Комплект ТД для СБ", 0) Then a = a+1 Call NMKTP.Reports(false).ExecuteReportEx(Array("FileName", reporttemp, "Wait")) end if
Подобный код работает для сохранения других бланков, проблем нет. Здесь же вылетает указанная выше ошибка.
Ясно. Версия программы, какой отчет (CSDN, Excel) запускается?
Проблема скорее всего в макросе, что выполняет сохранения отчета. На последних билдах мы сами такое делали (есть примеры отчетов но в других режимах), работать должно. На более ранних не все поддерживалось.
Версия программы 7.98.00.0.
Такой же код макроса работает в другом скрипте, когда формируется пооперационный тех. процесс. Время формирования существенно меньше.
У меня есть подозрение, что данная ошибка появляется только когда отчет (комплект ТД в excel файле) формируется долго, тогда программа не может получить ответ от построителя отчета, т.е. не работает параметр Wait
Call theApp.Users.Reports(true).ExecuteReportEx(Array("FileName", "C:\Report.xls", "Wait"
Это скорее проблема в отчетах. Мы не так давно доработки делали, чтобы довольно сложные сценарии отрабатывали. Связано было с работой макросов в отчете.
нам нужен точный номер версии и вид отчета (CSDN, Excel. Но скорее всего просто на последних сборках надо смотреть.
v. 7.98.0.0 (40699-beta) Dv 7.98.49.0
По поводу вида отчета не понял. Тех.процесс формируется в excel бланке.
https://help.technologics.ru/7.9/TCSHelp/_699.htm Видимо MS Excel (данные в БД), бланк.
Что можно сделать, чтобы ошибка не появлялась?
Насколько помню было проблема с макросами в отчете, обработчик на сохранение вступал в конфликт с вызывающим его из вне макросом.
Гл самое простое просто посмотреть что на последних версиях происходит. У нас есть сейчас рабочие примеры подобных запусках, все работает. Потому как может и в отчете какая то проблема.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
TechnologiCS → TechnologiCS → Использование TechnologiCS API → Массовое создание комплекта ТД