~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Detalhar Despesas ====== Esta operação é utilizada pelos gestores do orçamento das unidades. Detalhar Despesas é a mesma coisa que zerar os saldos dos sub-empenhos. Este caso de uso tem como finalidade controlar os saldos dos empenhos e sub empenhos. Para maiores informações sobre empenhos, vide o [[desenvolvimento:especificacoes:sipac:orcamento:negocio|Documento de Negócio do Sistema de Controle Orçamentário]]. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Orçamento → Aba Movimentações → Empenho → Detalhar Despesas -> Detalhar Despesas. O caso de uso inicia com a escolha entre os tipos de empenho a serem detalhados: * Vinculado a requisições * Outros ===Fluxo 1 : Vinculado a requisições === ([[#principais_regras_de_negócio|RN06]]) ([[#principais_regras_de_negócio|RN20]]) == Passo 1== É necessário no primeiro passo informar: * **Ano Orçamentário:** Tipo - TEXTO. O sistema preenche esta informação automaticamente. * **Gestora:** Tipo - TEXTO. O sistema preenche esta informação automaticamente. * **Número da requisição associada ao empenho:** Tipo - NUMÉRICO. * **Ano:** Tipo - NUMÉRICO. * **Tipo:** Tipo - TEXTO. == Passo 2== O sistema exibe então os dados da requisição como: * **__Número/Ano__:** Formato - 9.../AAAA. Tipo - TEXTO. * **__Unidade de Custo__:** Formato - () Tipo - TEXTO. * **__Unidade Requisitante__:** Formato - () Tipo - TEXTO. * **__Valor__:** Tipo NUMÉRICO. * **__Valor Empenhado__:** Tipo NUMÉRICO. * **__Valor Contigenciado__:** Tipo NUMÉRICO. E então o usuário informa o **número do documento do empenho**. == Passo 3== O sistema exibe então os seguintes dados do empenho: * **__Empenho__:** Formato - 9.../AAAA. Tipo - TEXTO. * **__Gestora__:** Formato - () Tipo - TEXTO. * **__Data__:** Tipo - DATA. * **__Processo__:** Formato - 99999.999999/AAAA-99. Tipo - TEXTO. * **__Programa de Trabalho Resumido__:** Tipo - TEXTO. * **__Natureza de Despesa__:** Tipo - TEXTO. * **__Fonte de Recurso__:** Tipo - TEXTO. * **__Esfera__:** Tipo - TEXTO. * **__Plano Interno__:** Tipo - TEXTO. * **__Modalidade__:** Tipo - TEXTO. * **__Credor__:** Tipo - TEXTO. * **__Observações__:** * **__Total do Empenho__:** Tipo - NUMÉRICO. * **__Saldo do Empenho__:** Tipo - NUMÉRICO. * **__Valor Anulado__:** Tipo - NUMÉRICO. * **__Valor Reforçado__:** Tipo - NUMÉRICO. * **__Valor Cancelado__:** Tipo - NUMÉRICO. * **__Registrado por__:** Formato - () Tipo - TEXTO. Exibe os seguintes dados dos Centros de Custos * **__Centro de Custo__:** Formato - () Tipo - TEXTO. * **__Valor__:** Tipo - NUMÉRICO. * **__Saldo__:** Tipo - NUMÉRICO. Existe a opção de //Visualizar todos os detalhamentos de despesas já realizados para este empenho// e então solicitará os dados do detalhamento de despesas. Primeiramente exibe: * **__Número/Ano e Tipo da Requisição__:** Formato - 9.../AAAA . Tipo - TEXTO. * **__Valor da Requisição__:** Tipo - NUMÉRICO. * **__Valor Contigenciado__:** Tipo - NUMÉRICO. e então solicita: * **Modalidade**: Tipo - TEXTO. Opção: 'PROCESSO' ou 'DEVOLUÇÃO'. ([[#principais_regras_de_negócio|RN02]]) * **Processo de Outra Instituição?**: Tipo - LÓGICO. Pode ser 'SIM' ou 'NÃO'. ([[#principais_regras_de_negócio|RN11, RN14, RN15 e RN17]]) * **Processo:** TIPO - NUMÉRICO, FORMATO - 99999.999999/AAAA-99, Entrada de Dados: (radical.número/ano-dv) ([[#principais_regras_de_negócio|RN12, RN13, RN16]]) * **Favorecido:** Tipo AUTOCOMPLETE, formato: , Entrada de dados: NOME, CPNJ ou CPF. * **Categoria de Despesa:** Tipo - TEXTO. ([[#principais_regras_de_negócio|RN05]]) * **Data:** Tipo - DATA. * **Valor:** Tipo NUMÉRICO. ([[#principais_regras_de_negócio|RN03]]) * **Número da Ordem Bancária:** Tipo - NUMÉRICO. * **Data da Ordem Bancária:** Tipo - DATA. * **Observações:** Tipo - TEXTO. == Passo 4== Ao informar um processo associado a tributos, estes serão listados, podendo o usuário informar o valor que será tributado para o detalhamento. Caso o processo não tenha tributos associados, poderá ser selecionado a opção "Este detalhamento possui recolhimento de tributos?", sendo necessário informar os seguintes campos: * **Tipo do Tributo:** Tipo - TEXTO. Opção: 'DAR', 'DARF' ou 'GPS'; * **Número:** Tipo - NUMÉRICO. * **Ano:** Tipo - NUMÉRICO. * **Data:** Tipo - DATA. * **Valor Pago no Detalhamento:** Tipo - NUMÉRICO. * **Observações:** Tipo - NUMÉRICO. Após adicionar as informações serão exibidas em lista da seguinte maneira: ([[#principais_regras_de_negócio|RN19]]) * **Número/Ano:** Tipo - TEXTO. * **Tipo do Atributo:** Tipo - TEXTO. * **Data do Tributo:** Tipo - DATA. * **Valor do Tributo(R$):** Tipo - NUMÉRICO. * **Valor já Tributado(R$):** Tipo - NUMÉRICO. * **Valor a Tributar(R$):** Tipo - NUMÉRICO. == Passo 5== O sistema exibe as seguintes informações no formato de comprovante: * **Número do Empenho:** Formato - 9.../AAAA. Tipo - TEXTO. * **PTRES:** Tipo - TEXTO. * **Natureza de Despesa:** Tipo - TEXTO. * **Fonte de Recurso:** Tipo - TEXTO. * **Esfera:** Tipo - TEXTO. * **Modalidade:** Tipo - TEXTO. * **Número do Processo:** Formato - 99999.999999/AAAA-99. Tipo - TEXTO. * **Favorecido:** Formato: . Tipo - TEXTO. * **Data:** Tipo - DATA. * **Valor:** Tipo - NUMÉRICO. Logo abaixo caso tenha sido informado as informações da ordem bancária, estas serão exibidas da seguinte maneira: * **Número da Ordem Bancária / Ano da Ordem Bancária:** Formato - 9.../AAAA. Tipo - NUMÉRICO. * **Processo:** FORMATO - 99999.999999/AAAA-99. Tipo - TEXTO. * **Data:** Tipo - DATA. * **Status da Ordem Bancária:** Tipo - TEXTO. * **Valor Pago pela Ordem Bancária:**Formato - 99,99, Tipo NUMÉRICO. * **Natureza de Despesa:** Tipo - TEXTO. * Existe a possibilidade de imprimir este comprovante, clicando em //**Imprimir **// ===Fluxo 2 : Outros=== O Usuário informa o **Número do Empenho** ([[#principais_regras_de_negócio|RN04, RN07, RN08, RN09, RN10]]). O caso de uso a mesmo fluxo do //**passo 3**// do //**fluxo 1**//. O caso de uso é encerrado. ===== Principais Regras de Negócio ===== * **RN01** - Caso a opção Processo de Outra Instituição seja selecionada, o processo não será validado, ou seja, não irá verificar se está cadastrado na base do Protocolo e as serão buscadas apenas as ordens bancárias que tenham processos de outras instituições; * **RN02** - Caso a modalidade do detalhamento escolhida seja de processo, o saldo do empenho será dimuido assim como o saldo do sub empenho da unidade interessada. Caso seja escolhida a modalidade de detalhamento de devolução os saldos serão somados. * **RN03** - O valor do detalhamento obrigatoriamente deve ser maior que zero. * **RN04** - O empenho não pode ter sido anulado. * **RN05** - VALOR DO DETALHAMENDO DE DESPESAS: * O valor do detalhamento de despesas não pode ultrapassar o valor do saldo do empenho. * O valor do detalhamento de despesas não pode ultrapassar o valor do saldo do sub empenho da unidade interessada. * **RN06** - Caso seja escolhida a opção de realizar o detalhamento de despesas associado a uma requisição, esta operação só poderá ser realizada sobre empenhos estimativos/globais. * **RN07** - O empenho deve possuir saldo maior que zero. * **RN08** - Os sub empenhos do empenho selecionado devem possuir a mesma natureza de despesa da requisição. * **RN09** - Para realizar um detalhamento de despesas para uma unidade debitada é necessário que exista no empenho um sub empenho para a unidade central de empenho. * **RN10** - Caso um empenho seja ordinário, só poderá ser detalhado totalmente. Não é possível fazer um detalhamento parcial sobre o mesmo. * **RN11** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja false, o campo **Processo de Outra Instituição?** não será exibido. * **RN12** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja true, ao informar o **Processo**, o sistema irá verificar a base dos processos. * **RN13** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja false, ao informar o **Processo**, o sistema não irá considerar a base dos processos. * **RN14** - Caso o campo **Processo de Outra Instituição?** seja 'NÃO' e o processo contenha ordens bancárias associadas ao processo, estas serão exibidas após o campo **observação**. * **RN15** - Caso o campo **Processo de Outra Instituição?** seja 'NÃO' e o processo não contenha ordens bancárias associadas ao processo, será solicitado após o campo **observação** as informações de //**Número da Ordem Bancária**// e a //**Data da Ordem Bancária**// * **RN16** - Quando o parâmetro UTILIZA_PROTOCOLO_SIPAC estiver configurado como //false// o campo **Processo** é solicitado de forma única utilizando uma máscara no formato 99999.999999/9999-99, ao contrário da situação que o parâmetro esteja configurado como //true//, onde o campo **Processo** é solicitado ao usuário de forma separada, sendo necessário ser informado para cada campo os dados radical, número, ano e digito verificador do processo. * **RN17** - Caso o campo **Processo de Outra Instituição?** seja 'SIM' o campo **Processo** será solicitado em apenas um campo, onde exigirá a formatação completa do número do processo. FORMATO: 99999.999999/999-99 (radical.número/ano-dv). * **RN18** - A requisição informada não pode está associada a outros detalhamentos. (Adicionado em 13/07/2011 referente a tarefa 66587) * **RN19** - A soma dos Tributos mais a Ordem Bancária não pode ser superior ao valor do Detalhamento de Despesas; * **RN20** - Caso seja uma requisição de solicitação de material em um registro de preço, e o processo associado a esta requisição possua pelo menos 1 item com o status cancelado ou pendente, não será possível realizar o detalhamento. * **RN21** - Quando o detalhamento é associado a requisição, o sistema envia email quando é informando uma nova unidade debitada no empenho que não seja ainda unidade de custo da requisição. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Lancamento | administrativo.sco.lancamento | | br.ufrn.sipac.orcamento.movimentacoes.dominio.OrdemBancaria | administrativo.sco.ordem_bancaria | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Empenho | administrativo.sco.empenho | | br.ufrn.sipac.orcamento.movimentacoes.dominio.OrdemBancariaLancamento | administrativo.sco.ordem_bancaria_lancamento | | br.ufrn.sipac.orcamento.movimentacoes.dominio.SubEmpenho | administrativo.sco.sub_empenho | | br.ufrn.sipac.orcamento.movimentacoes.dominio.Tributo | administrativo.sco.tributo | | br.ufrn.sipac.orcamento.movimentacoes.dominio.TributoLancamento | administrativo.sco.tributo_lancamento | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Orçamento Link(s): Aba Movimentações → Empenho → Detalhar Despesas → Detalhar Despesas Usuário: * larrubia2: Executor do Orçamento Global * seocchla01: Executor do Orçamento * raiula: Executor Convênio Papel que usuário deve ter: ScoPapeis.EXECUTOR_ORCAMENTO, ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL,ScoPapeis.EXECUTOR_CONVENIO ===== Cenários de Teste ===== * Realizaro detalhamento para unidade pagadora e que o sub empenho da unidade central de empenho possua um ou mais reforços, verificando a consistência dos saldos das células orçamentárias. Para Verificar os dados das células orçamentárias utilizar o relatório Menu SCO -> Relatórios -> Saldos -> Saldo Orçamentário por Unidade. ===== Dados para o Teste ===== * Para obtermos os dados necessários para a realização do teste desse caso de uso devemos buscar esse dados em SCO -> Consultas -> Empenho -> Empenho. Devem ser utilizados apenas empenhos que não estejam finalizados. * Para obter os dados para requisições consulte SCO > Relatórios > Requisições/Documentos de Resumo para Empenhos > Requisições Empenhadas * Consulta que exibe os os empenhos estimativos e globais não anulados que possuem requisições associados e que não foram liquidados totalmente: select distinct cod_empenho, subreq.id_requisicao, subreq.tipo_requisicao from sco.empenho e join sco.sub_empenho sub using (id_empenho) join sco.sub_empenho_requisicao subreq on (subreq.id_sub_empenho = sub.id_sub_empenho) join sco.lancamento l on (sub.id_sub_empenho = l.id_sub_empenho) where e.ano = :ano and e.id_unidade_gestora = :gestora and e.anulado = false and e.saldo > 0 * Para obter os dados da requisição para dar inicio ao fluxo quando escolhida a opção **Vinculado a requisições**, o testador deve ir ao caso de uso: * SIPAC > Orçamento > Requisições > requisições > Consultar Requisição, onde o status da requisição seja **enviada**. * Consulta que exibe os empenhos ordinários não anulados que possuem requisições associados e que não foram liquidados totalmente: select distinct cod_empenho from sco.empenho e join sco.sub_empenho sub using (id_empenho) join sco.sub_empenho_requisicao subreq on (subreq.id_sub_empenho = sub.id_sub_empenho) join sco.lancamento l on (e.id_empenho = l.id_empenho) where e.ano = :ano and e.id_unidade_gestora = :gestora and e.anulado = false and e.saldo > 0 Onde ano é o :ano do empenho e :gestora é a unidade gestora do empenho. Consulta que traz as unidades gestoras select * from unidade where categoria = 1 and tipo = 2