nesco писал(а):
Осталось только отфильтровать в твоей схеме Распродажи и получится завершенное решение.А если внимательно посмотреть.

У меня отбор уже в XML
--- Добавлено в 2025-03-09 12:54:56
Можно и без MTStrTbl
Add(MainForm,4844206,7,175)
{
Left=20
Top=105
Width=450
Height=437
MarginLeft=5
MarginTop=5
MarginRight=5
MarginBottom=5
Caption="Работа с Excel"
Position=1
Point(Handle)
}
Add(FormatStr,236393,903,231)
{
DataCount=42
Mask="<Товар Группа="%1" Вид="%2" Производитель="%4" НН="%5" Партномер="%7" Название="%8" НазваниеРус="%3" Статус="" Цена="%9" Валюта="%10" ПроцентКонв="call" Вес="%34" Объем="%35" Ширина="%36" Высота="%37" Глубина="%38" ЕдИзм="%32">\r\n<Склад Место="ЦО" Количество="%12">\r\n<Склад Место="ЦО(Москва)" Количество="%15"/>\r\n</Склад>"
link(onFString,477419:doWork2,[])
}
Add(Hub,13362148,518,196)
{
OutCount=6
link(onEvent1,15477052:In,[(543,202)(543,181)])
link(onEvent2,15108078:doString,[(590,209)(590,153)])
link(onEvent3,8658535:doData,[])
link(onEvent4,8657363:doEnum,[(655,223)(655,244)])
link(onEvent5,13275218:doPart,[(569,230)(569,314)])
link(onEvent6,6405071:doString,[(558,237)(558,370)])
}
Add(FormatStr,15108078,903,147)
{
Mask="<Сток Дата="%1">"
link(onFString,477419:doWork1,[(1222,153)])
link(Str1,4815497:FormatTime,[])
}
Add(Time,4815497,903,98)
{
Format="D:M:Y h:m:s"
}
Add(Charset,3130587,1246,231)
{
Type=6
link(onCharset,8648615:doAdd,[])
}
Add(HubEx,477419,1218,231)
{
link(onEvent,3130587:doCharset,[])
}
Add(FilePartElm,13275218,609,308)
{
Mode=6
link(onPart,16233257:doStrCat,[])
link(FileName,11996251:Value,[(615,292)(209,292)])
}
Add(StrCat,16233257,665,308)
{
Str2=".xml"
link(onStrCat,8648615:doSave,[(1285,314)(1285,265)])
}
Add(Message,14276668,721,364)
{
}
Add(FormatStr,6405071,665,364)
{
Mask="Создан файл - %1"
link(onFString,14276668:doMessage,[])
link(Str1,16233257:Result,[])
}
Add(StrList,8648615,1323,231)
{
Point(doSave)
}
Add(DDEClient,12344087,420,161)
{
ServiceName="EXCEL"
TopicName="system"
AutoUpdate=1
Point(onExecute)
Point(onError)
Point(doExecute)
link(onExecute,15882137:doEvent,[])
}
Add(IndexToChanel,15882137,469,189)
{
link(onEvent2,13362148:doEvent1,[])
}
Add(FormatStr,15557525,371,189)
{
Mask="[ACTIVATE()][SELECT("R4C2")][SELECT.SPECIAL(5)][COPY()][SELECT("R1C1")]"
link(onFString,12344087:doExecute,[])
}
Add(LineBreak,3551929,1281,238)
{
link(Out,8648615:doClear,[])
Primary=[15477052,-728,-63]
}
Add(Case,12388025,784,238)
{
Value=String()
link(onTrue,11115741:doMTString,[])
}
Add(Button,8418077,56,189)
{
Left=10
Top=10
TabOrder=-1
Caption="Open"
Point(doCaption)
link(onClick,1202456:doExecute,[])
}
Add(Edit,10202686,203,154)
{
Left=70
Top=11
Width=325
WinStyle=2
Text=""
}
Add(ODialog,1202456,112,189)
{
link(onExecute,5443421:doEvent1,[])
}
Add(Hub,5443421,161,189)
{
OutCount=3
link(onEvent1,10202686:doText2,[(187,195)(187,167)])
link(onEvent2,11996251:doValue,[])
}
Add(WinExec,15044300,259,189)
{
link(onExec,15405593:doDeferredEvent,[])
}
Add(Memory,11996251,203,196)
{
link(onData,15044300:doShellExec,[])
}
Add(DeferredEvent,15405593,315,189)
{
Delay=500
link(onDeferredEvent,15557525:doString,[])
}
Add(ArrayEnum,8657363,679,238)
{
link(onItem,1089806:doSplit,[])
link(Array,3247264:Array,[])
}
Add(Clipboard,1348652,609,161)
{
Unicode=0
}
Add(StrList,3247264,665,189)
{
}
Add(DoData,8658535,609,210)
{
link(onEventData,3247264:doText,[])
link(Data,1348652:Text,[])
}
Add(MT_String,11115741,840,231)
{
Delimeter="\t"
link(onResult,236393:doString,[])
link(Str1,8657363:Item,[(846,215)(832,215)(832,278)(685,278)])
}
Add(MultiStrData,1089806,728,238)
{
Char="\t"
From=5
Count=1
link(onPart1,12388025:doCase,[])
}