nfe_reader 1.0.5 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/nfe_reader.rb +4 -4
- data/lib/nfe_reader/address.rb +38 -0
- data/lib/nfe_reader/authorization.rb +8 -10
- data/lib/nfe_reader/billing.rb +21 -0
- data/lib/nfe_reader/billing/duplicate.rb +14 -0
- data/lib/nfe_reader/carrier.rb +12 -14
- data/lib/nfe_reader/customer.rb +15 -57
- data/lib/nfe_reader/delivery.rb +16 -18
- data/lib/nfe_reader/document.rb +63 -65
- data/lib/nfe_reader/export.rb +8 -10
- data/lib/nfe_reader/fiscal.rb +29 -31
- data/lib/nfe_reader/header.rb +114 -123
- data/lib/nfe_reader/helpers/attribute_helper.rb +24 -0
- data/lib/nfe_reader/helpers/creator_helper.rb +40 -0
- data/lib/{helpers → nfe_reader/helpers}/nokogiri_hash.rb +2 -0
- data/lib/nfe_reader/information.rb +17 -19
- data/lib/nfe_reader/nfe.rb +78 -87
- data/lib/nfe_reader/person.rb +53 -0
- data/lib/nfe_reader/product.rb +69 -67
- data/lib/nfe_reader/product/armament.rb +18 -20
- data/lib/nfe_reader/product/cane.rb +22 -24
- data/lib/nfe_reader/product/exportation.rb +15 -17
- data/lib/nfe_reader/product/fuel.rb +13 -15
- data/lib/nfe_reader/product/importation.rb +42 -44
- data/lib/nfe_reader/product/medicament.rb +15 -17
- data/lib/nfe_reader/product/vehicle.rb +113 -115
- data/lib/nfe_reader/provider.rb +10 -40
- data/lib/nfe_reader/purchase.rb +9 -12
- data/lib/nfe_reader/removal.rb +17 -19
- data/lib/nfe_reader/taxation/cofins.rb +41 -41
- data/lib/nfe_reader/taxation/cofins_st.rb +15 -17
- data/lib/nfe_reader/taxation/icms.rb +80 -81
- data/lib/nfe_reader/taxation/importation_tax.rb +14 -16
- data/lib/nfe_reader/taxation/ipi.rb +35 -37
- data/lib/nfe_reader/taxation/issqn.rb +17 -19
- data/lib/nfe_reader/taxation/pis.rb +41 -41
- data/lib/nfe_reader/taxation/pis_st.rb +16 -18
- data/lib/nfe_reader/total.rb +71 -71
- data/lib/nfe_reader/transport.rb +76 -89
- data/lib/nfe_reader/version.rb +2 -4
- data/nfe-reader.gemspec +2 -1
- data/test/nfe_reader/address_test.rb +75 -0
- data/test/nfe_reader/authorization_test.rb +2 -2
- data/test/nfe_reader/{collection → billing}/duplicate_test.rb +2 -2
- data/test/nfe_reader/{collection_test.rb → billing_test.rb} +13 -13
- data/test/nfe_reader/cane_test.rb +2 -2
- data/test/nfe_reader/carrier_test.rb +4 -4
- data/test/nfe_reader/customer_test.rb +6 -101
- data/test/nfe_reader/delivery_test.rb +2 -2
- data/test/nfe_reader/document_test.rb +2 -2
- data/test/nfe_reader/export_test.rb +2 -2
- data/test/nfe_reader/fiscal_test.rb +2 -2
- data/test/nfe_reader/header_test.rb +2 -2
- data/test/{helpers → nfe_reader/helpers}/attributte_helper_test.rb +3 -3
- data/test/{helpers → nfe_reader/helpers}/creator_helper_test.rb +3 -3
- data/test/{helpers → nfe_reader/helpers}/nokogiri_test.rb +1 -1
- data/test/nfe_reader/information_test.rb +2 -2
- data/test/nfe_reader/nfe_test.rb +13 -13
- data/test/nfe_reader/person_test.rb +60 -0
- data/test/nfe_reader/product/armament_test.rb +2 -2
- data/test/nfe_reader/product/exportation_test.rb +2 -2
- data/test/nfe_reader/product/fuel_test.rb +2 -2
- data/test/nfe_reader/product/importation_test.rb +2 -2
- data/test/nfe_reader/product/medicament_test.rb +2 -2
- data/test/nfe_reader/product/vehicle_test.rb +2 -2
- data/test/nfe_reader/product_test.rb +2 -2
- data/test/nfe_reader/provider_test.rb +5 -118
- data/test/nfe_reader/purchase_test.rb +2 -2
- data/test/nfe_reader/removal_test.rb +2 -2
- data/test/nfe_reader/taxation/cofins_st_test.rb +2 -2
- data/test/nfe_reader/taxation/cofins_test.rb +2 -2
- data/test/nfe_reader/taxation/icms_test.rb +2 -2
- data/test/nfe_reader/taxation/importation_tax_test.rb +2 -2
- data/test/nfe_reader/taxation/ipi_test.rb +2 -2
- data/test/nfe_reader/taxation/issqn_test.rb +2 -2
- data/test/nfe_reader/taxation/pis_st_test.rb +2 -2
- data/test/nfe_reader/taxation/pis_test.rb +2 -2
- data/test/nfe_reader/total_test.rb +2 -2
- data/test/nfe_reader/transport_test.rb +3 -3
- metadata +37 -17
- data/lib/helpers/attribute_helper.rb +0 -18
- data/lib/helpers/creator_helper.rb +0 -32
- data/lib/nfe_reader/collection.rb +0 -38
- data/lib/nfe_reader/collection/duplicate.rb +0 -16
@@ -1,44 +1,42 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Ipi
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
6
|
+
attr_reader :frame_class, :frame_code, :cnpj, :seal, :seal_amount,
|
7
|
+
:cst, :ipi_base, :amount, :value_unit, :percentage, :value, :cst_group
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
9
|
+
def initialize(attrs = {})
|
10
|
+
# Classe de enquadramento do IPI para Cigarros e Bebidas
|
11
|
+
@frame_class = attrs[:clEnq]
|
12
|
+
# Codigo enquadramento
|
13
|
+
@frame_code = attrs[:cEnq]
|
14
|
+
# CNPJ do produtor
|
15
|
+
@cnpj = attrs[:CNPJProd]
|
16
|
+
# Código do selo de controle
|
17
|
+
@seal = attrs[:cSelo]
|
18
|
+
# Quantidade do selo de controle
|
19
|
+
@seal_amount = attrs[:qSelo]
|
20
|
+
|
21
|
+
# == Tributação
|
22
|
+
if attrs[:IPITrib]
|
23
|
+
# Código da situação tributária do IPI
|
24
|
+
@cst = attrs[:IPITrib][:CST]
|
25
|
+
# Valor da BC do IPI
|
26
|
+
@ipi_base = attrs[:IPITrib][:vBC]
|
27
|
+
# Quantidade total na unidade padrão para tributação
|
28
|
+
@amount = attrs[:IPITrib][:qUnid]
|
29
|
+
# Valor por Unidade Tributável
|
30
|
+
@value_unit = attrs[:IPITrib][:vUnid]
|
31
|
+
# % do IPI
|
32
|
+
@percentage = attrs[:IPITrib][:pIPI]
|
33
|
+
# Valor do IPI
|
34
|
+
@value = attrs[:IPITrib][:vIPI]
|
35
|
+
end
|
37
36
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
end
|
37
|
+
if attrs[:IPINT]
|
38
|
+
# Grupo do CST 01, 02, 03, 04, 51, 52, 53, 54 e 55
|
39
|
+
@cst_group = attrs[:IPINT][:CST]
|
42
40
|
end
|
43
41
|
end
|
44
42
|
end
|
@@ -1,26 +1,24 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Issqn
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
6
|
+
attr_accessor :base, :aliquot, :value, :city, :services, :cst
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
# Fields Values
|
9
|
+
#
|
10
|
+
# cStiTrib : N - NORMAL;
|
11
|
+
# R - RETIDA;
|
12
|
+
# S - SUBSTITUTA;
|
13
|
+
# I - ISENTA
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
15
|
+
def initialize(attrs = {})
|
16
|
+
@base = attrs[:vBC]
|
17
|
+
@aliquot = attrs[:vAliq]
|
18
|
+
@value = attrs[:vISSQN]
|
19
|
+
@city = attrs[:cMunFG]
|
20
|
+
@services = attrs[:cListServ]
|
21
|
+
@cst = attrs[:cSitTrib]
|
24
22
|
end
|
25
23
|
end
|
26
24
|
end
|
@@ -1,46 +1,46 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Pis
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
6
|
+
attr_reader :cst, :base, :percentage, :value, :amount, :aliquot
|
7
|
+
|
8
|
+
# Fieds Values
|
9
|
+
#
|
10
|
+
# cst:
|
11
|
+
# PISAliq:
|
12
|
+
# 01 - Operação Tributável
|
13
|
+
# (base de cálculo = valor da operação alíquota normal (cumulativo/não cumulativo));
|
14
|
+
# 02 - Operação Tributável
|
15
|
+
# (base de cálculo = valor da operação (alíquota diferenciada));
|
16
|
+
# PISQtde:
|
17
|
+
# 03 - Operação Tributável
|
18
|
+
# (base de cálculo = quantidade vendida x alíquota por unidadede produto);
|
19
|
+
# PISNT:
|
20
|
+
# 04 - Operação Tributável
|
21
|
+
# (tributação monofásica(alíquota zero));
|
22
|
+
# 06 - Operação Tributável(alíquota zero);
|
23
|
+
# 07 - Operação Isenta da Contribuição;
|
24
|
+
# 08 - Operação Sem Incidência da Contribuição;
|
25
|
+
# 09 - Operação com Suspensão da Contribuição;
|
26
|
+
# PISOutr:
|
27
|
+
# 99 - Outras Operações;
|
28
|
+
#
|
29
|
+
def initialize(attrs = {})
|
30
|
+
attrs = attrs.values[0]
|
31
|
+
|
32
|
+
# Cst PIS
|
33
|
+
@cst = attrs[:CST]
|
34
|
+
# Base PIS
|
35
|
+
@base = attrs[:vBC]
|
36
|
+
# % PIS
|
37
|
+
@percentage = attrs[:pPIS]
|
38
|
+
# Valor PIS
|
39
|
+
@value = attrs[:vPIS]
|
40
|
+
# Quantidade Vendida
|
41
|
+
@amount = attrs[:qBCProd]
|
42
|
+
# Alíquota do PIS
|
43
|
+
@aliquot = attrs[:vAliqProd]
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -1,23 +1,21 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class PisSt
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
6
|
+
attr_reader :base, :percentage, :amount, :aliquot, :value
|
7
|
+
|
8
|
+
def initialize(attrs = {})
|
9
|
+
# Valor Base
|
10
|
+
@base = attrs[:vBC]
|
11
|
+
# % PISST
|
12
|
+
@percentage = attrs[:pPIS]
|
13
|
+
# Quantidade
|
14
|
+
@amount = attrs[:qBCProd]
|
15
|
+
# Aliquota PIS ST
|
16
|
+
@aliquot = attrs[:vAliqProd]
|
17
|
+
# Valor PIS ST
|
18
|
+
@value = attrs[:vPIS]
|
21
19
|
end
|
22
20
|
end
|
23
21
|
end
|
data/lib/nfe_reader/total.rb
CHANGED
@@ -1,79 +1,79 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Total
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
attr_reader :icms_base, :icms, :st_base, :st, :product, :freight,
|
7
|
+
:insurance, :descount, :ii, :ipi, :pis, :cofins, :another, :total,
|
8
|
+
:service_value, :service_base, :service_iss, :service_pis, :service_cofins,
|
9
|
+
:retention_pis, :retention_csll, :retention_irrf_base, :retention_cofins,
|
10
|
+
:retention_irrf, :retention_foresight_base, :retention_foresight, :tax
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
12
|
+
def initialize(attrs = {})
|
13
|
+
# Impostos
|
14
|
+
if attrs[:ICMSTot]
|
15
|
+
# Base ICMS
|
16
|
+
@icms_base = attrs[:ICMSTot][:vBC]
|
17
|
+
# Valor ICMS
|
18
|
+
@icms = attrs[:ICMSTot][:vICMS]
|
19
|
+
# Base ICMS ST
|
20
|
+
@st_base = attrs[:ICMSTot][:vBCST]
|
21
|
+
# Valor ICMS ST
|
22
|
+
@st = attrs[:ICMSTot][:vST]
|
23
|
+
# Total de Produtos
|
24
|
+
@product = attrs[:ICMSTot][:vProd]
|
25
|
+
# Total de Frete
|
26
|
+
@freight = attrs[:ICMSTot][:vFrete]
|
27
|
+
# Total de Seguro
|
28
|
+
@insurance = attrs[:ICMSTot][:vSeg]
|
29
|
+
# Total de Desconto
|
30
|
+
@descount = attrs[:ICMSTot][:vDesc]
|
31
|
+
# Total de Imposto de Importacao
|
32
|
+
@ii = attrs[:ICMSTot][:vII]
|
33
|
+
# Total de IPI
|
34
|
+
@ipi = attrs[:ICMSTot][:vIPI]
|
35
|
+
# Total de PIS
|
36
|
+
@pis = attrs[:ICMSTot][:vPIS]
|
37
|
+
# Total de COFINS
|
38
|
+
@cofins = attrs[:ICMSTot][:vCOFINS]
|
39
|
+
# Total de Outros
|
40
|
+
@another = attrs[:ICMSTot][:vOutro]
|
41
|
+
# Total NFe
|
42
|
+
@total = attrs[:ICMSTot][:vNF]
|
43
|
+
# Total NFe
|
44
|
+
@tax = attrs[:ICMSTot][:vTotTrib]
|
45
|
+
end
|
45
46
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
47
|
+
# Servicos
|
48
|
+
if attrs[:ISSQNtot]
|
49
|
+
# Valor do Servico
|
50
|
+
@service_value = attrs[:ISSQNtot][:vServ]
|
51
|
+
# Base de calculo do Servico
|
52
|
+
@service_base = attrs[:ISSQNtot][:vBC]
|
53
|
+
# ISS do Servico
|
54
|
+
@service_iss = attrs[:ISSQNtot][:vISS]
|
55
|
+
# Pis do Servico
|
56
|
+
@service_pis = attrs[:ISSQNtot][:vPIS]
|
57
|
+
# Cofins do Servico
|
58
|
+
@service_cofins = attrs[:ISSQNtot][:vCOFINS]
|
59
|
+
end
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
end
|
61
|
+
# Retencoes
|
62
|
+
if attrs[:retTrib]
|
63
|
+
# Retencao de PIS
|
64
|
+
@retention_pis = attrs[:retTrib][:vRetPIS]
|
65
|
+
# Retencao de COFINS
|
66
|
+
@retention_cofins = attrs[:retTrib][:vRetCOFINS]
|
67
|
+
# Retencao de CSLL
|
68
|
+
@retention_csll = attrs[:retTrib][:vRetCSLL]
|
69
|
+
# Base de Retencao do IRRF
|
70
|
+
@retention_irrf_base = attrs[:retTrib][:vBCIRRF]
|
71
|
+
# Valor de Retencao do IRRF
|
72
|
+
@retention_irrf = attrs[:retTrib][:vIRRF]
|
73
|
+
# Base de Retencao da Previdencia
|
74
|
+
@retention_foresight_base = attrs[:retTrib][:vBCRetPrev]
|
75
|
+
# Valor de Retencao da Previdencia
|
76
|
+
@retention_foresight = attrs[:retTrib][:vRetPrev]
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
data/lib/nfe_reader/transport.rb
CHANGED
@@ -1,100 +1,87 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
module NfeReader
|
3
|
+
class Transport
|
4
|
+
include AttributeHelper
|
5
|
+
include CreatorHelper
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
attr_reader :kind, :service_value, :base, :icms_aliquot, :icms_value,
|
8
|
+
:cfop, :city, :vehicle_plaque, :vehicle_state, :vehicle_rntc, :hauling_palque,
|
9
|
+
:hauling_state, :hauling_rntc, :wagon, :ferry, :volume_amount, :volume_kind,
|
10
|
+
:volume_brand, :volume_number, :weight_net, :weight_gross, :seals, :carrier
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
# == Veiculo
|
40
|
-
if attrs[:veicTransp]
|
41
|
-
# Placa
|
42
|
-
@vehicle_plaque = attrs[:veicTransp][:placa]
|
43
|
-
# Estado
|
44
|
-
@vehicle_state = attrs[:veicTransp][:UF]
|
45
|
-
# Registro Nacional de Transportador de Carga
|
46
|
-
@vehicle_rntc = attrs[:veicTransp][:RNTC]
|
47
|
-
end
|
48
|
-
|
49
|
-
# == Reboque
|
50
|
-
if attrs[:reboque]
|
51
|
-
# Placa
|
52
|
-
@hauling_palque = attrs[:reboque][:placa]
|
53
|
-
# Estado
|
54
|
-
@hauling_state = attrs[:reboque][:UF]
|
55
|
-
# Registro Nacional de Transportador de Carga
|
56
|
-
@hauling_rntc = attrs[:reboque][:RNTC]
|
57
|
-
end
|
58
|
-
|
59
|
-
# Vagao
|
60
|
-
@wagon = attrs[:vagao]
|
61
|
-
# Balsa
|
62
|
-
@ferry = attrs[:balsa]
|
63
|
-
|
64
|
-
# == Volume
|
65
|
-
if attrs[:vol]
|
66
|
-
# Quantidade de volumes
|
67
|
-
@volume_amount = attrs[:vol][:qVol]
|
68
|
-
# Espécie dos volumes
|
69
|
-
@volume_kind = attrs[:vol][:esp]
|
70
|
-
# Marca dos volumes
|
71
|
-
@volume_brand = attrs[:vol][:marca]
|
72
|
-
# Numeração dos volumes
|
73
|
-
@volume_number = attrs[:vol][:nVol]
|
74
|
-
# Peso Liquido
|
75
|
-
@weight_net = attrs[:vol][:pesoL]
|
76
|
-
# Peso Bruto
|
77
|
-
@weight_gross = attrs[:vol][:pesoB]
|
78
|
-
# Lacres
|
79
|
-
@seals = set_seals(attrs[:vol][:lacres])
|
80
|
-
end
|
12
|
+
# Fields Values:
|
13
|
+
#
|
14
|
+
# modFrete: 0- Por conta do emitente;
|
15
|
+
# 1- Por conta do destinatário/remetente;
|
16
|
+
# 2- Por conta de terceiros;
|
17
|
+
# 9- Sem frete.
|
18
|
+
#
|
19
|
+
def initialize(attrs = {})
|
20
|
+
# Modalidade
|
21
|
+
@kind = attrs[:modFrete]
|
22
|
+
|
23
|
+
# == Grupo de Retenção do ICMS do transporte
|
24
|
+
if attrs[:retTransp]
|
25
|
+
# Valor do Servico
|
26
|
+
@service_value = attrs[:retTransp][:vServ]
|
27
|
+
# BC da Retenção do ICMS
|
28
|
+
@base = attrs[:retTransp][:vBCRet]
|
29
|
+
# Alíquota da Retenção
|
30
|
+
@icms_aliquot = attrs[:retTransp][:pICMSRet]
|
31
|
+
# Valor do ICMS Retido
|
32
|
+
@icms_value = attrs[:retTransp][:vICMSRet]
|
33
|
+
# CFOP
|
34
|
+
@cfop = attrs[:retTransp][:CFOP]
|
35
|
+
# Municipio gerador de ICMS
|
36
|
+
@city = attrs[:retTransp][:cMunFG]
|
37
|
+
end
|
81
38
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
39
|
+
# == Veiculo
|
40
|
+
if attrs[:veicTransp]
|
41
|
+
# Placa
|
42
|
+
@vehicle_plaque = attrs[:veicTransp][:placa]
|
43
|
+
# Estado
|
44
|
+
@vehicle_state = attrs[:veicTransp][:UF]
|
45
|
+
# Registro Nacional de Transportador de Carga
|
46
|
+
@vehicle_rntc = attrs[:veicTransp][:RNTC]
|
86
47
|
end
|
87
48
|
|
88
|
-
|
89
|
-
|
49
|
+
# == Reboque
|
50
|
+
if attrs[:reboque]
|
51
|
+
# Placa
|
52
|
+
@hauling_palque = attrs[:reboque][:placa]
|
53
|
+
# Estado
|
54
|
+
@hauling_state = attrs[:reboque][:UF]
|
55
|
+
# Registro Nacional de Transportador de Carga
|
56
|
+
@hauling_rntc = attrs[:reboque][:RNTC]
|
57
|
+
end
|
90
58
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
59
|
+
# Vagao
|
60
|
+
@wagon = attrs[:vagao]
|
61
|
+
# Balsa
|
62
|
+
@ferry = attrs[:balsa]
|
63
|
+
|
64
|
+
# == Volume
|
65
|
+
if attrs[:vol]
|
66
|
+
# Quantidade de volumes
|
67
|
+
@volume_amount = attrs[:vol][:qVol]
|
68
|
+
# Espécie dos volumes
|
69
|
+
@volume_kind = attrs[:vol][:esp]
|
70
|
+
# Marca dos volumes
|
71
|
+
@volume_brand = attrs[:vol][:marca]
|
72
|
+
# Numeração dos volumes
|
73
|
+
@volume_number = attrs[:vol][:nVol]
|
74
|
+
# Peso Liquido
|
75
|
+
@weight_net = attrs[:vol][:pesoL]
|
76
|
+
# Peso Bruto
|
77
|
+
@weight_gross = attrs[:vol][:pesoB]
|
78
|
+
# Lacres
|
79
|
+
@seals = to_array(attrs[:vol][:lacres]).join(', ')
|
80
|
+
end
|
96
81
|
|
97
|
-
|
82
|
+
# Transportadora
|
83
|
+
if attrs[:transporta]
|
84
|
+
@carrier = Carrier.new(attrs[:transporta])
|
98
85
|
end
|
99
86
|
end
|
100
87
|
end
|