:: Visual Foxpro, Foxpro for DOS
Рабочая область при печати отчета
Vedmak
Автор

Сообщений: 5949
Откуда: CiTY
Дата регистрации: 30.10.2003
select (lcItemAlias)
lcMsg = "lcItemAlias="+lcItemAlias+CHR(13)+;
"alias()="+ALIAS()
MESSAGEBOX( lcMsg )
REPORT FORM move_sell PREVIEW NOCONSOLE
lcMsg = "lcItemAlias="+lcItemAlias+CHR(13)+;
"alias()="+ALIAS()
MESSAGEBOX( lcMsg )
USE IN SELECT(lcItemAlias)

lcItemAlias - содержит имя области временной таблицы

Перед запуском отчета проверяю какая область активна - все в норме. Получаю нормальное превью отчета. Закрываю и текущая рабочая область меняется. Впрочем, и при отправке на печать из превью проявляется ошибка, мол, данные для заполнения табличной части не найдены, т.е. активная рабочая область уже сменилась.

Перелопатил все поля в отчете и проверил функции. Ни одна не переключает рабочие области.

Что еще посмотреть ?


------------------
Говорить стоит лишь для тех, кто слушает.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
1. По шагам пройди REPORT FORM (функции по шагам проходятся тоже вроде)

2. Возьми да верни SELECT обратно после выполнения репорта;
m.x = SELECT()
твой код
SELECT (m.x)

Доб. внимательнее перечитал> Впрочем, и при отправке на печать из превью проявляется ошибка, мол, данные для заполнения табличной части не найдены, т.е. активная рабочая область уже сменилась.
Явно что что-то меняет, где-то есть строка такого фокс-кода.

Еще есть фишка фокса - не выполняй репорт из фокуса грида, но это ты знаешь наверное.



Исправлено 1 раз(а). Последнее : of63, 29.10.19 19:21
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Vedmak
Что еще посмотреть ?
В отладчике брекпоинт на смену алиаса.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Vedmak
Автор

Сообщений: 5949
Откуда: CiTY
Дата регистрации: 30.10.2003
of63
Еще есть фишка фокса - не выполняй репорт из фокуса грида, но это ты знаешь наверное.

Вот это гадство и было! Знал то я знал, когда то.

Я открываю проведенный документ, т.е. все контролы выключены кроме грида. Грид ReadOnly вот на нем фокус и оставался. Ради теста кинул TextBox на форму и перед отправкой на печать туды мышом ткнул. Рабочая область и перестала слетать.

Спасибо за напоминание.

Косяк в том, что у меня на форма кнопки как Image. При нажатии на них фокус не перемещается. Что-то надо придумать....


------------------
Говорить стоит лишь для тех, кто слушает.




Исправлено 1 раз(а). Последнее : Vedmak, 30.10.19 09:56
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Vedmak
of63
Еще есть фишка фокса - не выполняй репорт из фокуса грида, но это ты знаешь наверное.

Вот это гадство и было! Знал то я знал, когда то.

Я открываю проведенный документ, т.е. все контролы выключены кроме грида. Грид ReadOnly вот на нем фокус и оставался. Ради теста кинул TextBox на форму и перед отправкой на печать туды мышом ткнул. Рабочая область и перестала слетать.

Спасибо за напоминание.

Косяк в том, что у меня на форма кнопки как Image. При нажатии на них фокус не перемещается. Что-то надо придумать....
Давным-давно для этого придуман тексбокс/невидимая кнопка за пределами формы с переводом фокуса на сей объект перед запуском отчета.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Vedmak
Автор

Сообщений: 5949
Откуда: CiTY
Дата регистрации: 30.10.2003
ssa
Давным-давно для этого придуман тексбокс/невидимая кнопка за пределами формы с переводом фокуса на сей объект перед запуском отчета.

Не кашерно! Попробую остальные контролы в ReadOnly лочить. Проще в базовом классе пару строк сменить, чем кучу форм перелопачивать.


------------------
Говорить стоит лишь для тех, кто слушает.




Исправлено 1 раз(а). Последнее : Vedmak, 30.10.19 11:06
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Vedmak
ssa
Давным-давно для этого придуман тексбокс/невидимая кнопка за пределами формы с переводом фокуса на сей объект перед запуском отчета.

Не кашерно! Попробую остальные контролы в ReadOnly лочить.
Заем?
Цитата:
Проще в базовом классе пару строк сменить, чем кучу форм перелопачивать.
Ну так давным-давно именно так и делается.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Vedmak
ssa
Давным-давно для этого придуман тексбокс/невидимая кнопка за пределами формы с переводом фокуса на сей объект перед запуском отчета.

Не кашерно! Попробую остальные контролы в ReadOnly лочить. Проще в базовом классе пару строк сменить, чем кучу форм перелопачивать.

Э-э-э, а добавить кнопку в классе формы тоже не кошерно, или формы не субклассированы и строятся на базовом классе формы?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
А зачем кнопку создавать в классе формы?
Выводить отчёт будет некоторый метод или внешняя процедура.
Он же будет и смещать фокус.
Так пусть и обьект для приёма фокуса сам создаст.
Вне зависимости от класса формы.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Taran
А зачем кнопку создавать в классе формы?
Выводить отчёт будет некоторый метод или внешняя процедура.
Он же будет и смещать фокус.
Так пусть и обьект для приёма фокуса сам создаст.
Вне зависимости от класса формы.

Что бы вызвать просто метод MyForm.Print/Preview, или предлагаешь прописывать вызов внешней процедуры в каждой форме?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
Не, я не предлагаю глобальных изменений. Как есть пусть будет.
Просто в конструкторе формы нет смысла кидать объект для приёма фокуса. Его создать 3 строчки кода.

А что вызывать и как х.з.. У меня класс кнопки для печати, кинул на форму и все. И глобальный объект для формирования отчётов.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Taran
Не, я не предлагаю глобальных изменений. Как есть пусть будет.
И это радует
Цитата:
Просто в конструкторе формы нет смысла кидать объект для приёма фокуса.
Разумеется. Ибо он предполагается в базовом классе формы. То есть есть на форме как бы "по умолчанию".
Цитата:
Его создать 3 строчки кода.
Да и создавать нет особой необходимости. Ибо уже есть.
Цитата:

А что вызывать и как х.з.. У меня класс кнопки для печати, кинул на форму и все. И глобальный объект для формирования отчётов.
Прелестно, вполне рабочий вариант.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
ssa
Taran
Не, я не предлагаю глобальных изменений. Как есть пусть будет.
И это радует
Цитата:
Просто в конструкторе формы нет смысла кидать объект для приёма фокуса.
Разумеется. Ибо он предполагается в базовом классе формы. То есть есть на форме как бы "по умолчанию".
Цитата:
Его создать 3 строчки кода.
Да и создавать нет особой необходимости. Ибо уже есть.
Цитата:

А что вызывать и как х.з.. У меня класс кнопки для печати, кинул на форму и все. И глобальный объект для формирования отчётов.
Прелестно, вполне рабочий вариант.

Все понятно, все здорово. Особенно упертость.
Нахрен он нужен в базовом классе. К нему нет нигде явного обращении из класса и пр..
Чем плохо создать его в методе/функции формирования отчёта?
Никакой запарки с именем объекта и прочее.
Все в одном месте.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Что мешает создать глобальный объект goReport типа CUSTOM, где и решать все проблемы работы с отчетами?
А в формах оставить только кнопки с единственной строкой вызова нужной функции.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Taran
ssa
Taran
Не, я не предлагаю глобальных изменений. Как есть пусть будет.
И это радует
Цитата:
Просто в конструкторе формы нет смысла кидать объект для приёма фокуса.
Разумеется. Ибо он предполагается в базовом классе формы. То есть есть на форме как бы "по умолчанию".
Цитата:
Его создать 3 строчки кода.
Да и создавать нет особой необходимости. Ибо уже есть.
Цитата:

А что вызывать и как х.з.. У меня класс кнопки для печати, кинул на форму и все. И глобальный объект для формирования отчётов.
Прелестно, вполне рабочий вариант.

Все понятно, все здорово. Особенно упертость.
Угу. Осталось выяснить с чьей стороны.
Цитата:
Нахрен он нужен в базовом классе. К нему нет нигде явного обращении из класса и пр..
Чем плохо создать его в методе/функции формирования отчёта?
Никакой запарки с именем объекта и прочее.
Все в одном месте.
Написано же - прелестно. И всего лишь сообщили о наличии еще одного способа. Чем вызвана такая бурная реакция?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
ssa
Написано же - прелестно. И всего лишь сообщили о наличии еще одного способа. Чем вызвана такая бурная реакция?

Ай, Сергей, изначально здесь возникла идея о создании в базовом классе объекта для приёма фокуса.
Я предложил альтернативу.
Ты опять пишешь про объект в классе и называешь это альтернативой.
Альтернатива на альтернативу и приходим к негативу. ;)

Нет никакой бурной реакции. Все ровно, все путём.
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Taran
Ай, Сергей, изначально здесь возникла идея о создании в базовом классе объекта для приёма фокуса.
Никакие идеи здесь не возникали. Всего лишь сообщено о наличии с давних пор некоторого решения для обсуждаемой проблемы.
Цитата:
Я предложил альтернативу.
Угу. Только не тому, что было описано, а что сам придумал. И тебе указали на отличие описанного от придуманного.
Цитата:
Все ровно, все путём.
Угу.

------------------
Лень - это неосознанная мудрость.




Исправлено 1 раз(а). Последнее : ssa, 31.10.19 11:15
Ratings: 0 negative/0 positive
Re: Рабочая область при печати отчета
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
Зануда
Ratings: 0 negative/2 positive
Re: Рабочая область при печати отчета
Vedmak
Автор

Сообщений: 5949
Откуда: CiTY
Дата регистрации: 30.10.2003
Крассавы, как всегда!

А вы тему спора не забыли? Даже не тему, а соизмеримость цели и усилий ?

joxi.ru

Был базовый класс base_tool наследованный от Image. Я создал новый класс с тем же именем наследуемый от Button. Это решило задачу перемещения фокуса во всех формах. Конечно напильником над свойствами нового базового класса помахал.... минут 20. Рамочки там, всякие визуальные дела... 99% пользователей даже не заметят разницы.

ООП рулит!


------------------
Говорить стоит лишь для тех, кто слушает.




Исправлено 2 раз(а). Последнее : Vedmak, 01.11.19 00:17
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 25 (Гостей: 25)

© 2000-2024 Fox Club 
Яндекс.Метрика