- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gatilho[Campo não seta]
×
Linguagem de Programação ADVPL
Perguntas Gatilho[Campo não seta]
- henry.charriere
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
10 anos 10 meses atrás #20331
por henry.charriere
Gatilho[Campo não seta] foi criado por henry.charriere
Pessoal, Bom dia!
Preciso de uma ajuda, fiz um gatilho para minha tabela SC6. Esse gatilho seta o Frete. O que acontece fiz uma função que pega o valor e retorna. Já coloquei debug para saber se o valor está vindo correto passando um alert() e está tudo certinho.
Mas quando é para setar o campo não funciona, testei colocando um valor de retorno no gatilho e funciona.
Alguém tem alguma sugestão? Help!!!
********************************************************************************************************
#Include 'Protheus.ch'
#Include 'TopConn.ch'
User Function RetFrete(cCliente, cLoja)
Local cAlias := ""
Local cQuery := ""
Local nTotal := 0
if (!Empty(cCliente))
cAlias := GETNEXTALIAS()
cQuery := " SELECT Z20_FILIAL ,20_CLIENT ,Z20_LOJA ,Z20_REGIAO ,Z20_FRETE FROM Z20010 "
cQuery += " INNER JOIN SA1010 ON A1_COD = Z20_CLIENT AND A1_LOJA = Z20_LOJA AND A1_REGIAO = Z20_REGIAO "
cQuery += " WHERE Z20_CLIENT = '"+cCliente+"' AND Z20_LOJA = '"+cLoja+"' "
TCQUERY cQuery ALIAS(cAlias)
if ( !(cAlias)->(EOF()))
nTotal := (cAlias)->Z20_FRETE
EndIf
EndIf
Return nTotal
********************************************************************************************************
Anexo Print do gatilho
Preciso de uma ajuda, fiz um gatilho para minha tabela SC6. Esse gatilho seta o Frete. O que acontece fiz uma função que pega o valor e retorna. Já coloquei debug para saber se o valor está vindo correto passando um alert() e está tudo certinho.
Mas quando é para setar o campo não funciona, testei colocando um valor de retorno no gatilho e funciona.
Alguém tem alguma sugestão? Help!!!
********************************************************************************************************
#Include 'Protheus.ch'
#Include 'TopConn.ch'
User Function RetFrete(cCliente, cLoja)
Local cAlias := ""
Local cQuery := ""
Local nTotal := 0
if (!Empty(cCliente))
cAlias := GETNEXTALIAS()
cQuery := " SELECT Z20_FILIAL ,20_CLIENT ,Z20_LOJA ,Z20_REGIAO ,Z20_FRETE FROM Z20010 "
cQuery += " INNER JOIN SA1010 ON A1_COD = Z20_CLIENT AND A1_LOJA = Z20_LOJA AND A1_REGIAO = Z20_REGIAO "
cQuery += " WHERE Z20_CLIENT = '"+cCliente+"' AND Z20_LOJA = '"+cLoja+"' "
TCQUERY cQuery ALIAS(cAlias)
if ( !(cAlias)->(EOF()))
nTotal := (cAlias)->Z20_FRETE
EndIf
EndIf
Return nTotal
********************************************************************************************************
Anexo Print do gatilho
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 10 meses atrás #20332
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 Gatilho[Campo não seta]
#Include 'Protheus.ch'
#Include 'TopConn.ch'
User Function RetFrete(cCliente, cLoja)
Local nPosFrt := aScan(aHeader,{|x| AllTrim(x[2]) == AllTrim("C6_ZFRETSC")})
Local cAlias := ""
Local cQuery := ""
Local nTotal := 0
Local aArea := GetArea()
if (!Empty(cCliente))
cAlias := GETNEXTALIAS()
cQuery := " SELECT Z20_FILIAL ,20_CLIENT ,Z20_LOJA ,Z20_REGIAO ,Z20_FRETE FROM " + RetSqlName("Z20")
cQuery += " INNER JOIN " + RetSqlName("SA1") + " ON A1_COD = Z20_CLIENT AND A1_LOJA = Z20_LOJA AND A1_REGIAO = Z20_REGIAO "
cQuery += " WHERE Z20_CLIENT = '"+cCliente+"' AND Z20_LOJA = '"+cLoja+"' "
TCQUERY cQuery ALIAS(cAlias)
if ( !(cAlias)->(EOF()))
aCols[n,nPosFrt] := (cAlias)->Z20_FRETE
EndIf
dbCloseArea(cAlias)
EndIf
RestArea(aArea)
oGetDad:oBrowse:Refresh()
Return nTotal
#Include 'TopConn.ch'
User Function RetFrete(cCliente, cLoja)
Local nPosFrt := aScan(aHeader,{|x| AllTrim(x[2]) == AllTrim("C6_ZFRETSC")})
Local cAlias := ""
Local cQuery := ""
Local nTotal := 0
Local aArea := GetArea()
if (!Empty(cCliente))
cAlias := GETNEXTALIAS()
cQuery := " SELECT Z20_FILIAL ,20_CLIENT ,Z20_LOJA ,Z20_REGIAO ,Z20_FRETE FROM " + RetSqlName("Z20")
cQuery += " INNER JOIN " + RetSqlName("SA1") + " ON A1_COD = Z20_CLIENT AND A1_LOJA = Z20_LOJA AND A1_REGIAO = Z20_REGIAO "
cQuery += " WHERE Z20_CLIENT = '"+cCliente+"' AND Z20_LOJA = '"+cLoja+"' "
TCQUERY cQuery ALIAS(cAlias)
if ( !(cAlias)->(EOF()))
aCols[n,nPosFrt] := (cAlias)->Z20_FRETE
EndIf
dbCloseArea(cAlias)
EndIf
RestArea(aArea)
oGetDad:oBrowse:Refresh()
Return nTotal
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.
- henry.charriere
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
10 anos 10 meses atrás #20337
por henry.charriere
Respondido por henry.charriere no tópico Gatilho[Campo não seta]
Luizão, puts...... Em cima bicho!
Muito Obrigado!! Já está tudo funcionando.
Atc,
Henry
Muito Obrigado!! Já está tudo funcionando.
Atc,
Henry
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gatilho[Campo não seta]
Tempo para a criação da página:0.098 segundos