powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
12 сообщений из 12, страница 1 из 1
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945474
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
procedure TForm_stat.LoadVT;
var
  SumCheck : Integer;
  SumSum, SumSkidki : Currency;
  Day_prew, Day_next,day : TDate;
  dayfrom,dayto:string;
begin
  try
  frmMessage.lblMessage.Caption := 'Формирование отчета ...';
  frmMessage.Show();
  application.ProcessMessages;

  SumCheck := 0;
    SumSum := 0;

  VT.Clear;
  VT.NodeDataSize := SizeOf(TSrCheckData);

  if not trRead.InTransaction then
    trRead.StartTransaction;
  day:=date.Date;
  dayfrom:=datetostr(day)+' 00:00:00';
  dayto :=datetostr(day)+' 23:59:59';

  readQ.SQL.Clear;
  readQ.SQL.Add ('select extract(hour from datedoc) as d,sum(summa) as summa, count(*) as kolvo ' +
' from alljournaldoc' +
' where datedoc >= '+quotedstr(dayfrom)+' and datedoc <= '+quotedstr(dayto)+'  and id_typedoc=4 and proveden =1 ' +
' group by d');

  readQ.ExecQuery;

  VT.BeginUpdate;

  while not readQ.Eof do
  begin
    Node := VT.AddChild(nil);
    T := VT.GetNodeData(Node);
    T.ID := VT.TotalCount;
    T.data := datetostr(day);
    T.KCheck := readQ.FieldByName('kolvo').AsInteger;
    T.Summ := - readQ.FieldByName('SUMMA').AsCurrency;
    T.interval := readQ.FieldByName('d').Asstring+':00-' +readQ.FieldByName('d').Asstring+':59' ;
    SumCheck := SumCheck + T.KCheck;
    SumSum := SumSum + T.Summ;

    readQ.Next;
  end;
  Node := VT.AddChild(nil);
  T := VT.GetNodeData(Node);
  T.ID := VT.TotalCount;
  T.interval := 'Всего по аптеке: ';
  T.KCheck := SumCheck;
  T.Summ := SumSum;


  readQ.Close;
  if trRead.InTransaction then
    trRead.Rollback;

  VT.EndUpdate;

  finally
  frmMessage.Close;
  end;
end;

...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945475
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

для начала начать использовать параметры запроса.
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945480
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, имеется в виду, сделат интервал не по часу, а по полчаса.
Есть функция типа half hour или что-то подобное?
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945482
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут программист нужен. Или кто-то с железными шарами вместо глаз, ибо от такой
неформатированной портянки они кровоточат.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945487
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, ок, можн окак нибудь сделать
вместо
авторselect extract(hour from datedoc) as d
вот так
авторselect extract(half hour from datedoc) as d
стандартными функциями без лишнего геморроя?
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945495
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010стандартными функциями без лишнего геморроя?

Можно. Подсказка: полчаса это 30 минут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945503
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

вот для начала:

Код: sql
1.
select extract(hour from datedoc) as d, iif(extract(minute from datedoc)<31, 0, 1) as m, sum(summa) as summa, count(*) as kolvo 


group by по d,m.
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945511
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сразу m поделить на 30?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945542
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

можно и поделить, да. Перестраховался от вещественного числа.
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945637
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

int / int даст int

select 3/2 from rdb$database
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945738
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

не во всех ЯП это так. Пользуюсь не одним, перестраховываюсь уже на автомате.
...
Рейтинг: 0 / 0
Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
    #39945814
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXI и всех благодарю за помощь
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подскажите плиз как сделать красиво и без лишней мутотени по полчаса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]