Ver Mensaje Individual
  #5  
Antiguo 09-06-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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
  { TODO 1 -oNicolas -cFacturar : Hay que ver la suma de los albaranes y comprobar el minimo a facturar
  }
  if (Edit1.Text='') or (Edit2.Text='') then exit;
  if ComboBox4.Text='' then exit;
  SerieABorrar:='TODAS LAS SERIES';// Me quedo con la serie para borrar albaranes facturados
  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;// Me quedo con la serie para borrar albaranes facturados
    end;
  //------------- Albaranes
  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"';//---- Los marcados
  if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"';//---- Sin Marcar
  TxtQ:=TxtQ+' ORDER BY AC0,AC1';
  dbAlbacc.Active:=False; dbAlbacc.Sql.Text:=TxtQ; dbAlbacc.Active:=True;
  dbAlbacc.First;
  //------------- Facturas a realizar
  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"';//---- Los marcados
  if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"';//---- Sin Marcar
  TxtQ:=TxtQ+' GROUP BY AC0 ORDER BY AC0';
  dbMuestraf.Active:=False; dbMuestraf.Sql.Text:=TxtQ; dbMuestraf.Active:=True;
  dbMuestraf.First;
  //------------------- Sumas
  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"';//---- Los marcados
  if RadioButton3.Checked then TxtQ:=TxtQ+' AND AC10="N"';//---- Sin Marcar
  dbSumas.Active:=False; dbSumas.Sql.Text:=TxtQ; dbSumas.Active:=True;
  dbSumas.First;
  StaticText4.Caption:=IntToStr(dbAlbacc.RecordCount);//-------- N. Albaranes.
  StaticText5.Caption:=IntToStr(dbMuestraf.RecordCount);//-------- N. Facturas
  StaticText2.Caption:=dbSumas.Fields[0].AsString;//--------- N. Lineas.
  StaticText3.Caption:=FormatFloat('0.00',dbSumas.Fields[1].AsFloat);//--------- N. Articulos.
  StaticText7.Caption:=FormatFloat('0.00',dbSumas.Fields[2].AsFloat);//--------- Importe
  StaticText8.Caption:=FormatFloat('0.00',dbSumas.Fields[3].AsFloat);//--------- Importe + impuestos
  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.
__________________
El malabarista.
Responder Con Cita