class NfeReader::Product

Detalhamento de Produtos e Serviços da NF-e

Attributes

amount[R]
amount_sale[R]
armament[R]
cfop[R]
code[R]
cofins[R]
cofins_st[R]
demand_item[R]
demand_number[R]
discount[R]
ean[R]
exportation[R]
fci[R]
freight[R]
fuel[R]
gtin[R]
icms[R]
importation[R]
importation_tax[R]
insurance[R]
ipi[R]
ipi_exception[R]
issqn[R]
kind[R]
medicament[R]
name[R]
ncm[R]
number[R]
other_value[R]
pis[R]
pis_st[R]
tax_value[R]
total[R]
unit[R]
unit_sale[R]
value[R]
value_sale[R]
vehicle[R]

Public Class Methods

new(attrs = {}) click to toggle source

Fields Values

indTot: 0 - o valor do item (vProd) compõe o valor total da NF-e (vProd)

1 - o valor do item (vProd) não compõe o valor total da NF-e (vProd) (v2.0)
# File lib/nfe_reader/product.rb, line 21
def initialize(attrs = {})
  @number = attrs[:nItem]
  
  if attrs[:prod]
    @code = attrs[:prod][:cProd]
    @name = attrs[:prod][:xProd]
    @ean = attrs[:prod][:cEAN]
    @ncm = attrs[:prod][:NCM]
    
    # Sale
    @cfop = attrs[:prod][:CFOP]
    @unit_sale = attrs[:prod][:uCom]
    @amount_sale = attrs[:prod][:qCom]
    @value_sale = attrs[:prod][:vUnCom]
    @total = attrs[:prod][:vProd]

    # Numero do Pedido de Compra
    @demand_number = attrs[:prod][:xPed]
    # Item do Pedido de Compra
    @demand_item = attrs[:prod][:nItemPed]

    # GTIN (Global Trade ItemNumber)
    @gtin = attrs[:prod][:cEANTrib]

    @unit = attrs[:prod][:uTrib]
    @amount = attrs[:prod][:qTrib]
    @value = attrs[:prod][:vUnTrib]
    @kind = attrs[:prod][:indTot]
    @ipi_exception = attrs[:prod][:EXTIPI]
    @freight = attrs[:prod][:vFrete]
    @insurance = attrs[:prod][:vSeg]
    @discount = attrs[:prod][:vDesc]
    @other_value = attrs[:prod][:vOutro]

    @fci = attrs[:prod][:nFCI]
    
    @importation = create_resource(Importation, attrs[:prod][:DI])
  end

  @fuel    = Fuel.new(attrs[:comb]) if attrs[:comb]
  @vehicle = Vehicle.new(attrs[:veicProd]) if attrs[:veicProd]
  
  @armament   = create_resources(Armament, attrs[:arma])  if attrs[:arma]
  @medicament = create_resources(Medicament, attrs[:med]) if attrs[:med]

  @exportation = create_resources(Exportation, attrs[:detExport])

  if attrs[:imposto]
    @tax_value = attrs[:imposto][:vTotTrib]

    @icms   = create_resources(Icms, attrs[:imposto][:ICMS])
    @cofins = create_resources(Cofins, attrs[:imposto][:COFINS])
    @pis    = create_resources(Pis, attrs[:imposto][:PIS])
    
    @importation_tax = create_resource(ImportationTax, attrs[:imposto][:II])
    @ipi = create_resource(Ipi, attrs[:imposto][:IPI])
    @pis_st = create_resource(PisSt, attrs[:imposto][:PISST])
    @cofins_st = create_resource(CofinsSt, attrs[:imposto][:COFINSST])
    @issqn = create_resource(Issqn, attrs[:imposto][:ISSQN])
  end
end