Hola amigos del foro quiero poder poner en FIELD un campo q' cambie por ejemplo:
en una bodega si tengo el FIELD q' detecte o si hay 2 o 3 o nn bodegas
desde ya gracias
Hola amigos del foro quiero poder poner en FIELD un campo q' cambie por ejemplo:
en una bodega si tengo el FIELD q' detecte o si hay 2 o 3 o nn bodegas
desde ya gracias
Felipe,
Usa FIELD->bodegas
te refieres a eso ?
Bueno la idea que quiero es la siguiente:
Tengo una Tabla : Bodegas (3Bodegas)
Tabla : Stock
Tabla : Articulos
en el Listbox deberia quedar asi
REDEFINE LISTBOX oLbx FELDS;
(cArticulos)->Detalle,CargaStock((cArticulo)->Codigo,Bodega1),;
CargaStock((cArticulo)->Codigo,Bodega2),;
CargaStock((cArticulo)->Codigo,Bodega3);
Esto si hay 3 no Hay problema pero si hay 20 tendria que poner 20 veces pero la idea no esa, la idea es carga todo en uana variable y que pueda servir para una como para n bodegas
dbGoTop()
DO WHILE !Eof()
//Los N ombres de Bodega
cTitulo :=cTitulo + '"'+Alltrim((cBodega)->Ma_Corta)+'",'
bodega :=(cBodega)->Ma_Codi //capturo el codigo
cCampo :=cCampo + "CargaStock((cArticulo)->Codigo,bodega,"
bodega)," // La Funcion
cSize :=cSize + "50," //aqui le asigno el Size
DBSKIP()
EndDo
oLbx:aheaders := &cTitulo
oLbx:acolsizes := &cSize
Los aheaders y acolsizes funcionan bien pero Field no
REDEFINE LISTBOX oLbx fIELDS cCampo
PERO DE ESTA FORMA me funciona Bien:
cCampo :={ || { (cArticulo)->Detalle,CargaStock((cArticulo)->Codigo,"1 ") } }
REDEFINE LISTBOX oLbx fIELDS ""
oLbx:bLine := (cCampo)
PERO SI TENGO 2 0 3 O NNN BODEGAS
bueno espero que entienda
Saludos
Bueno lo quero es que me muestre el Stock por bodega como este ejemplo:
Detalle Bodega 1 Bodega 2 Bodega 3 Bodega 4 nnnnnn Bodegas
Felipe:
Usa vectores para la definicion del browse:
Local VEC_FIELD1 := { {|| ART->COD} ,;
{ || ART->CLAVE } ,;
VEC_ENC1 := { OEMTOANSI("C¢d."),;
" Clave",;
VEC_SIZE1 := {70,109,226,77,77,64,109,73,40,110,52,52,52,90,90},;
VEC_JUSTIF := {2,2,0,2,2,2,0,0,0,0,0,2,2,0,0},;
Solo que en tu caso haces las evaluaciones necesarias y vas añadiendo posiciones a los vectores segun las bodegas que necesites, y despues en la definicion del browse usas esos vectores:
REDEFINE LISTBOX oBrw fields ID 999 OF oDlg ;
oBrw:SetCols( vec_field1, vec_enc1, vec_size1 )
oBrw:aJustify :=vec_justif
Saludos,
DO CASE
CASE oPJA:nLenAlter == 2
aO[_LstAlt]:bLine:= {|nAt| nAt:= aO[_LstAlt]:nAt, ;
{ oPJA:aAlternativas[nAt,1], ;
Trans( oPJA:aAlternativas[nAt,2], PIC_SEIS ), ;
Trans( oPJA:aAlternativas[nAt,3], PIC_SEIS ) ;
} }
CASE oPJA:nLenAlter == 3
aO[_LstAlt]:bLine:= {|nAt| nAt:= aO[_LstAlt]:nAt, ;
{ oPJA:aAlternativas[nAt,1], ;
Trans( oPJA:aAlternativas[nAt,2], PIC_SEIS ), ;
Trans( oPJA:aAlternativas[nAt,3], PIC_SEIS ), ;
Trans( oPJA:aAlternativas[nAt,2], PIC_SEIS ) ;
} } for each arr in oPJA:aAlternativas
if HB_EnumIndex()==1
cBLine:= "{|nAt| nAt:= aO[_LstAlt]:nAt, { oPJA:aAlternativas[nAt,1], "
else
cBLine+= "Trans( oPJA:aAlternativas[nAt,2], PIC_SEIS ), "
end
next
? cBLine:= Left( cBLine, Len( cBLine ) -2) +" } }"
aO[_LstAlt]:bLine:= ( cBLine )
aO[_LstAlt]:SetArray( oPJA:aAlternativas )Antonio gracias por ayudarme, mira el LIstbox lo tengo asi:
REDEFINE LISTBOX oLbx fIELDS GenColumns(); ID 102 OF oDlg;
oLbx:aheaders := {"Descripcion","Stock"}
oLbx:acolsizes := {400,100}
STATIC function GenColumns()
local bLine:=""
bLine:={ || { (cExi_Suc)->Ma_Des1,cExi_Suc)->Bod_001i } }
return(bLine)
Lo tengo asi y igual no me muestra nada pero igual como te desia me puedo mover para arriba y abajo
desde ya gracias
Felipe:
Enviame el pedazo de codigo en un prg que yo pueda compilar y probar aca con las dbf involucradas a <!-- e --><a href="mailto:danielpuente@speedy.com.ar">danielpuente@speedy.com.ar</a><!-- e --> y te lo miro. Despues publicamos aca la solucion definitiva si queres.
Saludos,