Показать сообщение отдельно
Старый 30.09.2008, 16:02   #4  
Falcongeo is offline
Falcongeo
Участник
 
15 / 10 (1) +
Регистрация: 29.05.2008
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 (хотя пробовал их комментарить, дело не в них)).