Mudanças entre as edições de "SEFAZDefinitions"
Linha 33: | Linha 33: | ||
{{nota|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.}} | {{nota|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.}} | ||
=== Variações do .values() == | === .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. | 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. |
Edição das 14h25min de 20 de setembro de 2023
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:
![]() |
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.
![]() |
|
.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>