~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Anulação de Alocação de Centros de Custo ====== A operação de Anulação de Alocação de Centros de Custo é a anulação da distribuição do orçamento para os centros de custo feito pela gestora em que se executa o orçamento. Tem como finalidade anular, isto é, desfazer a operação de [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:centros_de_custos:alocacao_para_centros_de_custo | Alocação de Centro de Custo]]. Os SEOs (Setor de Execução Orçamentária) são os responsáveis por utilizar esta funcionalidade. O Executor do Orçamento Global também poderá executar está operação. Pré-condições: * Para efetuar a operação de anulação de alocação de centro de custo, a UG (Unidade Gestora), o Programa de Trabalho (PTr), a Natureza da Despesa, a Fonte de Recurso, a Esfera e o Plano Interno (PI) devem ter sido cadastrados no sistema; * Está logado no sistema como EXECUTOR DE ORÇAMENTO, EXECUTOR DE ORÇAMENTO GLOBAL ou EXECUTOR DE CONVÊNIO para executar esta funcionalidade. ===== 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 → Movimentações Orçamentárias → Anulação de Alocação de Centros de Custo//. ===Passo 1=== O caso de uso inicia exibindo as seguintes informações: * __**Ano Orçamentário:**__ Tipo - NUMÉRICO. ([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:centros_de_custos:anulacao_de_alocacao_para_centros_de_custo#principais_regras_de_negócio | RN01 ]] ) * __**Gestora:**__ Tipo - TEXTO. A gestora corresponde a unidade de movimentação do orçamento. Sistema solicita: dados de Anulação de Alocação para Centro de Custo: * **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 | RN02 e RN18 ]] ) * **Processo**: TIPO - NUMÉRICO, FORMATO - 99999.999999/9999-99, Entrada de Dados: (radical.número/ano-dv). ([[#principais_regras_de_negócio| RN17 ]]) * Se o processo não for de outra instituição o número é validado e é exibido seu __**Assunto**__ * **Valor***: Tipo - NUMÉRICO.([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:centros_de_custos:anulacao_de_alocacao_para_centros_de_custo#principais_regras_de_negócio | RN04, RN07 ]] ) 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:centros_de_custos:anulacao_de_alocacao_para_centros_de_custo#principais_regras_de_negócio | RN05, RN06, RN16]] ) * **Programa de Trabalho Resumido***: 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. * **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. dados das Células de Destino: * **__Unidade__***: Formato - NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO.([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:centros_de_custos:anulacao_de_alocacao_para_centros_de_custo#principais_regras_de_negócio | RN05, RN06, RN16]] ) * **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. * **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. da célula de origem e destino: * **Observações**: Tipo - TEXTO. Confirmando os dados informados para desfazer a operação, o sistema exibe as informações da anulação dados da células, conforme descritas no passo 2: ([[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:movimentacoes:movimentacoes_orcamentarias:centros_de_custos:anulacao_de_alocacao_para_centros_de_custo#principais_regras_de_negócio | RN03, RN08, RN09, RN10, RN11, RN12, RN13, RN14, RN15, RN16 ]] ) ===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. * __**Processo**__: Formato - NUMÉRO DO PROCESSO/AAAA (INSTITUIÇÃO), Tipo - NUMÉRICO. * __**Observações**__: Tipo - TEXTO. dados das Células de Origem e Destino: * __**Unidade Orçamentária**__: Formato - NOME DA UNIDADE (SIGLA)(CÓDIGO), Tipo - TEXTO. No caso da célula de destino será a Unidade Gestora do Usuário logado. * __**Programa de Trabalho Resumido (PTRes)**__: Formato - NOME DO PROGRAMA DE TRABALHO (CÓDIGO), Tipo - TEXTO. * __**Natureza da Despesa**__: Formato - NOME DA NATUREZA DE DESPESA (CÓDIGO), Tipo - TEXTO. * __**Fonte de Recurso**__: Formato - NOME DA FONTE DE RECURSO (CÓDIGO), Tipo - TEXTO. * __**Esfera**__: Formato - NOME DA ESFERA (CÓDIGO), Tipo - TEXTO. * __**Plano Interno**__: Formato - NOME DO PLANO INTERNO (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|RN19]]) ===== 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 Alocação de Centros de Custo seja realizada: * **RN01** - O ano orçamentário das células orçamentárias devem ser iguais; * **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** - Não poderá ser realizada uma Alocação de Centros de Custo de uma célula para ela mesma; * **RN04** - O valor deverá ser maior que zero; * **RN05** - A unidade da célula de destino deverá ser a unidade gestora do usuário logado; * **RN06** - A unidade da célula de origem deverá ser subordinada à gestora do usuário logado e não ser gestora; * **RN07** - O valor a ser anulado não poderá ser maior que o valor já alocado para célula de origem. * **RN08** - Total Transferido não poderá ser atualizado para um valor negativo; * **RN09** - Total Distribuído não poderá ser atualizado para um valor negativo; * **RN10** - [[desenvolvimento:especificacoes:sipac:orcamentario:configuracoes_de_orcamento | Verificação de Saldo Negativo]], verificar regras de negócio; * **RN11** - 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. * **RN12** - O **Total Distribuido** da célula de origem será subtraído com o valor da transferência; * **RN13** - O **Saldo** da célula de origem será subtraído com o valor da transferência; * **RN14** - O **Total Transferido** da célula de origem será subtraído com o valor da transferência; * **RN15** - O **Saldo** da célula de destino será adicionado com o valor da transferência; * **RN16** - 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 Alocação para Centro de Custo 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; * **RN17** - 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) * **RN18** - Se o parâmetro UTILIZA_PROTOCOLO_SIPAC estiver configurado como false o campo **Se é processo de outra instituição** não será exibido. * **RN19** - Os responsáveis das unidades movimentadas serão notificados via email. * **RN19** - 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). ===== 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 -> Centros de Custos -> Anulação de Alocação de Centros de Custo Usuário: * seomejc (ScoPapeis.EXECUTOR_ORCAMENTO) * larrubia2 (ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL) * raiula (ScoPapeis.EXECUTOR_CONVENIO) Papel que usuário deve ter: ScoPapeis.EXECUTOR_ORCAMENTO, ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL, ScoPapeis.EXECUTOR_CONVENIO ===== 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 está 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: 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 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