{
TbtnAddInfo * tm = ((TbtnAddInfo *) btnlst-> Items [((TToolButton *) Sender) -> Tag]);
if (form-> tblBrowse-> IsEmpty ()) return;
// обробка налаштування дочірньої форми по натискання кнопки контекстного переходу
AnsiString _title = tm-> childtitle, _filter = tm-> sql;
UseReplaces (_title, _filter);
bool s = (tm-> type == (AnsiString) "S"), l = (Tm-> type == (AnsiString) "L");
if (! s &&! l) return;
try
{
TfrmUniForm * frm = new TfrmUniForm (frmMain, NULL, tm-> childform);
frm-> parentform = this;
if (! _filter.Trim (). IsEmpty ()) frm-> form-> FilterBy ("parent", _filter);
if (! _title.Trim (). IsEmpty ()) frm-> Caption = _title;
if (s | | l) frm-> TuneFromBtn (tm, form-> tblBrowse-> FieldByName (desc-> keyfield) -> AsString, form-> tblBrowse-> FieldByName (desc-> listfield) -> AsString, desc-> formname);
if (l) frm-> TuneForLink ();
if (l) frm-> InitTblAdd ();
frm-> Execute ();
frm-> FormStyle = fsMDIChild;
frm-> Show ();
} catch (Exception & E)
{
ShowMessage (E.Message);
}
}
// --------------------------------------------- ------------------------------
void __ fastcall TfrmUniForm :: CommonFilterChange (TObject * Sender)
{
// обробка виклику дочірньої форми по натискання кнопки фільтра
TfrmFilter * src = ((TfrmFilter *) Sender);
TfltAddInfo * tm = ((TfltAddInfo *) fltlst-> Items [src-> Tag]);
int i = CallOtherForm (tm-> childform, "", tm-> sql, true, true);
if (i == mrOk)
{
tm-> retid = retid;
tm-> rettitle = rettitle;
src-> edt-> Text = rettitle;
// в uid повертається вибраний код
AnsiString str = tm-> filtersql;
if (retid.IsEmpty ()) {CommonFilterClear (Sender); return;}
else StrRpl (str, "% 1", retid);
form-> FilterBy ("a" + IntToStr (tm-> code), str);
form-> Go ();
}
}
// --------------------------------------------- ------------------------------
void __ fastcall TfrmUniForm :: CommonFilterClear (TObject * Sender)
{
// обробка виклику дочірньої форми по натискання кнопки фільтра
TfrmFilter * src = ((TfrmFilter *) Sender);
TfltAddInfo * tm = ((TfltAddInfo *) fltlst-> Items [src-> Tag]);
tm-> retid = "";
src-> edt-> Text = "";
AnsiString str = "";
if (tm-> logic == 1) str = "(1 = 0)";
form-> FilterBy ("a" + IntToStr (tm-> code), str);
form-> Go ();
}
// --------------------------------------------- ------------------------------
void __ fastcall TfrmUniForm :: CommonFltSlctChange (TObject * Sender)
{
// обробка викл...