![]() |
Cuando trabajan dos usuarios simultaneos solo graba la factura de uno
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 |
Hola, aparentemente puede ser un problema de licencias
Porque no pruebas con Firebird |
Gracias ivand
dos preguntas, donde consigo Firebird , y los componentes Ibdataset que uso con delphi 6 me son compatibles Saludos tulio |
|
Hola.
De las distintas descargas que hay disponibles de Firebird, te recomiendo la versión 1.03 http://prdownloads.sourceforge.net/f...2.exe?download Es practicamente compatible 100% con Interbase 6, por lo que no tendrás problemas por usar tu base de datos actual, y tampoco deberás tocar ni una linea de código. NOTA : Se recomienda que hagas una copia de seguridad de tu base de datos, desde Interbase 6, y la restaures con Firebird 1.03, antes de empezar a trabajar con ella. En breve saldrá una versión nueva de Firebird, la versión 1.5. Lleva mejoras considerables, aunque para poder aprovecharlas y para no tener problemas de compatibilidad, seguramente deberás cambiar los componentes que utilizas (en lugar de usar IBX, será mejor usar IBO, FibPlus, el driver dbExpress de www.upscene.com, ...). Saludos. |
Gracias Marcoszorrilla y guilletmar
voy a probar con firebird . Entonces mi problema de no grabar dos usuarios simultaneos es un problema de licencias ? saludos tulio |
Hola.
No lo sé, quizá IVAND nos podría explicar la razón. A mi más bien me parece que el Interbase 6 que viene con Delphi, lleva 5 licencias de conexión simultanea, para trabajar en el desarrollo de la aplicación. Aunque, quizá esas conexiones solo se pueden realizar en local. La verdad es que lo desconozco puesto que nunca he usado ese Interbase. NOTA : Cambiar Interbase 6 por Firebird 1, es una buena idea, independientemente de ese problema. Aunque solo sea por la cantidad de bugs que tiene corregidos (y sin olvidar, evidentemente, el hecho de que podrás conectar tantos usuarios como desees, sin necesidad de adquirir ninguna licencia comercial). |
Muchachos
Instale el FIrebird y me anda todo el sistema aparentemente sin problemas. Una duda, Cuando quiero ejecutar FIREBIRD PANEL DE CONTROL me salen un monton de carteles ' esta no es valida win32' |
Hola.
Ni idea, a mi siempre me ha funcionado bien. En todo caso puedes borrar el applet de panel de control (es un archivo .cpl en la carpeta System32) que tienes ahora, y instalar este : http://www.achim-kalwa.de/fbmgr.html Saludos. |
Gracias guillot marc
Probe y anda todo bien. Una pregunta Firebird es exactamente igual de confiable que Interbase o hay alguna limitación, de ser asi me pasaria definitivamente a Firebird saludos tulio |
Hola.
Firebird 1 es más confiable que Interbase 6, puesto que se ha creado a partir de su código, corrigiendo muchos bugs. Otra cosa es preguntarse, que es mejor, si Interbase 7 o Firebird 1.5. Ahora són dos proyectos distintos, con sus propias mejoras cada uno. Personalmente me gusta mucho Firebird, pero esto es una evaluación que debe hacer cada uno. Saludos. |
Gracias Marc Guillot
Me convertiste en un usuario mas de Firebird Gracias por todos tu consejos saludos tulio |
La franja horaria es GMT +2. Ahora son las 21:06:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi