Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
3115e64
atualizacao de schemas
joaovictorjs Dec 15, 2025
d06eb4f
adicao botao de testes
joaovictorjs Dec 15, 2025
0d3fc09
refactor: ajuste dos parametros
joaovictorjs Dec 17, 2025
98b67dc
refactor: altera nome de propriedade loteNfe para lote e decide qual …
joaovictorjs Dec 17, 2025
bcbb589
feat: adicionar validação de detalhamento do evento
joaovictorjs Dec 17, 2025
94f14d4
fix: remove espaçamento no nome do arquivo de schema
joaovictorjs Dec 17, 2025
8d0e41d
fix: alterar nome do schema do evento e212110
joaovictorjs Dec 18, 2025
9074009
feat: adicionar remocao de acentos
joaovictorjs Dec 18, 2025
e8bf41b
refactor: remover botão de testagem de eventos
joaovictorjs Dec 18, 2025
19e215b
chore: remover usings sem uso
joaovictorjs Dec 18, 2025
0ab23a1
refactor: remover variavel sem uso
joaovictorjs Dec 18, 2025
594e43f
fix: adicionar validarSchemas na condicional de validação detEvento
joaovictorjs Dec 18, 2025
5985945
feat: adicionar função para adicionar namespace a um xml
joaovictorjs Dec 18, 2025
b6837ed
feat: adicionar códigos de classificacao cCredPres
joaovictorjs Dec 19, 2025
3128486
refactor: ajustar nome do enum e melhorar legibilidade
joaovictorjs Dec 19, 2025
91de809
refactor: alterar tipo de dados da variavel cCredPress
joaovictorjs Dec 19, 2025
2b286b9
refactor: remover condicional para serialização de Ibs/Cbs como atrib…
joaovictorjs Dec 22, 2025
b898aee
feat: adicionado condicional para serializar nItem ou nItemDFeRef
joaovictorjs Dec 22, 2025
87d3850
refactor: ajustado descrição para o evento 212110
joaovictorjs Dec 22, 2025
b79cf6a
refactor: ajustado descrição do evento 212120
joaovictorjs Dec 22, 2025
02c0d38
refactor: ajustado descrição do evento 412120
joaovictorjs Dec 22, 2025
51c0403
refactor: ajustar descrição do evento 412130
joaovictorjs Dec 22, 2025
9e51966
refactor: alterar ordem do campo tpEventoAut para ficar acima do camp…
joaovictorjs Dec 22, 2025
3224df5
refactor: criar detEvento sem campo tpAutor
joaovictorjs Dec 22, 2025
6753e68
chore: melhorar legibilidade
joaovictorjs Dec 22, 2025
2ccc455
chore: remover espaçamento extra
joaovictorjs Dec 22, 2025
9b4fe8c
chore: renomear variável validarDetEvento para deveValidarDetEvento
joaovictorjs Dec 22, 2025
8eefeab
refactor: remover código comentado
joaovictorjs Dec 22, 2025
e4bb47b
refactor: melhorar legibilidade de código
joaovictorjs Dec 22, 2025
160a0a8
refactor: remover variável sem uso
joaovictorjs Dec 22, 2025
d41f019
fix: ajustar enum
joaovictorjs Dec 22, 2025
24f5610
refactor: remover condicional para serialização de nItem
joaovictorjs Dec 22, 2025
af24043
refactor: remover função ObterXmlComNamespace e utilizar atributos Xm…
joaovictorjs Dec 22, 2025
ce90004
chore: adicionar licença pública
joaovictorjs Dec 22, 2025
da15d62
chore: remover usings e variaveis sem uso
joaovictorjs Dec 22, 2025
436f9c5
chore: simplificar validação da condicional ValidarSchemas
joaovictorjs Dec 22, 2025
2b057a9
refactor: remover validação para serializar campos como elemento/atri…
joaovictorjs Dec 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,134 changes: 1,426 additions & 708 deletions NFe.AppTeste/MainWindow.xaml

Large diffs are not rendered by default.

1,663 changes: 1,122 additions & 541 deletions NFe.AppTeste/MainWindow.xaml.cs

Large diffs are not rendered by default.

75 changes: 75 additions & 0 deletions NFe.AppTeste/Schemas/e110001_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by [email protected] (PROCERGS) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Informações do Cancelamento de evento</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="descEvento">
<xs:annotation>
<xs:documentation>Informar “Cancelamento de Evento"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Cancelamento de Evento"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cOrgaoAutor" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>Código do Órgão Autor do Evento. Informar o Código da UF para este Evento.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpEventoAut">
<xs:annotation>
<xs:documentation>Código do evento autorizado a ser cancelado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="112110"/>
<xs:enumeration value="112120"/>
<xs:enumeration value="112130"/>
<xs:enumeration value="112140"/>
<xs:enumeration value="112150"/>
<xs:enumeration value="211110"/>
<xs:enumeration value="211120"/>
<xs:enumeration value="211124"/>
<xs:enumeration value="211128"/>
<xs:enumeration value="211130"/>
<xs:enumeration value="211140"/>
<xs:enumeration value="211150"/>
<xs:enumeration value="212110"/>
<xs:enumeration value="212120"/>
<xs:enumeration value="412120"/>
<xs:enumeration value="412130"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nProtEvento" type="TProt">
<xs:annotation>
<xs:documentation>Informar o número do Protocolo de Autorização do Evento a ser cancelado</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="versao">
<xs:annotation>
<xs:documentation>Versão do leiaute do evento </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
69 changes: 69 additions & 0 deletions NFe.AppTeste/Schemas/e112110_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by [email protected] (PROCERGS) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Informações do Evento de Informação de efetivo pagamento integral para liberar crédito presumido do adquirente</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="descEvento">
<xs:annotation>
<xs:documentation>Descrição do Evento de Informação de efetivo pagamento integral para liberar crédito presumido do adquirente</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Informação de efetivo pagamento integral para liberar crédito presumido do adquirente"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cOrgaoAutor" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>Código do Órgão Autor do Evento. Informar o Código da UF para este Evento.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpAutor">
<xs:annotation>
<xs:documentation>Informar 1=Empresa emitente
Valores: 1=Empresa Emitente, 2=Empresa destinatária; 3=Empresa; 5=Fisco;6=RFB; 9=Outros Órgãos;
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="indQuitacao">
<xs:annotation>
<xs:documentation>Indicador de efetiva quitação do pagamento integral referente a NFe referenciada.
Valor deve ser igual a "1"
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="versao">
<xs:annotation>
<xs:documentation>Versão do leiaute do evento </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
107 changes: 107 additions & 0 deletions NFe.AppTeste/Schemas/e112120_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by [email protected] (PROCERGS) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Informações do Evento de Importação em ALC/ZFM não convertida em isenção</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="descEvento">
<xs:annotation>
<xs:documentation>Descrição do evento: "Importação em ALC/ZFM não convertida em isenção"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Importação em ALC/ZFM não convertida em isenção"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cOrgaoAutor" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>Código do Órgão Autor do Evento. Informar o Código da UF para este Evento.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpAutor">
<xs:annotation>
<xs:documentation>Informar 1=Empresa emitente
Valores: 1=Empresa Emitente, 2=Empresa destinatária; 3=Empresa; 5=Fisco;6=RFB; 9=Outros Órgãos;
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gConsumo" maxOccurs="990">
<xs:annotation>
<xs:documentation>Informações de itens integrados ao ativo imobilizado</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="vIBS" type="TDec_1302">
<xs:annotation>
<xs:documentation>Valor do IBS correspondente à quantidade que não atendeu aos requisitos para a conversão em isenção</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="vCBS" type="TDec_1302">
<xs:annotation>
<xs:documentation>Valor do CBS correspondente à quantidade que não atendeu aos requisitos para a conversão em isenção</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gControleEstoque">
<xs:complexType>
<xs:sequence>
<xs:element name="qtde" type="TDec_1104">
<xs:annotation>
<xs:documentation>Informar a quantidade que não atendeu os requisitos para a conversão em isenção</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="unidade">
<xs:annotation>
<xs:documentation>Informar a unidade relativa ao campo gConsumo</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TString">
<xs:maxLength value="6"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="nItem" type="TnItem" use="required">
<xs:annotation>
<xs:documentation>Corresponde ao atributo “nItem” do elemento “det” da NF-e de importação </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="versao">
<xs:annotation>
<xs:documentation>Versão do leiaute do evento </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:unique name="pk_nItem">
<xs:selector xpath="./*"/>
<xs:field xpath="@nItem"/>
</xs:unique>
</xs:element>
</xs:schema>
119 changes: 119 additions & 0 deletions NFe.AppTeste/Schemas/e112130_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by [email protected] (PROCERGS) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="tiposBasico_v1.03.xsd"/>
<xs:element name="detEvento">
<xs:annotation>
<xs:documentation>Informações do Evento de Perecimento, perda, roubo ou furto durante o transporte contratado pelo fornecedor</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="descEvento">
<xs:annotation>
<xs:documentation>Descrição do evento: "Perecimento, perda, roubo ou furto durante o transporte contratado pelo fornecedor""</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Perecimento, perda, roubo ou furto durante o transporte contratado pelo fornecedor"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cOrgaoAutor" type="TCodUfIBGE">
<xs:annotation>
<xs:documentation>Código do Órgão Autor do Evento. Informar o Código da UF para este Evento.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tpAutor">
<xs:annotation>
<xs:documentation>Informar 1=Empresa emitente
Valores: 1=Empresa Emitente, 2=Empresa destinatária; 3=Empresa; 5=Fisco;6=RFB; 9=Outros Órgãos;
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="verAplic" type="TVerAplic">
<xs:annotation>
<xs:documentation>Versão do Aplicativo que recebeu o Evento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gPerecimento" maxOccurs="990">
<xs:annotation>
<xs:documentation>Informações por item da Nota de Fornecimento</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="vIBS" type="TDec_1302">
<xs:annotation>
<xs:documentation>Valor do IBS na Nota de Fornecimento correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="vCBS" type="TDec_1302">
<xs:annotation>
<xs:documentation>Valor da CBS na Nota de Fornecimento correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gControleEstoque">
<xs:complexType>
<xs:sequence>
<xs:element name="qPerecimento" type="TDec_1104">
<xs:annotation>
<xs:documentation>Informar a quantidade que foi objeto de roubo, perda, furto ou perecimento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="uPerecimento">
<xs:annotation>
<xs:documentation>Informar a unidade relativa ao campo qPerecimento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="TString">
<xs:maxLength value="6"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:sequence>
<xs:element name="vIBS" type="TDec_1302">
<xs:annotation>
<xs:documentation>Valor do crédito IBS referente às aquisições a ser estornado correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="vCBS" type="TDec_1302">
<xs:annotation>
<xs:documentation>Valor do crédito CBS referente às aquisições a ser estornado correspondente à quantidade que foi objeto de roubo, perda, furto ou perecimento</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="nItem" type="TnItem" use="required">
<xs:annotation>
<xs:documentation>Corresponde ao atributo “nItem” do elemento “det” da NF-e de importação </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="versao">
<xs:annotation>
<xs:documentation>Versão do leiaute do evento </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="1.00"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:unique name="pk_nItem">
<xs:selector xpath="./*"/>
<xs:field xpath="@nItem"/>
</xs:unique>
</xs:element>
</xs:schema>
Loading