class YDIM::Factory
Public Class Methods
new(serv)
click to toggle source
# File lib/ydim/factory.rb, line 10 def initialize(serv) @serv = serv end
Public Instance Methods
create_autoinvoice(debitor) { |invoice| ... }
click to toggle source
# File lib/ydim/factory.rb, line 13 def create_autoinvoice(debitor) id = @serv.id_server.next_id(:autoinvoice, @serv.config.invoice_number_start) invoice = AutoInvoice.new(id) yield(invoice) if(block_given?) if debitor.foreign? invoice.suppress_vat = true end invoice.debitor = debitor debitor.autoinvoices.odba_store invoice end
create_invoice(debitor) { |invoice| ... }
click to toggle source
# File lib/ydim/factory.rb, line 25 def create_invoice(debitor) id = @serv.id_server.next_id(:invoice, @serv.config.invoice_number_start) invoice = Invoice.new(id) yield(invoice) if(block_given?) invoice.debitor = debitor if debitor.foreign? invoice.suppress_vat = true end debitor.invoices.odba_store invoice end
generate_invoice(autoinvoice)
click to toggle source
# File lib/ydim/factory.rb, line 36 def generate_invoice(autoinvoice) create_invoice(autoinvoice.debitor) { |inv| date = autoinvoice.date || Date.today nextdate = autoinvoice.advance(date) inv.date = date inv.currency = autoinvoice.currency inv.description = sprintf("%s %s-%s", autoinvoice.description, date.strftime("%d.%m.%Y"), (nextdate - 1).strftime("%d.%m.%Y")) inv.precision = autoinvoice.precision inv.payment_period = autoinvoice.payment_period autoinvoice.items.each { |item| nitem = item.dup nitem.time = Time.now nitem.expiry_time = Time.local(nextdate.year, nextdate.month, nextdate.day) nitem.vat_rate = @serv.config.vat_rate inv.add_item(nitem) } autoinvoice.odba_store } end