Como puedo generar archivos temporales facturacion en red

Como puedo generar archivos temporales facturacion en red

Postby devwin2010 » Thu Sep 27, 2007 1:19 pm

Estimado Colegas

Alguien tiene un ejemplo sencillo de como generar dbf temporales
en distintas pcs en red , poque si comparto el archivo lo que facture
en una terminal , se lo ve de las demas, y en realidad c/u factura
articulos distintos

desde ya muchas gracias
devwin2010@yahoo.com.ar
devwin2010
 
Posts: 61
Joined: Tue Jul 17, 2007 12:37 pm

Postby QAZWSX2K » Thu Sep 27, 2007 1:44 pm

yo particularmente genero esos archivo temporales con el nombre del usuario o del pc, asi no se cruzan nunca, luego ya debes saber como con dbcreate, etc...
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
QAZWSX2K
 
Posts: 364
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Postby wilsongamboa » Thu Sep 27, 2007 2:03 pm

yo tengo algo como esto
espero te sirva

Code: Select all  Expand view  RUN


    aDbf := { {'Codigo','C',12,0},;
                   {'Descrip','C',30,0},;
                   {'Cantidad',N,12,0},;
                   {'Precio',N,14,2},;
                   {'Subtotal',N,14,2} }


    cDbf := GenTMP( 'Dbf', 'Dbf' )

    dbcreate( cDbf, aDbf )
    use ( cDbf ) new alias Camello exclusive

    //aca tendrias este archivo para el browse de facturacion y
    //seria independiente   

     ....
     ...
// luego de usarlo lo puedes borrarç
   select ( Camello )
   ( Camello )->( dbclosearea() )
   ferase( cDbf )


    function GenTMP( cBas, cTer )

        Local cDir_Tmp := '\tmp' //directorio de los temporales
        Local i := 0
        Local cFile
        Local Fp

        While ++i <= 240000
             cFile := cDir_Tmp + cBas + alltrim( str( i ) ) + '.' + cTer
             if !file ( cFile )
                 Fp := fcreate( cFile )
                 fwrite ( Fp, 'nada' )
                 fclose ( Fp )
             end
         end

     Return cFile


Saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 599
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Postby Biel EA6DD » Thu Sep 27, 2007 2:43 pm

Los temporales los creo en el PC cliente, y una forma sencilla de implementarlo con funciones FiveWin seria.
Code: Select all  Expand view  RUN
LOCAL cFilename,aFields,cRdd
cFileName:=cTempFile(GetEnv("TEMP"),"DBF")
aFields:={....  //estructura dbf
cAlias :='alias'
dbCreate(cFileName,aFields,cRdd)
USE (cFileName) ALIAS cAlias NEW VIA ( cRDD )

cTempFile crea un nombre de fichero que no existe
GetEnv("TEMP") Devuelve el directorio temporal de windows.
Last edited by Biel EA6DD on Thu Sep 27, 2007 2:52 pm, edited 1 time in total.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby Vital » Thu Sep 27, 2007 2:46 pm

Yo lo tengo asi :

FUNCTION CreaTemporal1(cFile)
Local aTempora := {}, nFile
DO WHILE .T.
nFile := cTempFile()
nFile := SubStr(nFile,1,At(".",nFile)-1)
IF Len(nFile)>6
nFile := SubStr(nFile,1,6)
ELSE
nFile := nFile+Replicate("0",6-Len(nFile))
ENDIF
nFile := "TM"+nFile+".DBF"
IF File(nFile)
Loop
ENDIF
EXIT
ENDDO
AADD(aTempora,{"PRODUCTO","C",16,0})
AADD(aTempora,{"NOMBRE" ,"C",35,0})
AADD(aTempora,{"CANTIDAD","N",10,2})
AADD(aTempora,{"PRECIO" ,"N",10,2})
AADD(aTempora,{"IMPORTE" ,"N",10,2})
DbCreate(nFile,aTempora)
nFile := SubStr(nFile,1,8)
RETURN nFile
Vital
 
Posts: 58
Joined: Mon Nov 06, 2006 6:56 am

Postby Marcelo Via Giglio » Thu Sep 27, 2007 3:44 pm

Hola,

siendo que es poca informacion, por que no utilizas un array en lugar de un DBF o un RDDARRAY

solo es una idea

saludos

Marcelo
Marcelo Via Giglio
 
Posts: 1069
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Postby Armando » Thu Sep 27, 2007 5:06 pm

Mis dos centavitos:

Puedes utilizar un array y tal vez el proceso sea más rápido perooooooo si se trata de un punto de venta donde existe la posibilidad de que tengas que mantener cuentas abiertas mientras se revisa algo, pero debes iniciar a cobrar al siguiente cliente, yo te recomiendo que manejes DBFs, otra situación que te obliga a usar DBFs es cuando haya una falla de corriente eléctrica, al reiniciar deberas volver a registrar todos los productos que ya habias registrado hasta el momento de la falla de corriente (Normalmente la falla viene en el ultimo producto :D ) mientras que si utilizas DBFs podrás recuperar esa información.

Por alternativas no te podras quejar, jeje

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 25 guests