Абсолютно ничего сложного
 Схема
Add(MainForm,14112285,364,238) { Width=860 Height=506 MarginLeft=3 MarginTop=3 MarginRight=3 MarginBottom=3 Border=3 BorderStyle=1 Position=1 } Add(ChildScrollBox,8844261,490,315) { } BEGIN_SDK Add(EditMulti,4271376,21,21) { WorkCount=1 Width=727 Height=550 link(doWork1,879511:doEvent1,[(53,27)(53,76)]) } Add(ScrollBox,964248,511,112) { Left=264 Width=605 Height=467 Align=5 WinStyle=2 Name="scrl_001" BorderStyle=1 Point(Width) } Add(ChildPanelEx,2261261,560,217) { @Hint=#19:Динамические группы| Mode=1 link(onVShift,8595977:doOperation,[(606,223)(606,139)(550,139)(550,160)]) link(onResult,4141012:doMessage,[]) link(pWidth,964248:Width,[(566,208)(531,208)]) link(vOffset,15893030:Var2,[]) AddHint(39,57,130,13,@Hint) } BEGIN_SDK Add(EditMultiEx,3885935,21,21) { WorkCount=#5:##add|8:##select| EventCount=#8:onVShift|8:onResult|0:| VarCount=#7:##count|0:| DataCount=#6:pWidth|7:vOffset| Width=496 Height=403 Point(##add) Point(##select) Point(##count) link(##add,4250363:doEvent1,[(39,27)(39,146)]) link(##select,1177020:doSplit,[(32,34)(32,265)]) } Add(Panel,15904931,441,49) { Width=369 Height=86 Font=[MS Sans Serif,12,0,0,1] Visible=1 Point(doWidth) Point(Height) Point(doTop) Point(doHeight) Point(doVisible) } Add(Button,11087212,91,147) { Width=85 Height=85 Align=1 Font=[MS Sans Serif,12,0,0,1] TabOrder=-1 Caption="" Point(doCaption) link(onClick,16401184:doEvent1,[]) } Add(MTStrTbl,11520425,210,294) { Left=87 Top=2 Width=280 Height=82 Align=5 Font=[MS Sans Serif,12,0,0,1] WinStyle=3 Name="mtbl_001" Columns=#9:name1=150|9:name2=100|9:name3=250|9:name4=210| Style=4 Grid=0 Point(doHeight) } Add(Hub,4250363,49,140) { link(onEvent1,6740804:doOperation,[(80,146)(80,62)]) link(onEvent2,11087212:doCaption,[]) } Add(Math,6740804,175,56) { OpType=1 Op2=18 ResultType=0 link(onResult,15904931:doWidth,[]) link(Op1,3885935:pWidth,[(181,47)(27,47)]) } Add(MT_Part,1177020,91,259) { link(onSplit,3091176:doCase,[]) } Add(MT_String,11205836,224,245) { Delimeter="_" link(onResult,9614300:doRowAction,[]) } Add(MST_RowAction,9614300,280,245) { MSTControl="mtbl_001" } Add(Case,3091176,147,259) { @Hint=#34:Выделение команды установки высоты| Value=String(-1) link(onNextCase,11205836:doMTString,[]) link(onTrue,7577038:doOperation,[(200,272)(200,363)]) AddHint(-119,119,179,26,@Hint) } Add(Math,7577038,224,357) { OpType=2 Op2=24 ResultType=0 link(onResult,8700013:doEvent1,[]) link(Op1,11520425:Count,[]) } Add(Hub,8700013,280,357) { OutCount=4 link(onEvent1,2608456:doData,[(305,363)(305,300)]) link(onEvent2,15904931:doHeight,[(368,370)(368,76)]) link(onEvent3,11458420:doOperation,[]) link(onEvent4,13247899:doWork2,[(375,384)(375,111)]) } Add(DoData,2608456,322,294) { link(onEventData,15904931:doTop,[(361,300)(361,69)]) link(Data,3885935:vOffset,[(328,33)(34,33)]) } Add(Math,11458420,441,371) { OpType=1 Op2=1 link(onResult,3885935:onVShift,[(480,377)(480,27)]) link(Op1,15904931:Height,[]) } Add(ChanelToIndex,13247899,392,98) { link(onIndex,15904931:doVisible,[(431,104)(431,83)]) } Add(MST_ArrayRows,15673897,175,98) { MSTControl="mtbl_001" } Add(MT_MTArrayEnum,9756254,175,154) { link(onItem,10915627:doStr,[]) link(Array,15673897:Strings,[]) } Add(MT_String,10915627,224,154) { link(onResult,10031208:doAdd,[]) } Add(StrList,10031208,280,154) { } Add(DoData,3602060,280,203) { link(onEventData,3885935:onResult,[(333,209)(333,34)]) link(Data,10031208:Text,[]) } Add(Hub,16401184,140,147) { OutCount=3 link(onEvent1,10031208:doClear,[(165,153)(165,146)(263,146)(263,167)]) link(onEvent2,9756254:doEnum,[]) link(onEvent3,3602060:doData,[(165,167)(165,209)]) } END_SDK Add(MT_String,11581838,189,126) { link(onResult,14798857:doValue,[]) } Add(MT_MultiData,10069644,301,126) { From=2 Count=1 link(onData1,5953592:doCase,[]) } Add(Case,5953592,357,126) { Value=String(-1) link(onTrue,11554508:doSeparateMT,[(396,139)(396,118)(235,118)(235,223)]) } Add(MT_Memory,14798857,245,126) { link(onData,10069644:doSeparateMT,[]) } Add(MT_MultiData,11554508,245,217) { Count=1 Point(Data) link(onData1,2261261:##add,[]) link(Data,14798857:Value,[]) } Add(StrList,10000206,126,49) { } Add(Hub,879511,63,70) { OutCount=3 link(onEvent1,10000206:doText,[]) link(onEvent2,151755:doEnum,[(116,83)(116,146)]) link(onEvent3,9978300:doEnum,[(109,90)(109,328)]) } Add(ArrayEnum,151755,140,140) { link(onItem,11581838:doMTString,[]) link(Array,5355832:Var2,[]) } Add(ArrayEnum,9978300,126,322) { link(onItem,11602246:doMTString,[]) link(onEndEnum,4154590:doEvent1,[(169,335)(169,475)]) link(Array,5355832:Var1,[(132,117)]) } Add(GetDataEx,5355832,140,112) { link(Data,10000206:Array,[]) } Add(MT_String,11602246,189,308) { link(onResult,11144894:doValue,[]) } Add(MT_Memory,11144894,245,308) { link(onData,2376732:doSeparateMT,[]) } Add(MT_MultiData,2376732,301,308) { From=2 Count=1 link(onData1,2285829:doCase,[]) } Add(Case,2285829,357,308) { Value=String(-1) link(onNextCase,5418568:doConvert,[]) } Add(MT_MultiData,16457722,245,385) { Count=1 Point(Data) link(onData1,4443410:doAdd,[]) link(Data,11144894:Value,[]) } Add(MT_Add,4443410,413,385) { InputMT=1 link(onAdd,11319913:doWork2,[]) link(Data,5418568:Var,[]) } Add(ConvertorEx,5418568,413,308) { Mode=1 link(onResult,16457722:doSeparateMT,[(452,314)(452,300)(235,300)(235,391)]) } Add(For,5457338,413,476) { IncludeEnd=1 link(onEvent,5228770:doAdd,[]) link(End,2261261:##count,[(426,467)(566,467)]) } Add(MT_Add,5228770,469,476) { @Hint=#35:Команда на установку высоты -- "-1"| Data=String(-1) link(onAdd,11319913:doWork3,[(515,482)]) AddHint(13,45,183,26,@Hint) } Add(HubEx,11319913,511,385) { Angle=3 link(onEvent,2261261:##select,[(515,230)]) } Add(Math,8595977,567,154) { ResultType=0 Point(doClear) link(Op2,15893030:Var1,[(580,145)(559,145)(559,194)]) } Add(GetDataEx,15893030,567,189) { link(Data,8595977:Result,[]) } Add(Hub,4154590,343,469) { OutCount=3 link(onEvent1,8595977:doClear,[(396,475)(396,167)]) link(onEvent2,5457338:doFor,[]) link(onEvent3,3963701:doRedraw,[(375,489)(375,524)]) } Add(RedrawManager,3963701,413,518) { ControlManager="scrl_001" } Add(Message,4141012,630,224) { } Add(InfoTip,14744595,126,91) { Info=#24:Парсинг заголовков групп| Width=330 Height=165 Margin=10 } Add(InfoTip,14361363,119,266) { Info=#25:Парсинг содержимого групп| Width=344 Height=158 Margin=10 } Add(InfoTip,8628584,308,434) { Info=#24:Установка размеров групп| Width=267 Height=123 Margin=10 } END_SDK Add(DoData,16516091,427,315) { link(onEventData,8844261:doWork1,[]) link(Data,1516999:Text,[]) } Add(Timer,6220539,371,315) { Interval=200 AutoStop=1 link(onTimer,16516091:doData,[]) } Add(StrList,1516999,427,238) { Strings=#14:1.02.2025;0;-1|54:Гвозди_135шт_Эдуард Суровый_Плохо закалачиваются;011;0|34:Бананы_555шт_Тамара Ивановна;012;0|63:Бананы_705шт_Вера Сергеевна, Татьяна Сергеевна_Сосисочная;013;0|13:Гвозди_135шт;|14:2.02.2025;1;-1|60:Лак для волос_5шт_Джамшут Равшанович_Ничего не понятно;111;1|82:Топор_705шт_Вера Сергеевна, Татьяна Сергеевна_нет фантазии что то придумать);112;1|14:3.02.2025;2;-1|39:Гвозди_45шт_Пол Гилберт, Стив Вай;211;2|14:4.02.2025;3;-1|34:Бананы_542шт_Тамара Ивановна;311;3|53:Хлеб_123шт_Аркадий Укупник, Филипп Бедросыч;312;3 | }
|