app/models/extface/driver/datecs/dp25.rb in extface-0.6.3 vs app/models/extface/driver/datecs/dp25.rb in extface-0.6.4

- old
+ new

@@ -268,12 +268,18 @@ errors.add :base, "Field Overflow" unless (status_1 & 0x01).zero? end private def build_sale_data(item) + encoded_text1 = device.encoding.present? ? item.text1.encode(device.encoding).b : item.text1 + encoded_text1 = encoded_text1.mb_chars.limit(27).to_s + '...' if encoded_text1 && encoded_text1.b.length > 30 + + encoded_text2 = device.encoding.present? ? item.text2.encode(device.encoding).b : item.text2 + encoded_text2 = encoded_text1.mb_chars.limit(27).to_s + '...' if encoded_text2 && encoded_text2.b.length > 30 + "".b.tap() do |data| - data << item.text1.truncate(30) unless item.text1.blank? - data << "\x0a#{text2}" unless item.text2.blank? + data << encoded_text1 unless encoded_text1.blank? + data << "\x0a#{encoded_text2}" unless encoded_text2.blank? data << "\t" data << TAX_GROUPS_MAP[item.tax_group || 2] data << ("%.2f" % item.price) data << "*#{item.qty.to_s}" unless item.qty.blank? data << ",#{item.percent}" unless item.percent.blank?