ПВА> Добрый день.
ПВА> Вопрос к О.Руденко:
>>были некоторые глюки, связанные, в частности, еще и со «сьездом»
>>по-горизонтали отчетов.
ПВА> можно поподробнее о «съезде» отчетов.
ПВА> Есть один отчет, который иногда съезжает вправо. Причем это уже видно в
ПВА> препросмотре.
ПВА> Оператору приходиться закрывать и формировать еще раз. Где рыть — непонятно?
ПВА> C4,ШВС
ПВА> Понамарев Виталий Александрович
ПВА> Банк Москва-Сити
С чем это связано я не разбирался. Но, если мне память не изменяет, кто-то из коллег в данной рассылке уже (правда давно) давал обьяснение данному глюку. Там что-то было связано с MDI-аттрибутом последнего открытого окна. Или что-то подобное.
Я, как уже писал, решил эту проблему просто — достаточно обьявить окошко, например глобальное, и открыть/закрыть его ПЕРЕД открытием отчета:
DummyWin WINDOW,AT(,,0,0),CENTER,NOFRAME.
...
Open(DummyWin); Close(DummyWin)
...
Open(Report)
...
С тех пор никаких подобных проблем больше не было.
А для вставки этого кода я себе написал небольшой глобальный шаблончик, который подобный код вставляет во все REPORT-процедуры:
#!------------------------------------------------------------------------------
#!------------------------------------------------------------------------------
#EXTENSION(NoShiftReport,'Предотвращение горизонтального сдвига отчетов'),APPLICATION
#!------------------------------------------------------------------------------
#BOXED('')
#DISPLAY('Данный шаблон предотвращает возможный')
#DISPLAY('горизонтальный сдвиг рабочего поля отчета')
#DISPLAY('вправо.')
#DISPLAY('Для этого в начало каждого отчета вставляется')
#DISPLAY('код открытия и закрытия пустого окна:')
#DISPLAY(' OPEN(DummyWin)')
#DISPLAY(' CLOSE(DummyWin)')
#DISPLAY('Данный шаблон обрабатывает только те процедуры,')
#DISPLAY('в которых явно присутствует структура REPORT.')
#DISPLAY('В других случаях вышеприведенный код надо явно')
#DISPLAY('вставлять перед открытием отчета.')
#ENDBOXED
#!
#AT(%GlobalData),FIRST
!===============================================================================
DummyWin WINDOW,AT(,,0,0),CENTER,NOFRAME
END
!===============================================================================
#ENDAT
#!
#AT(%ProcedureSetup),WHERE(%Report)
OPEN(DummyWin)
CLOSE(DummyWin)
#ENDAT
#!------------------------------------------------------------------------------