Árvore de páginas

Versões comparadas

Chave

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

...

02. Detalhamento 
Âncora
ATUAL
ATUAL

A)

...

Atualmente, devido a importação da tabela Brasíndice®, já temos tela de configuração de importação, para facilitar o processo de importar os arquivos.  Vamos utilizar o mesmo conceito e tabela, para realizar as mesmas configurações para a SIMPRO®, mas observando as seguintes diferenças:

...

  1. Utilizar neste fonte o conceito de herança do MVC, onde devemos herdar as características do fonte PLSBRASIN1 e realizar os devidos ajustes. 

...

  • (20) Material Hospitalar
  • (50) Medicamentos
  • (70) Perfumaria
  • (90) Reagentes
  • (30) Saneantes

...

  • Deixar claro no Documento de Referência que não deve ser gerado arquivo único, mas um individual para cada item a ser importado.  E se mesmo assim gerar um arquivo único, todos os itens serão importados para a tabela no qual ocorrer o match, sem diferenciar medicamento ou material pelo tipo de registro.

...

  • O campo agora deverá ficar visível na VIEW e no browse de configuração;
  • Identificar de forma automática de qual menu foi a chamada, para colocar no campo B6G_TIPARQ o cadastro correspondente. Por exemplo, se a ação originou na tela da Brasíndice® (PLSBRASIN1), colocar no campo B6G_TIPARQ o valor 1=Brasíndice®. Se originou na SIMPRO® (PLSSIMPRO), colocar 2=SIMPRO®.

...

  • Se estou cadastrando um item Brasíndice®, não posso usar as opções Reagentes / Saneantes / Perfumaria (B6G_TIPPRO), bem como a opção Preço Usuário (B6G_TIPO);
  • Se estou cadastrando SIMPRO®, não posso usar a opção Soluções.
  • Demais regras que existem para a Brasíndice®, como para Soluções e Materiais usar apenas Preço de Fábrica devem ser mantidas para Brasíndice®.
    • Solução: manipular o conteúdo do CBOX do campo B6G_TIPPRO, para exibir apenas as opções pertinentes para cada cadastro: Exemplo: cadastro no X3_CBOX as novas opções de Perfumaria / Saneantes / Reagentes, ficando 1=Materiais;2=Medicamentos;3=Soluções;4=Perfumaria;5=Saneantes;6=Reagentes;  
    • Na VIEW do PLSBRASIN2, manipular para exibir apenas as opções pertinentes para cada tipo de tabela, pelo atributo MVC_VIEW_COMBOBOX, onde podemos passar esse atributo, seguido de um array ou função. Nesse caso, passar uma função, que vai recuperar os valores do X3_CBOX do campo B6G_TIPPRO - GetSx3Cache("B6G_TIPPRO","X3_CBOX") e na função, tratar o retorno do campo de acordo com a tabela selecionada -  SIMPRO® ou Brasíndice®.
    • https://tdn.totvs.com/pages/releaseview.action?pageId=6815033 -> GetSx3Cache

...

  • O controle do campo deve ser efetuado igual ao do campo B6G_TIPPRO, para exibir de forma correta somente para a SIMPRO® a opção Preço do Usuário.
  • Como na Brasíndice®, temos também a possibilidade de preço total ou fracionado, informado no campo B6G_TIPVAL, que será idêntico na SIMPRO®.

...

Entrada dos dados para a nova tela de Fornecimento Direto - Tela de medicamento de uso Constante (portal beneficiário)

Uma das entradas de solicitação de Fornecimento direto se dará por meio do Portal Web do beneficiário, por meio da tela de  solciitação do beenrficiário 

...


B) Importação - Regras

  1. Vamos utilizar como padrão o arquivo TXT e o CSV, ambos separados por ponto e vírgula (;).  Essa informação deve estar de forma clara e concisa no documento de referência.
    1. Existe a opção de XML, mas para esse tipo de exportação, o cliente deve ter o módulo adicional.  Como nem todos possuem, será aceito para importação apenas os arquivos TXT e CSV, separados por ponto e vírgula.
      1. Ao realizar a leitura da primeira linha do arquivo, se o separador for diferente de ponto e vírgula, podemos recusar o arquivo e partir para o próximo arquivo, gravando essa inconsistência, para exibir ao usuário no final do processo.
  2. Além do nome do arquivo, que deverá ter nome igual as regras cadastradas no B6G - Configuração de Importação - deverá ser colocado também o código da mensagem SIMPRO® de atualização, seguido dos dois últimos dígitos do ano.  Exemplo: Se temos uma regra onde o nome definido foi SANEANTES+PFB, e o arquivo de mensagem (atualização) SIMPRO® foi 6, do ano de 2021, o nome do arquivo deverá ser algo como SANEANTES_PFB_621.TXT ou SANEANTESPFB_621.CSV.
  3. Ao clicar no botão Importar, deve ser exibido um ParamBox, onde o usuário deverá informar:
    1. Pasta onde os arquivos CSV/TXT estão localizados (OBRIGATÓRIO);
    2. Código Mensagem (atualização) SIMPRO® (igual ao do campo mensagens, existente no sistema VideoFarma®), seguido dos dois últimos dígitos do ano (OBRIGATÓRIO);
      1. Para cada atualização enviada, temos um código da VideoFarma® – como a edição na Brasíndice®.  Deverá ser colocado esse código, como: 33/2021, logo, deverá ser colocado 33 e os dois últimos dígitos do ano, ficando 3321.
    3. Data da mensagem da SIMPRO® (será informado como data inicial de vigência para os itens – BD4_VIGINI) e será subtraído um dia, quando for para fechar vigência (OBRIGATÓRIO);
    4. Campo para informar data de fim de vigência, para os itens que estiverem no status (L)Fora de Uso ou (D)Descontinuado (OBRIGATÓRIO);
    5. CheckBox para informar se nos itens com status (L)Fora de Uso ou (D)Descontinuado, se deseja usar a data fim de vigência da ANVISA ou a data do item acima, caso a data no arquivo esteja fora do padrão.
      1. Aqui, devemos ter atenção, pois não existe data de fim de vigência ou arquivo de exclusão, igual ocorre na Brasíndice®.  Assim, o usuário deve informar uma data de até quando deseja utilizar aquele item Descontinuado/Fora de Uso ou então, em conjunto com o checkbox, caso queira usar a data final de vigência da ANVISA, que consta no arquivo.
      2. Contudo, em alguns registros aparece apenas a informação “VIGENTE” ou outros e assim, vai usar a data inserida pelo usuário.
    6. Ao clicar em OK do ParamBox, o sistema deve varrer o diretório, localizando os arquivos TXT e CSV que tenham nomes similares as regras cadastradas na tela de configuração e que tenham código igual ao informado no Pergunte.
      1. Se localizar arquivo com nome igual a regra, mas a versão é diferente ou inexistente, o usuário deve ser indagado se deseja importar o arquivo, mas a versão utilizada será a que está no Pergunte, para fazer o relacionamento no campo BD4_CHVIMP.
      2. Só pode existir um arquivo para cada configuração!  Logo, se um arquivo já deu match com uma configuração, essa configuração não pode mais dar match com nenhum outro arquivo.
      3. Se encontrar arquivos, mas nenhum bate com as regras cadastradas, exibir uma caixa de desambiguação de arquivos, onde será exibido um browse com duas colunas, onde na primeira coluna, teremos os arquivos que não batem com nenhuma regra existente, e na segunda coluna, será exibido um combobox, com as regras que ainda não tiveram arquivos localizados, para o match manual.
        • Se todas as regras já tiverem um arquivo e mesmo assim, sobrou arquivos "órfãos", a janela de desambiguação não deve ser exibida, pois conforme item II acima, uma regra só pode ter um arquivo relacionado.
        • Registrar essa inconsistência, para exibir no final do processamento para o usuário.
        • Essas opções e janela existem na importação da Brasíndice®, no PLSBRSIN1.
  4. Criar rotina específica para leitura dos arquivos TXT e CVD da SIMPRO®.
    1. Não é possível usar a mesma rotina da Brasíndice®, pois possui particularidades próprias
    2. A rotina deve contar com parte visual, para exibir o andamento do progresso das operações.
    3. Utilizar a classe FWFileReader() para leitura dos arquivos, setando um buffer de no mínimo, 10KB, para melhorar a performance da importação.
    4. https://tdn.totvs.com/display/framework/FWFileReader -> FwFileReader
  5. Realizar o parse em cada linha, para desmembrar as colunas separadas com o ponto e vírgula, para trabalhar os dados e realizar as devidas inclusões/alterações e fechamento de vigências.
    1. Para quebrar a linha lida, coo foi usado o ponto e vírgula como separador, usar o StrTokArr2, para criar o array baseado na string lida.
  6. No final da importação, exibir um resumo dos arquivos importados, com problemas e registros não válidos, caso aconteça.

...