Доброе время суток ...
Есть задача ... Вывести на печать прайс лис в виде
   Группа 1 МЦ (прайс листа)
                   Код .. Наименование ... Цена .. ... и атрибуты ...
                   Код .. Наименование ... Цена .. ... и атрибуты ...
                   Код .. Наименование ... Цена .. ... и атрибуты ...
............................................................................................
   Группа NNN МЦ (прайс листа)
                   Код .. Наименование ... Цена .. ... и атрибуты ...
                   Код .. Наименование ... Цена .. ... и атрибуты ...
                   Код .. Наименование ... Цена .. ... и атрибуты ...
Отсортировав отчет как по группе МЦ так и по цене внутри каждой группы ... как только добавляю в код (приведен ниже) ORDER BY PRICES.PRICE при обьявлении таблицы (.Create View TablePrice  ....) в отчет начинают либо дублироваться данные ... либо не выводиться все ..
------------------------------------------------------
КОД
-----------------------------------------------------
*.prj .....
-----------------------------------------------------
Table STRUCT PRiceCancLitle001
    (
     GruppaTovaraList        : String  ,
     NameGruppaTovaraList    : String  
    )
With index
    (
PRiceCancLitle001_1    =   GruppaTovaraList
    );
#make "price.frm"
-------------------------------------------------------
FRM
-------------------------------------------------------
.form Price_kanc
.NameInList 'Прайс-Лист'
.Group 'ПРАЙС ЛИСТЫ'
.Ard
.var
str1,str2 : String;
TMPGruppaTovara        : String  
  Price_nrec:comp;
  FlagPovtor:boolean;
.endvar
.Create View GroupsTovara as
Select PRiceCancLitle001.* order by GruppaTovaraList;
.Create View TablePrice as
Select
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
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
))
;
.begin
RunInterface(GetKlPr, Price_nrec, word(1), word(1), word(0));
StartNewVisual (vtNumericVisual, vfTimer,
                          'Идет процесс формирования прайс-листа ...',
                          1);
end.
.{table 'TablePrice'
.begin
NextVisual;
FlagPovtor    := False;
TMPGruppaTovara        := TablePrice.PRICES.KOD
end.
.{table 'GroupsTovara'
.begin
if ( GroupsTovara.PRiceCancLitle001.GruppaTovaraList = TMPGruppaTovara )
    then FlagPovtor    := True;
end.
.} //End table GroupsTovara
.begin
// коли повторов не было будем инсертить и получем список групп товара без повторов
if (FlagPovtor=false) then begin
insert PRiceCancLitle001 set
 PRiceCancLitle001.GruppaTovaraList :=TMPGruppaTovara;
                            end;
end.
.} //End table 'TablePrice'
.begin
stopVisual('',0);
end.
--------------------------------------------------------------------
                 прайс тестовая форма
======================================
.fields
!! Группа Тоара
GroupsTovara.PRiceCancLitle001.GruppaTovaraList
GroupsTovara.PRiceCancLitle001.NameGruppaTovaraList
!! Описание МЦ в группе
TablePrice.PRICES.PRICE
TablePrice.PRICES.CKLPRICE
TablePrice.PRICES.KOD
TablePrice.PRICES.BARKOD
TablePrice.PRICES.name
TablePrice.KATOTPED.NAME
TablePrice.AttrVal.VString         // описание 1
TablePrice.AttrVal2.VString         // описание 2
TablePrice.AttrVal3.VString         // описание 3
TablePrice.AttrVal4.VString         // Артикул
TablePrice.EXCLASSSEG.Name   // Фирма производитель     (Торговая марка)
TablePrice.AttrVal5.VString         // Страна происхождения
TablePrice.AttrVal6.VString          // Кол-во в упаковке (для прайса)
.endfields
.{table 'GroupsTovara'
      Группа товара -  :@@@@@@ @@@@@@@@@
.begin
str1:=GroupsTovara.PRiceCancLitle001.GruppaTovaraList;
end.
.{table 'TablePrice'
 &&&&&&&&&&&&&&.&&&  ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 
.} //End TablePrice
.} //End table GroupsTovara
.endform
			
			
									
						
										
						Странности при построении иерархии .... при добавлении Order
Модераторы: m0p3e, edward_K, Модераторы