Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
with ZeoDataModule.TmpZQuery do
begin
ZeoDataModule.TmpZQuery.Close;
ZeoDataModule.TmpZQuery.SQL.Clear;
//ZeoDataModule.TmpZQuery.SQL.Add(ZeoDataModule.zqryOstatki.SQL.Text);
ZeoDataModule.TmpZQuery.SQL.Add(TZQuery(dbgrdh1.DataSource.DataSet).SQL.Text);
// ZeoDataModule.Add ('select *,''0.00'' as str_cen from material.ostatki_by_skladid(:skladid,:dt) ');
ZeoDataModule.TmpZQuery.SQL.Add (' and tovarid in(');
for i:=0 to OstatkiTovarList.Count-1 do
begin
ZeoDataModule.TmpZQuery.SQL.Add(ostatkiTovarList[i]);
if i< OstatkiTovarList.Count-1 then
ZeoDataModule.TmpZQuery.SQL.Add(',');
end;
ZeoDataModule.TmpZQuery.SQL.Add(')');
ZeoDataModule.TmpZQuery.SQL.Add('order by nt');
//-------
zQ_sv:= DataModulePrint.frxDBDatasetOstatki.DataSet as TZQuery; // zqryOstatki
//--------
ZeoDataModule.zqrySumBySS.Close;
// ZeoDataModule.zqrySumBySS.SQL.Add('select :dt,:skladid from material.globalvalues where 1=2'); // пустой набор
ZeoDataModule.zqrySumBySS.ParamByName('skladid').Value:=10000; // несуществующий склад (пустой набор)
ZeoDataModule.zqrySumBySS.Open;
ZeoDataModule.TmpZQuery.ParamByName('skladid').Value:=zQ_sv.ParamByName('skladid').Value;
ZeoDataModule.TmpZQuery.ParamByName('dt').AsDate:=zQ_sv.ParamByName('dt').AsDate;
ZeoDataModule.TmpZQuery.Open;
DataModulePrint.frxDBDatasetOstatki.DataSet := ZeoDataModule.TmpZQuery;
DataModulePrint.frxDBDatasetSumBySS.DataSet := ZeoDataModule.zqrySumBySS;
if TypeVed=USUAL_OST then
begin
if Material.TypeSkladId = 4 then
DataModulePrint.ShowReport('ostatki.fr3')
else
DataModulePrint.ShowReport('ostatki.fr3')
end
else if TypeVed = NO_MOVE_OST then
DataModulePrint.ShowReport('ostatki_no_move.fr3');
ZeoDataModule.TmpZQuery.Close;
DataModulePrint.frxDBDatasetOstatki.DataSet := zQ_sv;
ZeoDataModule.zqrySumBySS.Close;
ZeoDataModule.zqrySumBySS.ParamByName('skladid').Value:=Material.Skladid;
// ZeoDataModule.zqrySumBySS.SQL.Clear();
// ZeoDataModule.zqrySumBySS.SQL.Add(sqlSum_sv);
ZeoDataModule.zqrySumBySS.Open;
end;
ZeoDataModule.TmpZQuery.SQL.Add(TZQuery( dbgrdh1.DataSource.DataSet).SQL.Text); - особенно понравилось. Молчу про "with".
Паскальные приведения напоминают шоу "поцелуй задницу", где доброволец должен поцеловать максимальное количество женских задниц, среди которых скрыта одна мужская.
Support # 0
CTOMATOJlOr # 0 ⇈
CBuHOKYP # 0
Da_xyu_BAC_PA36EPET # 0 ⇈