Árvore de páginas

Versões comparadas

Chave

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

Índice

CALCODLAN- Leitura das tabelas da rotina FISA178 e FISA181 com atualização do Array das Tabelas CDA e CDV

Objetivo e escopo

Esse fonte concentra as funcionalidades referente a montagem do Array aGrava focado nas configurações efetuadas através da rotina do configurador de tributos para a posterior gravação na tabela CDA e/ou CDV

...

Aviso
titleImportante

Os campos abaixo na CDA e CDV são exclusivos para operações com código de ajuste de lançamentos realizado pelo Configurador de Tributos.


Tabelas

  1. CDA 
    1. CDA_VLOUTR - Considera Valor ICMS Outros. 
    2. CDA_TXTDSC - Código Referente a Descrição Complementar para o bloco 0460 (Amarração com a tabela CJA).
    3. CDA_CODCPL - Código Referente a Mensagem Complementar para o bloco C195 e Demais Semelhantes (Amarração com a tabela CJA).
    4. CDA_CODMSG - Código Referente a Descrição Complementar para o bloco C197 e Demais Semelhantes (Amarração com a tabela CJA).
    5. CDA_REGCAL - Referência do Código de Regra de Calculo Utilizada pelo configurador de Tributos.
    6. CDA_OPBASE - Opção de Escolha de Base de Calculo de acordo com a amarração da tabela CJA.
    7. CDA_OPALIQ - Opção de Escolha de Alíquota de acordo com a amarração da tabela CJA.
    8. CDA_IDMSG- Campo de ID gerado através da rotina FWUID com amarração da tabela CJL, na qual guarda as mensagens convertidas com a fórmula NPI.  
    9. CDA_AGRLAN - Campo que identifica a forma de agrupamento do registro para geração do Arquivo do SPED FISCAL.
  2. CDV
    1. CDV_REGCAL - Referência do Código de Regra de Calculo Utilizada pelo configurador de Tributos.
    2. CDV_VLOUTR - Considera Valor ICMS Outros. 
    3. CDV_TXTDSC - Código Referente a Descrição Complementar para o bloco 0460 (Amarração com a tabela CJA).
    4. CDV_CODCPL - Código Referente a Mensagem Complementar para o bloco C195 e Demais Semelhantes (Amarração com a tabela CJA).
    5. CDV_CODMSG - Código Referente a Descrição Complementar para o bloco C197 e Demais Semelhantes (Amarração com a tabela CJA).
    6. CDV_OPBASE - Opção de Escolha de Base de Calculo de acordo com a amarração da tabela CJA.
    7. CDV_OPALIQ - Opção de Escolha de Alíquota de acordo com a amarração da tabela CJA.
    8. CDV_IDMSG - Campo de ID gerado através da rotina FWUID com amarração da tabela CJL, na qual guarda as mensagens convertidas com a fórmula NPI. 
    9. CDV_AGRLAN - Campo que identifica a forma de agrupamento do registro para geração do Arquivo do SPED FISCAL.


Dicionário

Estrutura está no pacote 010120 - $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Dicionario

Estrutura está no pacote 010650- $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Dicionario

Fontes

Localizados na branch Inovação: $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED

...

---------------------------------------------------------------------------------------------------------------------------

FISA170 - Rotina com a concentração de todos os cadastros do motor fiscal tributário.

Foi adicionada uma nova opção na Tree do Configurador.

  • Regra de Ajuste de Lançamento
    • Cadastro de Mensagem
    • Regra de Ajuste de Lançamento.

Objetivo e escopo

Concentra Menu da Tree, rotinas de carga e Browse das rotinas utilizadas no configurador fiscal de tributos

Fontes

Localizados na Branch Inovação: $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED

Função

GetVerRls - Controle de acesso a melhorias por Release.

Adicionado o relatorio de conferencia de estorno totvs.protheus.backoffice.fiscal.relatorioEstornocredito na Tree, na aba relatorios.

Tabelas Adicionadas

CJ8 - Cadastro de Mensagens

...

---------------------------------------------------------------------------------------------------------------------------

FISA173- Função de apuração de Tributos Genéricos

Para o Cadastro de Código de Ajuste de Lançamento foram adicionadas novas funções: 

Função 

GravaGNRE - Faz a gravação da Guia de Recolhimento na tabela SF6 de acordo com as configurações efetuadas no configurador de tributos.

...

---------------------------------------------------------------------------------------------------------------------------

FISA178 - Cadastro de Mensagem

Objetivo e escopo

Objetivo desta rotina é de criar um cadastro de mensagem com base nas regras por Tributo, Tributo Genérico , Dados da Nota e Cadastros. Escolhendo uma dessas formas cadastro permite selecionar o que deve ser informado na formula da mensagem.

Tabelas

CJ8 com as informações de cabeçalho,  com as informações de campos e filtros para montagem da mensagem;

Dicionário

Estrutura está no pacote 010120 - $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Dicionario

Fontes

Localizados na branch Inovação: $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED

Carga Automática

O campos CJ8_TPREGR (Tipo da Regra) quando for selecionado Tributos -  será habilitado no campo CJ8_TRIFIL (Regra a ser consultado)  as 3 esferas ( Estadual, Federal e Municipal), e selecionando uma das opções o campo CJ8_REGTRA (Tributo) para a consulta será filtrado por tipo de Regra;

...

Após selecionar as informações anterior o conteúdo selecionado no campo CJ8_CONSUL (Valor  a ser Adicionado na Fórmula) , pode ser adicionado no campo CJ8_MENSG (Composição da Mensagem) clicando no Botão Adicionar e após adicionar clicar no botão Validar Mensagem.

Relacionamento

Este o campo  CJ8_TBCONF  será vinculado na regra de cálculo de tributo na tabela F2B rotina FISA160, no campo F2B_REGRA.

Retorno

Esta rotina armazena a mensagem em um campo MEMO com a formula NPI na qual será convertida no momento do processamento da Nota através da rotina FISXDESCR e armazenada na tabela CJL.

---------------------------------------------------------------------------------------------------------------------------

FISA181 - Cadastro de Regra de Ajuste de Lançamento

Objetivo e escopo

Objetivo desta rotina é efetuar um cadastro de regra de Códigos de Ajuste de Lançamento , vinculando a uma Regra de Documentos Fiscais que será criada pelo usuário conforme sua escrituração e com isso demonstrando no momento da geração do documento as  informações dos códigos de lançamento.

...

  • Vinculo do código de Lançamento cadastrado na TES.
  • Vinculo Código de Reflexo para regras de calculo realizado no  FISA072
  • Vinculo de mensagens, realizadas na  tabela CCE (Informações Complementares) ou no cadastro da TES (Tabela SF4) campo F4_CODOBSE  (Cod Observ) 
    • C197 
    • C195
    • 0460

Tabelas

CJ9  com as informações do cabeçalho do Cadastro de Regra de Ajuste de Lançamento, onde temos os campos:

...

  1. CJA_CODREG     Código Regra Cabeçalho    - Iremos relacionar com o a Tabela CJ9
  2. CJA_REGCAL      Regra de Calculo                 - Teremos uma consulta padrão com a Tabela F2B, onde o usuário ira selecionar a regra de calculo que enquadre para a regra de código de Ajuste, nesse campo ao invés dele ter um calculo no cadastro de reflexo ele criaria o seu proprio calculo.      
  3. CJA_CODTAB     Tabela de Lançamento        - Neste campo está disponível 4 tabelas de lançamento 5.1.1 (CDO) , 5.2 (CDY), 5.3(CC6) e 5.3.4(CCK)
  4. CJA_CODLAN    Código de Lançamento       - A Tabela selecionada no campo CJA_CODLAN , atualiza a consulta padrão retornando os códigos de lançamento de cada tabela.
  5. CJA_VIGINI        Data Inicio Vigência Lanc    - O usuário informe a data de inicio da vigência do código de lançamento que conta nos arquivos TXT baixado na site da http://sped.rfb.gov.br/ 
  6. CJA_VIGFIM       Data Final Vigência Lanc     - O usuário informe a data de inicio da vigência do código de lançamento que conta nos arquivos TXT baixado na site da http://sped.rfb.gov.br/ 
  7. CJA_NFBASE      Considera Base de ICMS     - Neste campo temos 3 opções - Valor / Nulo / Zero, para atender caso a regra de calculo precise considerar a Base do ICMS como Zero , Valor ou NULO caso for necessário gravar no SPED o conteúdo |EM BRANCO|
  8. CJA_NFALIQ       Considera Alíquota             - Neste campo temos 3 opções - Valor / Nulo / Zero, para atender caso a regra de calculo precise considerar a Alíquota do ICMS como Zero , Valor ou NULO caso for necessário gravar no SPED o conteúdo |EM BRANCO|
  9. CJA_VALOR        Considera Valor ICMS         - Neste campo controla como a regra vai interpretar o conteúdo do valos do ICMS quando for necessário gerar os campo 7 do registro C197 , se será entendido como Valor. Esse campo temos uma consulta padrão na CIN com filtro de regra de Tributo com o campo CJ9_REGCAL.
  10. CJA_VLOUTR     Considera Valor ICMS Outr - Neste campo controla como a regra vai interpretar o conteúdo do valos do ICMS quando for necessário gerar os campo 8 do registro C197 , se será entendido como Outros. Esse campo temos uma consulta padrão na CIN com filtro de regra de Tributo com o campo CJ9_REGCAL.
  11. CJA_CNTRL        Uf da Operação                   - Neste campo temos 2 opções de considerar o código de lançamento pela UF de Origem ou pela UF de Destino. Este campo tem relação com o campo CJA_OPER
  12. CJA_OPER          Tipo de Operação               - Neste campo define em quais tipos de operação o código de lançamento deverá aparecer. São 3 opções : Entrada, Saída e Devolução.
  13. CJA_CODMSG   Código da Mensagem        - Neste campo será selecionado a mensagem pré cadastrada na rotina FISA178 - Cadastro de mensagem  que será utilizada no EFD ICMS IPI Registro C197 campo 3
  14. CJA_GERMSG    Tipo de Mensagem            - Temos esse campo para controle de como será gerada a mensagem para  01 - Cód. de Lançamento por período, onde gero uma mensagem para cada código de lançamento do Periodo, 02 - Cód.  de Lançamento +Nota Fiscal, caso for gerar uma única mensagem por Código de Lançamento agrupado por Nota Fiscal e 03- Cód de Lançamento + Produto na qual será detalhado a mensagem por cada produto da nota.
  15. CJA_ID_CAB       ID do Cabeçalho               - Esse campo não irá apresentar no Browser, mas será gravado um ID através da função FWUUID("CJA").                                                                                                                   
  16. CJA_CODCPL     Texto do Complemento    - Neste campo será selecionado a mensagem pré cadastrada na rotina FISA178 - Cadastro de mensagem  que será utilizada no EFD ICMS IPI Registro C195 campo 2 e campo 3.    
  17. CJA_TXTDSC     Texto de Descrição            - Neste campo será selecionado a mensagem pré cadastrada na rotina FISA178 - Cadastro de mensagem  que será utilizada no EFD ICMS IPI Registro 0460 no campo de Descrição.
  18. CJA_GUIA          Regra de Guia                   - Neste campo teremos a consulta padrão com a tabela CJ4, onde o usuário irá selecionar a regra de guia que enquadre na regra de código de ajuste.
  19. CJA_TITULO      Regra de Titulo                  - Neste campo teremos a consulta padrão com a tabeal FKK, onde o usuário irá selecionar a regra de titulo que enquadre na regra de código de ajuste.
  20. CJA_TITGUI       Modo de Agrp Guia/Tit     - Neste campo definimos o modo de agrupamento da Guia / Titulo que deverá ser gerado através da rotina. 01- Por documento +Lançamento + Participante ou 02 - Por Código de Lançamento aglutinado por Participante

Dicionário

Estrutura está no pacote 010120 - $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Dicionário

Estrutura está no pacote 010650 - $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Dicionário

Fontes

Localizados na branch Inovação: $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED

...

  1. MASTER - Tabela CJ8
    1. VIEW_CAB
  2. GRID - Tabela CJA
    1.  VIEW_LANC
      1. Campos:  CJA_CODTAB|CJA_CODLAN|CJA_VIGINI|CJA_VIGFIM|CJA_REGCAL|CJA_GUIA|CJA_TITULO|CJA_TITGUI|CJA_GERMSG|CJA_OPER|CJA_CNTRL
    2. VIEW_VLR
      1. Campos: CJA_CODLAN|CJA_NFBASE|CJA_NFALIQ|CJA_VALOR|CJA_VLOUTR
    3. VIEW_MSG
      1. Campos: CJA_CODLAN|CJA_CODMSG|CJA_CODCPL|CJA_TXTDSC
  3. Funções de COMBOBOX e Consulta Padrão
    1. XTabelaLanc - Campo CJA_CODTAB
    2. X181ChgF3 - Campo CJA_CODLAN

    3. CboxTpMsg - Campo CJA_GERMSG
    4. XTpTITGUI - Campo CJA_TITGUI
    5. CboxOper - Campo CJA_OPER
    6. CboxUF - Campo CJA_CNTRL
  4. Funções de Validações:
    1. Função VldCodigo onde tratamos para não repetir CJ9_CODREG. 
    2. Função VigIniFIm que verifica se data inicial e data final já existem no cadastro de regras.
    3. Fsa181MCpo , valida que houve a mudança da opção do campo CJA_CODTAB, apagar os conteúdos dos campo CJA_CODLAN|CJA_VIGINI|CJA_VIGFIM
    4. ChangeLine , essa função atualiza o GRID entre abas , identificando a linha posiciona na ABA e replicando a mesma posição para as outras abas, dessa forma o usuário saberá em qual linha da aba Anterior esta alterando ou Visualizando.

Relacionamento

  • F2B (F2B_REGRA), com o campo CJA_REGCAL
  • CIN (CIN_CODIGO)  com os campos CJA_VALOR e CJA_VLOUTR  
  • CJ8 (CJ8_CODREF)  com os campos CJA_CODCPL, CJA_CODMSG e CJA_TXTDSC
  • CJ9 (CJ9_ID) com o campo CJA_ID_CAB
  • CJ9 (CJ9_CODREG) com o campo CJA_CODREG

Automação

  • Case
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISCadMensagemTestCase.PRW
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISCadRegraAjustTestCase.PRW
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISCadTributoTestCase.PRW
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISComRJArqCfgTestCase.PRW
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISComRJCfgMovTestCase.PRW
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISIndSpArqCfgTestCase.PRW
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Cases/FISIndSpCfgMovTestCase.PRW
  • Group
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Group/FISCadTestGroup.prw
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Group/FISComRJArqCfgTestGroup.prw
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Group/FISIndSPArqCfgTestGroup.prw
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Group/FISIndSpCfgMovTestGroup.prw
  • Suite
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Suites/FISCadTestSuite.prw
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Suites/FISComArqCfgTestSuite.prw
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Suites/FISIndArqCfgTestSuite.prw
    • $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED/Automaçao/Suites/FISIndCfgMovTestSuite.prw

---------------------------------------------------------------------------------------------------------------------------

FISXAPUR- Funções Fiscais

Objetivo e escopo

Separar na apuração os valores provenientes do configurador de tributos versus lançamento via TES (Legado).

Modificações para atender a apuração de IPI 

  1. Função AjustIPI - Essa função recebe o array aCDAIPI que contém os dados da tabela CDA referente aos lançamentos de ajuste do IPI, na qual foi adicionado mais uma posição no array através do conteúdo da variável cSPCFGLEG.

...

Como foi alterado o conteúdo do parâmetro 5 da função RWaGetApur que recebe o código de lançamento de ajuste do IPI, foi necessário uma tratativa adicional utilizando a função SUBSTR().

Modificações para atender a apuração de ICMS

  1. Função CkapurCDH - Essa função tem como um dos objetivos verificar a apuração anterior e também verificar lançamentos manuais de um possível reprocessamento da apuração, carregando as informações para o arra aDadIC e posteriormente trazer para a tela da nova apuração.
    Para o configurador de tributos foi adicionada a chamada da função GerGuiTit() para geração das guias e títulos do configurador. Também foi alterado algumas validações para que não fosse carregado para o array aDadIC os lançamentos de ICMS do configurador de tributos, afim de evitar duplicidade de lançamento na apuração, uma vez que os registros automáticos são refeitos a cada nova apuração.

  2. Função CkLancCDA - Essa função verifica se existe lançamentos na tabela CDA e gera os arrays de acordo com cada variação do ICMS, para que no fim seja apresentada corretamente nas colunas de apuração do ICMS.
    Foi criado uma proteção na função para releases anteriores e também uma tratativa para quando houver conteúdo na coluna "Outros".
    No array aLanc foi criado uma nova posição para armazenar a informação do campo CDA_REGCAL para poder fazer a distinção do que é lançamento do configurador versus lançamento do legado. Com essa informação foi possível realizar a segregação dos valores dos códigos de lançamento na tela de apuração.
    Os Arrays que foram tratados no fonte são : aCDADifal , aCDAST, aCDAIC e aCDADE (Debitos Especiais).

  3. Função LoadX3Apur - Adicionado os novos campos da tabela CDA e CJA para proteção da rotina.

---------------------------------------------------------------------------------------------------------------------------

FISXAPURA- Funções Fiscais


O fonte FISXAPURA trata do processamento das informações das apurações do ICMS e IPI quando o MultiThread está ativo no cenário do cliente.

Modificações para atender a apuração de IPI

Assim como no fonte FISXAPUR foi adicionado uma nova posição no array aCDAIPI nas chamadas do mesmo dentro do fonte FISXAPURA.

Modificações para atender a apuração de ICMS

Assim como no fonte FISXAPUR foi adicionado uma nova posição nos arrays aCDADifal , aCDAST, aCDAIC e aCDADE nas chamadas do mesmo dentro do fonte FISXAPURA.

---------------------------------------------------------------------------------------------------------------------------

FISXDESCR- Conversão das Mensagens com Fórmula NPI

Objetivo e Escopo

Este fonte tem objetivo de Converter referencias da MATXFIS() e outras funções em índices para serem utilizados em textos do documento fiscal

Tabelas

CJL - Controle de Mensagens Decodificadas, onde iremos armazenar as mensagens convertidas de acordo com o relacionamento dos códigos de mensagem da regra de código de Ajuste de Lançamento (CJA) .      

    1. CJL_ID               ID da Mensagem    - Iremos relacionar com o da Tabela CDA
    2. CJL_INDICE       Índice da Mensagem - Na CDA temos 3 campos disponíveis para configurar uma mensagem para os registros C195 , C197 e 0460. Este campo na CJL serve para identificar de qual campo a mensagem foi originada.
      Ex.: CDA_CODCPL (C195) = Índice 01 , CDA_CODMSG (C197) = Índice 02 e CDA_TXTDSC(0460) = índice 03
    3. CJL_CODMSG   Código da Mensagem - Campo que vai armazenar o código da mensagem configurada na tabela CJA e que também existe na CJ8.
    4. CJL_MENSG      Mensagem Decodificada - Campo MEMO com a mensagem convertida.

Fontes

Localizados na branch Inovação: $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Codigo de Ajuste SPED

...

---------------------------------------------------------------------------------------------------------------------------

IMPXFIS- Funções Fiscais


  1. Função GFPMxFis - Adicionado os campos novos da CJ9, CJA, CDA e CDB, utilizando a variável lCdaCof para controle.


    1. Foi criada o variável lTribCon  se tenho algum calculo de tributo feito pelo configurador para chamar a função RetCodAp - Carrega tabela de código de lançamento do configurador para um Json
      E chamo também BusCodLan.
    2. Adicionado a tabela CJM - que será gravado o conteudo das ultimas notas de entrada que compõem a montagem do PA e a nota de Saída que utilizou ao PA.
    3. Adicionado na função GFFMxFis  a função GETCOMPULTAQ - Buscar os dados de MP suas estruturas x PA, a Função FisDelCjm, para deletar a CJM quando houver o cancelamento da NF de saída e a Função GETULTAQUI para tratar da gravação da CJM para produtos que não possuem estrutura. 
  2. Função xFisCDA - Grava a tabela CDA de acordo com o retorno do processamento do array aGrava
    Para o configurador de tributos foram adicionados as variáveis lCpoCDV e lCdaCof com as proteções de campo para releases anteriores, além de realizar a gravação dos campos novos.
  3. Função xFisAtuSF3 - Responsável por atualizar as tabelas de livros fiscais com base em uma nota fiscal de entrada ou saída.
    Adicionado a função GETULTAQUI para tratamento dos operandos de ultima aquisição relacionados a estorno de icms para produtos que não possuem estrutura, na qual fará a gravação na tabela CJM.
    Adicionado a função GETCOMPULTAQ para tratamento do operando de ultima aquisição para produtos que possuem estrutura para efetuar a gravação da memoria de calculo na tabela CJM, verificando todos os componentes e qualquer nível que compõem a estrutura de produtos configurada.
    Na chamada da função foram adicionados 2 novos parâmetros, na qual serão aproveitados na função FISXDAGR que é chamado no final dessa função.
    No fim da função foi adicionado a função FISDELCJM , para realizar a exclusão dos registros da CJM quando houver cancelamento de NF.
  4. Função xMaFisAjIt - Função responsável por reprocessar o retorno do array aGrava.
    Foi adicionado as chamadas do RetCodAP e BusCodLan quando houver lançamentos do configurador de tributos. 

---------------------------------------------------------------------------------------------------------------------------

MATA017- Cadastro das informações adicionais da Apuração

No inicio do fonte foi criado a variável lNewCDV para controle dos novos campos da tabela CDV.

...

---------------------------------------------------------------------------------------------------------------------------

MATA103- Notas Fiscais de Entrada


Aviso
titleImportante

Na subida oficial na Branch Master , será necessário alinhamento com o Time de Compras para subida dessas alterações.

...

---------------------------------------------------------------------------------------------------------------------------

MATA103x- Funções de validação e controle de interface do documento de entrada


Aviso
titleImportante

Na subida oficial na Branch Master , será necessário alinhamento com o Time de Compras para subida dessas alterações.

...

---------------------------------------------------------------------------------------------------------------------------

MATA920- Saída de Notas Fiscais de Venda Manual.

  1. Função a920LAICMS - Montagem do Getdados do folder de lançamentos fiscais.

    Encapsulado os campos {"CDA_NUMITE","CDA_CODLAN","CDA_BASE","CDA_ALIQ","CDA_VALOR","CDA_IFCOMP"} no array aCpCDA e atualizar se caso existir os novos campos no array:

...

---------------------------------------------------------------------------------------------------------------------------

MATA953- Apuração de ICMS

Objetivo

O fonte MATA953 trata do processamento e gravação da apuração do ICMS como um todo. Para o configurador de tributos foram adicionadas algumas condições para poder trazer corretamente as informações.

Funções

  1. Função A953Processa - Para o configurador de tributos foram adicionadas as declarações das variaveis que serão utilizadas ao longo do fonte.
  2. Função a953Apura - Essa função distribui o retorno dos arrays aCDAIC, aCDAST, aCDADifal, aCDADE para os folders da tela de apuração do ICMS.
    Foi colocado uma tratativa com o array aCont referente a sequencia dos códigos de lançamentos apresentados na tela.
    Também foi adicionado uma condição que compara os tipos de lançamento da CDA para fazer a devida segregação na montagem da tela de acordo com o tipo de cada imposto do ICMS.
  3. Função DetCodLan - Exibe o detalhamento das notas que gravaram código de lançamento na tabela CDA.
    Foi adicionado uma tratativa para adicionar o campo CDA_VLOUTR na query.
  4. Função ApurDifal - Adicionado uma tratativa quando o tipo de lançamento for igual a "CF", na qual é lançamento referente ao configurador de tributos.
  5. Função EstruCLan - Tratativa no array para adicionar o campo CDA_VLOUTR caso ele exista.
  6. Função a953TpLanc - Adicionado o retorno para o tipo de lançamento "CF" referente ao configurador de tributos.
  7. Função a953TotSubApur- totaliza entradas e saídas quando necessário a geração do bloco 1920 do Sped Fiscal.
    Para o configurador de tributos foi adicionado a tratativa para o campo CDA_VLOUTR.
  8. Função RetCodCDA - Cria um JSON com todos os códigos de lançamentos cadastrados na tabela CJA filtrado por período + Filial.
  9. Função PosTitDel - Cria um JSON com todos os títulos gerados pela apuração MATA953 para deletar Títulos amarrados na rotina FISA181.
  10. Função GerGuiTit - Função que gera Guia e Titulo dos códigos de ajuste lançados no configurador via FISA181.

---------------------------------------------------------------------------------------------------------------------------

MATN410B- Função de calculo dos impostos contidos no pedido de venda


  1. Função A410LAICMS -  Folder de Lançamentos Fiscais  no Pedido de Venda (Planilha Financeira)
    1. Valida de o campo CDA_VLOUTR existe antes de adicionar na Folder
    2. lGerAlp , controle ira trazer os campos na tela.

---------------------------------------------------------------------------------------------------------------------------

MATXDEF.CH - Include utilizado nas rotinas IMPXFIS, MATXFIS, entre Outras.

Para o configurador de tributos foram adicionadas algumas definições para FieldPos, tabelas , referencia de tributo genéricos e referencia de mensagens

FieldPos

#DEFINE FP_CFC_FCPBSR     1049
#DEFINE FP_CD2_PSCFST     1050
#DEFINE FP_CD2_VFCPDI     1051
#DEFINE FP_CD2_VFCPEF     1052
#DEFINE FP_CFC_FCPAJT     1053
#DEFINE FP_CD2_FCPAJT     1054
#DEFINE FP_CDA_REGCAL     1055
#DEFINE FP_CDA_VLOUTR     1056
#DEFINE FP_CDA_CODMSG     1057
#DEFINE FP_CDA_CODCPL     1058
#DEFINE FP_CDA_TXTDSC     1059
#DEFINE FP_CDA_OPBASE     1060
#DEFINE FP_CDA_OPALIQ     1061
#DEFINE FP_CDV_REGCAL     1062
#DEFINE FP_CDV_VLOUTR     1063
#DEFINE FP_CDV_CODMSG     1064
#DEFINE FP_CDV_CODCPL     1065
#DEFINE FP_CDV_TXTDSC     1066
#DEFINE FP_CDV_OPBASE     1067
#DEFINE FP_CDV_OPALIQ     1068
#DEFINE FP_CJA_FILIAL     1069
#DEFINE FP_CJA_ID         1070
#DEFINE FP_CJA_CODREG     1071
#DEFINE FP_CJA_ID_CAB     1072
#DEFINE FP_CJA_REGCAL     1073
#DEFINE FP_CJA_CODTAB     1074
#DEFINE FP_CJA_CODTAB     1075
#DEFINE FP_CJA_CODLAN     1076
#DEFINE FP_CJA_VIGINI     1077
#DEFINE FP_CJA_VIGFIM     1078
#DEFINE FP_CJA_NFBASE     1079
#DEFINE FP_CJA_NFALIQ     1080
#DEFINE FP_CJA_VALOR      1081
#DEFINE FP_CJA_VLOUTR     1082
#DEFINE FP_CJA_GRGUIA     1083
#DEFINE FP_CJA_CODCPL     1084
#DEFINE FP_CJA_CODMSG     1085
#DEFINE FP_CJA_TXTDSC     1086
#DEFINE FP_CJA_GERMSG     1087
#DEFINE FP_CJ9_FILIAL     1088
#DEFINE FP_CJ9_ID         1089
#DEFINE FP_CJ9_CODREG     1090
#DEFINE FP_CJ9_DESCR      1091
#DEFINE FP_CJ9_VIGINI     1092
#DEFINE FP_CJ9_VIGFIM     1093
#DEFINE FP_CJA_GUIA       1094  
#DEFINE FP_CJA_TITULO     1095
#DEFINE FP_CJA_TITGUI     1096
#DEFINE FP_CDA_AGRLAN     1097
#DEFINE FP_CDV_AGRLAN     1098

Tabelas

#DEFINE AI_CJ3     49
#DEFINE AI_CJA     50
#DEFINE AI_CJL     51

Referencia Tributo Genérico

#DEFINE TG_IT_VL_MAX     34 //Valor Manual Maximo do Tributo
#DEFINE TG_IT_VL_MIN     35 //Valor Manual Minimo do Tributo
#DEFINE TG_IT_OPR_MAX    36 //Operador de limite de Valor Maximo do Tributo
#DEFINE TG_IT_OPR_MIN    37 //Operador de limite de Valor Maximo do Tributo

Referencia Mensagens

#DEFINE MSG_CHAVE      1    
#DEFINE MSG_INDICADOR  2        
#DEFINE MSG_TIPO       3    
#DEFINE MSG_REFERENCIA 4        
#DEFINE MSG_VAL_REF    5        
#DEFINE MSG_LSOMA      6

---------------------------------------------------------------------------------------------------------------------------

MATXFIS- Funções Fiscais

Programa responsável pelo Calculo de Impostos Fiscais e Financeiros

...

---------------------------------------------------------------------------------------------------------------------------

SPEDFISCAL - Rotina de Geração do arquivo da EFD ICMS/IPI

Objetivo e Escopo


O Objetivo é que as configurações realizadas no configurador de tributos seja predominante perante ao legado. 

Dentro do fonte do SPEDFISCAL tem muitos pontos que alteram o array aLancCDA e aLancCDA2 para que seja atendido alguma legislação prevista do legado.

Funções

Criação da variável estática : oJRetCda

...

---------------------------------------------------------------------------------------------------------------------------

SPEDXDEF.CH - Include utilizado nas rotinas SPEDFISCAL e SPEDXFUN

Para o configurador de tributos foram adicionadas algumas definições para FieldPos, tabelas e filiais

FieldPos

#DEFINE FP_CDA_TXTDSC  243
#DEFINE FP_CDA_CODCPL  244
#DEFINE FP_CDA_CODMSG  245
#DEFINE FP_CDA_VLOUTR  246
#DEFINE FP_CDA_REGCAL  247
#DEFINE FP_CDA_OPBASE  248
#DEFINE FP_CDA_OPALIQ  249
#DEFINE FP_CDA_IDMSG   250
#DEFINE FP_CDV_TXTDSC  251
#DEFINE FP_CDV_CODCPL  252
#DEFINE FP_CDV_CODMSG  253
#DEFINE FP_CDV_VLOUTR  254
#DEFINE FP_CDV_REGCAL  255
#DEFINE FP_CDV_OPBASE  256
#DEFINE FP_CDV_OPALIQ  257
#DEFINE FP_CDV_IDMSG   258                    
#DEFINE FP_CJ8_CODREF  259
#DEFINE FP_CJ8_DESC    260
#DEFINE FP_CJ8_MENSG   261
#DEFINE FP_CJL_ID      262
#DEFINE FP_CJL_INDICE  263
#DEFINE FP_CJL_CODMSG  264
#DEFINE FP_CJL_MENSG   265

#DEFINE FP_CDA_AGRLAN  266


Tabelas

#DEFINE AI_CJA 64
#DEFINE AI_CJ8 65
#DEFINE AI_CJ9 66
#DEFINE AI_CJL 67

Filiais

#DEFINE PFIL_CJA 111
#DEFINE PFIL_CJ8 112
#DEFINE PFIL_CJ9 113
#DEFINE PFIL_CJL 114

---------------------------------------------------------------------------------------------------------------------------

SPEDXFUN - Funções Fiscais para o SPEDFISCAL


Objetivo e Escopo


O Objetivo é que as mensagens cadastradas através da rotina do configurador de tributos seja refletida nas funções do fonte SPEDXFUN para que posteriormente sejam gravadas no arquivo da EFD ICMS/IPI.
Também faremos o controle referente a forma como o usuário do configurador de tributos realizou para aglutinação dos códigos de lançamento de ajuste.

Funções


  1. Função SPLancCDA - Foram adicionadas variáveis de controle das mensagens do configurador:

    Local lMsgCjl    := .F.
    Local cMsgCjl     := ""
    Local lProcCDA     := .F.
    Local cAgrup     := ""

    Foi adicionado um novo parâmetro na chamada da função SPEDFFiltro.
    SPEDFFiltro(1,"CDA",@cAliasCDA,aPar,,,@lMsgCjl)

    Após o retorno da query da função SPEDFFiltro é realizado tratativas com relação ao campo de mensagem para os blocos C195, C197, 0460, além de mudar a montagem como um todo do array aLancIT e aLancCDA2 que são utilizados na montagem do arquivo do SPEDFISCAL para os blocos que utilizam a tabela CDA.
    Também faz o tratamento de como vai ficar aglutinado o array aLancIT ou aLancCDA2 de acordo com o conteúdo do campo CDA_AGRLAN.

    É adicionado novas posições nos arrays aLancIT e aLancCDA2.

    Adiciona uma nova posição no array aInfE531, para tratar o bloco referente a apuração de IPI.
  2. Função SPEDFFiltro -Responsável por retornar os dados com as informações da tabela CDA amarrada com outras tabelas.
    Para o configurador de tributos foi adicionado junto com uma proteção de release os novos campos da CDA e também da tabela CJL.
    Também faz tratativa com a variável lógica lMsgCjl.

  3. Função RetQCDV - Nova função para retornar a descrição complementar para o registro E115 caso não venha preenchido.

  4. Função TempCDA - Nova função que retorna um objeto com os códigos de lançamentos que estão na CDA pelo período da apuração.

---------------------------------------------------------------------------------------------------------------------------

CONFXFIS - Concentrar todas as funções e regras do configurador de tributos


Objetivo e Escopo 

Criar um operando  para identificar  a ultima aquisição das Matérias Primas que foram utilizadas na produção do Produto Acabado , utilizando o Fluxo de Estrutura de Produto com Niveis → Ordem de Produção → Empenho de Produção → Apontamento de Produção.

...

Estrutura está no pacote 010843 - $/Protheus_Padrao/Fontes_Doc/Inovação/V12/Livros Fiscais - Configurador/Cod_Lanc_Estrutura_Prod/Dicionario

Funções

  1.  Função Static Function ValOperPri, - Adicionado o novo operando : VLR_ICMS_ULT_AQUI_ESTRUTURA  que será responsável em retornar o valor  do ICMS calculado por Item da Nota de entrada do material utilizado para fabricação do PA que será vendido. Adicionado na STATIC aPesqEstr   para receber dados do Produto da Estrutura , Quantidade da Estrutura e Quantidade Vendida.
    Adicionado referencias Logicas para identificar o uso dos operandos necessários para composição do valor de estorno, tanto para produtos com estrutura quanto para produtos para revenda.
  2. Função GetCompUltAq - Com a inteligência de Rastrear o Produto PA no pedido de venda,   buscar na SD1 e na SG1 a estrutura de Produto que originou a produção do PA ,recuperar  o valor unitário do ICMS da Ultima Aquisição  para compor o Valor Total de ICMS  que será vinculado por código de Lançamento de Estorno de Credito.
    O Retorno dessa query , ira mapear a Ultima NF de Entrada de Aquisição, e gravar na variável nIcmsEst := (((Valor do ICMS NF ENTRADA MP / QTD Adquirida MP )* QTD Utilizada na Produção) * Quantidade Vendida.
    O valor da nIcmsEst será apresentado na planilha Financeira na ABA Código de Lançamento , que foi devidamente configurado na rotina FISA181 com uma Regra Tributaria.
    Nessa função temos também a gravação  da  Ultima Nota de Entrada referente a aquisições de MP que foram utilizadas na produção do PA vendido, além das Informações da Nota de Saída e o valor do ICMS  de Estorno que será utilizado. Essas informações serão gravadas na Tabela CJM;
  3. Função GravaCJM - Recebe um array tratado dentro da função Getcompultaq, para efetuar a gravação dos dados na tabela CJM utilizando como base o metodo FWBulk().
  4. Função GetUltAq - Refatoração da query para TCgenQry2 e também foram adicionados novos campos para utilizar na gravação da CJM.
    Também foram adicionados tratativas na função para que efetue a gravação da CJM chamando a função GravaCJM.
  5. Função FISDELCJM - Essa função foi criada para no momento de exclusão do NF de Saída, o conteúdo gravado para aquela NF de Saída será excluído;

...

--------------------------------------------------------------------------------------------------------------------------------------


FISCOMPFOR - Concentrar todas as funções que criam e manipulam o componente de fórmulas do configurador de tributos.

Objetivo e Escopo: 

Adicionar um nova opção de Operando para o cliente recuperar o valor do ICMS referente a compra das Matérias Primas utilizadas na Produção Acabado, que será vendido em operações Isentas com direito ao Estorno desse valor inicial , via Código de Lançamento.

Funções:

  1. Função FormOperPri - Acionado no array aCarga a nova opção:
     aadd(aCarga,{"Valor do ICMS (Ultima Aquisição de Estrutura de Produto)"         ,"VLR_ICMS_ULT_AQUI_ESTRUTURA"})

---------------------------------------------------------------------------------------------------------------------------------------

backoffice.fiscal.configurador.relatorioEstornocredito- Relatorio de conferencia Apuração do Estorno do ICMS de produtos com Estrutura e Revenda

Objetivo e Escopo: 

Gerar um Relatório de conferencia com Base no que foi Gravado na CJM - Controle de Estorno de ICMS - Operando de Ultima Aquisição por Estrutura ou PA para para Revenda.

...

Esse Relatório tem com objetivo ler essa tabela e trazer dados para conferencia.

Funções:
Esse relatório foi desenvolvido em TLPP

  1. relatorioEstornocredito - Monta a Estrutura de TRCELL para mapear as Notas de Saida e sua Entrada que originou o valor do Estorno
  2. ReportPrint - Realiza a query com CJM e CDA para relacionar os campos que serão utilizados na Impressão
  3. seletorFilial - Função responsabel por abrir a tela de selecão de Filiais,

...