Hola Caral
He estado trabajando con tu tutorial y en parte no era facturación lo que necesitaba; Realizo un modulo de mantenimiento de articulos agregando los precios tomando como referencia un precio de compra o sea Costo y calculo precio de venta. Sin embargo me a ayudado mucho Tu tutorial por ejemplo mira ahora un poco mi codigo resumido a comparación del enorme que al principio cree y que te aburriste de leerlo

:
Código Delphi
[-]
public
Var
pvmostrar : Double;
{$R *.dfm}
procedure TFrmArticulos.CalculaTotalesPrecios;
var
pc, pg, pv, pu, iva, sniva, cniva,pvtag, pvtau, pvtav, pvsiva ,pvta : Double;
begin
iva := StrToFloat(dbeImpuesto.Text);
pc := StrToFloat(dbePCompra.Text);
pg := StrToFloat(eGastos.Text);
pv := StrToFloat(eVarios.Text);
pu := StrToFloat(eUtilidad.Text);
sniva := StrToFloat(dbePSinIV.Text);
pvtag := pc * pg /100;
pvtav := (pc+pvtag) * pv /100;
pvtau := (pvtag+pvtav+pc) *pu /100;
pvsiva := pvtag + pvtav + pvtau;
dbePSinIV.Text := FloatToStr(pc+pvsiva);
pvta := StrToFloat(dbePSinIV.Text) * iva /100;
dbePConIV.Text := FloatToStr(Roundto((pvta)+ StrToFloat(dbePSinIV.Text),-2));
pvmostrar := StrToFloat(dbePConIV.Text);end;
mucho menos verdad? pero aqui solo manejo un precio de venta me falta dos precios de ventas mas jajajaja...
bueno ahora estoy pegado en algo a ver si me ayudan:
tengo un TDBCheckBox que en el evento OnClick hace esto:
Código Delphi
[-]
procedure TFrmArticulos.DBCheckBox1Click(Sender: TObject);
begin
if DBCheckBox1.Checked then
begin
dbeImpuesto.Visible := true;
dbeImpuesto.Text := FloatToStr(DataArticulos.cdsArticulosIMPUESTO.Value);
end
else
begin
dbeImpuesto.Visible := false;
dbePConIV.Text := FloatToStr(Roundto((pvmostrar)+ StrToFloat(dbePSinIV.Text),-2));dbePConIV2.Text := '0';
dbePConIV3.Text := '0';
end;
end;
Lo que sucede es que cuando este visible tenga el valor guardado por defecto
pero al estar invisible tome el valor como si no estuviera calculando el impuesto.
Me di a explicar?
Saludos