1. Pascal / Говнокод #27977

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    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".

    Запостил: Baiumka, 31 Января 2022

    Комментарии (4) RSS

    • Паскальные приведения напоминают шоу "поцелуй задницу", где доброволец должен поцеловать максимальное количество женских задниц, среди которых скрыта одна мужская.
      Ответить
    • по Каза Лось что я читаю код драйвера.
      Ответить

    Добавить комментарий