Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Produto:

Solucoes_totvs

Solucoes_totvs_cross
SolucaoCrossTOTVS Backoffice

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoServiços

Módulo:Livros Fiscais (SIGAFIS)


02. DESCRIÇÃO

Ponto de Entrada SPED1601 aplicado no SPEDFISCAL que grava as informações do Registro 1601: Operações com Instrumentos de Pagamentos eletrônicos.

03. ESPECIFICAÇÃO

Parâmetros do ponto de Entrada:

NomeTipoDescrição
PARAMIXBArray of Record

Array com dados de processamento com  elementos

[1] = Data de;

[2] = Data Até; 


Retorno:

NomeTipoDescrição

Array of Record

Retorna um Array com as informações das operações com pagamento eletrônico.

Importante:

É necessário que já exista um COD_PART do registro 0150 para as Administradoras de Cartão e também para o Intermediador da operação.

04. EXEMPLO DE UTILIZAÇÃO


Bloco de código
languagejava
themeMidnight
titleSPED1601
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TOPCONN.ch" 

User Function SPED1601()
Local aReg1601 := {}
Local dDataDe := Iif(Len(paramixb) >= 1 , paramixb[1], ctod("  /  /  "))
Local dDataDe := Iif(Len(paramixb) >= 2 , paramixb[2], ctod("  /  /  "))
Local cQuery  := ""


// COD_PART_IP - COD_PART_IT - TOT_VS - TOT_ISS - TOT_OUTROS
// Exemplo do Array  
// aAdd (aReg1601, {"CODIGO_CLIENTE_ADM_CARTAO","CODIGO_INTERMEDIADOR",0,0,0})
// OBS: 
// COD_PART_IP: O valor informado deve existir no campo COD_PART do registro 0150.
// COD_PART_IT: O valor informado deve existir no campo COD_PART do registro 0150.
// TOT_VS : o valor deve ser preenchido com o total bruto de vendas que tiveram escrituração de ICMS , inclusive como ICMS Isento ou Outros
// TOT_ISS: o valor deve ser preenchido com o total bruto de prestação de serviços que tiveram incidência de ISS.
// TOT_OUTROS : o valor de ser preenchido com o total bruto das operações que não estejam no campo de incidência do ICMS ou ISS.

/*
No modulo SIGAFAT não há o controle de Administradoras de Cartão para poder fazer amarração, portanto a ideia é fazer um DEPARA com a condição de pagamento
e ter um registro na tabela SA1 que corresponda a operadora.
Ex.: Foi criado a Condição de Pagamento "CC1" que corresponde as vendas de Cartão de Credito, também foi criado um registro na tabela SA1 com as informações 
da operadora de Cartão de Credito. 
Sugestão para montagem da Consulta no banco de Dados:
*/

cQuery := " SELECT
cQuery += " F2_FILIAL, 
F2_COND AS COD_PART_IP, 
F2_CODA1U AS INTERMEDIADOR,
CASE WHEN SUM(SF2.F2_VALICM) <> 0 THEN SUM(F2_VALBRUT) ELSE 0 END AS TOT_VS, 
CASE WHEN SUM(SF2.F2_VALISS) <> 0 THEN SUM(F2_VALBRUT) ELSE 0 END AS TOT_ISS, 
CASE WHEN SUM(SF2.F2_VALISS) = 0 AND SUM(SF2.F2_VALICM)= 0 THEN SUM(F2_VALBRUT) ELSE 0 END AS TOT_OUT 
FROM SF2T10 SF2 ,SE4T10 SE4
WHERE F2_EMISSAO BETWEEN '20220101' AND '20220130'
AND F2_COND = E4_CODIGO
AND E4_FORMA IN ('CC','CD')
AND SF2.D_E_L_E_T_ = ''
GROUP BY F2_FILIAL, F2_COND , F2_CODA1U

cQuery := ChangeQuery( cQuery )
DbUseArea( .T., 'TOPCONN', TcGenQry(,,cQuery), cAliasTrb, .T., .F. )

While !(cAliasTrb)->( Eof() )

	cCodAdm := Iif ((cAliasTrb)->COD_PART_IP= 'CC1' , "001   ", "002   ") // Fica a critério do cliente a melhor maneira de realização a amarração dos cadastros

	aAdd (aReg1601, {(cAliasTrb)->FILIAL,cCodAdm,A1_NOME,(cAliasTrb)->INTERMEDIADOR,(cAliasTrb)->TOT_VS,(cAliasTrb)->TOT_ISS,(cAliasTrb)->TOT_OUT})

(cAliasTrb)->(DbSkip())
End

(cAliasTrb)->(DbCloseArea())                            			

Return aReg1601

05. DEMAIS INFORMAÇÕES

  • Não se aplica.



Templatedocumentos