- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gatilho para mais de um campo
×
Linguagem de Programação ADVPL
Perguntas Gatilho para mais de um campo
- tiagolucena_mcm
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
9 anos 1 semana atrás #29589
por tiagolucena_mcm
Gatilho para mais de um campo foi criado por tiagolucena_mcm
Bom dia a todos
Sou novo no fórum e novo em programação, então se eu falar qualquer besteira, me perdoem rsrs
Mas estou com o seguinte problema:
Estamos tentando controlar as alterações nos pedidos de venda pelo call center, e estamos pensando em fazer da seguinte forma: quando o vendedor acessar o pedido e for alterar, ele vai selecionar num campo combobox o motivo da alteração. Quando selecionado o motivo, este campo deve preencher o CAMPO01 se este campo estiver vazio. se o CAMPO01 já estiver preenchido, então o gatilho deve preencher o CAMPO02. Se o CAMPO01 e o CAMPO02 estiver preenchido, então preenche o CAMPO03.
Porém, não estou conseguindo que isto ocorra. Ou não preenche nenhum campo, ou preenche os 3 ao mesmo tempo.
Segue abaixo o fonto que estou tentando criar para o gatilho chamar.
Desde já agradeço a ajuda.
#include "totvs.ch"
#Include "Protheus.ch"
USER FUNCTION GCALTRL2()
LOCAL cDesc1 := aCols[n,34] //UB_ZZALTD1
LOCAL cDesc2 := aCols[n,35] //UB_ZZALTD2
LOCAL cDesc3 := aCols[n,36] //UB_ZZALTD3
LOCAL cMAlter := aCols[n,33] //UB_ZZALTER
LOCAL cResult := "" //PARA RETORNAR
IF alltrim(cDesc1)==""
cDesc1:=M->cMAlter
CResult:=cDesc1
ELSE
cResult:=cDesc1
ENDIF
IF alltrim(cDesc1) != "" .and. alltrim(cDesc2)==""
cDesc2:=M->cMAlter
cResult:=cDesc2
else
cDesc2:=cDesc2
cResult:=cDesc2
ENDIF
IF alltrim(cDesc1) != "" .and. alltrim(cDesc2) != "" .and. alltrim(cDesc3)=""
cDesc3:=M->cMAlter
cResult:=cDesc3
ENDIF
RETURN (cResult)
Sou novo no fórum e novo em programação, então se eu falar qualquer besteira, me perdoem rsrs
Mas estou com o seguinte problema:
Estamos tentando controlar as alterações nos pedidos de venda pelo call center, e estamos pensando em fazer da seguinte forma: quando o vendedor acessar o pedido e for alterar, ele vai selecionar num campo combobox o motivo da alteração. Quando selecionado o motivo, este campo deve preencher o CAMPO01 se este campo estiver vazio. se o CAMPO01 já estiver preenchido, então o gatilho deve preencher o CAMPO02. Se o CAMPO01 e o CAMPO02 estiver preenchido, então preenche o CAMPO03.
Porém, não estou conseguindo que isto ocorra. Ou não preenche nenhum campo, ou preenche os 3 ao mesmo tempo.
Segue abaixo o fonto que estou tentando criar para o gatilho chamar.
Desde já agradeço a ajuda.
#include "totvs.ch"
#Include "Protheus.ch"
USER FUNCTION GCALTRL2()
LOCAL cDesc1 := aCols[n,34] //UB_ZZALTD1
LOCAL cDesc2 := aCols[n,35] //UB_ZZALTD2
LOCAL cDesc3 := aCols[n,36] //UB_ZZALTD3
LOCAL cMAlter := aCols[n,33] //UB_ZZALTER
LOCAL cResult := "" //PARA RETORNAR
IF alltrim(cDesc1)==""
cDesc1:=M->cMAlter
CResult:=cDesc1
ELSE
cResult:=cDesc1
ENDIF
IF alltrim(cDesc1) != "" .and. alltrim(cDesc2)==""
cDesc2:=M->cMAlter
cResult:=cDesc2
else
cDesc2:=cDesc2
cResult:=cDesc2
ENDIF
IF alltrim(cDesc1) != "" .and. alltrim(cDesc2) != "" .and. alltrim(cDesc3)=""
cDesc3:=M->cMAlter
cResult:=cDesc3
ENDIF
RETURN (cResult)
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gatilho para mais de um campo
Tempo para a criação da página:0.135 segundos