~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Anulação de Distribuição de Dotação ====== A Anulação de Distribuição de Dotação é uma operação de débito que tem a finalidade de anular totalmente ou parcialmente a operação de [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:distribuicao_de_dotacao | Distribuição de Dotação]]. Está operação é utilizada pelos responsáveis pela dotação orçamentária em cada unidade gestora. O Departamento de Contabilidade e Finanças (DCF), os Setores de Execução do Orçamento (SEOs) e a Pró Reitoria de Planejamento utlizam esta operação. Pré-condições: * Está logado no sistema como GESTOR DE DOTAÇÃO ORÇAMENTÁRIA (Responsável por realizar a Distribuição do Orçamento para as unidades Gestoras) para executar esta funcionalidade; * Para anular a distribuição de dotação: a UG (Unidade Gestora), o Programa de Trabalho Resumido (PTRes), a Natureza da Despesa, a Fonte de Recurso e a Esfera devem ter sido cadastrados no sistema. ===== Descrição do Caso de Uso ===== O caso de uso é acessado através do caminho: SIPAC → Orçamento → Movimentações → Movimentações Orçamentárias → Anulação de Distribuição de Dotação. ===Passo 1=== O caso de uso inicia exibindo as informações: * __**Ano Orçamentário**__: Tipo - NUMÉRICO. * __**Gestora**__: Tipo - TEXTO. A gestora corresponde a unidade de movimentação do orçamento. Sistema solicita os dados: * **Número do Documento***: Se a opção for marcada (a padrão vem marcada), o Número do Documento é gerado automaticamente, caso contrário é apresentado um campo para informar o Número, preenchido com o número da Nota de Dotação (ND) realizada no SIAFI. O Número do documento gerado tem Formato - 999999999, Tipo - NUMÉRICO, e da opção, Tipo - LÓGICO. * **Data***: Formato - DD/MM/AAAA, Tipo - DATA. * ** Se é negociação de orçamento**: Tipo - LÓGICO. Indica se a movimentação orçamentária partiu de uma negociação de orçamento de exercício anterior. São apresentadas as opções SIM e NÃO para seleção do gestor. * ** Se é processo de outra instituição**: Tipo - LÓGICO. São apresentadas as opções SIM ou NÃO.([[#principais_regras_de_negócio | RN16]] ) * **Processo**: TIPO - NUMÉRICO, FORMATO - 99999.999999/9999-99, Entrada de Dados: (radical.número/ano-dv). ([[#principais_regras_de_negócio | RN02, RN15]] ) * Se o processo não for de outra instituição o número é validado e é exibido seu __**Assunto**__:Solicitação de Pagamento - Valor: R$ 9,99. * **Valor***: Tipo - NUMÉRICO. e os dados das Células de origem: * **Unidade***: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DA UNIDADE.([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:anulacao_de_distribuicao_de_dotacao#principais_regras_de_negócio | RN03, RN04, RN09, RN14]]) * **Programa de Trabalho Resumido(PTRes)***:Formato - NOME DO PROGRAMA DE TRABALHO (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DO PTRes. * **Natureza da Despesa***: Formato - NOME DA NATUREZA DE DESPESA (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: DENOMINAÇÃO ou CÓDIGO DA NATUREZA. ([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:anulacao_de_distribuicao_de_dotacao#principais_regras_de_negócio | RN01]] ) * **Fonte de Recurso***: Formato - NOME DA FONTE DE RECURSO (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: DENOMINAÇÃO ou CÓDIGO DO RECURSO. * **Esfera***: Formato - NOME DA ESFERA (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DA ESFERA. * **Plano Interno**: Formato - NOME DO PLANO INTERNO (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DO PI. e os dados das Células de destino: * **__Unidade__***: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DA UNIDADE.([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:anulacao_de_distribuicao_de_dotacao#principais_regras_de_negócio | RN03, RN05, RN09, RN14]]) * **Programa de Trabalho Resumido(PTRes)***:Formato - NOME DO PROGRAMA DE TRABALHO (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DO PTRes. * **Natureza da Despesa***: Formato - NOME DA NATUREZA DE DESPESA (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: DENOMINAÇÃO ou CÓDIGO DA NATUREZA. ([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:anulacao_de_distribuicao_de_dotacao#principais_regras_de_negócio | RN01]] ) * **Fonte de Recurso***: Formato - NOME DA FONTE DE RECURSO (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: DENOMINAÇÃO ou CÓDIGO DO RECURSO. * **Esfera***: Formato - NOME DA ESFERA (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DA ESFERA. * **Plano Interno**: Formato - NOME DO PLANO INTERNO (CÓDIGO), Tipo - AUTOCOMPLETE, entrada de dados: NOME ou CÓDIGO DO PI. informações para célula de origem e destino: * **Observações**: Tipo - TEXTO. Só é permitido a inserção de no máximo 4000 caracteres. Com a confirmação da anulação, o sistema exibe os dados registrados, conforme são descritos no passo 2: ([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:anulacao_de_distribuicao_de_dotacao#principais_regras_de_negócio | RN06, RN07, RN08, RN10, RN11, RN12, RN13]] ) ===Passo 2=== * __**Nº do Documento**__: Tipo - NUMÉRICO. * __**Valor**__: Tipo - NUMÉRICO. * __**Data**__: Formato - DD/MM/AAAA, Tipo - DATA. * __**Movimentador**__: Formato - (CÓDIGO) - NOME DO MOVIMENTADOR (LOGIN), Tipo - TEXTO. Sistema apresenta opção e exibe os atributos **__Login__**, **__Nome__**, **__Unidade__**, **__Email__**, **__Telefone__** e **__Ramal__** associados ao movimentador. * __**Tipo**__: Tipo - TEXTO. Refere-se ao ao tipo de ação realizada, por exemplo, a //Distribuição de Dotação Orçamentária.// * __**Processo**__: Formato - NUMÉRO DO PROCESSO/AAAA (INSTITUIÇÃO), Tipo - NUMÉRICO. * __**Observações**__: Tipo - TEXTO. e os dados das Células de Origem e Destino: * __**Unidade**__: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO. No caso da Célula de Destino a unidade é a unidade gestora do usuário logado. * __**Programa de Trabalho Resumido**__: Formato - NOME DO PTRES(CÓDIGO), Tipo - TEXTO. * __**Natureza da Despesa**__: Formato - NOME DA NATUREZA DE DESPESA (CÓDIGO), Tipo - TEXTO. * __**Fonte de Recurso**__: Formato - NOME DA FONTE DO RECURSO (CÓDIGO), Tipo - TEXTO. * __**Esfera**__: Formato - NOME DA ESFERA (CÓDIGO), Tipo - TEXTO. * __**Plano Interno**__: Formato - NOME DO PI (CÓDIGO), Tipo - TEXTO. * __**Convênio**__: Tipo - TEXTO. Após a geração da transferência será gerado uma movimentação orçamentária de débito para célula de origem e uma movimentação de crédito para a célula de destino. O sistema envia email para os envolvidos informando que houve um crédito ou um débito na unidade. O caso de uso é finalizado. ([[#Principais Regras de Negócio|RN17]]) ===== Layout do email ===== Assunto: movimentação orçamentária de realizada Prezado(a) Sr(a). , A seguinte movimentação orçamentária, associada a unidade , foi registrada no Sistema de Controle Orçamentário do SIPAC como um . Data: dd/mm/aaaa Movimentação: Documento: Ano Orçamentário: Valor: Usuário: SIPAC - Sistema Integrado de Patrimônio, Administração e Contratos ESTA MENSAGEM FOI ENVIADA AUTOMÁTICAMENTE PELO SISTEMA. POR FAVOR,NÃO RESPONDER ESTA MENSAGEM. ===== Principais Regras de Negócio ===== As seguintes regras devem ser satisfeitas para que uma distribuição de dotação seja realizada: * **RN01** - A Natureza de Despesa da célula de origem e destino devem ser iguais, com a exceção de quando a Natureza de Despesa de uma das células forem de CUSTEIO; * **RN02** - 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; * **RN03** - As unidades das células de origem e destino devem ser diferentes; * **RN04** - A unidade da célula de origem deverá ser uma unidade gestora. * **RN05** - A unidade da célula de destino deverá ser a unidade gestora do usuário logado; * **RN06** - Total Transferido não poderá ser atualizado para um valor negativo; * **RN07** - Total Distribuído não poderá ser atualizado para um valor negativo; * **RN08** - [[desenvolvimento:especificacoes:sipac:orcamentario:configuracoes_de_orcamento | Verificação de Saldo Negativo]], verificar regras de negócio; * **RN09** - Se for [[desenvolvimento:especificacoes:sipac:orcamentario:orcamento_convenio |Execução de Convênio]] as unidades das células serão as unidades interessadas no convênio. * **RN10** - O **Total Distribuido** da célula de origem será subtraído com o valor da transferência; * **RN11** - O **Saldo** da célula de origem será subtraído com o valor da transferência; * **RN12** - O **Total Transferido** da célula de destino será adicionado com o valor da transferência; * **RN13** - O **Saldo** da célula de destino será adicionado com o valor da transferência; * **RN14** - Caso o usuário seja um Executor do Orçamento Global: - Será possível selecionar qualquer unidade, sendo Beneficiada em um convênio ou não, ou seja quaisquer unidade; - Caso seja feito uma Anulação de Distribuição de Dotação de uma Unidade não Beneficiada no Convênio para uma Beneficiada, deverá ser criado uma célula sem convênio na origem e uma célula de convênio no destino; * **RN15** - De acordo com o parâmetro UTILIZA_PROTOCOLO_SIPAC será apresentado duas formas de entrada de dados para o campo **Processo**: * Case o valor esteja configurado como true, será disponibilizado para o usuário 4 campos de entradas que representam a formatação completa do processo. (radical.número/ano-dv) * caso o valor esteja configurado como false, será disponibilizado apenas um campo onde será informado pelo usuário o processo através de uma máscara a qual forçará o usuário seguir o padrão da formatação completa do processo. (radical.número/ano-dv) * **RN16** - Se o parâmetro UTILIZA_PROTOCOLO_SIPAC estiver configurado como false o campo Se é processo de outra instituição não será exibido. * **RN17** - Os responsáveis das unidades movimentadas serão notificados via email. * **RN17** - Ao realizar movimentações orçamentárias no módulo orçamentário, automaticamente é gerado um email para o responsável da unidade para as operações de crédito e débito. Esta operação funciona com base nos parâmetros ENVIA_EMAIL_POR_MOVIMENTACAO_ORCAMENTARIA que permite a instituição configurar se serão gerados os emails após as movimentações orçamentarias e MOVIMENTACOES_ORCAMENTARIAS_ENVIAR_EMAIL que identifica quais as movimentações lançarão emails. Os parâmetros deverão estar configurados como true.(Adicionado em 12/07/2011 referente à tarefa 64945). ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | |br.ufrn.sipac.orcamento.movimentacoes.dominio.Transferencia | administrativo.sco.transferencia | |br.ufrn.sipac.orcamento.movimentacoes.dominio.MovimentacaoOrcamentaria | administrativo.sco.movimentacao_orcamentaria | ===== Plano de Teste ===== Sistema: SIPAC Módulo: Orçamento Link(s): Orçamento -> Movimentações -> Movimentações Orçamentárias -> Anulação de Distribuição de Dotação Usuário: larrubia2 Papel que usuário deve ter: ScoPapeis.GESTOR_DOTACAO_ORCAMENTARIA ===== Cenários de Teste ===== Existem dois cenários que podem ser testados: **1. Orçamento de Convênio:** Para entender como selecionar um convênio veja a seção Cenário de Teste em [[desenvolvimento:especificacoes:sipac:orcamentario:orcamento_convenio | Orçamento de Convênio]]. **2. Orçamento sem Convênio:** Sem Orçamento de Convênio basta que não seja selecionado nenhum convênio. A diferença nestes dois testes serão nas unidades das células, quando a execução for de Convênio as unidades disponíveis para seleção serão as unidades interessadas no convênio e quando não for Execução de Convênio serão unidades gestoras e subunidades da unidade gestora do usuário logado. Para analisar os resultados tanto de orçamento de convênio como sem convênio os seguintes relatórios estão disponíveis: * Orçamento -> Relatórios -> Movimentações Orçamentárias -> Movimentação Orçamentária por Unidade * Selecione Apenas a Operação de: **Transferência** * Orçamento -> Relatórios -> Saldos -> Saldo Orçamentário por Unidade * Selecione a unidade. Após realizar esta operação o saldo da célula de origem deverá ter sido subtraído. ===== Dados para o Teste ===== As informações das células orçamentárias poderão ser consultadas nos links: * Programa de Trabalho Resumido: Orçamento -> Cadastros -> Programa de Trabalho Resumido -> Listar/Alterar * Natureza da Despesa: Orçamento -> Cadastros -> Natureza da Despesa -> Listar/Alterar * Fonte de Recurso: Orçamento -> Cadastros -> Fonte de Recurso -> Listar/Alterar * Esfera: Orçamento -> Cadastros -> Esfera -> Listar/Alterar * Plano Interno: Orçamento -> Cadastros -> Plano Interno -> Listar/Alterar * Para visualizar os convênios utilizar a seguinte consulta: select u.codigo_unidade, u.nome from convenios.convenio c join comum.unidade u on (c.id_unidade_convenio = u.id_unidade) where u.categoria = 4 and u.unidade_orcamentaria = true * Consulta que traz todos as unidade subordinadas de uma determinada gestora: select * from unidade where hierarquia like '%.' ||(select id_unidade from unidade where codigo_unidade = )||'.%' and unidade_orcamentaria = true * Consulta que traz todos as unidade gestoras: select * from comum.unidade where categoria = 1 and tipo = 2 and unidade_orcamentaria = true * Consulta que identifica os processos de requisição de crédito: select r.num_processo, r.ano_processo, codigo_unidade from requisicoes.requisicao_credito r join comum.unidade u on (r.id_unidade_req = u.id_unidade) where r.ano_processo = * Consulta que traz todos os responsáveis da unidade de acordo com o id: SELECT DISTINCT RU.*, U.NOME AS NOME_UNIDADE,S.SIAPE AS MATRICULA,P.NOME AS NOME_SERVIDOR, P.ID_PESSOA AS ID_PESSOA, P.EMAIL AS EMAIL_PESSOA FROM COMUM.RESPONSAVEL_UNIDADE RU, COMUM.UNIDADE U,RH.SERVIDOR S,comum.PESSOA P WHERE S.ID_SERVIDOR = RU.ID_SERVIDOR AND S.ID_PESSOA = P.ID_PESSOA AND RU.ID_UNIDADE = ? AND U.ID_UNIDADE = RU.ID_UNIDADE AND RU.ID_REGISTRO_ENTRADA_EXCLUSAO IS NULL ORDER BY RU.DATA_FIM DESC,U.NOME ASC