Module: Telasi::SAP
- Defined in:
- lib/telasi-ruby/model.rb,
lib/telasi-ruby/converter.rb
Overview
Module containint SAP models and operations.
Defined Under Namespace
Classes: Address, Base, DriverInfo, InvoiceItem, MaterialDocumentHeader, MaterialItem, MaterialText, WarehouseAddress
Constant Summary collapse
- LANG_KA =
ქართული ენის კონსტანტა.
'뱁'
- SCHEMA =
'SAPSR3'
- TELASI_TIN =
თელასის საიდენტიფიკაციო ნომერი.
'202052580'
- TELASI_NAME =
თელასის ოფიციალური დასახელება.
'ს.ს. თელასი'
- TELASI_ID =
თელასის გადამხდელის ID.
1000
Class Method Summary collapse
-
.material_doc_to_waybill(doc) ⇒ Object
აკონვერტებს მოცემული მასალის დოკუმენტს ზედნადების ფორმატში.
Class Method Details
.material_doc_to_waybill(doc) ⇒ Object
აკონვერტებს მოცემული მასალის დოკუმენტს ზედნადების ფორმატში. მიღებული ზედნადების კლასი შესაძლოა ატვირთულ იქნას rs.ge ვებ-საიტზე.
18 19 20 21 22 23 24 25 26 27 28 29 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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/telasi-ruby/converter.rb', line 18 def self.material_doc_to_waybill(doc) waybill = RS::Waybill.new not_auto = nil #with_auto = nil doc.items.each do |item| not_auto = item and break unless item.auto? #with_auto = item if item.auto? #break if not_auto and with_auto end # operation type case not_auto.ebeln[0..1] when '45' # waybill.type = doc.driver_info ? RS::WaybillType::TRANSPORTATION : RS::WaybillType::WITHOUT_TRANSPORTATION when '49' # შიდა გადაზიდვა waybill.type = RS::WaybillType::INNER waybill.seller_id = TELASI_ID waybill.seller_tin = TELASI_TIN waybill.seller_name = TELASI_NAME waybill.check_buyer_tin = true waybill.buyer_tin = TELASI_TIN waybill.buyer_name = TELASI_NAME else #raise RuntimeError.new("not supported: #{ebeln}") end if doc.driver_info waybill.car_number = doc.driver_info.vehicle waybill.transport_type_id = RS::TransportType::VEHICLE waybill.driver_name = doc.driver_info.driver waybill.driver_tin = doc.driver_info.drperno waybill.check_driver_tin = true end # start/end address if not_auto address1 = not_auto.warehouse_address address2 = not_auto.invoice_address waybill.start_address = address1.address.to_s if address1 waybill.end_address = address2.address.to_s if address2 end # items items = [] doc.items.each do |doc_item| item = RS::WaybillItem.new item. = doc_item.matnr.match(/[1-9][0-9]*/)[0] item.prod_name = doc_item.material_name_ka.maktx item.unit_id = RS::WaybillUnit::OTHERS item.unit_name = doc_item.meins item.quantity = doc_item.menge item.price = doc_item.dmbtr / item.quantity items << item end waybill.items = items waybill end |