× Linguagem de Programação ADVPL

Perguntas P.E M460FIM

Mais
11 anos 8 meses atrás #11739 por Edilaine
P.E M460FIM foi criado por Edilaine
pESSOAL PRECISO QUE O CAMPOS AO FATURAR UM PEDIDO SEJA ZERADO
CD2_VLTRIB E D2_VALISS
FIZ O P.E ABAIXO POREM O D2 ELE ZERA MAS O CD2 NAO .. ALGUEM PODE ME AJUDAR?

User Function M460fim()
Local _aArea := GetArea()
Local _aAreaSD2 := SD2->(GetArea())
Local _aAreaSF2 := SF2->(GetArea())
Local _aAreaCD2 := CD2->(GetArea())
Local _cAlias := Alias()

If SM0->M0_CODIGO $ "50"

dbSelectArea("SD2")
dbSetOrder(3)
dbSeek(xfilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE)
_nvaliss := 0

While ! Eof() .and. D2_FILIAL=xFilial("SD2") .and. SF2->F2_DOC == SD2->D2_DOC

Reclock("SD2",.F.)
Replace SD2-> D2_VALISS With _nvaliss
MsUnlock()
dbSkip()
End

dbSelectArea("CD2")
dbSetOrder(1)
dbSeek(xfilial("CD2")+SF2->F2_DOC+SF2->F2_SERIE)
_nvaliss := 0

While ! Eof() .and. CD2_FILIAL=xFilial("CD2") .and. SF2->F2_DOC == CD2->CD2_DOC

Reclock("CD2",.F.)
Replace CD2->CD2_VLTRIB With _nvaliss
MsUnlock()
dbSkip()

End

SD2->(RestArea(_aAreaSD2))
SF2->(RestArea(_aAreaSF2))
CD2->(RestArea(_aAreaCD2))

RestArea(_aArea)
dbSelectArea(_cAlias)
Endif

Return()

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11742 por kanaamlrr
Respondido por kanaamlrr no tópico P.E M460FIM
A sua chave de busca na CD2 está errada.

a chave é:
CD2_FILIAL+CD2_TPMOV+CD2_SERIE+CD2_DOC+CD2_CODCLI+CD2_LOJCLI+CD2_ITEM+CD2_CODPRO+CD2_IMP

utilize o seguinte

xFilial("CD2")+"S"+SF2->(F2_SERIE+F2_DOC+F2_CLIENTE+F2_LOJA)

acho que com isso corrige o seu problema

Coloca na sua condição do loop todos os campos do seek

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11743 por Edilaine
Respondido por Edilaine no tópico P.E M460FIM
MUITO OBRIGADA ISSO JA CORRIGIU!!!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.098 segundos
Joomla templates by a4joomla