× Linguagem de Programação ADVPL

Perguntas Gatilho[Campo não seta]

Mais
10 anos 10 meses atrás #20331 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
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #20332 por lalberto
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

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.

Mais
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

Por favor Acessar ou Registrar para participar da conversa.

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