Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Использовать сторонние компоненты без особой надобности не хочется — необходимо будет в это случае их устанавливать на каждой машине…
//создаем основой справочник
SLProduction := TSimpleDigestR.Create(
'select top 10 * from Production.Product P
left join Production.ProductDocument D on
D.ProductID = P.ProductID ',
'Production.Product',
edConnectionString.Text,
grbProduction,
CDOper
);
Request := 'select D.* from Production.Document D,
Production.ProductDocument P
where D.DocumentID = P.DocumentID and P.ProductID = :ProductID';
SLDocument := TSimpleDigestR.Create(
Request,
'Production.Document',
edConnectionString.Text,
grbDocuments,
CDOper,
'',
ldNone
);
//связываем два справочника
SLDocument.DataSource := SLProduction.DataSource;
SLProduction.SLOpen();
SLDocument.SLOpen();
SLFields.InsertFields.FieldByName['TypeID'].ProcMode := modeUser;
SLFields.InsertFields.FieldByName['TypeID'].ProcInput := InputTypeIDAsType;
function InputTypeIDAsType(var OutputValue : Variant; var SLValue : Variant;
const Digest : TCommonDigest) : Boolean;
begin
Result := InputSimpleFieldAsNm(OutputValue, SLValue, Digest,
'TypeID', 'Types', 'Type', [ChooseLocate]);
end;
SLFields.UpdateFields.SynhronizeWith(SLFields.InsertFields);
function TCommonDigest.FindRecordSelect
...
except
Result := False;
end;
DigestSDK — автоматизация работы с MSSQL на Delphi