Hace un tiempo pense en meterme a colaborar como desarrollador en ese proyecto...
Pero con perlas como esta, es claro que es una patada:
http://facturlinex.svn.sourceforge.n...35&view=markup
Código Delphi
[-]
procedure TFFacturar.BitBtn2Click(Sender: TObject);
var
TxtQ: String;
begin
if (Edit1.Text='') or (Edit2.Text='') then exit;
if ComboBox4.Text='' then exit;
SerieABorrar:='TODAS LAS SERIES'; if ComboBox4.Text<>'TODAS LAS SERIES' then
begin
if not dbSeries.Locate('SF1',ComboBox4.Text,[]) then
begin showmessage('La serie activa no existe.'); exit; end;
SerieABorrar:=dbSeries.FieldByName('SF0').AsString; end;
TxtQ:='SELECT *,MID(AC11,1,250) as ANOTAS,C1 FROM albac'+Tienda+',clientes'+
' WHERE AC0=C0 AND AC0>='+Edit1.Text+' AND AC0<='+Edit2.Text+
' AND AC1>="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit7.Text))+'"'+
' AND AC1<="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit8.Text))+'"';
if ComboBox4.Text<>'TODAS LAS SERIES' then TxtQ:=TxtQ+' AND AC2="'+dbSeries.FieldByName('SF0').AsString+'"';
if Edit5.Text<>'' then TxtQ:=TxtQ+' AND C10='+Edit5.Text;
if RadioButton2.Checked then TxtQ:=TxtQ+' AND AC10="S"'; if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"'; TxtQ:=TxtQ+' ORDER BY AC0,AC1';
dbAlbacc.Active:=False; dbAlbacc.Sql.Text:=TxtQ; dbAlbacc.Active:=True;
dbAlbacc.First;
TxtQ:='SELECT AC0,COUNT(AC3),SUM(AC4),SUM(AC4),SUM(AC5),SUM(AC8),SUM(AC9),C1 FROM albac'+Tienda+',clientes'+
' WHERE AC0=C0 AND AC0>='+Edit1.Text+' AND AC0<='+Edit2.Text+
' AND AC1>="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit7.Text))+'"'+
' AND AC1<="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit8.Text))+'"';
if ComboBox4.Text<>'TODAS LAS SERIES' then TxtQ:=TxtQ+' AND AC2="'+dbSeries.FieldByName('SF0').AsString+'"';
if Edit5.Text<>'' then TxtQ:=TxtQ+' AND C10='+Edit5.Text;
if RadioButton2.Checked then TxtQ:=TxtQ+' AND AC10="S"'; if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"'; TxtQ:=TxtQ+' GROUP BY AC0 ORDER BY AC0';
dbMuestraf.Active:=False; dbMuestraf.Sql.Text:=TxtQ; dbMuestraf.Active:=True;
dbMuestraf.First;
TxtQ:='SELECT SUM(AC4),SUM(AC5),SUM(AC8),SUM(AC9) FROM albac'+Tienda+',clientes'+
' WHERE AC0=C0 AND AC0>='+Edit1.Text+' AND AC0<='+Edit2.Text+
' AND AC1>="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit7.Text))+'"'+
' AND AC1<="'+FormatDateTime('yyyy/mm/dd',StrToDate(Edit8.Text))+'"';
if ComboBox4.Text<>'TODAS LAS SERIES' then TxtQ:=TxtQ+' AND AC2="'+dbSeries.FieldByName('SF0').AsString+'"';
if Edit5.Text<>'' then TxtQ:=TxtQ+' AND C10='+Edit5.Text;
if RadioButton2.Checked then TxtQ:=TxtQ+' AND AC10="S"'; if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"'; dbSumas.Active:=False; dbSumas.Sql.Text:=TxtQ; dbSumas.Active:=True;
dbSumas.First;
StaticText4.Caption:=IntToStr(dbAlbacc.RecordCount); StaticText5.Caption:=IntToStr(dbMuestraf.RecordCount); StaticText2.Caption:=dbSumas.Fields[0].AsString; StaticText3.Caption:=FormatFloat('0.00',dbSumas.Fields[1].AsFloat); StaticText7.Caption:=FormatFloat('0.00',dbSumas.Fields[2].AsFloat); StaticText8.Caption:=FormatFloat('0.00',dbSumas.Fields[3].AsFloat); dbSumas.Active:=False;
if dbAlbacc.RecordCount>0 then BitBtn3.Enabled:=True;
end;
Si, asi se llaman los campos: AC0,AC1 y demas.
Un proyecto asi
debe morir, no recibir ayuda. Habria que refactorizar demasiado para tener algo estable.