Árvore de páginas

Versões comparadas

Chave

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

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

Microsiga Protheus

Módulo

SIGAPLS

Segmento Executor

Saúde

Chamado

TULEJM

País

( x ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Objetivo

DIOPS é o Documento de Informações Periódicas das Operadoras de Planos de Saúde, que devem ser enviados trimestralmente à ANS. As informações que compõem este documento são: quadros cadastrais, quadros financeiros, quadros gerenciais e informações gerais. O documento tem por objetivo fornecer condições para que a DIOPS (ANS) possa efetuar o controle, o monitoramento e o acompanhamento das operadoras.

A ANS verifica e valida o conteúdo desses arquivos através do seu site, no entanto, algumas ferramentas estão disponíveis para execução dessa tarefa antes do envio, permitindo que erros sejam corrigidos antes do envio à ANS.

 

Além disso, a ferramenta permite a importação de arquivos com layouts pré-definidos ou digitação das informações manualmente em todos os quadros. Essa especificação contempla todas as informações necessárias para o desenvolvimento do relatório para preenchimento do quadro financeiro - Fluxo Caixa Trimestral no DIOPS X-Press.

Definição da Regra de Negócio

Os dados do Fluxo de Caixa Trimestral devem ser exportados através do Protheus em formato CSV de acordo com o layout abaixo:

Descrição da conta;valor

Exemplo:

 

Recebimentos de Plano Saúde;22664.00  

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

PLSDFLCXTR

Inclusão

Miscelânea -> DIOPS -> Fluxo Trimestral

-

 

  1. Criar novo fonte PLSDFLCXTR cuja funcionalidade é gerar o arquivo CSV resultante desta especificação.
  2. Criar novo grupo de perguntas PLSDFLCXTR contendo as seguintes opções:
    1. Data Inicial
    2. Data Final
    3. Período: 1 - Diário; 2 - Mensal
    4. Período anterior: 1 - Sim; 2 - Não
       
  3. Criar novas funções no fonte para montar arquivo temporário com os valores de recebimentos e pagamentos, seguindo exemplo do relatório CTBR560(Contabilidade Gerencial - Relatórios - Demonstrativos - Dem. Fluxo Caixa).
    1. Seguindo o exemplo CTBR560, criar função PLSDFLCXTR() similar a CtbR560(), modificando os parâmetros utilizando o pergunte criado anteriormente (PLSDFLCXTR), além de alterar o cTitulo para "Fluxo de Caixa Trimestral";
    2. Criar nova função similar a função CTBR560R3() para verificação se os parâmetros Data Inicial e Data Final estão dentro do calendário cadastrado na CTG;
    3. Criar nova função similar a função Ctr560Det() para criação dos detalhes do relatório, como as linhas do relatório não são contas contábeis, deverá fazer um rastro para identificar os títulos correspondentes a cada linha.
      Exemplo: Recebimentos de plano de saúde
      Na visão gerencial será criado esta linha “Recebimentos de Plano de Saúde” e vinculada a conta contábil 3111...,  porém nesta conta contábil totaliza todas as Contraprestações emitidas. Sendo assim para saber o valor  somente dos recebidos desta  conta, deverá fazer o seguinte rastro:
      1. Código de configuração de livro (CTN) de acordo com o conteúdo do parâmetro;
      2. Visão gerencial (CTS) de acordo com o código de configuração do livro;
      3. Contas relacionadas (CT1) à Visão Gerencial;
      4. Verificar os lançamento contabilizados na conta encontrada (exemplo: 3111...) no período informado.
      5. Verificar o campo CT5_ATIVCR que será o número do lote de cobrança.
      6. Ir na BM1 e verificar todos os títulos vinculados neste lote de cobrança. Campo BM1_PREFIX + BM1_NUMTITI.
      7. Ir na SE5 e verificar se este títulos estão baixados, não considerando os títulos que estão baixados por FAT, DAC, LIQ.
        (mudar)
        Esquema de vínculo das tabelas:
        Image Removed

    4. Criar laço while para percorrer todos os registros localizados pela query e somar os valores localizados, seguindo o exemplo existente na função Ctr560Det:
       

      Bloco de código
      languagedelphi
      titleRepetição query
      Do Case
      				Case nPosCol = 1
      					nSaldo		:= cArqTmp->SALDOATU
      					If cArqTmp->TIPOCONTA == "1" .AND. Empty( cArqTmp->SUPERIOR ) .AND. cArqTmp->TOTVIS == "1"
      						nSaldoAtu 	+= nSaldo
      					EndIf
      				Case nPosCol = 2
      					nSaldo		:= cArqTmp->SALDOANT
      					If cArqTmp->TIPOCONTA == "1" .AND. Empty( cArqTmp->SUPERIOR ) .AND. cArqTmp->TOTVIS == "1"
      						nSaldoAnt 	+= nSaldo
      					EndIf
      				Case nPosCol = 3
      					nSaldo		:= GetVarEnt(cArqTmp->CONTA,cCodVis,cArqTmp->ORDEM)//cArqTmp->(SALDOATU-SALDOANT)
      					If cArqTmp->TIPOCONTA == "1" .AND. Empty( cArqTmp->SUPERIOR ) .AND. cArqTmp->TOTVIS == "1"
      						nSaldoVar 	+= nSaldo
      					EndIf
      			EndCase

       

    Criar
    1. Utilizar a função
    para gerar o arquivo CSV com o seguinte layout:
    Image Removed
  4. Descrição da Conta
  5. Valor

    Exemplo de função para montagem do CSV (adaptar a função para que o cabeçalho respeite a ordem acima citada, de acordo com o tipo do ativo):

    Bloco de código
    languagedelphi
     cDirCsv := cGetFile("TOTVS","Selecione o diretorio",,"",.T.,GETF_OVERWRITEPROMPT + GETF_NETWORKDRIVE + GETF_LOCALHARD + GETF_RETDIRECTORY)
    nFileCsv := FCreate(cDirCsv+"NOME_ARQUIVO.csv",0,,.F.)
    If nFileCsv > 0
        FWrite(nFileCSV,"Coluna 1;Coluna 2"+CRLF)
        For nI := 1 TO Len(aFluxo)
            FWrite(nFileCSV,aFluxo[nI,1]+";"+aFluxo[nI,2]+CRLF)
        Next nI
        FClose(nFileCSV)
    Else
        MsgInfo("Não foi possível criar o arquivo " + cDirCsv+cFileRPX,"TOTVS")
    EndIf
    1. (PLSGerCSV) para geração do arquivo CSV, passando os seguintes parâmetros:
      - Nome do arquivo
      - cabeçalho do arquivo
      - array com os dados. Ex: {Recebimentos de Plano Saúde;22664.00 }


    Image AddedIncluir uma linha informando o parâmetro de período ou data escolhido ex: Período de 01/03/2016 às 02/03/2016, assim o usuários consegue identificar a que período corresponde o valor totalizado.

Tabelas Utilizadas

  • CTN
  • CTS
  • CT1
  • CT2
  • CVN
  • CVD

Grupo de Perguntas

 

Nome: PLSDFLCXTR 

X1_ORDEM

01

X1_PERGUNT

Data Inicial

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

 

X1_HELP

Data inicial do intervalo para emissão do DIOPS de fluxo de caixa trimestral

 

X1_ORDEM

02

X1_PERGUNT

Data Final

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR02

X1_HELP

Data final do intervalo para emissão do DIOPS de fluxo de caixa trimestral

ORDEM

X1_ORDEM

03

X1_PERGUNT

Cód. Conf. Livros

X1_TIPO

D

X1_TAMANHO

3

X1_GSC

G

X1_VAR01

MV_PAR03

X1_HELP

Código da configuração do livro que será considerado na busca de ativos vinculados para o DIOPS.

X1_

04

X1_PERGUNT

Período

X1_TIPO

C

X1_TAMANHO

1

X1_GSC

C

X1_VAR01

MV_PAR04PAR03

X1_DEF01

"Diário"

X1_DEF02

"Mensal"

X1_HELP

Informa se o período para geração do DIOPS será diário (1) ou mensal (2).

X1_ORDEM

0504

X1_PERGUNT

Período Anterior

X1_TIPO

C

X1_TAMANHO

1

X1_GSC

G

X1_VAR01

MV_PAR05PAR04

X1_DEF01

"Sim"

X1_DEF02"Não"

X1_HELP

Informa se será considerado período anterior para gerar DIOPS de fluxo de caixa trimestral.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.