![]() |
#1 |
Постигающий
|
![]()
Необходимо закрывать окно с сформированным внутренним отчетом..Поиск результатов не дал, может кто то сталкивался с такими задачами?подскажите пожалста.
|
|
![]() |
#2 |
Постигающий
|
UP
![]() может дадите подсказку какой класс отвечает за отображение этого окна с отчетом? задача следующая - в зависимости от галки выводить отчет в excel или формировать внутренний...изначально сделал формирование excel параллельно внутреннему. Теперь надо не сильно нпрягаясь выводить что то одно - либо excel либо аксапта.. хочу просто прятать (закрывать) окно с внутренним отчетом, когда он сформируется, либо не открывать окно вообще, но при этом чтобы срабатывали мои executeSections где я посылаю данные для класса,формирующего Excel - отчет %( |
|
![]() |
#3 |
SAP
|
Какая то странная реализация, в твоем случае надо либо писать свой класс типа RunBaseReport либо делать промежуточный класс который и будет перенаправлять вывод либо в класс который обрабатывает Excel отчет либо в стандартный отчет.
|
|
![]() |
#4 |
Axapta
|
Андрей К, ужас.
А в чем проблема в зависимости от галки формировать либо один отчет либо другой? Зачем их одновременно выводить?! |
|
![]() |
#5 |
Moderator
|
Да ну, не такой уж и ужас ("ужиужас, ужиужас" - ответило эхо
![]() Конечно, подобный подход, возможно, не стоит ставить в пример при обучении программированию. Но понять человека можно. Он несколько переусердствовал и теперь просто хочет малой кровью "выпустить лишний пар". И для этого ему совершенно необязательно строить новую котельную. Насколько я понял, по галке нужно либо сделать visible=false и скрытый последующий quit в Excel (и здесь всё понятно с Excel), либо какой-нибудь "visible=false" этому отчету. Я в отчетах аксовских пока не копенгаген (а, напротив, совершеннейшее осло), но может быть есть какой-нибудь такой визибл? |
|
![]() |
#6 |
Постигающий
|
Я понимаю ваши "ужоснах'и"...Умом я понимаю что надо было писать отдельный класс для сбора данных и посылки их в excel,и затем в зависимости от галки запускать либо мой отчет либо этот самый класс...Но изначально пошел другим путем..И теперь,когда ставлю галку,у меня и внутренний и внешний отчеты формируются.Раньше это было не критично,но теперь надо бы что то придумать с внутренним отчетом.Поиски заветного визибла ни к чему не привели
![]() |
|
![]() |
#7 |
Участник
|
Андрею К. я уж как-то вроде советовал по этому поводу - WinAPI - посылка сообщения на закрытие окна.
Потому что оно не Аксаптовская форма в нашем понимании, имхо. |
|
![]() |
#8 |
Axapta
|
А я бы побыстрому это безобразие (
![]() Иван, ты правда считаешь, что вот такое вот закрытие окна - это нормально? ![]() |
|
![]() |
#9 |
Moderator
|
Да уж! Я вот два часа назад тоже примерно об этом подумал, поковырявшись со всеми этими WinAPI-шными findWindow, getWindow и т.п... Господи, почему в маленьком настольном Access'е репорты имеют свойство Visible и для каждой секции, и для всего отчета в целом?! Почему в Аксе до этого не доходит-то?!
![]() Казалось бы, есть кнопка ("крестик") закрытия окна - почему же нет аналогичного простого close именно у отчета, а не у окна, которое нужно еще как-то "не вдруг" идентифицировать среди других открытых окон? Ох, маманя, наверное, просветление еще не наступило... ![]() |
|
![]() |
#10 |
Участник
|
Ну если у них там счет-фактура или таких отчетов много, то побыстрому возможно и не получится. Когда я делал ТОРГ-12 и С/Ф в Excel, то я выгружал оригинальные отчеты в XPO. Ручками с помощью текстового редактора в XPO-хе правращал отчет в класс, затем получившийся полуфабрикат загружал в Аксу и дальше переписывал все ExecuteSection и прочее на аналогичную выгрузку в эксель. Кстати, возможно таким образом как раз и можно имеющийся отчет, переделать в класс с минимальными трудозатратами.
|
|
![]() |
#11 |
Участник
|
|
|
![]() |
#12 |
Axapta
|
Максим, а какое это имеет отношение к данной теме? Применительно к данной теме этот движок автору ну ни капельки не мешает.
|
|
![]() |
#13 |
Участник
|
Я наверное, неправильно тебя понял, я думал, что ты жалуешься на отсутсвие некоего стандартного закрытия окна отчетов в аксапте и ответил в том смысле что стоило бы уже и привыкнуть к неидельности всего движка и не удивляться.
В принципе, я согласен, что лучше переделать в класс, если можно. Наверное, даже можно написать какой-нибудь джобик для автоматизации этого процесса. |
|
![]() |
#14 |
Moderator
|
Цитата:
![]() Но слова твои оказывают успокоительный терапевтический эффект. Спасибо, буду привыкать дальше ![]() |
|
![]() |
#15 |
Постигающий
|
Пишу оторванным пальцем на животе убитого товарища из горящего танка...ничего не поделать , пришлось написать класс для сбора и отправки данных в класс, печатающий в ексель...Спасибо за активность!
|
|
![]() |
#16 |
Участник
|
Я делал так - у стандарного отчета не перекрывал send у секций и в них, если ехель - то выводил в ехель, а супер просто не вызывал..
|
|
|
За это сообщение автора поблагодарили: belugin (5), Red Stranger (1). |
![]() |
#17 |
Постигающий
|
Интересный вариант...Но ведь окно отчета открывалось?Просто оно было пустое или я ошибаюсь?
|
|
![]() |
#18 |
NavAx
|
можно попробовать в init() отчета добавить что то типа
element.printJobSettings().setTarget(PrintMedium::ViewerClass); |
|
![]() |
#19 |
Участник
|
|
|
![]() |
#20 |
Постигающий
|
Где ж вы раньше были
![]() ![]() |
|