Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возврат записи из служебной формы. / 8 сообщений из 8, страница 1 из 1
16.07.2008, 17:45
    #35434767
antonov60
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат записи из служебной формы.
Уважаемые разработчики, много лет использующие FoxPro !

Подскажите, как грамотно организовать возврат параметров в главную форму

Есть главная форма - платежный документ, в котором необходимо заполнить поля
плательщика и получателя платежа и есть служебная форма - выбор из
справочника организаций.

В главной форме могут потребоваться почти все поля выбранной записи из таблицы
организаций (их > 20), поэтому возвращать их все по ссылке некрасиво.

ВЫборка в справочнике организаций идет через курсор-адаптер (CAD), поэтому у меня возникли
2 варианта возврата параметров:

1. Вернуть запись о выбранной организации в специально созданном временном курсоре (т.к. курсор
CADа закроется при окончании работы служебной формы,

Имя курсора задает главная форма и после использования данных он будет закрыт в главной форме.

2. Создать CAD в главной форме, передать по ссылке его адрес в служебную форму,
там произвести выборку и выбор организации для документа, далее вернуть управление
в главную форму с флагом выбрано/не выбрано, после чего главная форма сама закрывает CAD

Может есть более рациональный вариант реализации данной задачи, очень прошу поделиться
своими соображениями
...
Рейтинг: 0 / 0
16.07.2008, 18:03
    #35434855
Возврат записи из служебной формы.
вот есть такой вариант

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create cursor tt (tt i, pp i, kk i)

insert into tt values ( 1 , 2 , 3 )

local loRecn
scatter name loRecn

tt(loRecn)

procedure tt
lparameters toRecn
with toRecn
	? .tt
	? .pp
	? .kk
endwith 
...
Рейтинг: 0 / 0
16.07.2008, 18:06
    #35434872
Возврат записи из служебной формы.
анализировать выбрали или не выбрали что-то
можете по типу loRecn

если выбрали - scat name
нет - просто ушли

туда куда прилетело loRecn
смотрите тип
если объект (varty(toRecn)="O") - то ...
другой тип - значит ничего не выбрали
...
Рейтинг: 0 / 0
16.07.2008, 18:28
    #35434954
antonov60
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат записи из служебной формы.
Я немного не понял,
где создается об"ект loRecn
служебной форме, а тт - вызов метода в главной, или нет ?
...
Рейтинг: 0 / 0
16.07.2008, 18:38
    #35434977
antonov60
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат записи из служебной формы.
А вообще, имеет ли место быть такой способ:

В главной форме создать пустой об"ект

По ссылке передать его адрес в служебную форму, там наполнить по Scatter Name

После этого все данные будут в главной форме
...
Рейтинг: 0 / 0
16.07.2008, 18:51
    #35435001
Возврат записи из служебной формы.
http://www.sql.ru/forum/actualthread.aspx?tid=539084&hl=%e2%e5%f0%ed%f3%f2%fc+%e7%ed%e0%f7%e5%ed%e8%e5+%f4%ee%f0%ec%fb

нижнее сообщение - примеры возврата знач-й из мод-х и немод-х форм


переменную объявляете
по кнопке ок к примеру

и зовете метод нижней формы с параметром ...
способов много

я Вам показал, что запомнить значение записи
можно в объект, т.е. сам курсор справочника можете
смело закрывать и не заботиться о его сущ-и

но обычно так не поступают

есть способ, когда формы спр-ки просто хайдят
и забирают знач-я напрямую из к-в и т.д.
+ есть такое понятие - как буфер-я справ-в
в кс системах, но это .. отдельный разговор
...
Рейтинг: 0 / 0
16.07.2008, 19:41
    #35435077
antonov60
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат записи из служебной формы.
Если форму справочника сделать невидимой после ввода плательщика, то как в нее зайти при вводе второй организации - получателя платежа
...
Рейтинг: 0 / 0
16.07.2008, 22:00
    #35435234
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат записи из служебной формы.
Как из модальной формы вернуть несколько значений

Как вариант, если пользователь ничего не выбрал, то можно возвращать пустое значение

Код: plaintext
scatter BLANK name loRecn 

Хотя, зря Вы так уж боитесь повторить выборку. Т.е. вернуть из подчиненной формы только ID выбранной записи, а в главной форме повторить выборку по этому ID.

Дело в том, что как только Вы "привязываетесь" к объекту, то начинаются проблемы масштабирования (модификации) приложения.

Ну, например, в главной форме потребовалась некая информация, которой нет в подчиненной. Единственный выход - это добавить эту информацию в подчиненную форму, хотя там она совсем не нужна.

С другой стороны, может оказаться, то из всей информации подчиненной формы требуется только 2..3 поля. И зачем тащить все остальное?

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

Поэтому, я бы посоветовал остановиться на "классической" схеме. Из справочника возвращается только и исключительно идентификатор выбранной записи, а в основной форме делается повторный запрос к серверу по найденному идентификатору.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Возврат записи из служебной формы. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]