30.09.2008, 14:23 | #1 |
Участник
|
Всем здравствуйте!
В форме 7023 Sales Price Worksheet на кнопке Функции добавил MenuItem, кот. вызывает новый отчет для импорта цен из Excel: ImportSalesPricefromExcel.RUN; (где ImportSalesPricefromExcel - это переменная типа Report, соответствующая новому отчету). В отчете установлено свойство ProcessingOnly=True; один DataItem Integer с фильтром на 1. В отчете содержится следующий код: На OnPreReport: IF NOT CREATE(xlApp,TRUE) THEN BEGIN CLEAR(xlApp); ERROR(Text000); END; На Integer - OnAfterGetRecord(): [Делаются разные проверки на заполненность iFile, iSheet;] xlApp.Visible := FALSE; xlApp.Workbooks.Open(iFile); xlBook := xlApp.ActiveWorkbook; [проверка на существование листа с именем iSheet;] xlSheet := xlBook.Worksheets.Item(iSheet); xlSheet.Activate; xlRange := xlSheet.UsedRange; IF Found THEN BEGIN Import(); //В функции Import просматриваю таблицу Excel и заполняю таблицу 7023 Sales Price Worksheet. xlBook.Save; MESSAGE(Text005); END; xlBook.Close(FALSE); xlApp.Quit; CLEAR(xlApp); В Text005 содержится 'Загрузка завершена'. После завершения работы отчета иногда!!! появляется сообщение <<'Импорт Цен Продажи из Excel' не может быть закрыто, так как система работает>>, и уже за ним <<Загрузка завершена>>. Причем первое сообщение появляется не всегда, иногда после второго запуска, иногда после первого, иногда после третьего... При пошаговом выполнении в Debugger оно вообще никогда не появляется. Причем загрузка выполняется корректно вне зависимости от появления этого сообщения. В чем может быть дело??? При запуске отчета из ObjectDesigner, а не из формы 7023 подобного сообщения не наблюдалось. Что предпринималось для решения проблемы: -для вызова отчета использовался Report.Run(50005); -для вызова отчета использовались свойства Action и RunObject у MenuItem. -много еще всего. P.S. Разработка ведется в Navision 5.0, хотя, скорее всего, та же ошибка и в других версиях. |
|