Page 1 of 1
Llenar 1 arreglo desde una DBF
Posted: Wed Aug 02, 2006 7:09 pm
by joseluisysturiz
Tengo la siguiente necesidad, estoy diseñando 1 sistema de FACTURACION y necesito bajo ciertas condiciones crear 1 matriz o arreglo con los registros que cumplan condicion dada y luego mostrar esos datos en 1 oListBox o oBrw, ya que no debo tocar los datos de la .DBF original hasta que el usuario cree o modifique campos del producto que se vende, lo que no se que es mejor si hacerlo a traves de una .DBF temporal que llene con los datos o desde el array? opiniones y sugerencias son BIENVENIDAS, si es desde el array como lo cargo y leo para modificar los datos si es necesario, si hay algun ejm, sera super bien recibido, gracias desde ya. FWH2.4+(x)HARBOUR+VERCE.
joseluisysturiz@yahoo.com
Posted: Wed Aug 02, 2006 7:58 pm
by Lautaro
Hola Jose Luis,
Segun mi experiencia deberias usar un arreglo, primero por que es mas rapido, y segundo su manejo es mas simple.
Atte,
Lautaro
Posted: Wed Aug 02, 2006 8:15 pm
by Raymundo Islas M.
Hola Jose Luis, coincido con Lautaro, trabajo mas a gusto con Arrays
Te envie un pequeño ejemplo a tu correo, checalo.
Saludos
Posted: Wed Aug 02, 2006 10:24 pm
by jose_murugosa
Raymundo Islas M. wrote:Hola Jose Luis, coincido con Lautaro, trabajo mas a gusto con Arrays
Te envie un pequeño ejemplo a tu correo, checalo.
Saludos
Raymundo te importaría mandarme ese ejemplo para verlo, yo también tendré que hacer algo parecido.
jmurugosa@hotmail.com
Gracias desde ya.
Posted: Thu Aug 03, 2006 12:56 am
by alex_cyr
ahi te va lo que hago yo:
@ 94,06 LISTBOX agets[4] FIELDS ""; HEADERS "CLAVE","ARTICULO","ENTRADAS","SALIDAS","COSTO";
FIELDSIZES 60,160,80,80,60 PIXEL SIZE 265,70
agets[4]:bLine:= {|nAt| nAt:= agets[4]:nAt,;
If( Len(aDatosh)<1 .or. nAt>Len(aDatosh),;
Array(5),;
{ aDatosh[nAt,1],;
aDatosh[nAt,2],;
transform(aDatosh[nAt,3],'99,999,999.99'),;
transform(aDatosh[nAt,4],'99,999,999.99'),;
transform(aDatosh[nAt,5],'99,999,999.99')})}
agets[4]:SetArray( aDatosh )
Posted: Thu Aug 03, 2006 5:05 pm
by joseluisysturiz
Todo esto esta muy bueno, me alegra que sirva para otros, pero hay 1 pequeño detalle, mi sistema debera trabajar en red, lo que significa que varios usuarios podran usar la facturacion al mismo tiempo y debo comprobar la existencia de 1 producto que se este vendiendo al mismo momento ya que hay una DBF con el saldo actual pero cuando se actualiza al momento de finalizar la facturacion, por eso necesito trabajar con DBF temporales por usuario para asi verificar en cada 1 de los usuarios si estan vendiendo el mismo producto y que cantidad para darle al nuevo usuario el SaldoReal-CantidadReservada en ese momento, con los array puedo hacer eso...? espero haberme explicado, gracias.
Posted: Thu Aug 03, 2006 5:45 pm
by Raymundo Islas M.
Hola Jose
enviado ......
Saludos
Posted: Thu Aug 03, 2006 11:50 pm
by Lautaro
joseluisysturiz wrote:Todo esto esta muy bueno, me alegra que sirva para otros, pero hay 1 pequeño detalle, mi sistema debera trabajar en red, lo que significa que varios usuarios podran usar la facturacion al mismo tiempo y debo comprobar la existencia de 1 producto que se este vendiendo al mismo momento ya que hay una DBF con el saldo actual pero cuando se actualiza al momento de finalizar la facturacion, por eso necesito trabajar con DBF temporales por usuario para asi verificar en cada 1 de los usuarios si estan vendiendo el mismo producto y que cantidad para darle al nuevo usuario el SaldoReal-CantidadReservada en ese momento, con los array puedo hacer eso...? espero haberme explicado, gracias.
Claro que puedes, pero yo creo que lo mas indicado es que tengas una tabla de control, donde cuando un usuario este vendiendo un producto le pongas un registro, y cada vez que un usuario use este producto consulte la base de datos de control, lo mismo cuando se grabe la venta, pues rebajas el saldo y quitas el registro de control, y si no se finaliza la venta pues eliminas el registro de control y listo.
Lo pesado de esto es controlar los posibles cuelgues y caidas de sistema que pueden dejar bloqueado un registro en la tabla de control, pero eso se puede solucionar creando un archivo en forma local por cada registro de control y al iniciar el programa verificar si existe alguno de estos archivos, leerlo y corregir la tabla de control de ser necesario.
Atte,
Lautaro