SEFAZDefinitions

De Wiki do Leitão
Revisão de 14h25min de 20 de setembro de 2023 por Rodrigogml (discussão | contribs)
Ir para: navegação, pesquisa

A classe SEFAZDefinitions é uma classe estatática utilitária com algumas definições para facilitar o trabalho com os servidores da SEFAZ. Seu objetivo é acumular objetos (constantes, enums, etc.) que centralizem as definições da documentação da SEFAZ.

Entre os objetos tipos de objetos já existentes, temos:

Constantes

Contantes do WebService

Contantes no padrão: (UF)_(PRODUCTION|TESTE)_(VERSION)_(WEB METHOD), para informar o endereço de acesso ao método, exemplos:

Java 256.png Pontos de Acesso do WebService
  public static final String SP_PRODUCTION_V4_00_NFEAUTORIZACAO4 = "https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx";
  public static final String SP_TEST_V4_00_NFEAUTORIZACAO4 = "https://homologacao.nfe.fazenda.sp.gov.br/ws/NFeAutorizacao4.asmx";


Enumerations

Todas as enumerations desse classe devem começar com o prefixo Sefaz para se diferenciarem das enumerations do sistema do cliente.

Enumerations Auxiliares

Enumerations com valores de definição de valores comuns, mas que não necessariamente são utilizadas em campos do XML.


Enumerations de Valores do XML

Enumerations com os valores das tags do XML. Essas enumerations começam com o prefixo obrigatório da classe: Sefaz seguido de XML, montando o prefixo SefazXML e o nome da tag em que esse valor é utilizado.

Note 64.png
Variações do Nome
Como não é possível prever se esse padrão será sempre possível de ser mantido, por conta dos nomes das tags definidos pela Sefaz, podem haver enums fora do padrão de nome caso existam tags com o mesmo nome e conteúdos distintos. Neste caso recomendase adicionar mais sufixos para diferenciar, facilitando, assim, que essas enums sejam encontradas pelo desenvolvedor.

.valueOfXmlCode(String xmlCode) e .getXmlCode()

Essas enumerations devem sempre ter esse dois métodos auto-explicativos implementados, para facilitar a conversão entre o valor do XML e o valor da Enumeration.


Variações do .values()

Em algumas casos, a enumeration pode conter valores adicionais além dos aceitos na tag do XML. Seja por serem valores deprecados mantidos por compatibilidade, seja por serem valores adicionais para auxiliar no sistema.

Por isso é preciso tomar cuidado ao utilizar o método padrão .values() da enumeration sem filtros para disponibilizar os valores nos campos para o usuário.

Algumas enumerations podem conter algumas variações do método .values() para retornar o array apenas os valores validas para a uma tag, versão, etc.. Verifique em casa objetos os disponíveis. Para manter um padrão nos nomes dos métodos, temos aqui uma lista dos nomes e padrões já utilizados:

  • <Aguardando o primeiro>