Выборка данных

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Выборка данных

Сообщение Marisha_P »

Подскажите, пожалуйста, как осуществить выборку данных...
Есть свой интерфейс с накладными

Код: Выделить всё

Create View Nakl
var
 bdate  :date;
 edate  :date;
 markers,FieldMarkers,IndexNo : longint;
 vidsopr: word;
 marker_str:string;
select
  if (SearchMarker(Markers, katsopr.nrec, IndexNo) = True, '√', ' ') (FieldName=Picked),
 katsopr.nsopr,
 katsopr.dsopr,
 katpodr.name,
 katpodr1.name
from
 katsopr(readonly),katpodr, synonym katpodr katpodr1,sklorder
Where
  ((
    vidsopr==Katsopr.vidsopr and
    bdate<<=katsopr.dsopr and
    edate>>=katsopr.dsopr and
    katsopr.cpodrfrom==katpodr.nrec and
    katsopr.cpodrto==katpodr1.nrec
    and Katsopr.nrec/==SklOrder.csopr
   ))
   ;
Parameters bdate,edate,vidsopr,marker_str;
Нужно добавить еще один параметр в выборку - множественный выбор из интерфейса GetAnyPodr для подразделений , выбранные значения хранятся в pick.. Можно для view сделать ограничения по выбранным подразделениям?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Выборка данных

Сообщение edward_K »

Все зависит для чего.
Если для отчета, то лучше добавить в сам запрос
типа

Код: Выделить всё

and      11 == Pick.wlist
and Pick.crec == Katsopr.cpodrto
и обход делать соотв по Pick + Katsopr
Если для просмотра, то можно добавить баундс

Код: Выделить всё

bounds byPick 11 == Pick.wlist
and  Katsopr.cpodrto /== Pick.crec 
и где то проверить что есть пометка и добавить AddBounds(tbbyPick)
Для ускорения лучше перегрузить Pick во временную таблу(с одним полем - nrec), хотя сам Pick и так кэшируется, но там может быть много другой инфы.
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Выборка данных

Сообщение Marisha_P »

Спасибо!
Нужно для просмотра - ограничить накладные по подразделениям и складам в своем интерфейсе
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Выборка данных

Сообщение Marisha_P »

Правильно выбирает нужные значения, но почему то первая строка в интерфейсе всегда отображается одинаково, независимо от ограничений:(
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Выборка данных

Сообщение edward_K »

Ну после наложения ограничения нужно еще обновить окно

Код: Выделить всё

if getfirst katsopr=0 {}
Rescanpanel(#katsopr)
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Выборка данных

Сообщение Marisha_P »

Спасибо большое за помощь!
Забыла про getfirst:(
Ответить