-> AsString, CommonFilterChange, CommonFilterClear);
TfltAddInfo * inf = new TfltAddInfo ();
inf-> childform = mqrA-> FieldByName ("childform") -> AsString;
inf-> filtersql = mqrA-> FieldByName ("filtersql") -> AsString;
inf-> sql = mqrA-> FieldByName ("sql") -> AsString;
inf-> type = mqrA-> FieldByName ("type") -> AsString;
inf-> name = mqrA-> FieldByName ("name") -> AsString;
inf-> code = mqrA-> FieldByName ("code") -> AsInteger;
inf-> logic = mqrA-> FieldByName ("logic") -> AsInteger;
inf-> pntr = flt;
inf-> retid = "";
if (inf-> logic == 1) form-> FilterBy ("a" + IntToStr (inf-> code), "(1 = 0)");
if (lnk)
if (inf-> childform == lnk-> parentform)
{
inf-> retid = lnk-> linkvalue;
inf-> rettitle = lnk-> linktitle;
flt-> edt-> Text = lnk-> linktitle;
// в uid повертається вибраний код
AnsiString str = inf-> filtersql;
if (retid.IsEmpty ()) str = "";
else StrRpl (str, "% 1", lnk-> linkvalue);
form-> FilterBy ("a" + IntToStr (inf-> code), str);
flt-> btn-> Enabled = false;
flt-> btnclr-> Enabled = false;
flt-> Enabled = false;
}
flt-> Tag = fltlst-> Add (inf);
mqrA-> Next ();
} while (! mqrA-> Eof);
}
if (! accept | |! desc-> hideonaccept)
{
// подгрузка полів БД з наявної метаінформації
strw = "select * from fields where parentform = '"+ desc-> formname + "'";
if (! desc-> takefieldsfrom.IsEmpty ()) strw + = "Or parentform = '" + desc-> takefieldsfrom + "'";
strw + = "order by sortorder";
if (SELECT (mqrA, strw))
{
do
{
// відразу створимо всі форми полів, инициализируем їх, а також залишимо ВРЮ семантику в цих формах
TfieldAddInfo * inf = new TfieldAddInfo ();
inf-> fieldname = mqrA-> FieldByName ("fieldname") -> AsString;
inf-> title = mqrA-> FieldByName ("title") -> AsString;
inf-> type = mqrA-> FieldByName ("type") -> AsString;
inf-> childform = mqrA-> FieldByName ("childform") -> AsString;
inf-> sql = mqrA-> FieldByName ("sql") -> AsString;
inf-> ReadOnly = mqrA-> FieldByName ("readonly") -> AsBoolean;
inf-> isqbe = mqrA-> FieldByName ("isqbe") -> AsBoolean;
inf-> value = mqrA-> FieldByName ("value") -> AsString.Trim ();
inf-> code = mqrA-> FieldByName ("code") -> AsInteger;
if (inf-> type == (AnsiString) "T")
{
TfrmeFT * fr = new TfrmeFT (this, form-> dsrcBrowse, inf);
fr-> Parent = form-> editarea; fr-> Name = ""; Fr-> Align = alTop; inf-> form = fr;
}
if ((inf-> type == (AnsiString) "I") | | (Inf-> type == (AnsiString) "S"))
...