Задача - Вывести в интерфейсе список МЦ с кучей внешних атрибутов и классификаторов ...
Проблема - Выводиться только одна МЦ у которой заполнены все атрибуты и классификаторы
=============
КОД
=============
Interface Price_Canc_main 'Прайс - Лист ' Gray;
var
Price_nrec : Comp;
view
as
select
GroupMc.Name,
PRICES.CKLPRICE,
PRICES.KOD,
PRICES.BARKOD,
PRICES.name,
KATOTPED.NAME,
PRICES.PRICE,
AttrVal.VString, // описание 1
AttrVal2.VString, // описание 2
AttrVal3.VString, // описание 3
AttrVal4.VString, // Артикул
EXCLASSSEG.Name, // Фирма производитель (Торговая марка)
AttrVal5.VString, // Страна происхождения
AttrVal6.VString // Кол-во в упаковке (для прайса)
from
synonym AttrVal AttrVal2 ,
synonym ATTRNAM ATTRNAM2 ,
synonym AttrVal AttrVal3 ,
synonym ATTRNAM ATTRNAM3 ,
synonym AttrVal AttrVal4 ,
synonym ATTRNAM ATTRNAM4 ,
synonym AttrVal AttrVal5 ,
synonym ATTRNAM ATTRNAM5 ,
synonym AttrVal AttrVal6 ,
synonym ATTRNAM ATTRNAM6
Where
((
comp(Price_nrec) == PRICES.CKLPRICE and
PRICES.COTPED == KATOTPED.nrec and
// Описание 1
PRICES.CTHING == katmc.nrec and
Katmc.CGroupMc == GroupMC.NRec and
cokatmc == ATTRVAL.Wtable and
katmc.nrec == AttrVal.crec and
ATTRNAM.nrec == AttrVal.CAttrNAM and
cokatmc == ATTRNAM.wtable and
'Наименование для прайса 1' == ATTRNAM.name
and
// Описание 2
cokatmc == ATTRVAL2.Wtable and
katmc.nrec == AttrVal2.crec and
ATTRNAM2.nrec == AttrVal2.CAttrNAM and
cokatmc == ATTRNAM2.wtable and
'Наименование для прайса 2' == ATTRNAM2.name
and
// Описание 3
cokatmc == ATTRVAL3.Wtable and
katmc.nrec == AttrVal3.crec and
ATTRNAM3.nrec == AttrVal3.CAttrNAM and
cokatmc == ATTRNAM3.wtable and
'Наименование для прайса 3' == ATTRNAM3.name
and
// Артикул
cokatmc == ATTRVAL4.Wtable and
katmc.nrec == AttrVal4.crec and
ATTRNAM4.nrec == AttrVal4.CAttrNAM and
cokatmc == ATTRNAM4.wtable and
'Артикул' == ATTRNAM4.name
and
// Фирма производитель (торговая марка)
coKatMc == ExClassName.wTable and
'Торговая марка'== ExClassName.Name and
ExClassName.ClassCode==ExClassVal.ClassCode and
ExClassname.wTable== ExClassVal.wTable and
KatMc.NREC == ExClassVal.cRec and
ExClassVal.cClassSeg == ExClassSeg.NREC
and
// Страна происхождения (АТРИБУТ Страна производитель)
cokatmc == ATTRVAL5.Wtable and
katmc.nrec == AttrVal5.crec and
ATTRNAM5.nrec == AttrVal5.CAttrNAM and
cokatmc == ATTRNAM5.wtable and
'Страна производитель' == ATTRNAM5.name
and
// Кол-во в упаковке (для прайса) (АТРИБУТ Кол-во в упаковке (для прайса))
cokatmc == ATTRVAL6.Wtable and
katmc.nrec == AttrVal6.crec and
ATTRNAM6.nrec == AttrVal6.CAttrNAM and
cokatmc == ATTRNAM6.wtable and
'Кол-во в упаковке (для прайса)' == ATTRNAM6.name
))
;
//Parameters
// SDate, //Фильтр по датам
// EDate; //Фильтр по датам
Browse MyPrice1 ('Прайс Лист');
fields
//
PRICES.BARKOD 'Код' :[10], Protect;
PRICES.name + ' ' + AttrVal.VString + ' ' + AttrVal2.VString + ' ' + AttrVal3.VString 'Наименование' :[50] , Protect;
KATOTPED.NAME 'Ед Изм' :[5] , protect;
EXCLASSSEG.Name 'Фирма производ.' :[10] , Protect,skip;
AttrVal5.VString 'Страна происхожд.' :[10] , Protect,skip;
AttrVal4.VString 'Артикул' :[10] , protect,skip;
AttrVal6.VString 'Кол-во в уп' :[10] , protect,skip;
PRICES.PRICE 'Цена' :[10,2] , protect,skip;
end; // Table ;
HandleEvent
// Инициализация ...
cmInit :
{
RunInterface(GetKlPr, Price_nrec, word(1), word(1), word(0));
}
// По Enter вызываем обработку ....
// cmDefault :
//
End; //HandleEvent
End.
Интерфейс ... ???
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
Корневую таблу Prices для browse укажи ...
Последний раз редактировалось Goblin 29 июн 2005, 08:58, всего редактировалось 1 раз.
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
-
- Местный житель
- Сообщения: 412
- Зарегистрирован: 28 апр 2005, 11:34
- Откуда: Галактика Млечный Путь
Стандартные интерфейсы выбора классификаторов
/*
порядок вызова
procedure TFieldView.ExClassCall (OpCode: Word); // wins2.pas
case (OpCode) of
excPick: cfsExtAttrPick (ExClassTableCode, FNRec, CNRec);
cfsExtClassPick (TableCode: Integer; NRec, ClassNRec: Comp): Boolean; // confproc.pas
cfgexclassifier(wtable,cRec,cExClassName);
cfgpickexclassifier(wtable,cExClassName,cExClassSeg,p4)
*/
/*
interface cfgexclassifier; // тут идет вызов списка сегментов и привязка к записи
create view
var
wTable : word;
cRec : comp;
cExClassName : comp;
cExClassSeg : comp;
P4 : word;
;
parameters wtable,cRec,cExClassName;
handleEvent
cminit:
{
logstrtofile('cfgpick.txt','cfgexclassifier');
logstrtofile('cfgpick.txt','wtable='+wtable+' cRec='+cRec+' cExClassName='+cExClassName);
runinterface(cfgpickexclassifier,wtable,cExClassName,cExClassSeg,p4)
logstrtofile('cfgpick.txt','cfgpickexclassifier');
logstrtofile('cfgpick.txt','wtable='+wtable+' cExClassName='+cExClassName+' cExClassSeg='+cExClassSeg+' p4='+p4);
abort;
exit;
}
end;
end.
interface cfgpickexclassifier; // тут показывается список и возвращается выбранный сегмент
create view
var
wTable : word;
cExClassName : comp;
cExClassSeg : comp; // выбранный сегмент (возвращаемый)
P4 : word; // флаг (0=cmCancel,1=cmOK) (возвращаемый)
;
parameters wtable,cExClassName,cExClassSeg,p4;
handleEvent
cminit:
{
logstrtofile('cfgpick.txt','cfgpickexclassifier');
logstrtofile('cfgpick.txt','wtable='+wtable+' cExClassName='+cExClassName+' cExClassSeg='+cExClassSeg+' p4='+p4);
abort;
exit;
}
end;
end.
*/
порядок вызова
procedure TFieldView.ExClassCall (OpCode: Word); // wins2.pas
case (OpCode) of
excPick: cfsExtAttrPick (ExClassTableCode, FNRec, CNRec);
cfsExtClassPick (TableCode: Integer; NRec, ClassNRec: Comp): Boolean; // confproc.pas
cfgexclassifier(wtable,cRec,cExClassName);
cfgpickexclassifier(wtable,cExClassName,cExClassSeg,p4)
*/
/*
interface cfgexclassifier; // тут идет вызов списка сегментов и привязка к записи
create view
var
wTable : word;
cRec : comp;
cExClassName : comp;
cExClassSeg : comp;
P4 : word;
;
parameters wtable,cRec,cExClassName;
handleEvent
cminit:
{
logstrtofile('cfgpick.txt','cfgexclassifier');
logstrtofile('cfgpick.txt','wtable='+wtable+' cRec='+cRec+' cExClassName='+cExClassName);
runinterface(cfgpickexclassifier,wtable,cExClassName,cExClassSeg,p4)
logstrtofile('cfgpick.txt','cfgpickexclassifier');
logstrtofile('cfgpick.txt','wtable='+wtable+' cExClassName='+cExClassName+' cExClassSeg='+cExClassSeg+' p4='+p4);
abort;
exit;
}
end;
end.
interface cfgpickexclassifier; // тут показывается список и возвращается выбранный сегмент
create view
var
wTable : word;
cExClassName : comp;
cExClassSeg : comp; // выбранный сегмент (возвращаемый)
P4 : word; // флаг (0=cmCancel,1=cmOK) (возвращаемый)
;
parameters wtable,cExClassName,cExClassSeg,p4;
handleEvent
cminit:
{
logstrtofile('cfgpick.txt','cfgpickexclassifier');
logstrtofile('cfgpick.txt','wtable='+wtable+' cExClassName='+cExClassName+' cExClassSeg='+cExClassSeg+' p4='+p4);
abort;
exit;
}
end;
end.
*/
-
- Местный житель
- Сообщения: 412
- Зарегистрирован: 28 апр 2005, 11:34
- Откуда: Галактика Млечный Путь
Управление браузером
вот так надо:
Browse MyPrice1 ('Прайс Лист');
table prices;
fields
Browse MyPrice1 ('Прайс Лист');
table prices;
fields
-
- Местный житель
- Сообщения: 412
- Зарегистрирован: 28 апр 2005, 11:34
- Откуда: Галактика Млечный Путь
Ф-ции возвращающие значения атрибутов и классификатора
RegisterFunction('cfsExtClassGetVal', @cfsExtClassGetVal, ftString,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal', @cfsExtAttrGetVal, ftString,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_S', @cfsExtAttrGetVal_S, ftString,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_F', @cfsExtAttrGetVal_F, ftDouble,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_D', @cfsExtAttrGetVal_D, ftDate,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_T', @cfsExtAttrGetVal_T, ftTime,
chr(ftWord)+chr(ftComp)+chr(ftComp));
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal', @cfsExtAttrGetVal, ftString,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_S', @cfsExtAttrGetVal_S, ftString,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_F', @cfsExtAttrGetVal_F, ftDouble,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_D', @cfsExtAttrGetVal_D, ftDate,
chr(ftWord)+chr(ftComp)+chr(ftComp));
RegisterFunction('cfsExtAttrGetVal_T', @cfsExtAttrGetVal_T, ftTime,
chr(ftWord)+chr(ftComp)+chr(ftComp));