Skip to content

Commit 19e48cd

Browse files
authored
Merge pull request #49 from neicecilio/feature/agropecuario
feat:Adicionado grupo de informações de Produtos da Agricultura, Pecuária e Produção Florestal (NT 2024.003)
2 parents efabde7 + d6da73c commit 19e48cd

File tree

6 files changed

+268
-1
lines changed

6 files changed

+268
-1
lines changed

NFe.AppTeste/Schemas/leiauteNFe_v4.00.xsd

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<!-- edited with XMLSpy v2008 (http://www.altova.com) by [email protected] (PROCERGS) -->
2+
<!-- edited with XMLSpy v2011 sp1 (http://www.altova.com) by End User (free.org) -->
33
<!-- PL_009 alterações de esquema decorrentes da - NT2016.002 v1.20 - 31/05/2017 13:14hs-->
44
<!-- PL_008g alterações de esquema decorrentes da - NT2015.002 - 15/07/2015 -->
55
<!-- PL_008h alterações de esquema decorrentes da - NT2015.003 - 17/09/2015 -->
@@ -17,6 +17,7 @@
1717
<!-- PL_009l_NT2023_002_v100 - Alteração de Schema para evitar caracteres inválidos -->
1818
<!-- PL_009m_NT2019_001_v155 - Inclusão de campos para Crédito Presumido e Redução da base de cálculo -->
1919
<!-- PL_009m_NT2023_004_v101 - Informações de Pagamentos e Outros -->
20+
<!-- PL_009p_NT2024_003_v101 - Produtos agropecuários -->
2021
<xs:schema xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:editix="http://www.portalfiscal.inf.br/nfe" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.portalfiscal.inf.br/nfe" elementFormDefault="qualified" attributeFormDefault="unqualified">
2122
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema_v1.01.xsd"/>
2223
<xs:include schemaLocation="tiposBasico_v4.00.xsd"/>
@@ -6285,6 +6286,88 @@ tipo de ato concessório:
62856286
</xs:sequence>
62866287
</xs:complexType>
62876288
</xs:element>
6289+
<xs:element name="agropecuario" minOccurs="0">
6290+
<xs:annotation>
6291+
<xs:documentation>Produtos Agropecurários Animais, Vegetais e Florestais</xs:documentation>
6292+
</xs:annotation>
6293+
<xs:complexType>
6294+
<xs:choice>
6295+
<xs:element name="defensivo">
6296+
<xs:annotation>
6297+
<xs:documentation>Defensivo Agrícola / Agrotóxico</xs:documentation>
6298+
</xs:annotation>
6299+
<xs:complexType>
6300+
<xs:sequence>
6301+
<xs:element name="nReceituario">
6302+
<xs:annotation>
6303+
<xs:documentation>Número do Receituário ou Receita do Defensivo / Agrotóxico</xs:documentation>
6304+
</xs:annotation>
6305+
<xs:simpleType>
6306+
<xs:restriction base="xs:string">
6307+
<xs:maxLength value="20"/>
6308+
<xs:minLength value="1"/>
6309+
</xs:restriction>
6310+
</xs:simpleType>
6311+
</xs:element>
6312+
<xs:element name="CPFRespTec" type="TCpf">
6313+
<xs:annotation>
6314+
<xs:documentation>CPF do Responsável Técnico pelo receituário</xs:documentation>
6315+
</xs:annotation>
6316+
</xs:element>
6317+
</xs:sequence>
6318+
</xs:complexType>
6319+
</xs:element>
6320+
<xs:element name="guiaTransito">
6321+
<xs:annotation>
6322+
<xs:documentation>Guias De Trânsito de produtos agropecurários animais, vegetais e de origem florestal.</xs:documentation>
6323+
</xs:annotation>
6324+
<xs:complexType>
6325+
<xs:sequence>
6326+
<xs:element name="tpGuia">
6327+
<xs:annotation>
6328+
<xs:documentation>Tipo da Guia: 1 - GTA; 2 - TTA; 3 - DTA; 4 - ATV; 5 - PTV; 6 - GTV; 7 - Guia Florestal (DOF, SisFlora - PA e MT, SIAM - MG)</xs:documentation>
6329+
</xs:annotation>
6330+
<xs:simpleType>
6331+
<xs:restriction base="xs:string">
6332+
<xs:whiteSpace value="preserve"/>
6333+
<xs:enumeration value="1"/>
6334+
<xs:enumeration value="2"/>
6335+
<xs:enumeration value="3"/>
6336+
<xs:enumeration value="4"/>
6337+
<xs:enumeration value="5"/>
6338+
<xs:enumeration value="6"/>
6339+
<xs:enumeration value="7"/>
6340+
</xs:restriction>
6341+
</xs:simpleType>
6342+
</xs:element>
6343+
<xs:element name="UFGuia" type="TUfEmi" minOccurs="0"/>
6344+
<xs:element name="serieGuia" minOccurs="0">
6345+
<xs:annotation>
6346+
<xs:documentation>Série da Guia</xs:documentation>
6347+
</xs:annotation>
6348+
<xs:simpleType>
6349+
<xs:restriction base="TString">
6350+
<xs:minLength value="1"/>
6351+
<xs:maxLength value="9"/>
6352+
</xs:restriction>
6353+
</xs:simpleType>
6354+
</xs:element>
6355+
<xs:element name="nGuia">
6356+
<xs:annotation>
6357+
<xs:documentation>Número da Guia</xs:documentation>
6358+
</xs:annotation>
6359+
<xs:simpleType>
6360+
<xs:restriction base="xs:string">
6361+
<xs:pattern value="[0-9]{1,9}"/>
6362+
</xs:restriction>
6363+
</xs:simpleType>
6364+
</xs:element>
6365+
</xs:sequence>
6366+
</xs:complexType>
6367+
</xs:element>
6368+
</xs:choice>
6369+
</xs:complexType>
6370+
</xs:element>
62886371
</xs:sequence>
62896372
<xs:attribute name="versao" type="TVerNFe" use="required">
62906373
<xs:annotation>
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
using System.ComponentModel;
2+
using System.Xml.Serialization;
3+
4+
namespace NFe.Classes.Informacoes.Agropecuario
5+
{
6+
/// <summary>
7+
/// Tipo da Guia
8+
/// <para>1 - GTA - Guia de Trânsito Animal</para>
9+
/// <para>2 - TTA - Termo de Trânsito Animal</para>
10+
/// <para>3 - DTA - Documento de Transferência Animal</para>
11+
/// <para>4 - ATV - Autorização de Trânsito Vegetal</para>
12+
/// <para>5 - PTV - Permissão de Trânsito Vegetal</para>
13+
/// <para>6 - GTV - Guia de Trânsito Vegetal</para>
14+
/// <para>7 - Guia Florestal (DOF, SisFlora - PA e MT ou SIAM - MG)</para>
15+
/// </summary>
16+
public enum TipoGuia
17+
{
18+
/// <summary>
19+
/// 1 - GTA - Guia de Trânsito Animal
20+
/// </summary>
21+
[Description("GTA - Guia de Trânsito Animal")]
22+
[XmlEnum("1")]
23+
GTA = 1,
24+
25+
/// <summary>
26+
/// 2 - TTA - Termo de Trânsito Animal
27+
/// </summary>
28+
[Description("TTA - Termo de Trânsito Animal")]
29+
[XmlEnum("2")]
30+
TTA = 2,
31+
32+
/// <summary>
33+
/// 3 - DTA - Documento de Transferência Animal
34+
/// </summary>
35+
[Description("DTA - Documento de Transferência Animal")]
36+
[XmlEnum("3")]
37+
DTA = 3,
38+
39+
/// <summary>
40+
/// 4 - ATV - Autorização de Trânsito Vegetal
41+
/// </summary>
42+
[Description("ATV - Autorização de Trânsito Vegetal")]
43+
[XmlEnum("4")]
44+
ATV = 4,
45+
46+
/// <summary>
47+
/// 5 - PTV - Permissão de Trânsito Vegetal
48+
/// </summary>
49+
[Description("PTV - Permissão de Trânsito Vegetal")]
50+
[XmlEnum("5")]
51+
PTV = 5,
52+
53+
/// <summary>
54+
/// 6 - GTV - Guia de Trânsito Vegetal
55+
/// </summary>
56+
[Description("GTV - Guia de Trânsito Vegetal")]
57+
[XmlEnum("6")]
58+
GTV = 6,
59+
60+
/// <summary>
61+
/// 7 - Guia Florestal (DOF, SisFlora - PA e MT ou SIAM - MG)
62+
/// </summary>
63+
[Description("Guia Florestal (DOF, SisFlora - PA e MT ou SIAM - MG)")]
64+
[XmlEnum("7")]
65+
GuiaFlorestal = 7,
66+
}
67+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
namespace NFe.Classes.Informacoes.Agropecuario
2+
{
3+
public class agropecuario
4+
{
5+
#if NET5_0_OR_GREATER//o uso de tipos de referência anuláveis não é permitido até o C# 8.0.
6+
7+
/// <summary>
8+
/// ZF02 - serieGuia
9+
/// </summary>
10+
public defensivo? defensivo { get; set; }
11+
12+
/// <summary>
13+
/// ZF04 - Guia de Trânsito
14+
/// </summary>
15+
public guiaTransito? guiaTransito { get; set; }
16+
17+
public bool ShouldSerializedefensivo()
18+
{
19+
return defensivo != null;
20+
}
21+
public bool ShouldSerializeguiaTransito()
22+
{
23+
return guiaTransito != null;
24+
}
25+
#else
26+
/// <summary>
27+
/// ZF02 - serieGuia
28+
/// </summary>
29+
public defensivo defensivo { get; set; }
30+
31+
/// <summary>
32+
/// ZF04 - Guia de Trânsito
33+
/// </summary>
34+
public guiaTransito guiaTransito { get; set; }
35+
#endif
36+
}
37+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace NFe.Classes.Informacoes.Agropecuario
2+
{
3+
public class defensivo
4+
{
5+
/// <summary>
6+
/// ZF03 - Número da receita ou receituário do agrotóxico / defensivo agrícola
7+
/// </summary>
8+
public string nReceituario { get; set; }
9+
10+
/// <summary>
11+
/// ZP03a - CPF do Responsável Técnico, emitente do receituário
12+
/// </summary>
13+
public string CPFRespTec { get; set; }
14+
}
15+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
namespace NFe.Classes.Informacoes.Agropecuario
2+
{
3+
public class guiaTransito
4+
{
5+
#if NET5_0_OR_GREATER//o uso de tipos de referência anuláveis não é permitido até o C# 8.0.
6+
/// <summary>
7+
/// ZF05 - Tipo da Guia
8+
/// </summary>
9+
public TipoGuia tpGuia { get; set; }
10+
11+
/// <summary>
12+
/// ZF06 - UF de emissão
13+
/// </summary>
14+
public string? UFGuia { get; set; }
15+
16+
/// <summary>
17+
/// ZF07 - Série da Guia
18+
/// </summary>
19+
public string? serieGuia { get; set; }
20+
21+
/// <summary>
22+
/// ZF08 - Número da Guia
23+
/// </summary>
24+
public string nGuia { get; set; }
25+
26+
public bool ShouldSerializeUFGuia()
27+
{
28+
return UFGuia != null;
29+
}
30+
public bool ShouldSerializeserieGuia()
31+
{
32+
return serieGuia != null;
33+
}
34+
#else
35+
/// <summary>
36+
/// ZF05 - Tipo da Guia
37+
/// </summary>
38+
public TipoGuia tpGuia { get; set; }
39+
40+
/// <summary>
41+
/// ZF06 - UF de emissão
42+
/// </summary>
43+
public string UFGuia { get; set; }
44+
45+
/// <summary>
46+
/// ZF07 - Série da Guia
47+
/// </summary>
48+
public string serieGuia { get; set; }
49+
50+
/// <summary>
51+
/// ZF08 - Número da Guia
52+
/// </summary>
53+
public string nGuia { get; set; }
54+
#endif
55+
}
56+
}

NFe.Classes/Informacoes/infNFe.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Generic;
22
using System.Xml.Serialization;
3+
using NFe.Classes.Informacoes.Agropecuario;
34
using NFe.Classes.Informacoes.Cana;
45
using NFe.Classes.Informacoes.Cobranca;
56
using NFe.Classes.Informacoes.Destinatario;
@@ -126,6 +127,14 @@ public infNFe()
126127
/// </summary>
127128
public cana cana { get; set; }
128129

130+
/// <summary>
131+
/// ZD01 - Grupo do Responsável Técnico
132+
/// </summary>
129133
public infRespTec infRespTec { get; set; }
134+
135+
/// <summary>
136+
/// ZF01 - Grupo de produtos da agricultura, pecuária e produção Florestal
137+
/// </summary>
138+
public agropecuario agropecuario { get; set; }
130139
}
131140
}

0 commit comments

Comments
 (0)