class Bsale::Detail

variantId: Id de la variante que indicara cual variante es la que se esta vendiendo de la variante (Integer). code: De forma alternativa al Id, se puede utilizar el SKU de la variante (String). barCode: De forma alternativa al Id, se puede utilizar el codigo de barras de la variante (String). netUnitValue: Valor unitario neto de la variante, este valor es sin impuestos (Float). quantity: Cantidad de la variante que se esta vendiendo (Integer). taxId: Arreglo de identificadores de los impuestos a utilizar, estos tienen que ir dentro de “[]” (String). comment: Descripción breve de la variante (String). discount: Porcentaje del descuento si se desea aplicar uno. (Float).

Es muy importante que se envíen los impuestos por cada detalle, de lo contrario el documento saldrá exento.

Public Class Methods

new(opts = {}, warehouse = false) click to toggle source
# File lib/bsale/detail.rb, line 13
def initialize(opts = {}, warehouse = false)
  set_values(attrs(warehouse).merge(opts))
end

Public Instance Methods

attrs(option) click to toggle source
# File lib/bsale/detail.rb, line 17
def attrs(option)
  if option
    { variantId: 0, netUnitValue: 0, quantity: 0, taxId: "", comment: "", discount: 0 }
  else
    { netUnitValue: 0, quantity: 1, taxId: "", comment: "", discount: 0 }
  end
end
set_values(opts = {}) click to toggle source
# File lib/bsale/detail.rb, line 25
def set_values(opts = {})
  opts.each do |k,v|
    singleton_class.send(:attr_accessor, k)
    instance_variable_set("@#{k}", v)
  end
end