Bem Vindo Visitante Lista de Usuários

 Todos os Fórums
  Business Intelligence

Enviar para a impressoraImprimir   

Subject Como retronar o valor de Icms st
Mensagem do Enviar e-mail Abrir o Perfil do usuário TCHULA TCHULA em 10/2/2018 as 09:56 hs
Local: sp   Registrada: 6/15/2015  Postagem: 18
Bom dia..

Preciso retrornar o valor do ICMS ST por item de produto do pedido de venda, estou usando a função abaixo, mas esta retronando 0..

Segue a função.

#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

DbSelectArea('SC6');SC6->(DbGoTo(_nRecSC6))
RestArea(_aArC6)
RestArea(_aArC5)
RestArea(_aArea)
Return(_nNFUnST)

JUNIOR GUERREIRO

Para participar do Fórum você precisa efetuar login primeiro
Caso você não esteja registrado registre-se para participar do fórum

 Mudar para Fórum