Perguntas Gatilho C6_PRCVEN
- GuiFutro
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
3 anos 4 meses atrás #33106
por GuiFutro
Gatilho C6_PRCVEN foi criado por GuiFutro
Bom dia,
Gostaria de uma ajuda para fazer um gatilho que dependendo do valor preenchido de um campo o sistema puxe o preço unitário de um item em uma tabela+campo e se for outro puxe de outro lugar. Desenvolvi o fonte abaixo mas ele gera um erro de type is match on +.
User function BRACALC()
Local cQuanti := M->C6_QTDVEN
Local cTipoOp := M->C5_XTO
Local cTabela := M->C5_TABELA
Local cProd := M->C6_PRODUTO
Local cCustVe := POSICIONE("DA1",1,XFILIAL("DA1")+cTabela+cProd,"DA1_PRCVEN")
Local cCustAq := POSICIONE("SB1",1,XFILIAL("SB1")+cProd,"B1_XCUSTAQ")
Local lRet :=''
Alert(cCustVe)
Alert(cCustAq)
If cTipoOp!='006' .OR. cTipo!='012'
lRet := cCustVe
ELSE
lRet := cCustAq
ENDIF
Return(lRet)
Agradeço a ajuda desde já
Guilherme Futro
Gostaria de uma ajuda para fazer um gatilho que dependendo do valor preenchido de um campo o sistema puxe o preço unitário de um item em uma tabela+campo e se for outro puxe de outro lugar. Desenvolvi o fonte abaixo mas ele gera um erro de type is match on +.
User function BRACALC()
Local cQuanti := M->C6_QTDVEN
Local cTipoOp := M->C5_XTO
Local cTabela := M->C5_TABELA
Local cProd := M->C6_PRODUTO
Local cCustVe := POSICIONE("DA1",1,XFILIAL("DA1")+cTabela+cProd,"DA1_PRCVEN")
Local cCustAq := POSICIONE("SB1",1,XFILIAL("SB1")+cProd,"B1_XCUSTAQ")
Local lRet :=''
Alert(cCustVe)
Alert(cCustAq)
If cTipoOp!='006' .OR. cTipo!='012'
lRet := cCustVe
ELSE
lRet := cCustAq
ENDIF
Return(lRet)
Agradeço a ajuda desde já
Guilherme Futro
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
3 anos 4 meses atrás - 3 anos 4 meses atrás #33107
por admin
Respondido por admin no tópico Gatilho C6_PRCVEN
Criar um gatilho no C6_PRODUTO ou no C6_QTDVEN
User function BRACALC()
Local nQuanti := aCols[n,ASCAN(aHeader,{|x| AllTrim(Upper(x[2]))=="C6_QTDVEN"})]
Local cProduto:= aCols[n,ASCAN(aHeader,{|x| AllTrim(Upper(x[2]))=="C6_PRODUTO"})]
Local cTipoOp := M->C5_XTO
Local cTabela := M->C5_TABELA
Local aArea := GetArea()
Local nCustVe := 0.00
If !cTipoOp$'006*012'
If DA1->(dbSetOrder(1), dbSeek(xFilial("DA1")+cTabela+cProduto))
nCustVe := DA1->DA1_PRCVEN
Else
nCustVe := 0.00
Endif
Else
nCustVe := SB1->B1_XCUSTAQ
Endif
RestArea(aArea)
Return nCustVe
Ultima edição: 3 anos 4 meses atrás por admin.
Os seguintes usuário(s) disseram Obrigado: GuiFutro
Por favor Acessar ou Registrar para participar da conversa.
- GuiFutro
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
3 anos 4 meses atrás #33111
por GuiFutro
Respondido por GuiFutro no tópico Gatilho C6_PRCVEN
Obrigado pela ajuda, tive que fazer algumas modificações segue o fonte finalizado
User function BRAPRV()
Private nQuanti := aCols[n,ASCAN(aHeader,{|x| AllTrim(Upper(x[2]))=="C6_QTDVEN"})]
Private cProduto:= aCols[n,ASCAN(aHeader,{|x| AllTrim(Upper(x[2]))=="C6_PRODUTO"})]
Private cTipoOp := M->C5_XTO
Private cTabela := M->C5_TABELA
Private aArea := GetArea()
Private nCustVe := 0.00
cQuery := "SELECT ZTO_TABEL,ZTO_COD FROM ZTO010 WHERE D_E_L_E_T_='' AND ZTO_COD='"+cTipoOp+"'"
TCQuery cQuery New Alias 'CUST_TP'
If CUST_TP->ZTO_TABEL!='CT'
If DA1->(dbSetOrder(1), dbSeek(xFilial("DA1")+cTabela+cProduto))
nCustVe := DA1->DA1_PRCVEN
Else
nCustVe := 0.00
Endif
Else
IF SB1->(dbSetOrder(1), dbSeek(xFilial("SB1")+cProduto))
nCustVe := SB1->B1_XCUSTAQ
ELSE
nCustVe := 0.00
ENDIF
Endif
DbCloseArea("CUST_TP")
RestArea(aArea)
Return nCustVe
User function BRAPRV()
Private nQuanti := aCols[n,ASCAN(aHeader,{|x| AllTrim(Upper(x[2]))=="C6_QTDVEN"})]
Private cProduto:= aCols[n,ASCAN(aHeader,{|x| AllTrim(Upper(x[2]))=="C6_PRODUTO"})]
Private cTipoOp := M->C5_XTO
Private cTabela := M->C5_TABELA
Private aArea := GetArea()
Private nCustVe := 0.00
cQuery := "SELECT ZTO_TABEL,ZTO_COD FROM ZTO010 WHERE D_E_L_E_T_='' AND ZTO_COD='"+cTipoOp+"'"
TCQuery cQuery New Alias 'CUST_TP'
If CUST_TP->ZTO_TABEL!='CT'
If DA1->(dbSetOrder(1), dbSeek(xFilial("DA1")+cTabela+cProduto))
nCustVe := DA1->DA1_PRCVEN
Else
nCustVe := 0.00
Endif
Else
IF SB1->(dbSetOrder(1), dbSeek(xFilial("SB1")+cProduto))
nCustVe := SB1->B1_XCUSTAQ
ELSE
nCustVe := 0.00
ENDIF
Endif
DbCloseArea("CUST_TP")
RestArea(aArea)
Return nCustVe
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.124 segundos