16.02.2017, 14:52
|
Прохожий
|
|
Регистрация: 28.07.2015
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
|
|
Сделал вот так
Код:
index := 10;
KeyValue1 := '';
KeyValue2 := '';
Cnt := 0;
cnt2 := 0;
cnt3:=0;
with ds1.DataSet do
begin
sheet.cells[4, 1] := 'добровольного медицинского страхования за период c ' + ds1.DataSet.FieldByName('period_c').AsString + ' по ' + ds1.DataSet.FieldByName('period_po').AsString;
First;
while not ds1.DataSet.Eof do
begin
if (ds1.DataSet.FieldByName('Фамилия').AsString + ' ' + ds1.DataSet.FieldByName('Имя').AsString + ' ' + ds1.DataSet.FieldByName('Отчество').AsString <> KeyValue1) then
begin
Inc(cnt);
keyvalue1 := ds1.DataSet.FieldByName('Фамилия').AsString + ' ' + ds1.DataSet.FieldByName('Имя').AsString + ' ' + ds1.DataSet.FieldByName('Отчество').AsString;
keyvalue2 := ds1.DataSet.FieldByName('kod').AsString;
sheet.cells[index, 1] := cnt;
sheet.cells[index, 2] := ds1.DataSet.FieldByName('Фамилия').AsString + ' ' + ds1.DataSet.FieldByName('Имя').AsString + ' ' + ds1.DataSet.FieldByName('Отчество').AsString;
sheet.cells[index, 3] := Fields.Fields[7].AsString;
sheet.cells[index, 4] := Fields.Fields[14].AsString;
sheet.cells[index, 5] := Fields.Fields[11].AsString;
sheet.cells[index, 6] := Fields.Fields[25].AsString;
sheet.cells[index, 7] := Fields.Fields[36].AsString;
sheet.cells[index, 8] := Fields.Fields[26].AsString;
sheet.cells[index, 9] := Fields.Fields[27].AsString;
sheet.cells[index, 10] := Fields.Fields[28].AsString;
sheet.cells[index, 11] := Fields.Fields[41].AsString;
sheet.cells[index, 12] := Fields.Fields[47].AsString;
sheet.cells[index, 13] := Fields.Fields[33].AsString;
end;
if (ds1.DataSet.FieldByName('Kod').AsString <> KeyValue2) then
begin
sheet.cells[index, 6] := Fields.Fields[25].AsString;
sheet.cells[index, 7] := Fields.Fields[36].AsString;
sheet.cells[index, 8] := Fields.Fields[26].AsString;
sheet.cells[index, 9] := Fields.Fields[27].AsString;
sheet.cells[index, 10] := Fields.Fields[28].AsString;
sheet.cells[index, 11] := Fields.Fields[41].AsString;
sheet.cells[index, 12] := Fields.Fields[47].AsString;
sheet.cells[index, 13] := Fields.Fields[33].AsString;
end;
inc(index);
ds1.DataSet.Next;
end;
вот что получилось
http://cm.mf-image.ru/d/eyJ0IjoiMjAxNy0wMi0xNlQxMTo1MzowMi42NzMyOTIwWiIsIn RtIjoxNSwiYmQiOjEsImZkIjo0MTU4Nzg2LCJyZiI6bnVsbCwi c2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cDovL215LWZpbGVzLn J1L3p2dnN4MyIsImwiOm51bGx9.ADF4DB57A9E37F9A7032143 91F6599D7./%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D 1%8B%D0%B9.JPG
к этому результату необходимо чтобы в конце услуг каждого пациента была строка с итогом по полям (кол-во, цена, итого).
Может кто знает как это реализовать...заранее благодарен за помощь всем кто откликнулся..
Должно выглядеть примерно так
http://v8.mf-image.ru/d/eyJ0IjoiMjAxNy0wMi0xNlQxMjoxMjowNy4yNzcxNzQwWiIsIn RtIjoxNSwiYmQiOjEsImZkIjo0MTU4ODcxLCJyZiI6bnVsbCwi c2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cDovL215LWZpbGVzLn J1LzQ3dTZ6ciIsImwiOm51bGx9.A2199BDC8BD26384748E01A 970F26CFC./%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D 1%8B%D0%B9.JPG
|