×
Linguagem de Programação ADVPL
Perguntas P.E M460FIM
- Edilaine
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
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()
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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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
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.
- Edilaine
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
Tempo para a criação da página:0.098 segundos