Вот, немного подправил
 Схема
Add(MainForm,14112285,497,322) { Width=860 Height=506 MarginLeft=3 MarginTop=3 MarginRight=3 MarginBottom=3 Border=3 BorderStyle=1 Position=1 } Add(ChildScrollBox,8844261,553,371) { } 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) { Left=2 Top=2 Width=95 Height=82 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=97 Top=2 Width=270 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=200| 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,[(193,272)(193,363)]) AddHint(-118,113,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(ChildFormEx,13097368,497,371) { link(onSendToTable,8844261:doWork1,[]) } BEGIN_SDK Add(EditMultiEx,3339126,21,21) { EventCount=#13:onSendToTable| Width=902 Height=571 } Add(MainForm,13836894,658,539) { Left=35 Top=105 Width=510 Height=431 MarginLeft=3 MarginTop=3 MarginRight=3 MarginBottom=3 Border=3 BorderStyle=3 Position=3 } Add(Memo,14630204,161,84) { Left=5 Top=5 Width=245 Height=355 Strings=#59:1.02.2025;Гвозди;135шт;Эдуард Суровый;Плохо закалачиваются;|40:1.02.2025;Бананы;555шт;Тамара Ивановна;;|67:1.02.2025;Бананы;705шт;Вера Сергеевна, Татьяна Сергеевна;Сосисочная|23:1.02.2025;Гвозди;135шт;|65:2.02.2025;Лак для волос;5шт;Джамшут Равшанович;Ничего не понятно;|88:2.02.2025;Топор;705шт;Вера Сергеевна, Татьяна Сергеевна; нет фантазии что то придумать);|43:3.02.2025;Гвозди;45шт;Пол Гилберт, Стив Вай|38:4.02.2025;Бананы;542шт;Тамара Ивановна|58:4.02.2025;Хлеб;123шт;Аркадий Укупник, Филипп Бедросыч; | ScrollBars=3 } Add(ArrayFilterRepeats,12024156,707,266) { link(onEndFilter,16312575:doEnum,[]) link(Array,7552928:Array,[]) } Add(StrList,10808540,567,147) { } Add(ArrayEnum,6209312,175,147) { link(onItem,3522122:doSplit,[]) link(onEndEnum,7543828:doEnum,[(214,160)(214,223)]) link(Array,14630204:Array,[]) } Add(MultiStrData,3522122,224,147) { Count=1 link(onPart1,2827148:doConvert,[]) } Add(StrList,7552928,693,217) { } Add(ArrayEnum,7543828,581,217) { link(onItem,4569756:doSplit,[]) link(onEndEnum,12024156:doFilter,[(634,230)(634,272)]) link(Array,14054089:Var2,[]) } Add(MultiStrData,4569756,644,217) { Count=1 link(onPart1,7552928:doAdd,[]) } Add(FormatStr,423063,812,273) { Mask="%1;%2;-1" link(onFString,980245:doAdd,[]) link(Str2,16312575:Index,[(825,264)(804,264)(804,313)(769,313)]) } Add(ArrayEnum,16312575,756,273) { link(onItem,423063:doString,[]) link(onEndEnum,13241821:doEnum,[(795,286)(795,321)(193,321)(193,342)]) link(Array,12024156:ArrayFilter,[(762,264)(748,264)(748,306)(713,306)]) } Add(Replace,9950737,448,147) { SubStr=";" DestStr="_" link(onReplace,5791458:doStrCatDlm,[]) } Add(Trim,1755495,364,147) { Char=" " Mode=2 link(onTrim,1106632:doTrim,[]) link(Text,3522122:RemaindStr,[(370,138)(272,138)(272,187)(230,187)]) } Add(Trim,1106632,406,147) { Char=";" Mode=2 link(onTrim,9950737:doReplace,[]) } Add(Memo,6440523,658,441) { Left=255 Top=5 Width=245 Height=355 ScrollBars=3 } Add(ArrayEnum,13241821,203,336) { link(onItem,4337509:doEvent1,[]) link(Array,980245:Array,[(209,327)(881,327)]) } Add(ArrayEnum,15988690,294,441) { link(onItem,13600319:doSplit,[]) link(Array,14054089:Var1,[(300,201)]) } Add(MultiStrPart,3790315,392,378) { } Add(If_else,6979627,385,441) { link(onTrue,8811699:doString,[]) link(Op2,3790315:Part1,[]) } Add(MultiStrData,13600319,336,441) { Count=1 link(onPart1,6979627:doCompare,[]) } Add(GetDataEx,14054089,581,196) { link(Data,10808540:Array,[]) } Add(FormatStr,8811699,448,441) { DataCount=3 Mask="%1;%2;%3" link(onFString,16709857:doWork2,[]) link(Str1,13600319:RemaindStr,[(454,432)(440,432)(440,481)(342,481)]) link(Str2,1420522:GetData,[]) link(Str3,3790315:Part2,[(468,425)(405,425)]) } Add(Hub,4337509,259,336) { OutCount=3 link(onEvent1,16709857:doWork1,[(606,342)]) link(onEvent2,3790315:doSplit,[(382,349)(382,384)]) link(onEvent3,15988690:doEnum,[(284,356)(284,447)]) } Add(StrList,980245,861,273) { } Add(EventFromData,1420522,455,378) { link(onEvent,14098023:doConvert,[]) } Add(HubEx,16709857,602,441) { link(onEvent,6440523:doAdd,[]) } Add(Convertor,14098023,511,378) { Mode=1 link(onResult,10549897:doOperation,[]) link(Data,15988690:Index,[(517,369)(503,369)(503,488)(307,488)]) } Add(Math,10549897,560,378) { Op2=1001 ResultType=0 link(onResult,1420522:doData,[(599,384)(599,363)(445,363)(445,384)]) } Add(Button,4979143,56,42) { Left=175 Top=375 TabOrder=-1 Caption="Convert" link(onClick,6525798:doEvent1,[]) } Add(Button,16237282,560,497) { Left=235 Top=375 Width=95 TabOrder=-1 Caption="SendToTable" link(onClick,12979427:doEvent1,[]) } Add(DoData,12599514,658,497) { link(onEventData,3339126:onSendToTable,[(900,503)(900,27)]) link(Data,6440523:Text,[]) } Add(Hub,12979427,616,497) { link(onEvent1,12599514:doData,[]) link(onEvent2,13836894:doClose,[(648,510)(648,566)]) } Add(Hub,6525798,105,42) { OutCount=5 link(onEvent1,980245:doClear,[(851,48)(851,286)]) link(onEvent2,7552928:doClear,[(683,55)(683,230)]) link(onEvent3,10808540:doClear,[(550,62)(550,160)]) link(onEvent4,6440523:doClear,[(130,69)(130,496)(529,496)(529,454)]) link(onEvent5,6209312:doEnum,[(139,76)(139,153)]) } Add(DateConvertor,2827148,280,147) { Mode=8 Format="dd.MM.yyyy" link(onResult,1720819:doConvert,[]) } Add(DateConvertor,1720819,322,147) { Mode=9 Format="dd.MM.yyyy" Point(Result) link(onResult,1755495:doTrim,[]) } Add(StrCatDelim,5791458,497,147) { Delimiter=";" link(onStrCatDlm,10808540:doAdd,[]) link(Str1,1720819:Result,[(503,138)(489,138)(489,187)(328,187)]) } Add(InfoTip,6282113,217,98) { Info=#18:Нормализация строк| Width=323 Height=116 Margin=10 } END_SDK
|