• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

maddox

Pedido de Ajuda Para PHC - X-base,Fox

5 mensagens neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja nao me lembro bem disso mas axo k o teu mal e msm nos select's nao se tem k fexar eu ja mexi nisso mas ja foi a algum tempo ....

senao mete um end if msm no fim para ver o erro que da ou entao usa msgbox para ver se ele faz os pasos dpx onde para e ai k anda o problema e k tens os endif bem no meu ver

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A análise interna do PHC diz-te que é mesmo um endif ? é que me parece é que ou tens um endscan a mais ou te falta um scan.  Confirma lá.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Tens um erro no teu código:

onde tens:

DO u_bottdeb &&calcula o preço total de acordo com a quantidade e preço unitário

ENDSCAN

ENDIF

ENDSCAN

tens de colocar

DO u_bottdeb &&calcula o preço total de acordo com a quantidade e preço unitário

ENDIF

ENDSCAN

ou seja, tens um ENDSCAN a mais.

Cumprimentos,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora