в интерфейсе выводятся не все записи из выборки!

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

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

Ответить
lehancho
Новичок
Сообщения: 23
Зарегистрирован: 08 сен 2005, 12:25
Контактная информация:

в интерфейсе выводятся не все записи из выборки!

Сообщение lehancho »

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

interface pl_BaseDoc 'Выбор документа-основания', cyan;
/*******************************************************************
Интерфейс для выбора документов оснований

Вход\Выход:
nRecBaseDoc - nrec BaseDoc (возвращаемый)
nRecStepDoc - nrec StepDoc (возвращаемый)
wStatus - статус ДО
wVidDoc - вид ДО
title - название интерфейса

Разработал: Вербин А.И.
Дата: 25.12.2004
*******************************************************************/
show at (8, 4, 90, 25);

var
wVidDoc : word; //вид ДО
wNoDocRec :comp;

parameters
wVidDoc

create view as
select BASEDOC.DDOC,KATORG.NAME,BASEDOC.NODOC, BASEDOC.TOTAL,BaseDoc.Status, stepdoc.nrec
FROM BASEDOC,KATORG,stepdoc
WHERE ((KATORG.NREC == BASEDOC.CORG and BASEDOC.NREC == STEPDOC.CBASEDOC ))
and (wVidDoc=basedoc.viddoc)
order by BASEDOC.DDOC
;

browse bBaseDoc

fields
BaseDoc.ddoc 'Дата' :[3], protect;
BaseDoc.nodoc 'Номер основания' :[4], protect;
KATORG.Name 'имя организации' :[6], protect;
BaseDoc.total 'Сумма по основанию' :[3.2], protect, skip;
if(BaseDoc.Status=2,'Исполняемый','Оформляемый') :[5], protect, skip;
end;

handleEvent
cmInit: {
if (GetFirst BaseDoc <> tsOk){
Message(Chr(3)+'Нет записей по заданным условиям!', cmOk);
abort;
}
}
cmDefault: {
wNoDocRec:=StepDoc.nrec;
Message(wNoDocRec);
runInterface(pl_GetSchFact,wNoDocRec);

}

end;
end.

interface pl_GetSchFact 'Выбор счет фактуры', cyan;

show at (8, 4, 90, 25);

var
wNoDocRec: comp;
parameters
wNoDocRec

create view as
SELECT SCHFACT.NUM, SCHFACT.DFACT,SCHFACT.SUM[3],SCHFACT.SUM[2]
FROM SCHFACT, katsopr
WHERE ((wNoDocRec==katsopr.cstepdoc
and katsopr.cschfact==schfact.nrec))
order by NUM;

panel bSch
table SCHFACT;
browse bSchDoc

fields
SCHFACT.DFACT 'Дата' :[3], protect;
SCHFACT.NUM '№ счет-фактуры' :[6], protect;
SCHFACT.SUM[3] 'Cумма с НДС' :[4], protect;
SCHFACT.SUM[2] 'Сумма НДС в т.ч.' :[5], protect;
end;

handleEvent
cmInit: {Message(wNoDocRec);
}
end;
end;
end.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Интерфейс pl_GetSchFact
Попробуйт поменять в логической таблице
from katsopr - т.е. основная таблица всё же катсопр а не таблица С/Ф-ры. Должно работать.
lehancho
Новичок
Сообщения: 23
Зарегистрирован: 08 сен 2005, 12:25
Контактная информация:

Сообщение lehancho »

не помогает, по-прежнему выдает одну запись, хотя выборка правильная
coolibin
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 29 мар 2005, 17:49

Сообщение coolibin »

надо не в логической таблице менять а лист в панели

panel bSch
table katsopr;
browse bSchDoc

from в данном случае не при чем, его можно вобще опустить
lehancho
Новичок
Сообщения: 23
Зарегистрирован: 08 сен 2005, 12:25
Контактная информация:

Сообщение lehancho »

Все попрежнему, ни чего не помогает, я так и понял что table
А может, нужно главную таблицу определить в главном интерфейсе, который basedoc?

interface pl_GetSchFact 'Выбор счет фактуры', cyan;

show at (8, 4, 90, 25);

var
wNoDocRec: comp;
parameters
wNoDocRec

create view as
SELECT SCHFACT.NUM, SCHFACT.DFACT,SCHFACT.SUM[3],SCHFACT.SUM[2]
FROM katsopr,SCHFACT
WHERE ((wNoDocRec==katsopr.cstepdoc
and katsopr.cschfact==schfact.nrec))
order by NUM;

panel bSch
table katsopr;
browse bSchDoc

fields
SCHFACT.DFACT 'Дата' :[3], protect;
SCHFACT.NUM '№ счет-фактуры' :[6], protect;
SCHFACT.SUM[3] 'Cумма с НДС' :[4], protect;
SCHFACT.SUM[2] 'Сумма НДС в т.ч.' :[5], protect;
end;

handleEvent
cmInit: {Message(wNoDocRec);
}
end;
end;
end.
Ответить