------------ Дoбавленo в 10.36:
http://www.hiasm.com/forum_serv.php?q=56&id=1523
На файлообменнике, мониторинг.
------------ Дoбавленo в 10.42:
Как я только эту связь уже не крутил. Результата не получается. Буду пробовать.
------------ Дoбавленo в 12.01:
Наверное, немного неправильно сформулировал вопрос в 1 письме.
Есть 2 базы: MatBas и MatPredst. В базе MatBas (таблица Материалы) некоторые ресурсы являются главными, остальные могут входить или не входить в группы главных ресурсов. Для формирования связей между главными ресурсами и остальными предусматривается (база MatPredst), что главные ресурсы имеют одинаковое значение в столбцах kodres и kodpredst, у всех ресурсов входящих в одну группу в столбце kodpredst будут одинаковые коды главных ресурсов, а у ресурсов не входящих в группы в столбце kodpredst пусто.
Задача: при выборе главного ресурса в базе MatBas в таблице «ресурсы» должны отображаться только ресурсы входящие в эту группу, если выбран другой главный ресурс, то состав группы меняется
Решил следующим образом.
Add(MainForm,2953706,14,133)
{
Width=1024
Height=768
Color=-16777197
Font=[MS Sans Serif,10,0,-16777203,1]
link(onCreate,361538:doOpen,[])
}
Add(ChildGroupBox,15046006,245,196)
{
link(onEvent1,3977853:doWork1,[])
link(onEvent2,3977853:doWork2,[])
}
BEGIN_SDK
Add(EditMulti,13220622,21,21)
{
EventCount=2
WorkCount=2
VarCount=2
Width=678
Height=389
link(doWork1,11311027:doQuery,[(91,27)(91,83)(106,81)])
link(Var1,9549963:Cell,[(27,259)(405,259)])
}
Add(GroupBox,14075530,35,154)
{
Left=14
Top=15
Width=480
Height=405
Color=-16777197
Font=[MS Sans Serif,12,0,16711680,1]
Caption="Материалы"
}
Add(Edit,12690185,126,140)
{
Left=195
Top=380
Width=175
Text=""
}
Add(Label,4098558,63,329)
{
Left=180
Top=330
Width=49
Height=20
Color=-16777197
Font=[MS Sans Serif,12,1,0,1]
WinStyle=1
Caption="Поиск"
}
Add(Label,15978634,55,321)
{
Left=6
Top=350
Width=189
Height=20
Color=-16777197
Font=[MS Sans Serif,12,1,0,1]
WinStyle=1
Caption="Наименование ресурса:
"
}
Add(Edit,15143962,262,32)
{
Left=195
Top=350
Width=265
Text=""
link(onChange,9549963:doMT_FindText,[(318,38)(318,90)])
}
Add(Label,4793360,69,333)
{
Left=6
Top=380
Width=100
Height=20
Color=-16777197
Font=[MS Sans Serif,12,1,0,1]
WinStyle=1
Caption="Код ресурса:"
}
Add(Button,8829586,252,175)
{
Left=390
Top=380
Caption="Очистить"
}
Add(SQLite_DB,361538,77,112)
{
FileName="Data.s3db"
}
Add(SQLite_Query,11311027,161,77)
{
SQL=" SELECT matbaz.kodres,matbaz.nameres,mattek.sredotp FROM matbaz,mattek WHERE matbaz.kodres=mattek.kodres"
link(onQuery,9549963:doMT_Add,[])
}
Add(StringTableMT,9549963,357,42)
{
Left=5
Top=15
Width=470
Height=315
Color=-16777202
Columns=#6:Код=80|16:Наименование=290|12:Отпускная=80|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(ColumnArray)
Point(doMT_FindText)
Point(onMT_FindText)
Point(doSelect)
Point(doMT_FindNext)
Point(Index)
Point(onSelect)
Point(SubItem)
Point(PHandle)
Point(Cell)
Point(onKillFocus)
link(onMT_FindText,9549963:doSelect,[(401,62)(401,80)(345,80)(345,97)])
link(onSelect,13220622:onEvent1,[(554,62)(554,27)])
link(onKillFocus,13220622:onEvent2,[(554,69)(554,34)])
}
Add(Button,2480071,252,126)
{
Left=405
Top=350
Caption="Поиск"
link(onClick,9549963:doMT_FindNext,[(314,132)(314,104)])
}
Add(StyleXP,4108677,42,378)
{
}
END_SDK
Add(ChildGroupBox,8805866,322,196)
{
}
BEGIN_SDK
Add(EditMulti,13132348,21,21)
{
WorkCount=1
Width=545
Height=417
link(doWork1,11311027:doQuery,[(87,27)(87,90)])
}
Add(GroupBox,14011936,35,105)
{
Left=500
Top=15
Width=511
Height=329
Color=-16777197
Font=[MS Sans Serif,12,0,16711680,1]
Caption="Поставщики"
}
Add(Button,1554104,90,280)
{
Left=405
Top=285
Caption="Очистить"
}
Add(Label,14743479,49,357)
{
Left=205
Top=240
Width=49
Height=20
Color=-16777197
Font=[MS Sans Serif,12,1,0,1]
WinStyle=1
Caption="Поиск"
}
Add(Label,11821509,32,340)
{
Left=5
Top=260
Width=211
Height=20
Color=-16777197
Font=[MS Sans Serif,12,1,0,1]
WinStyle=1
Caption="Наименование поставщика:"
}
Add(Label,6011069,64,372)
{
Left=5
Top=285
Width=127
Height=20
Color=-16777197
Font=[MS Sans Serif,12,1,0,1]
WinStyle=1
Caption="Код поставщика:"
}
Add(Edit,4146073,168,35)
{
Left=216
Top=260
Width=253
Text=""
link(onChange,1896132:doMT_FindText,[(209,41)(209,97)])
}
Add(Edit,5063158,371,245)
{
Left=216
Top=285
Width=180
Text=""
}
Add(SQLite_DB,361538,84,133)
{
FileName="Data.s3db"
}
Add(SQLite_Query,11311027,154,84)
{
SQL="SELECT * FROM postav"
link(onQuery,1896132:doMT_Add,[])
}
Add(Button,11379546,168,168)
{
Left=415
Top=260
Caption="Поиск"
link(onClick,1896132:doMT_FindNext,[(209,174)(209,111)])
}
Add(StyleXP,4108677,28,399)
{
}
Add(StringTableMT,1896132,273,49)
{
Left=5
Top=15
Width=500
Height=225
Color=-16777202
Columns=#6:Код=70|16:Наименование=410|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(onColumnClick)
Point(ColumnArray)
Point(doMT_FindText)
Point(onMT_FindText)
Point(doSelect)
Point(doMT_FindNext)
Point(Index)
link(onMT_FindText,1896132:doSelect,[(317,69)(317,87)(261,87)(261,104)])
}
END_SDK
Add(ChildGroupBox,3977853,399,196)
{
link(Data1,15046006:Var1,[(405,184)(328,184)(328,240)(251,240)])
}
BEGIN_SDK
Add(EditMulti,12042882,21,21)
{
WorkCount=2
DataCount=3
Width=818
Height=445
link(doWork1,2766172:doEvent1,[(67,27)(67,209)])
}
Add(GroupBox,11548075,35,140)
{
Left=15
Top=432
Width=480
Height=253
Color=-16777197
Caption="Ресурсы"
}
Add(Button,12303318,35,266)
{
Left=110
Top=225
Width=60
Caption="Удалить"
}
Add(StringTableMT,1896132,413,49)
{
Left=5
Top=15
Width=470
Height=205
Color=-16777202
Name="Ресурсы"
Columns=#6:Код=70|16:Наименование=396|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(doMT_Add)
Point(onColumnClick)
Point(ColumnArray)
Point(doMT_FindText)
Point(onMT_FindText)
Point(doSelect)
Point(doMT_FindNext)
Point(Index)
Point(doMT_Replace)
}
Add(SQLite_Query,11311027,686,168)
{
SQL="select kodres from matpredst where matpredst.kodpredst="101-0034""
}
Add(Edit,6071194,315,182)
{
Left=205
Top=230
Width=250
Text=""
}
Add(FormatStr,1935570,175,126)
{
Mask="select kodres from matpredst where kodpredst="%1""
Point(FString)
link(Str1,12042882:Data1,[(181,112)(27,112)])
}
Add(SQLite_QueryScalar,7181779,553,175)
{
}
Add(SQLite_DB,361538,217,175)
{
FileName="Data.s3db"
link(onOpen,15915399:doQuery,[(282,181)(282,139)])
}
Add(InfoTip,14089446,409,273)
{
Info=#27:Выводит последнее значение.|0:|
Font=[MS Sans Serif,8,1,255,1]
Frame=3
Width=302
Height=150
Margin=10
}
Add(SQLite_Query,15915399,315,133)
{
link(onQuery,1896132:doAdd,[(380,139)(380,55)])
link(SQL,1935570:FString,[(328,121)(254,121)(254,170)(181,170)])
}
Add(FormatStr,14523918,602,175)
{
DataCount=1
Mask="select kodres from matpredst where kodpredst="%1""
Point(FString)
}
Add(Hub,2766172,112,203)
{
link(onEvent1,1935570:doString,[(154,209)(154,132)])
link(onEvent2,361538:doOpen,[(172,216)(172,181)])
}
END_SDK
Add(ChildGroupBox,4006435,469,196)
{
}
BEGIN_SDK
Add(EditMulti,811945,21,21)
{
Width=615
Height=480
}
Add(GroupBox,10448618,35,105)
{
Left=500
Top=354
Width=511
Height=305
Color=-16777197
}
Add(Label,5849126,84,399)
{
Left=5
Top=20
Width=70
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
WinStyle=1
Caption="Код ресурса:"
}
Add(Edit,6698674,203,259)
{
Left=73
Top=20
Width=225
Height=17
Text=""
}
Add(Label,11450290,119,420)
{
Left=306
Top=20
Width=45
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
WinStyle=1
Caption="Период:"
}
Add(Edit,4374021,301,140)
{
Left=350
Top=20
Width=150
Height=17
Enabled=1
Text=""
}
Add(Label,4568133,79,455)
{
Left=4
Top=90
Width=141
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
Caption="Наименование материала:"
}
Add(Label,14195361,28,397)
{
Left=5
Top=55
Width=68
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
WinStyle=1
Caption="Поставщик:"
}
Add(Edit,9119405,201,194)
{
Left=73
Top=55
Width=225
Height=17
Enabled=1
Text=""
}
Add(Label,15376784,112,442)
{
Left=321
Top=55
Width=32
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
WinStyle=1
Caption="Зона:"
}
Add(Edit,10637617,196,36)
{
Left=350
Top=55
Width=150
Height=17
Enabled=1
Text=""
}
Add(Edit,14351708,200,144)
{
Left=157
Top=90
Width=343
Height=37
Enabled=1
Text=""
}
Add(Label,14009869,100,453)
{
Left=361
Top=169
Width=56
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="без НДС"
}
Add(Edit,5888470,300,246)
{
Left=415
Top=139
Width=85
Height=17
Enabled=1
Text=""
}
Add(Label,1217431,128,463)
{
Left=18
Top=219
Width=52
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="Индекс:"
}
Add(Label,13186690,83,421)
{
Left=210
Top=195
Width=20
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="ТР"
}
Add(Label,1834958,95,420)
{
Left=388
Top=195
Width=28
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="ЗСР"
}
Add(Label,15123402,32,419)
{
Left=5
Top=169
Width=87
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
Caption="Теккущие цены:"
}
Add(Edit,826038,303,296)
{
Left=415
Top=169
Width=85
Height=17
Enabled=1
Text=""
}
Add(Edit,9728320,203,365)
{
Left=415
Top=195
Width=85
Height=17
Enabled=1
Text=""
}
Add(Button,6321486,56,217)
{
Left=351
Top=274
Width=65
Caption="Сохранить"
}
Add(Button,2738038,56,287)
{
Left=435
Top=274
Caption="Отмена"
}
Add(Label,1580655,61,419)
{
Left=125
Top=169
Width=107
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="отпускная с НДС"
}
Add(Label,6901329,32,459)
{
Left=5
Top=139
Width=87
Height=17
Color=-16777197
Font=[MS Sans Serif,10,0,0,1]
Caption="Базисные цены:"
}
Add(Label,14991053,55,397)
{
Left=167
Top=139
Width=65
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="отпускная"
}
Add(Label,16238238,103,397)
{
Left=361
Top=139
Width=54
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="сметная"
}
Add(Edit,13609127,296,358)
{
Left=73
Top=219
Width=72
Enabled=1
Text=""
}
Add(Edit,11096114,207,316)
{
Left=230
Top=139
Width=85
Height=17
Enabled=1
Text=""
}
Add(Edit,5532234,298,194)
{
Left=230
Top=169
Width=85
Height=17
Enabled=1
Text=""
}
Add(Edit,4627061,200,92)
{
Left=230
Top=195
Width=85
Height=17
Enabled=1
Text=""
}
Add(Edit,3653584,299,91)
{
Left=331
Top=219
Width=85
Height=17
Enabled=1
Text=""
}
Add(Label,3182891,117,403)
{
Left=277
Top=219
Width=54
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="сметная"
}
Add(Label,14281477,57,457)
{
Left=18
Top=259
Width=54
Height=17
Color=-16777197
Font=[MS Sans Serif,10,1,0,1]
Caption="Ед. изм."
}
END_SDK
Add(Hub,2766172,231,147)
{
OutCount=4
link(onEvent1,8805866:doWork1,[(283,153)(283,202)])
link(onEvent2,15046006:doWork1,[(257,160)(257,181)(233,181)(233,202)])
}
Add(SQLite_DB,361538,147,147)
{
FileName="Data.s3db"
link(onOpen,2766172:doEvent1,[])
}
Не могу добиться следующего: Вторая и последующие группы добавляются в таблицу ниже, а НЕОБХОДИМО что бы перед выводом новой группы таблица очищалась.