Definição da Regra de Negócio
As alterações descritas abaixo só terão validade caso esteja definido o pré-processador de negócio BF_FIN_DARF (chamado).
1. Criar programa para a Capa da DARF (programa novo)
Este programa será responsável por ser a capa da DARF e deve ser criado conforme o protótipo de tela (tela 1).
Lembrando que essa tela terá um botão de Inclui, Modifica, Detalhe, Movimentos, Zoom e de Impressão da DARF.
Inclui:
Será criado um novo programa de inclusão conforme protótipo de tela (tela 2).
Como regra na tela de incluir:
- Ao escolher um estabelecimento, preencher automaticamente os campos de Nome, Id Federal e Telefone com seus respectivos formatos.
- Todos os campos serão obrigatórios, exceto Referencia, Observação, Juros, Multa e o valor Principal.
- A data de vencimento não pode ser menor que a data de Período Apuração.
Modifica:
Será criado um novo programa de modifica conforme protótipo de tela (tela 3).
Poderão ser alterados todos os campos, exceto campo chave da tabela, Estabelecimento e Código DARF.
As validações serão as mesmas da tela de incluir.
Detalhe:
Tela de detalhe será semelhante a tela de modifica, mas nesse caso não pode ser alterado nenhum campo.
Zoom:
Será criado uma tela de pesquisa conforme protótipo de tela (tela 4).
No Browser terá os seguintes campos: DARF, estabelecimento, Nome Estabelecimento, Id Federal, Telefone, Valor Principal, Valor Juros, Valor Multa e Data Transação.
Terá classificação por DARF e Estabelecimento.
Essa tela base ainda terá um browser contendo os títulos que fazem parte da DARF, a implementação das informações para mostrar no browser estarão no próximo requisito da engenharia.
A tabela utilizada para salvar os campos da capa da DARF é darf_ap.
Rotina de Estorno de Titulos e Movimentos do Contas a Pagar (apb721aa)
Alterar Essa rotina para que ao estornar um movimento de implantação ou o titulo e estiver em uma DARF, ele de a seguinte mensagem:
Msg: Estorno não permitido !
Help: Título pertence a uma Guia de DARF.
Rotina Estornar Substituição Nota por Duplicata (apb725aa)
Alterar essa rotina para que ao estornar o titulo de substituição e esse título estiver em uma DARF, ele de a seguinte mensagem:
Msg: Estorno não permitido !
Help: Título pertence a uma Guia de DARF.
Será preciso verificar se o titulo/movimento de implantação selecionado para estornor pertence a alguma DARF, consultando na tabela tit_darf_ap.
Alterar programa capa da DARF, quando selecionado que a opção de é “Títulos Pagos” terá que somar o valor original do Titulo para compor o valor principal da DARF. Outra alteração que tem que ser feita é em relação ao botão impressão. Quando for títulos pagos, será comparado o valor principal da DARF com a soma do valor original dos títulos.
2. Criar programa para vinculação dos Títulos.
Este programa será para vincular os títulos do contas a pagar à DARF.
A tela desse programa será aberta a partir da capa da DARF no botão movimentos.
Essa tela deve ser criada conforme protótipo de tela (tela 5).
Na tela de vinculação dos Titulos, ao lado do campo DARF, será incluído 2 campos. A empresa do estabelecimento e o Fornecedor que estão na capa da DARF.
Lembrando que essa tela terá botão de Atualiza, Classifica, Detalhe, Faixa, Filtro, Seleciona Tudo, Não Seleciona Nada.
A tela terá 2 browse, no browse superior será mostrado todos os títulos que atenderem as parametrizações feitas.
As parametrizações serão feitas através dos seguintes botões abaixo:
Classificação: Deverá apresentar uma tela para o usuário parametrizar a classificação na qual os títulos devem ser listados no browse (ver esboço de tela 6). As opções serão: Por Espécie, Por Série, Por Data Vencimento e Por Título.
Seleção: Deverá apresentar faixa de seleção por data vencimento, estabelecimento, título, série e espécie e também pelos campos referentes aos impostos, País, UF, Imposto (ver esboço de tela 7).
Para o campo Data Vencimento, a Data Inicio e Fim ele já trará como sugestão a data informada na capa da DARF.
Filtro: Deverá apresentar uma tela para o usuário parametrizar se deseja visualizar títulos Normais, Notas Fiscais, Impostos Retidos e Impostos Taxados. Caso seja marcado o flag de Impostos Retidos, deverá habilitar três novos flags de IRRF e PIS/COFINS/CSLL e Outros (ver esboço de tela 8). Além de habilitar os campos, deverá trazer default no campo de imposto retido o valor informado da capa do título do campo cod recto.
Detalhe: chama a consulta de títulos do Contas a Pagar (apb002ia) para o título selecionado no Browse.
Marca Todos: Seleciona todos os títulos do browse
Desmarca Todos: Retira da seleção todos os títulos do browse
Na hora da atualização deverá obedecer as regras abaixo:
Deverá ler a tabela estabelecimento, buscando todos os estabelecimentos informados na faixa da empresa corrente do usuário.
Para cada estabelecimento, deverá ler os títulos (tit_ap) validando os seguintes dados:
tit_ap.cod_estab = estab
and tit_ap.cdn_fornecedor = darf_ap.cdn_fornecedor
and tit_ap.cod_espec_docto >= v_cod_espec_docto_ini
and tit_ap.cod_espec_docto <= v_cod_espec_docto_fim
and tit_ap.cod_ser_docto >= v_cod_ser_docto_ini
and tit_ap.cod_ser_docto <= v_cod_ser_docto_fim
and tit_ap.cod_tit_ap >= v_cod_tit_ap_ini
and tit_ap.cod_tit_ap <= v_cod_tit_ap_final
and tit_ap.dat_transacao <= darf_ap.dat_transacao
and tit_ap.dat_vencto_tit_ap >= v_dat_vencto_ini
and tit_ap.dat_vencto_tit_ap <= v_dat_vencto_fim
and tit_ap.log_tit_ap_estordo = no:
Deverá verificar que o indicador econômico do título é igual ao da DARF (tit_ap.cod_indic_econ = darf_ap.cod_indic_econ), para prosseguir.
Deverá verificar se o tipo da espécie (tit_ap.ind_tip_espec_docto) é “Nota Fiscal”, “Normal”, “Imposto Retido” ou “Imposto Taxado”. Se for um tipo diferente, o título deve ser ignorado. Se for um dos quatro tipos acima, deve verificar se o tipo está parametrizado no filtro para ser considerado, caso contrário deverá ignorar o título também.
Se DARF considera Titulos em aberto, e o saldo do titulo for zero ou o log estiver como "no", desconsiderar o titulo.
Se DARF considera Titulos pagos, e o saldo do titulo for diferente de zero ou o log estiver como "yes", desconsiderar o titulo.
Desconsiderar Titulo com relacionamento pendente.
Desconsiderar Titulo vinculado a Bordero.
Desconsiderar Titulo vinculado a Lote de Pagto.
Deverá executar a procedure pi_retornar_saldo_liber_pagto, que retorna o valor de saldo disponível para pagamento do título. O título deverá aparecer no browse com o valor retornado pela procedure como sendo o valor do saldo.
O usuário poderá selecionar os títulos e passar para o browse de baixo, através dos botões de movimentação. Ou poderá retirar títulos da seleção, passando-os de volta para o browse de cima.
Os títulos no browse de baixo deverão atualizar a tabela tit_darf_ap, onde serão gravados apenas os seguintes campos:
Tit_darf_ap.cod_estab = darf_ap.cod_estab
Tit_darf_ap.cod_darf_ap = darf_ap.cod_darf_ap
Tit_darf_ap.cod_estab_tit = tit_ap.cod_estab
Tit_darf_ap.num_id_tit_ap = tit_ap.num_id_tit_ap
Depois de salvo na tabela, no Ok da tela de Vinculação de Títulos voltará para a capa da DARF, onde também possui um browser que ficaram todos os títulos selecionados para aquela DARF.
Outra informação importante dos títulos selecionados é sempre verificar se esse título já não está em outra DARF, esses títulos não serão apresentados no primeiro browse da vinculação de títulos.
3. Impressão DARF
Essa alteração será responsável pela impressão do arquivo da DARF.
Na tela da capa da DARF terá o botão de impressão, esse botão abrirá a tela para impressão da guia da DARF conforme protótipo 9.
O campo Modelo será obrigatório e terá que ser informado um modelo para impressão de DARF no formato .rtf.
Botão Imprime, será gerado um arquivo .rtf sendo a GUIA de recolhimento DARF, conforme protótipo 10.
Na hora de clicar no botão imprime na Capa da DARF, será verificada a seguinte situação:
Alterar o valor principal da capa da DARF dependendo do seguintes casos:
- Se o valor atribuído no campo valor principal, estiver zero, deverá somar todos os valores saldos do título(titulos em aberto) ou Valor Original(titulos pagos) e incluir no campo valor principal.
Se o valor o campo for diferente de zero, e estiver diferente da soma de todos os títulos será impressa a mensagem informando:
- Valor não confere para a emissão da Guia DARF.
Para gerar a Guia DARF o valor principal da Capa da DARF tem que ser o mesmo valor do saldo dos títulos selecionados.
O valor Principal terá que ser o mesmo valor da soma de todos os títulos selecionados para essa DARF.
4. Facilitador Pagamento DARF
Alteração responsável para facilitar o pagamento da DARF no Contas a Pagar.
Todas as alterações abaixo, será feita somente quando o BF_FIN_DARF estiver liberado.
- Implantação Fatura(apb705aa).
Ao incluir as notas referentes a implantação de fatura terá um novo parâmetro na tela de seleção dos títulos.
O novo parâmetro será incluído no botão de faixa dessa tela. Tela a ser alterada (protótipo 11).
O novo parâmetro terá o seguinte comportamento.
Será criado um parâmetro do tipo checkbox chamado Seleciona DARF.
Esse campo sempre virá desmarcado, e se selecionado ele deve desabilitar todos os campos dessa tela e habilitar um novo campo.
Esse novo campo será o código da darf e terá zoom.
Se for habilitado o checkbox Habilita DARF, ele terá que obrigar o usuário a informar um código de DARF.
Alteração no botão atualiza:
- Se selecionado a opção de pesquisar pelo código da DARF, terá que ser alterada a pesquisa dos títulos e só trará os títulos que fazer referencia a essa DARF.
Hoje o programa chama a procedure pi_tratar_tt_fornec_relacto_pend_tit_ap_2 onde ele busca todos os títulos conforme faixa informada.
Terá que ser alterada essa procedure, onde ele terá ao invés de fazer uma busca no tit_ap com a faixa informada, ele fará:
- Uma varredura da tit_darf_ap, onde cod_estab = estabelecimento da fatura, cod_darf_ap = código da darf informada no parâmetro e o cod_estad_tit = estabelecimento da fatura.
Para cada titulo que ele encontrar, terá que fazer uma busca na tit_ap onde:
and tit_ap.cod_estab = tit_darf_ap.cod_estab
and tit_ap.num_id_tit_ap = tit_darf_ap.num_id_tit_ap
and tit_ap.cdn_fornecedor = tt_fornec.tta_cdn_fornecedor
and tit_ap.dat_liquidac_tit_ap = 12/31/9999
and tit_ap.dat_transacao <= lote_impl_tit_ap.dat_transacao
and tit_ap.cod_empresa = lote_impl_tit_ap.cod_empresa
and tit_ap.log_tit_ap_estordo = no
Depois de encontrado o título, continua as mesmas regras hoje já definidas na procedure.
OBS: Se não estiver marcado o parâmetro Habilita DARF, a rotina de busca dos títulos terá que se comportar como já está no fonte.
Depois da DARF criada, terem seus títulos vinculados e impressa. Será possível chamar a rotina de Implantação de Fatura, se o usuário achar necessário Substituir todos os títulos utilizados na DARF por apenas um. Facilitando assim o pagamento desses títulos.
Para chamar essa rotina será criado um novo botão na capa da DARF.
Botão:
Esse botão chamará a rotina de Implantação de Fatura(apb705aa), como facilitador para substituir os títulos.
Lembrando que esse botão só ficará habilitado quando a situação da DARF for Impressão.
- Títulos em Aberto do Contas a Pagar(apb322aa)
Será criado um facilitador dentro do relatório de Titulos em Aberto, para que o usuário possa pesquisar seus títulos pelo código da DARF.
Alterar a tela de Faixa desse relatório. Assim como foi alterado a implantação de Fatura.
Incluindo um novo parâmetro: Seleciona DARF, onde se ele estiver habilitado, habilitará um novo campo contento do campo código da DARF.
Esse campo será obrigatório se o checkbox estiver ativado.
Terá que desabilitar os seguintes campos se o checkbox estivar ativado: Título, Data Vencimento, Moeda, Data Emissão e portador.
Alteração na Consulta:
Alterar a procedure pi_cons_tit_ap_em_aberto, onde hoje possui a busca dos títulos.
Verificar se o checkbox está marcado, ele não precisa executar a lógica dentro do if v_cod_tit_ap_inicial = v_cod_tit_ap_final.
Agora precisa buscar o titulo do código da DARF, tit_darf_ap.
Para cada título encontrado ele terá que buscar a tit_ap na seguinte maneira:
tit_ap.cod_estab = tit_darf_ap.cod_estab
and tit_ap.num_id_tit_ap = tit_darf_ap.num_id_tit_ap
and tit_ap.dat_transacao <= v_dat_tit_ap_aber
and tit_ap.dat_liquidac_tit_ap >= v_dat_tit_ap_aber
Lembrando de fazer as mesmas buscas das temp-tables que hoje o código já faz, e após as alterações chamar pi_criar_tt_titulos_em_aberto_apb.
5 – Relatório Titulos DARF (Novo)
Será criado um novo relatório para consultar os títulos que compõe a DARF, tanto os títulos da DARF como o título que foi substituído.
O relatório terá uma tela de parâmetros contendo os seguintes campos:
- Faixa de Estabelecimento
- Faixa de Data Vencimento
- Faixa de Fornecedor
- Faixa de Código DARF
- CheckBox “Mostra Movimentos”
A quebra do relatório será por código da DARF. E terá o layout conforme protótipo 12. Na impressão terá também que imprimir os parâmetros da tela.
Quando marcada a opção “Mostra Movimentos”, será impresso no relatório a parte do layout correspondente as informações das movimentações do título, as colunas “Transação” e “Valor Movto”.
Será incluído também um campo novo no layout dos títulos relacionados, mostrar além dos campos do protótipo o campo “Saldo Tit”, nesse campo deverá mostrar o saldo do título relacionado.
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu |
DARF | [Criação] | [Financeiro / Controladorio -> Conta a Pagar] |
[apb705aa – Implantar Fatura] | [Alteração] | [Financeiro / Controladorio -> Conta a Pagar] |
[apb322aa - Titulos em Aberto] | [Alteração] | [Financeiro / Controladorio -> Conta a Pagar] |
Relatório DARF | [Criação] | [Financeiro / Controladorio -> Conta a Pagar] |