|
|
#4 |
|
Участник
|
by_HT, в свойствах DataItem указан фильтр только на 1 (SORTING(Number) WHERE(Number=CONST(1))).
Пробовал ставить BreakPoint в OnAfterGetRecord - он заходит туда только один раз. Чтобы Excel не висел в процессах, в случае успеха тоже надо делать xlBook.Close(False); xlApp.Quit; Clear(xlApp); Я привел сокращенный код, в оригинале этот кусок такой: IF Found THEN BEGIN xlSheet := xlBook.Worksheets.Item(iSheet); xlSheet.Activate; Import(); xlBook.Save; MESSAGE(Text005); END ELSE BEGIN xlBook.Close(FALSE); xlApp.Quit; CLEAR(xlApp); ERROR(Text008); END; xlBook.Close(FALSE); xlApp.Quit; CLEAR(xlApp); Romeo, с Runmodal пробовал уже, вообще странные вещи получаются: форма запроса отчета закрыватеся, отчет начинает работать, появляется окно, что "...не может быть закрыто, так как система работает", потом мо сообщение, что Загрузка завершена, потом при возвращении фокуса в табличную часть формы 7023 опять появляется форма запроса моего отчета (заполненная, с именем файла Excel, с именем листа и т.д.) !!! и так по кругу. Но иногда, как и в случае с Run, все работает. У меня есть подозрение, что Navision пытается закрыть отчет не дождавшись, пока завершится вся работа внутри отчета (типа закрытия объектов Automation; в таблице, куда произвожу запись, некоторые поля заполняются через SalesPriceWksh.Validate(); SalesPriceWksh.Insert(True), т.е. с обработчиком; в функции Import вначале SalesPriceWksh.LOCKTABLE, а в конце Commit (хотя пробовал их комментарить, дело не в них)). |
|
|