segun veo en tu codigo, el problema es cuando le indicas al xbrowse que alias usar.
- Code: Select all Expand view
Sele 1
Use Caja Shared
If !file('&Nro_usu3..dbf') // Paso para Tipo Informes
Copy Struc TO &Nro_usu3
Endif
DbClosearea()
Sele 2
Use &Nro_usu3 Exclusi
__dbZap()
inde on fol_caj to &nro_usu3
inde on tip_pag+str(fol_caj,10) to &nro_usu5
Set Inde to &nro_usu3,&nro_usu5
Sele 3
Use Usuinfca Shared
Set Inde to Usucanom
Dbgotop()
If Eof()
MsgStop(" NO Existen Profesionales Medicos ")
dbclosearea()
Return
Endif
Stor 0 to t2
AADD( aFiltra,{ "TODAS","TODAS LAS CAJERAS"})
Do While !Eof()
t2=1
AADD( aFiltra,{ c->Cod_usu,c->Nom_usu})
c->(DbSkip())
Enddo
DbClosearea()
If t2=0
MsgStop(" NO Existen Cajeras a Procesar ")
DbCloseAll()
Return
Endif
Sele &Nro_usu3
DbGotop()
cAlias="&Nro_usu3"
tambien veo en el rar, 3 tablas dbf
caja.dbf, ingca1.dbf, ingca2.dbf los 3 archivos contienen el campo TOT_GEN
asumo de que el que quieres utilizar es caja.dbf
lo que haria yo es lo siguiente.
- Code: Select all Expand view
USE CAJA.DBF ALIAS CAJA SHARED NEW
If !file('caja_paso.dbf') // Paso para Tipo Informes
Copy Struc TO caja_paso.dbf
Endif
USE CAJA_PASO.DBF ALIAS PASO EXCLUSIVE NEW
//-- esto no es necesario ya que copias la estructura vacia de la tabla caja *** __dbZap()
index on fol_caj to paso_01
index on tip_pag + str(fol_caj,10) to paso_02
Set Index to paso_01, paso_02
...
...
** yo no usaría el simbolo & ya que eso indica al compilador el "contenido de"
una vez definido bien los alias ocupas el xbrowse como te indique, cambiando el ALIAS(2) por el de paso
- Code: Select all Expand view
REDEFINE XBROWSE oIngre ID 104 COLUMNS "Fol_caj","Nom_pac","Tip_pag","Tip_ate","Tot_gen","Med_tra","Cod_dig","Hor_dig" ALIAS "PASO" OF oDlg;
FONT oFont1 NOBORDER AUTOSORT FOOTERS
oIngre:aCols[1]:cHeader := "Folio Caja"
oIngre:aCols[2]:cHeader := "Nombre de Paciente"
oIngre:aCols[3]:cHeader := "T. Pago"
oIngre:aCols[4]:cHeader := "T. Aten"
oIngre:aCols[5]:cHeader := "Valor Total"
oIngre:aCols[6]:cHeader := "Med.Tra."
oIngre:aCols[7]:cHeader := "Digita"
oIngre:aCols[8]:cHeader := "H.Digita"
oIngre:nMarqueeStyle := MARQSTYLE_HIGHLROW
oIngre:nColDividerStyle := LINESTYLE_INSET
oIngre:nRowDividerStyle := LINESTYLE_INSET
oIngre:aCols[1]:cSortOrder := "Paso_01"
oIngre:aCols[3]:cSortOrder := "Paso_02"
oIngre:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } }
oIngre:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(137, 247, 33) } }
oIngre:l2007 :=.t.
oIngre:aCols[05]:nFooterType := AGGR_TOTAL
primero te lo mostrará vacío y por ende el total del footer estará en 0
al agregar datos a la visualización del xbrowse, debes de hacer el oIngre:Maketotals() para que te calcule totales
dependiendo de la acción del xbrowse puedes hacer un bChange o un bValid
Ej.
- Code: Select all Expand view
...
...
oIngre:bChange := {|| oIngre:Maketotals() }
Espero de que te resulte, yo nunca he tenido problemas con los totales, promedios o contadores en los footers
Saludos