Class: OLE_QA::Framework::OLEFS::Invoice_Line_Item

Inherits:
Invoice_Line_Object show all
Defined in:
lib/olefs/objects/invoice_line_item.rb

Overview

A single Line Item from a Purchase Order, as represented on an OLE Invoice E-Document.

Instance Attribute Summary collapse

Attributes inherited from Common_Object

#elements, #functions, #ole

Instance Method Summary collapse

Methods inherited from Invoice_Line_Object

#line_id

Methods included from Helpers

#browser, #load_yml, #set_element, #set_function

Constructor Details

#initialize(ole_session, po_line, line_number = 1) ⇒ Invoice_Line_Item

Returns a new instance of Invoice_Line_Item.



25
26
27
28
# File 'lib/olefs/objects/invoice_line_item.rb', line 25

def initialize(ole_session, po_line, line_number = 1)
  @po_line     = po_line
  super(ole_session, line_number)
end

Instance Attribute Details

#line_numberObject

Allow the line number to be dynamically set, as needed for addressing various PO lines on an Invoice.



20
21
22
# File 'lib/olefs/objects/invoice_line_item.rb', line 20

def line_number
  @line_number
end

#po_lineObject (readonly)

The instance of OLE_QA::Framework::OLELS::PO_Line which instantiated the Invoice Line Item object.



23
24
25
# File 'lib/olefs/objects/invoice_line_item.rb', line 23

def po_line
  @po_line
end

Instance Method Details

#set_elementsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/olefs/objects/invoice_line_item.rb', line 30

def set_elements
  super
  element(:number)                            {b.span(:id => "CurrentItem_LineItemNo_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:open_quantity)                     {b.span(:id => "CurrentItem_openQuantity_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:title)                             {b.div(:id => "CurrentItem_Title_line#{@po_line.line_id}_line#{line_id}")}
  element(:copies_ordered)                    {b.div(:id => "CurrentItem_NoOfCopiesOrdered_line#{@po_line.line_id}_line#{line_id}")}
  element(:parts_ordered)                     {b.div(:id => "CurrentItem_NoOfParts_line#{@po_line.line_id}_line#{line_id}")}
  element(:copies_invoiced_field)             {b.text_field(:id => "CurrentItem_NoOfCopiesInvoice_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:parts_invoiced_field)              {b.text_field(:id => "CurrentItem_NoOfPartsInvoice_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:invoiced_price_field)              {b.text_field(:id => "CurrentItem_ListPrice_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:discount_field)                    {b.text_field(:id => "CurrentItem_Discount_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:discount_type_selector)            {b.select_list(:id => "CurrentItem_DiscountType_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:unit_cost)                         {b.span(:id => "CurrentItem_UnitCost_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:extended_cost)                     {b.span(:id => "CurrentItem_ExtendedCost_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:invoice_checkbox)                  {b.span(:id => "CurrentItem_ItemForInvoice_line#{@po_line.line_id}_line#{line_id}_control")}
  element(:new_chart_selector)                {b.select_list(:id => "Invoice-chartOfAccountsCode_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_account_number_field)          {b.text_field(:id => "Invoice-accountNumber_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_subaccount_number_field)       {b.text_field(:id => "Invoice-subAccountNumber_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_object_code_field)             {b.text_field(:id => "Invoice-financialObjectCode_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_subobject_code_field)          {b.text_field(:id => "Invoice-financialSubObjectCode_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_project_field)                 {b.text_field(:id => "Invoice-projectCode_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_org_ref_id_field)              {b.text_field(:id => "InvoiceorgRefId_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_dollar_field)                  {b.text_field(:id => "Invoice-amount_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:new_percentage_field)              {b.text_field(:id => "Invoice-percent_line#{@po_line.line_id}_line#{line_id}_add_control")}
  element(:add_account_button)                {b.button(:id => "OLEInvoiceView-processItems-accountingLines_line#{@po_line.line_id}_line#{line_id}_add")}
end

#set_functionsObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/olefs/objects/invoice_line_item.rb', line 57

def set_functions
  super
  # Functions for accounting lines on an Invoice PO Line Item.
  function(:chart_selector)                   { |which = 1| which -= 1; b.select_list(:id => "Invoice-chartOfAccountsCode_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:account_number_field)             { |which = 1| which -= 1; b.text_field(:id => "Invoice-accountNumber_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:subaccount_number_field)          { |which = 1| which -= 1; b.text_field(:id => "Invoice-subAccountNumber_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:object_code_field)                { |which = 1| which -= 1; b.text_field(:id => "Invoice-financialObjectCode_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:subobject_code_field)             { |which = 1| which -= 1; b.text_field(:id => "Invoice-financialSubObjectCode_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:project_field)                    { |which = 1| which -= 1; b.text_field(:id => "Invoice-projectCode_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:org_ref_id_field)                 { |which = 1| which -= 1; b.text_field(:id => "Invoice-orgRefId_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:dollar_field)                     { |which = 1| which -= 1; b.text_field(:id => "Invoice-amount_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:percentage_field)                 { |which = 1| which -= 1; b.text_field(:id => "Invoice-percent_line#{@po_line.line_id}_line#{line_id}_line#{which}_control")}
  function(:delete_account_button)            { |which = 1| which -= 1; b.button(:id => "OLEInvoiceView-processItems-accountingLines_line#{@po_line.line_id}_line#{line_id}_del_line#{@po_line.line_id}_line#{line_id}_line#{which}")}
end