class Skr::InvLine
Private Instance Methods
adjust_inventory()
click to toggle source
# File lib/skr/inv_line.rb, line 66 def adjust_inventory debit = self.sku.gl_asset_account credit = self.invoice.customer.gl_receivables_account if self.sku.does_track_inventory? self.build_sku_tran({ origin: self, qty: self.qty*-1, sku_loc: self.sku_loc, uom: self.uom, mac: 0, cost: self.extended_price, origin_description: "INV #{self.invoice.visible_id}:#{self.sku.code}", debit_gl_account: debit, credit_gl_account: credit }) else GlTransaction.push_or_save( owner: self, amount: self.total, debit: debit, credit: credit ) end true end
set_defaults()
click to toggle source
# File lib/skr/inv_line.rb, line 42 def set_defaults # puts "set_defaults #{self}" line = [ self.pt_line, self.so_line ].detect{ |l| ! l.blank? } if line self.uom = line.uom if self.uom.blank? self.sku_code ||= line.sku_code self.description ||= line.description self.sku_loc ||= line.sku_loc self.qty ||= line.qty self.so_line ||= line.so_line elsif sku self.uom = sku.uoms.default if self.uom_code.blank? self.sku_code ||= sku.code self.description ||= sku.description self.sku_loc_id ||= sku.sku_locs.for_location( self.invoice.location ).id if self.invoice && self.invoice.location end if !price && invoice && invoice.customer && sku_loc && uom.present? self.price = Core.config.pricing_provider.price( sku_loc:sku_loc, customer:invoice.customer, uom:uom, qty: qty ) end true end