If bo.ndos <> 1
return
Endif
Create cursor u_dados(ref c(18),design c(30),qtt c(10),stockact n(8), (8),quant n(8))
declare list_tit(6),list_cam(6),list_tam(6),list_pic(6),list_ronly(6)
list_tit(1)="Referência"
list_cam(1)="u_dados.Ref"
list_tam(1)=18
list_pic(1)=''
list_ronly(1)=.t.
list_tit(2)="Designação"
list_cam(2)="u_dados.design"
list_tam(2)=10
list_pic(2)=''
list_ronly(2)=.t.
list_tit(3)="Quantidade"
list_cam(3)="u_dados.qtt"
list_tam(3)=10
list_pic(3)=''
list_ronly(3)=.t.
list_tit(4)="Stock_Actual"
list_cam(4)="u_dados.stockact"
list_tam(4)=8
list_pic(4)=''
list_ronly(4)=.t.
list_tit(6)="Nova Quantidade"
list_cam(6)="u_dados.quant"
list_tam(6)=8
list_pic(6)=''
list_ronly(6)=.f.
select bi
if u_sqlexec("select ref,design,qtt,stock from sx (nolock) where sx.ref='"+astr(bi.ref)+"'","tmpcursor")
select tmpcursor
if reccount("tmpcursor")>0
scan
select u_dados
append blank
replace u_dados.ref with tmpcursor.ref
replace u_dados.design with tmpcursor.design
replace u_dados.qtt with tmpcursor.qtt
replace u_dados.stockact with tmpcursor.stock
endscan
else
mensagem("Não existem cores e tamanhos dessa referência!!","DIRECTA")
return
endif
else
mensagem("Erro SQL!!!","DIRECTA")
return
endif
=cursorset('Buffering',5,"u_dados")
browlist("Introdução de Quantidades de Cores e Tamanhos","u_dados","boconsulta",.t.,.f.,.f.,.t.,.f.)
local m_flag
select u_dados
scan
if u_dados.quant<>0
select bi
if not m_flag
replace bi.qtt with u_dados.quant
replace bi.cor with u_dados.design
replace bi.tam with u_dados.qtt
m_flag = .t.
else
do boine2in &&preenche os campos obrigatórios (ex: bistamp, bostamp, usrinis, etc.)
replace bi.ref with u_dados.ref
replace bi.design with u_dados.design
replace bi.qtt with u_dados.qtt
replace bi.qtt with u_dados.quant
endif
do boactref &&actualiza os dados da refª (designação, preços, etc.)
do u_bottdeb &&calcula o preço total de acordo com a quantidade e preço unitário
endscan
endif
endscan
fecha("tmpcursor")
Eu criei este codigo para me criar uma listagem que me permiti-se alterar a quantidade ao visualizar essa listagem, mas o problema é que me indica que falta ou está em excesso um ENDIF e eu ainda nao consegui ver onde e porquê. Será que me podem ajudar.
PS: algumas funções podem ser estranhas porque são internas do programa PHC mas a programação é normal.

