tulio
25-10-2003, 05:11:18
Hola querido Foro
Tengo un sistema de facturacion que en forma monousuaria andaba barbaro, utilizando delphi 6 e Interbase 6 (el que trae delphi ) , componentes Ibdataset y windows 98 2da edic..
El problema me surgio cuando configure una maquina como servidora y quise facturar con el mismo programa en forma simultanea con dos puestos de trabajo, solamente me graba lo que hace un solo usuario, lo que factura el otro no graba nada en absoluto, siendo el mismo ejecutable y la misma base de datos. algo rarisimo, el codigo de la parte que grabo es el siguiente
Procedure tformu_FaCtura.Graba;
var
J : Integer;
sql ,input: string;
year, month, Day, hour, min : Word;
begin
try
tablas.t_nro_factu.Open;
tablas.t_nro_factu.active:=true;
nro_factu:=tablas.t_nro_factuAnro_factura.asinteger;
nro_factu:=nro_factu+1;
tablas.t_nro_factu.edit;
tablas.t_nro_factuAnro_factura.asinteger:=nro_factu;
tablas.t_nro_factu.post;
tablas.tran.CommitRetaining;
tablas.t_cabe_fac.Open;
tablas.t_cabe_fac.Append;
tablas.t_cabe_facnro_factura.asinteger:=nro_factu;
tablas.t_cabe_facsuCUrsal.asinteger:=1;
tablas.t_cabe_facnro_cliente.asinteger:=strtoint(edit_nroC.text);
tablas.t_cabe_facfe.value:=date();
tablas.t_cabe_factipo_fac.asstring:='A';
tablas.t_cabe_facestado.asstring:='A';
tablas.t_cabe_facimporte.asfloat:=neto ;
tablas.t_cabe_facforma_de_pago.asstring:='A';
tablas.t_cabe_facu.asstring:=F_PASSWORD.USUARIO;
tablas.t_cabe_fac.post;
tablas.t_items_fac.open;
FOR J:=1 TO 33 DO
Begin
If v_cod[J]<> '' then
begin
tablas.t_items_fac.Append;
tablas.t_items_facnro_factura.asinteger:=nro_factu;
tablas.t_items_facsucursal.asinteger:=1;
tablas.t_items_faccod_articulo.asstring:=v_cod[J];
tablas.t_items_facdesCri.asstring:=v_des[J];
If v_buluni[J]='B' then
tablas.t_items_faccantidad.asinteger:=v_canti[j]
Else
tablas.t_items_faccanti_uni.asinteger:=v_canti[j];
tablas.t_items_facimporte.asfloat:=v_impo[j]-(v_Jivatot[J]);
tablas.t_items_faciva.asfloat:=v_Jivatot[j];
tablas.t_items_facdesCu.asfloat:=v_desCuento[J];
tablas.t_items_facTIPO_FAC.asSTRING:='A';
tablas.t_items_facestado.asSTRING:='E';////emitido
tablas.t_items_fac.post;
End;
End;
tablas.tran.CommitRetaining;
except
tablas.tran.RollbackRetaining;
end;
/////////////
Por favor si me ayudan porque no me doy cuenta que puede pasar
Saludos y Gracias
tulio
Tengo un sistema de facturacion que en forma monousuaria andaba barbaro, utilizando delphi 6 e Interbase 6 (el que trae delphi ) , componentes Ibdataset y windows 98 2da edic..
El problema me surgio cuando configure una maquina como servidora y quise facturar con el mismo programa en forma simultanea con dos puestos de trabajo, solamente me graba lo que hace un solo usuario, lo que factura el otro no graba nada en absoluto, siendo el mismo ejecutable y la misma base de datos. algo rarisimo, el codigo de la parte que grabo es el siguiente
Procedure tformu_FaCtura.Graba;
var
J : Integer;
sql ,input: string;
year, month, Day, hour, min : Word;
begin
try
tablas.t_nro_factu.Open;
tablas.t_nro_factu.active:=true;
nro_factu:=tablas.t_nro_factuAnro_factura.asinteger;
nro_factu:=nro_factu+1;
tablas.t_nro_factu.edit;
tablas.t_nro_factuAnro_factura.asinteger:=nro_factu;
tablas.t_nro_factu.post;
tablas.tran.CommitRetaining;
tablas.t_cabe_fac.Open;
tablas.t_cabe_fac.Append;
tablas.t_cabe_facnro_factura.asinteger:=nro_factu;
tablas.t_cabe_facsuCUrsal.asinteger:=1;
tablas.t_cabe_facnro_cliente.asinteger:=strtoint(edit_nroC.text);
tablas.t_cabe_facfe.value:=date();
tablas.t_cabe_factipo_fac.asstring:='A';
tablas.t_cabe_facestado.asstring:='A';
tablas.t_cabe_facimporte.asfloat:=neto ;
tablas.t_cabe_facforma_de_pago.asstring:='A';
tablas.t_cabe_facu.asstring:=F_PASSWORD.USUARIO;
tablas.t_cabe_fac.post;
tablas.t_items_fac.open;
FOR J:=1 TO 33 DO
Begin
If v_cod[J]<> '' then
begin
tablas.t_items_fac.Append;
tablas.t_items_facnro_factura.asinteger:=nro_factu;
tablas.t_items_facsucursal.asinteger:=1;
tablas.t_items_faccod_articulo.asstring:=v_cod[J];
tablas.t_items_facdesCri.asstring:=v_des[J];
If v_buluni[J]='B' then
tablas.t_items_faccantidad.asinteger:=v_canti[j]
Else
tablas.t_items_faccanti_uni.asinteger:=v_canti[j];
tablas.t_items_facimporte.asfloat:=v_impo[j]-(v_Jivatot[J]);
tablas.t_items_faciva.asfloat:=v_Jivatot[j];
tablas.t_items_facdesCu.asfloat:=v_desCuento[J];
tablas.t_items_facTIPO_FAC.asSTRING:='A';
tablas.t_items_facestado.asSTRING:='E';////emitido
tablas.t_items_fac.post;
End;
End;
tablas.tran.CommitRetaining;
except
tablas.tran.RollbackRetaining;
end;
/////////////
Por favor si me ayudan porque no me doy cuenta que puede pasar
Saludos y Gracias
tulio