- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Rotina para finalizar a Ordem de Separação
×
Linguagem de Programação ADVPL
Perguntas Rotina para finalizar a Ordem de Separação
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 10 meses atrás #9417
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Rotina para finalizar a Ordem de Separação
Isso ai, e ai deu certo a alteração que coloquei pra você ?
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 10 meses atrás #9418
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Rotina para finalizar a Ordem de Separação
Alessandro não está preenchendo nenhum dos dois campos ? no momento que passa na sua função o registro esta posicionado corretamente no registro da CB7 ? OU seja, o registro já existe ? e está posicionado corretamente ?
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Alessandro Villar
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 121
- Obrigados Recebidos: 0
11 anos 10 meses atrás #9421
por Alessandro Villar
Respondido por Alessandro Villar no tópico Re: Rotina para finalizar a Ordem de Separação
Então Luiz não deu certo ainda, esta com erro nesse trecho ainda:
If !Empty(CB7->CB7_HRFIN) .AND. !Empty(CB7->CB7_DTFIN)
será que tem que colocar o Else, e fazer o tratamento quando o campo tiver vazio?
If !Empty(CB7->CB7_HRFIN) .AND. !Empty(CB7->CB7_DTFIN)
será que tem que colocar o Else, e fazer o tratamento quando o campo tiver vazio?
Por favor Acessar ou Registrar para participar da conversa.
- Alessandro Villar
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 121
- Obrigados Recebidos: 0
11 anos 10 meses atrás - 11 anos 10 meses atrás #9428
por Alessandro Villar
Respondido por Alessandro Villar no tópico Re: Rotina para finalizar a Ordem de Separação
Eu fiz o seguinte teste chumbei a data e hora pela APSDU, quando eu faço o processo ele está alterando a data/hora do campo, mais ele não está preenchendo quando o dois campos estão vazios, o que eu poderia fazer para corrigir isso?
Ultima edição: 11 anos 10 meses atrás por Alessandro Villar.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 10 meses atrás #9437
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Rotina para finalizar a Ordem de Separação
Muito Estranho
Muda de:
!Empty(CB7->CB7_HRFIN) .AND. !Empty(CB7->CB7_DTFIN)
Para:
Pela Regra que vc fez, só vai entrar no IF se os dois campos estiverem preenchidos, é isso ?
ou é pra entrar só se eles estiverem em branco ?
Faz isso:
If Empty(CB7->CB7_HRFIN) .OR. Empty(CB7->CB7_DTFIN)
Muda de:
!Empty(CB7->CB7_HRFIN) .AND. !Empty(CB7->CB7_DTFIN)
Para:
Pela Regra que vc fez, só vai entrar no IF se os dois campos estiverem preenchidos, é isso ?
ou é pra entrar só se eles estiverem em branco ?
Faz isso:
If Empty(CB7->CB7_HRFIN) .OR. Empty(CB7->CB7_DTFIN)
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Alessandro Villar
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 121
- Obrigados Recebidos: 0
11 anos 10 meses atrás #9457
por Alessandro Villar
Respondido por Alessandro Villar no tópico Re: Rotina para finalizar a Ordem de Separação
Luiz, com muito sacrifício consegui resolver rsrsrs..
eu fiz o seguinte para corrigir, ele estava preenchendo somente quando tinha um campo preenchido, precisava que preenchesse o campo quando tivesse vazio e sobrescrevesse quando tivesse preenchido. dai eu corrigi da seguinte forma:
If AllTrim(CB7->CB7_STATUS)=="0" .AND. AllTrim(CB7->CB7_STATPA) <>"1"
If MsgYesNo("Deseja encerrar o processo de separação neste momento?")
_lRet := Empty(CB7->CB7_HRFIN) .AND. Empty(CB7->CB7_DTFIN) //!EMPTY = NAO VAZIO
If !_lRet
_lRet := MsgYesNo("Processo de separação já foi finalizado"+chr(13)+chr(10)+"Deseja sobrepor esta informação?")
EndIf
...o restante mesma coisa,veja que eu tratei ele como vazio e não vazio, ai deu certo.
agora enrosquei em outra parte dessa rotina, hahahaha...
vou tentar explicar desde o começo,
criei um botao chamado finalizar para fazer o fechamento da ordem de separação chamando essa rotina, na ordem de separação na CB7 eu criei um campo codigo do conferente e o nome do conferente, quando eu finalizo tem que preencher o nome do conferente na tabela CB7. eu consegui implementar esse trecho mais está dando alguns problemas que eu preciso que me ajude, que é o seguinte, vai ser perguntado para o usuário o nome do conferente e vai ter que preencher o campo a rotina nao pode deixar prosseguir sem o preenchimento do campo e não aceitar qualquer coisa que ele digite, o problema que está acontecendo é que está trazendo duas vezes o campo do conferente e se eu clicar em sair ou fechar (x), ele não está deixando, como corrigo isso?
eu fiz o seguinte para corrigir, ele estava preenchendo somente quando tinha um campo preenchido, precisava que preenchesse o campo quando tivesse vazio e sobrescrevesse quando tivesse preenchido. dai eu corrigi da seguinte forma:
If AllTrim(CB7->CB7_STATUS)=="0" .AND. AllTrim(CB7->CB7_STATPA) <>"1"
If MsgYesNo("Deseja encerrar o processo de separação neste momento?")
_lRet := Empty(CB7->CB7_HRFIN) .AND. Empty(CB7->CB7_DTFIN) //!EMPTY = NAO VAZIO
If !_lRet
_lRet := MsgYesNo("Processo de separação já foi finalizado"+chr(13)+chr(10)+"Deseja sobrepor esta informação?")
EndIf
...o restante mesma coisa,veja que eu tratei ele como vazio e não vazio, ai deu certo.
agora enrosquei em outra parte dessa rotina, hahahaha...
vou tentar explicar desde o começo,
criei um botao chamado finalizar para fazer o fechamento da ordem de separação chamando essa rotina, na ordem de separação na CB7 eu criei um campo codigo do conferente e o nome do conferente, quando eu finalizo tem que preencher o nome do conferente na tabela CB7. eu consegui implementar esse trecho mais está dando alguns problemas que eu preciso que me ajude, que é o seguinte, vai ser perguntado para o usuário o nome do conferente e vai ter que preencher o campo a rotina nao pode deixar prosseguir sem o preenchimento do campo e não aceitar qualquer coisa que ele digite, o problema que está acontecendo é que está trazendo duas vezes o campo do conferente e se eu clicar em sair ou fechar (x), ele não está deixando, como corrigo isso?
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Rotina para finalizar a Ordem de Separação
Tempo para a criação da página:0.121 segundos