EL PROBLEMA ES EL SIGUIENTE QUE CUANDO TIENE SOLO DOS LINEAS EL ARRAY NO FUNCIONA LA CONDICION DE PINTADO, SIMPLEMENTE NO HACE NADA HE INTENTADO DE VARIAS FORMA Y NINGUNO PINTA, CASO CONTRARIO CUANDO EL ARRAY TIENE 1, 3 O MAS LINEAS SI FUNCIONA, UNA AYUDA YA QUE HE ESTADO VARIAS HORAS BUSCANDO LA SOLUCION Y NADA
- Code: Select all Expand view RUN
#include "Fivewin.ch"
#include "Folder.ch"
#include "Xbrowse.ch"
#include "Xml.ch"
#include "hbxml.ch"
#include "ribbon.ch"
#include "image.ch"
#include "FastReph.ch"
#include "codebar.ch"
FUNCTION prg_202()
LOCAL oDlg,oDbf1,oLbx
LOCAL acAnexo2:={}
PRIVATE r_orden:=1,r_clifac:='',r_docfac:=''
CGreen:={ { 0.50,65280,16777215 },{ 0.50,16777215,65280 } }
CYellow:= { { 0.50,65535,16777215 },{ 0.50,16777215,65535 }}
CRed:= { { 0.50,255,16777215 },{ 0.50,16777215,255 }}
COrange:= { { 0.50,33023,16777215 },{0.50,16777215,33023 }}
IF NetUse("NOTAVNTA", .T. )
DATABASE oDbf1
oDbf1:Load()
ELSE
MsgStop( "Fichero NOTA DE VENTAS Bloqueado" )
RETURN NIL
ENDIF
dbSelectArea(oDbf1:cAlias)
set order to 2
//LLENAR ARRAY
go top
do while .not. eof().and.val((odbf1:calias)->restado)<4
aadd(acAnexo2,{ (odbf1:calias)->rfolio,dtoc((oDbf1:cAlias)->rfecha),;
(oDbf1:cAlias)->rtipod,(oDbf1:cAlias)->rnombre,;
(oDbf1:cAlias)->rtotalnv1,(odbf1:calias)->rorden,;
(odbf1:calias)->rselect,(odbf1:calias)->ratencion,;
(odbf1:calias)->rprovisor} )
skip
enddo
if empty(acAnexo2)
aadd(acAnexo2,{"","","","",0,0,"","",""})
endif
DEFINE DIALOG oDlg RESOURCE "SVE202"
REDEFINE XBROWSE oLbx ID 101 OF Odlg;
COLUMNS 1,2,3,4,5,6,7,8,9;
HEADERS "Folio","Fecha","T/D","Nombre Factura","Valor Total",;
"Orden","Estado","Nro.Atencion","Nro.Provisorio";
COLSIZES 70,65,30,200,70,55,90,90,75;
PICTURE ,,,,'999,999,999.99';
ARRAY acAnexo2 AUTOSORT UPDATE FOOTERS LINES AUTOCOLS CELL;
ON RIGHT CLICK (prgres2(olbx:aArraydata[olbx:narrayat][7],;
val(olbx:aArraydata[olbx:narrayat][1])))
olbx:bClrStd := {|| {CLR_BLACK, IF( olbx:aArrayData[olbx:nArrayAt][7]='SELECCIONADO',cYellow,;
IF( olbx:aArrayData[olbx:nArrayAt][7]='PENDIENTE',cOrange,;
IF( olbx:aArrayData[olbx:nArrayAt][7]='VISADO',cGreen,;
IF( olbx:aArrayData[olbx:nArrayAt][7]='ERROR XML',cRed,;
IF( olbx:aArrayData[olbx:nArrayAt][7]='RECHAZADO',cRed,CLR_WHITE ))))) } }
// olbx:nstretchcol:=STRETCHCOL_WIDEST
// olbx:acols[9]:cfooter:='TOTALES:'
// olbx:bClrStd := { || { CLR_WHITE, IIF( olbx:acols[1]="", nRgb(255, 255, 128), nRgb( 255, 255, 200 ) ) } }
// olbx:acols[1]:SetCheck( , .t. )
// olbx:acols[1]:bStrdata={|| seldoc(odbf1,olbx)}
// olbx:aCols[1]:bClrStd := {|| {CLR_WHITE, IF( olbx:aArrayData[olbx:nArrayAt][1] = .t., nRgb(255, 000, 000), nRgb( 000, 000, 128 ) ) } }
// olbx:aCols[1]:bClrStd := {|| {CLR_WHITE, IF( olbx:aArrayData[olbx:nArrayAt][1] = .t., cSelect, sSelect ) } }
// olbx:bClrStd := { || { CLR_BLACK, IF(( o:oBrw:nArrayAt )%2==0, nRgb(255, 255, 128), nRgb( 255, 255, 200 ) ) } }
// olbx:bClrSel := { || { CLR_BLACK, nRgb( 255, 000, 000 ) } }
// oLbx:bClrSelFocus := { || { CLR_BLACK, CLR_WHITE } }
ACTIVATE DIALOG oDlg CENTERED ON INIT (olbx:maketotals(),olbx:gotop(),olbx:refresh())
NETCLOSEALL()
RETURN .T.
ARRAY CON UNA SOLA LINEA FUNCIONA BIEN
ARRAY DOS LINEAS NO FUNCIONA
ARRAY TRES O MAS LINEAS SI FUNCIONA