Class: Facturapi::Helpers::DscRcgGlobal

Inherits:
Object
  • Object
show all
Defined in:
lib/facturapi/helpers/dsc_rcg_global.rb

Overview

Corresponde a la o las lineas de descuento / recargo global de una Boleta Electronica, etiqueta e informacion opcional, con un maximo de 20

Direct Known Subclasses

DescuentoGlobal, RecargoGlobal

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ DscRcgGlobal

Returns a new instance of DscRcgGlobal.



40
41
42
43
44
45
46
47
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 40

def initialize(params = {})
  @nro_lin_dr = params[:nro_lin_dr]
  @tpo_mov = params[:tpo_mov].to_s.upcase
  @glosa_dr = params[:glosa_dr]
  @tpo_valor = /^[\$\%]$/ =~ params[:tpo_valor].to_s ? params[:tpo_valor] : '$'
  @valor_dr = params[:valor_dr].to_i if params[:valor_dr]
  @ind_exe_dr = /^[0-2]$/ =~ params[:ind_exe_dr].to_s ? params[:ind_exe_dr] : 0
end

Instance Attribute Details

#glosa_drObject

Corresponde a una breve descripcion del descuento / recargo



20
21
22
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 20

def glosa_dr
  @glosa_dr
end

#ind_exe_drObject

Indicador de exencion de un descuento / recargo, para la Boleta Electronica. Los indicadores son:

  • 0: Descuento / Recargo se aplica a items afectos a IVA

  • 1: Descuento / Recargo se aplica a items exentos

  • 2: Descuento / Recargo se aplica a items facturables



38
39
40
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 38

def ind_exe_dr
  @ind_exe_dr
end

#nro_lin_drObject

Indica el numero secuencial de linea de descuento / recargo de la Boleta Electronica, el cual puede ser desde la linea 1 hasta la linea 20



10
11
12
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 10

def nro_lin_dr
  @nro_lin_dr
end

#tpo_movObject

Indica el tipo de movimiento de la linea de descuento / recargo, informando que tipo de aplicacion tendran los posteriores valores en la linea, los tipos son:

  • D: Corresponde a una DESCUENTO

  • R: Corresponde a una RECARGO



17
18
19
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 17

def tpo_mov
  @tpo_mov
end

#tpo_valorObject

Indica el tipo de valor de la linea de descuento / recargo. El valor sera indicado en el campo ValorDR, los tipos son:

  • % : Corresponde a un porcentaje

  • $ : Corresponde a un valor en moneda nacional



26
27
28
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 26

def tpo_valor
  @tpo_valor
end

#valor_drObject

Es el valor de descuento / recargo. Su valor debe ser hasta 16 digitos y 2 decimales. Al ser un campo de monto, se debe indicar sin decimales y sin separadores de miles.



31
32
33
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 31

def valor_dr
  @valor_dr
end

Instance Method Details

#as_nodeObject



49
50
51
52
53
54
55
56
57
58
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 49

def as_node
  create_node('DscRcgGlobal') do |dsc_rcg_global|
    dsc_rcg_global << create_node('NroLinDR') { |n| n << nro_lin_dr }
    dsc_rcg_global << create_node('TpoMov') { |n| n << tpo_mov }
    dsc_rcg_global << create_node('GlosaDR') { |n| n << glosa_dr }
    dsc_rcg_global << create_node('TpoValor') { |n| n << tpo_valor }
    dsc_rcg_global << create_node('ValorDR') { |n| n << valor_dr }
    dsc_rcg_global << create_node('IndExeDR') { |n| n << ind_exe_dr }
  end
end

#descuento?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 60

def descuento?
  tpo_mov == 'D'
end

#recargo?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/facturapi/helpers/dsc_rcg_global.rb', line 64

def recargo?
  tpo_mov == 'R'
end