в предыдущем примере можно нагляжно продемонстрировать причины, по которым было решено сделать альтернативное дерево для отображения наследуемых данных. Если начальную структуру изменть вот таки образом
(т.е. имя товара совпадает с именем категории), то корректно добавить что-то в "категория 3" станет невозможно. Можно посмотреть, что из этого получается:
Add(TreeView,10768177,294,126)
{
Left=50
Top=80
Width=195
Height=140
Strings=#11:категория 1|1:(|11:категория 3|1:)|12:категория 2 |11:категория 3|
Icons=[]
Point(doSelect)
}
Add(ArrayEnum,7705896,301,203)
{
link(onItem,9887738:doCompare,[])
link(Array,10768177:Array,[])
}
Add(ComboBox,14741568,364,126)
{
Left=45
Top=15
Width=90
Height=21
Strings=#11:категория 1|12:категория 2 |11:категория 3|
}
Add(Edit,5880332,196,63)
{
Left=145
Top=15
Width=140
Text="наименование"
}
Add(Button,6882987,238,203)
{
Left=285
Top=120
link(onClick,7705896:doEnum,[])
}
Add(If_else,9887738,364,203)
{
link(onTrue,373127:doEvent1,[(408,209)(408,277)(136,277)(136,167)])
link(Op2,14741568:String,[])
}
Add(Hub,373127,147,161)
{
link(onEvent1,13482077:doData,[])
link(onEvent2,11654637:doData,[(187,174)(187,132)])
}
Add(DoData,13482077,238,161)
{
link(onEventData,10768177:doSelect,[])
link(Data,7705896:Index,[(244,149)(279,149)(279,247)(314,247)])
}
Add(DoData,11654637,196,126)
{
link(onEventData,10768177:doAdd,[])
link(Data,5880332:Text,[])
}
решить эту проблему в общем случае на данном элементе невозможно. Поэтому стоит учесть данный момент при выборе одного из предложенных способа решения.