Good morning .. I have the function below that returns the value of the ICMS ST for a field, only the value is returning zeroed. Can anybody help me. Thank you.
#INCLUDE "protheus.ch"
#INCLUDE "rwmake.ch"
#INCLUDE "topconn.ch"
#include "TbiConn.ch"
#include "TbiCode.ch"
#DEFINE ENTER Chr(13)+Chr(10)
user function CaIcmsRt()
Local _aArea := GetArea()
Local _aArC5 := SC5->(GetArea())
Local _aArC6 := SC6->(GetArea())
Local _cPedOri := SC5->C5_NUM
Local _nRecSC5 := SC5->(Recno())
Local _nRecSC6 := SC5->(Recno())
IF !(INCLUI .OR. ALTERA)
RETURN
ENDIF
_cCliente := SC5->C5_CLIENTE
_cLoja := SC5->C5_LOJACLI
_cTipo := IIf( SC5->C5_TIPO $ 'DB',"F","C")
_aATransp := {"",""}
MaFisSave()
MaFisEnd()
MaFisIni( _cCliente,; // 1-Codigo Cliente/Fornecedor
_cLoja,; // 2-Loja do Cliente/Fornecedor
_cTipo,; // 3-C:Cliente , F:Fornecedor
SC5->C5_TIPO,; // 4-Tipo da NF
SC5->C5_TIPOCLI,; // 5-Tipo do Cliente/Fornecedor
Nil,;
Nil,;
Nil,;
Nil,;
"MATA461",;
Nil,;
Nil,;
Nil,;
Nil,;
Nil,;
Nil,;
Nil,;
_aATransp)
DbSelectArea('SC6');SC6->(DbGoTop());SC6->(DbSetOrder(1));SC6->
(DbSeek(xFilial('SC6')+SC5->C5_NUM))
DbSelectArea('SB1');SB1->(DbSetOrder(1));SB1->(DbSeek(xFilial('SB1')+ SC6-
>C6_PRODUTO ))
DbSelectArea('SF4');SF4->(DbSetOrder(1));SF4->(DbSeek(xFilial('SF4')+ SC6-
>C6_TES ))
_cProduto := SC6->C6_PRODUTO
MatGrdPrRf(@_cProduto)
_cCodFis := SC6->C6_CF
_cClsFis := SC6->C6_CLASFIS
//Agrega os itens para a funcao fiscal
MaFisAdd( _cProduto,; // 1-Codigo do Produto ( Obrigatorio )
SC6->C6_TES,; // 2-Codigo do TES ( Opcional )
SC6->C6_QTDVEN,; // 3-Quantidade ( Obrigatorio )
SC6->C6_PRCVEN,; // 4-Preco Unitario ( Obrigatorio )
0,; // 5-Valor do Desconto ( Opcional )
"",; // 6-Numero da NF Original ( Devolucao/Benef )
"",; // 7-Serie da NF Original ( Devolucao/Benef )
0,; // 8-RecNo da NF Original no arq SD1/SD2
0,; // 9-Valor do Frete do Item ( Opcional )
0,; // 10-Valor da Despesa do item ( Opcional )
0,; // 11-Valor do Seguro do item ( Opcional )
0,; // 12-Valor do Frete Autonomo ( Opcional )
SC6->C6_VALOR,; // 13-Valor da Mercadoria ( Obrigatorio )
0,; // 14-Valor da Embalagem ( Opiconal )
,; // 15
,; // 16
,; // 17 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
0,; // 18-Despesas nao tributadas - Portugal
0,; // 19-Tara - Portugal
_cCodFis,; // 20-CFO
,; // 21-Array para o calculo do IVA Ajustado (opcional)
,; // 22-Codigo Retencao - Equador
0,; // 23-Valor Abatimento ISS
,; // 24-Lote Produto
,; // 25-Sub-Lote Produto
,;
,;
_cClsFis ) // 28-Classificação fiscal IT_CLASFIS
//VALOR UNITARIO DO ICMS SUBSTITUICAO TRIBUTARIA_________
_nNFUnST := MaFisRet(1,"IT_VALSOL" )
//GRAVACAO DE INFORMACOES NO ITEM DO PEDIDO
IF SC6->(FieldPos("C6_XICMSRT")) > 0
Replace SC6->C6_XICMSRT With _nNFUnST
ENDIF
//VALOR TOTAL DO ICMS SUBSTITUICAO TRIBUTARIA
_nNFTotST := MaFisRet(,"NF_VALSOL")
DbSelectArea('SC6');SC6->(DbGoTo(_nRecSC6))
RestArea(_aArC6)
RestArea(_aArC5)
RestArea(_aArea)
Return