ПВА> Добрый день.
ПВА> Вопрос к О.Руденко:>>были некоторые глюки, связанные, в частности, еще и со «сьездом»
>>по-горизонтали отчетов.ПВА> можно поподробнее о «съезде» отчетов.
ПВА> Есть один отчет, который иногда съезжает вправо. Причем это уже видно в
ПВА> препросмотре.
ПВА> Оператору приходиться закрывать и формировать еще раз. Где рыть — непонятно?ПВА> 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 #!------------------------------------------------------------------------------