auto incremento xml delphi tiss 3.04.00

Delphi

XML

03/10/2019

Olá, com essa nova regra da GUIA TISS 3.04.00 preciso fazer um auto incremento em uma tag no xml, como eu faço? direto no banco ou uma function no delphi? por favor se possivel postar exemplos
Luiz

Luiz

Curtidas 0

Melhor post

Alex William

Alex William

03/10/2019

Olá amigo, qual banco você usa?

Eu quando fiz as guias TISS, sempre fiz o banco com um auto incremento para indexar as tabelas.

Então sempre usava o "numero da guia na operadora" como o indexador da tabela, porque eu trabalhava com o sistema de uma operadora de plano de saúde.

Acho que fica mais simples se for no banco de dados mesmo, ai só adiciona o campo do banco que tem o ID no teu XML e ta pronto.

Só precisaria alterar a tabela que tem as guias, ou se tu usa procedure/view gerar um ID por elas, ai seria mais fácil ainda.

Espero ter ajudado. :D

P.S.: Como não sei como você gera os XML, não posso dar exemplos. Obrigado.
GOSTEI 1

Mais Respostas

Luiz

Luiz

03/10/2019

Opa, eu uso postgress, e agora é obrigatório dois campos sequencialItem dentro do procedimentosItem. e um sequencialItem dentro do outrasDespesas. Se puder me mandar exemplos eu agradeceria
GOSTEI 0
Alex William

Alex William

03/10/2019

Olá, amigo. Tudo bem?

Você cadastrar toda as outras despesas e procedimentos numa mesma tabela, ou você separa os procedimentos e despesas em tabelas separadas.

Você pode adicionar nas tabelas que ficam os vinculos dos procedimentos a guia, e adicionar um campo de sequencial procedimento. Exemplo:

TABELA proc_despesas
ID_GUIA | COD_PROCEDIMENTO | VALOR
2532 | 10101012-Consulta | 60,00

Ficaria assim:
ID_GUIA | COD_PROCEDIMENTO | VALOR | SEQ_PROCEDIMENTO
2532 | 10101012-Consulta | 60,00 | 1
2532 | 30305025-Sei la q cod | 60,00 | 2

Esse campo viria do seu CRUD e seria o numero da linha que o usuario inseriu o procedimento em questao.

Eu faria desta forma, você terá que ver como pegar os numeros das linhas no DELPHI, pq acredito que cadastrar no banco seja a parte mais facil.

Espero ter ajudado. :D
GOSTEI 1
Luiz

Luiz

03/10/2019

Entendi, mas tu teria algum exemplo de auto incremento para me passar em delphi por gentileza?
GOSTEI 0
Alex William

Alex William

03/10/2019

Entendi, mas tu teria algum exemplo de auto incremento para me passar em delphi por gentileza?


Eu não entendi amigo porque você ainda insiste em auto incremento no delphi.

Faça como eu te disse, adicione um campo no banco de dados, onde você vincula os procedimentos a guia e guarde O NUMERO DA LINHA como SEQUENCIAL do procedimento na guia.

Um incremento nada mais é do que uma variavel do tipo inteiro que se incrementa a cada linha gerada, o cada vez que o for terminar um laço.

Lembre-se que eu disse na primeira resposta que eu não trabalho com delphi, logo não sei como é a codificação.
Estou te dando toda a lógica de como proceder, você precisa aplicar o que eu lhe disse e transformar em código no delphi.

Eu pesquisei no google por 30s e achei algo do tipo:
cont: integer;  

Inc(cont,1);


Mas cabe a você aplicar isso no seu código, se você realmente fez todo o sistema de arquivos do padrão TISS(que é muito chato, eu sei), colocar um incremento de contagem de linhas não é mistério.

Espero ter ajudado. :D
GOSTEI 1
Luiz

Luiz

03/10/2019

Ok, obrigado.
GOSTEI 1
Carlos Santos

Carlos Santos

03/10/2019

Boa

Para cálculo do HASH MD5, devo incluir os dados das tags a partir do cabeçalho ou já começa com os atributos mensagemTISS do início do arquivo?

HASh nunca bate com o da operadora
GOSTEI 0
POSTAR