These are chat archives for CORE-POS/IS4C

8th
Aug 2016
I've practiced installing lane & fannie twice now, the lane to fannie linkage resetting itself (pictured above) seems to be the last thing holding up the show
Andy Theuninck
@gohanman
Aug 08 2016 01:24
Unfortunately that's not something I've run into myself or ever heard reported from any other user. Is it literally just those - i.e. settings on other tabs are intact?
danry25
@danry25
Aug 08 2016 01:28
I was having issues with setting the receipt printer port, where it wouldn't save what I set it to, but this is about it
I think I figured it out, its an error in our Ansible pull script
Any chance I could have a quick call with you tomorrow by the way? Ian and I will be flying out to deploy CorePOS in Michigan on Tuesday
danry25
@danry25
Aug 08 2016 03:15
Hmm, the end of day report isn't printing in Lane. It just triggers the autocutter on the Epson Receipt printer
danry25
@danry25
Aug 08 2016 04:30
Man, how'd I configure Quick Keys last time...
danry25
@danry25
Aug 08 2016 19:43
@gohanman you around at all?
Andy Theuninck
@gohanman
Aug 08 2016 19:52
yeah?
danry25
@danry25
Aug 08 2016 19:54
So I figured out I need to do 1001 thru 1005 for the touchscreen, but how do I do enter/carriage return?
Also trying to get price embedded barcodes working
Andy Theuninck
@gohanman
Aug 08 2016 19:55
I don't know why you would need a carriage return/enter in the context or what it would be expected to do
danry25
@danry25
Aug 08 2016 19:56
Say I hit the touchscreen tender button, then I have cash $1. Ideally that'll do 100CA and then hit enter
Andy Theuninck
@gohanman
Aug 08 2016 19:58
But submit is automatic by pressing/clicking the button
danry25
@danry25
Aug 08 2016 19:59
oh, that it is
shoot
Ok, onto price embedded barcodes
how do I make a barcode like 200001807541 ring up as $7.54
where 2000018 is always the same and 754 is the price and 1 is the check digit
Andy Theuninck
@gohanman
Aug 08 2016 20:01
This describes the expected barcode format https://github.com/CORE-POS/IS4C/wiki/Service-Scale-Integration#basic-usage; that price+identifier alignment is different than I've ever seen with Hobart or Mettler Toledo scales
danry25
@danry25
Aug 08 2016 20:03
200000403638 maybe? The prior one I pulled from somewhere online, this one I got from one of the stores we use price embedded barcodes at
Would I add 200000400000 with the price per pound in Fannie?
Andy Theuninck
@gohanman
Aug 08 2016 20:06
No, that's not going to work. The item identifier has to go in the five digits following the two.
danry25
@danry25
Aug 08 2016 20:08
so, drop a zero on the end and give it a go?
Andy Theuninck
@gohanman
Aug 08 2016 20:11
No, that's not going to work. The UPC formatting needs to be 2AAAAABBBBBC where A is the item identifier, B is the price, and C is the check digit. Your identifier (4) is not in the A section and tacking on more zeroes won't fix that
danry25
@danry25
Aug 08 2016 20:13
Any way we could make it work? From experience they are all 2AAAAAABBBBC not 2AAAAABBBBBC whether it be coming off a Hobart, CAS or Metler Toledo
Andy Theuninck
@gohanman
Aug 08 2016 20:15
Not presently. Like I said, I've got both Hobart and MT scales in use and both definitely use the format CORE expects or at least can be configured to (I'm not sure exactly how as I've never needed to. This is the out-of-the-box behavior of every model of scale I've personally worked with).
danry25
@danry25
Aug 08 2016 20:16
Hmm
Perhaps it'd be best just to add an item flag marking an item as price embedded so the prefix length isn't a factor, since that is how I've seen it done in NCR ACS, PCAmerica & a few others
Where in the lane parser does it search for 2AAAAABBBBBC?
A flag seems redundant. The "2" prefix means variable https://en.wikipedia.org/wiki/Universal_Product_Code#Number_system_digit
danry25
@danry25
Aug 08 2016 20:26
Yeah, but without a flag you end up with those misusing the UPC system breaking your point of sale http://www.is4c.coop/bb/viewtopic.php?t=66&view=next&sid=3cd50f989294d7f805729ef67f868fdd
Kinda silly, but would you accept a pull request if we modified it to support this?
Andy Theuninck
@gohanman
Aug 08 2016 20:32
I don't find the argument compelling. Creating extra work on every valid item so that invalid UPCs can be used seems like a really poor trade off. In practice I think users would forget to set the flag far more often than they'd try to create a 2-prefix UPC that isn't actually a variable item
danry25
@danry25
Aug 08 2016 20:37
Yeah, I get what your saying, I think it might work if we enable check digit under Lane. 2AAAAAACBBBBC is actually what the format is, gonna go give that a go
A being prefix, C being check digit and B being price
Besides this, the last issues holding up deployment is the Tender Report & Any Tender Reports not printing (the former triggers the receipt to cut, latter does nothing) and looking up prior transactions. On the receipt the trans # shows up as say 1-1-6, but typing 116 or 1-1-6 just gets me an error when trying to lookup the transaction in Lane
Andy Theuninck
@gohanman
Aug 08 2016 20:40
The looks more sensible to me. Worst comes to worst you could make a new VariableWeightReWrite to manipulate the UPC as it's rung into the lane, but backend tooling around these barcodes is less flexible
danry25
@danry25
Aug 08 2016 20:42
Yeah, I see Variable Weight Item Mapping (UPC Prefix "2"): in lane, but no options under its dropdown menu
Andy Theuninck
@gohanman
Aug 08 2016 20:43
configuration UI bug I guess
I'm not sure what you're referring to as looking up prior transactions. There's no such functionality AFAIK. Tender reporting is probably either configuration of which tenders should be included or data flow with information getting from the lane to the server where the tender report expects to find it. But tender reporting is something that almost universally gets replaced with a customized version so the "default" one seems vanishingly little real-world testing
Finn
@thefinn93
Aug 08 2016 20:55
@gohanman so Dan really wants his 6 digit prefix and I really don't want to diverge from the upstream codebase, would you accept a patch where we add another option to the drop down on top of the lane install's Scanning page to be "check digit in prefix and price"?
eg options would be "no check digits", "check digit in price" and "check digit in prefix and price"
or something
Andy Theuninck
@gohanman
Aug 08 2016 20:56
I think an additional VariableWeightReWrite module would be a better solution without adding another setting.
danry25
@danry25
Aug 08 2016 20:57
Yeah, I think that is what Finn wants to do
Finn
@thefinn93
Aug 08 2016 20:58
yeah i was thinking that, but the 02 prefix is hard coded in that code section you linked above
which would be just 2 with the layout he wants
Andy Theuninck
@gohanman
Aug 08 2016 20:59
I don't think so. The barcode is always going to be padded out to 13 digits before any processing happens
Finn
@thefinn93
Aug 08 2016 20:59
if that wasn't the case i'd just build out a VariableWeightReWrite class in a custom plugin and not worry about it
hrm
okay
danry25
@danry25
Aug 08 2016 20:59
yeah, in Fannie its 02 when I add it
Finn
@thefinn93
Aug 08 2016 20:59
oh
danry25
@danry25
Aug 08 2016 20:59
cause it gets a 0 padded onto it
Finn
@thefinn93
Aug 08 2016 20:59
okay, then VariableWeightReWrite it is
danry25
@danry25
Aug 08 2016 21:00
@gohanman how'd I configure the tender report
Andy Theuninck
@gohanman
Aug 08 2016 21:04
On the extra tab there's a table of tenders and a Tender Rpt column with checkboxes for what should be included [in theory]
danry25
@danry25
Aug 08 2016 21:08
Hmm, checked a few of those, no change in the Tender Rpt
Andy Theuninck
@gohanman
Aug 08 2016 21:09
Other guess would be transaction data isn't making it to the server (or there is no server).
danry25
@danry25
Aug 08 2016 21:09
let me do a few more transactions on this
is that a global report or a per station report?
Andy Theuninck
@gohanman
Aug 08 2016 21:10
The default one is per-employee
(cashier)
danry25
@danry25
Aug 08 2016 21:10
So I could use it to balance their till at the end of the day?
Andy Theuninck
@gohanman
Aug 08 2016 21:11
Mostly. For cash, if you print a cash tender report, you'd have to know what the starting balance was
danry25
@danry25
Aug 08 2016 21:12
yeah, that is pretty well defined, depending on the place they'll start with a $200, $150, or other amount drawer
Where could i get sales statistics in Fannie?
Andy Theuninck
@gohanman
Aug 08 2016 21:13
Which kind? That's a pretty open-ended question
danry25
@danry25
Aug 08 2016 21:18
Eh, what is available besides the cashier performance report?
Andy Theuninck
@gohanman
Aug 08 2016 21:22
Again, of what? The all reports page should list them all but there's probably at least a couple dozen slicing up sales data in different ways
danry25
@danry25
Aug 08 2016 21:27
yeah, found what I want under reports
Finn
@thefinn93
Aug 08 2016 21:34
diff --git a/pos/is4c-nf/install/scanning.php b/pos/is4c-nf/install/scanning.php
index bf3f5ec..2f4e851 100644
--- a/pos/is4c-nf/install/scanning.php
+++ b/pos/is4c-nf/install/scanning.php
@@ -447,7 +447,7 @@ if (!$specialDeptMapExists) {
     </td>
     <td>
     <?php
-    $mods = AutoLoader::listModules('VariableWeightReWrite');
+    $mods = AutoLoader::listModules('COREPOS\\pos\\lib\\Scanning\\VariableWeightReWrite');
     echo $form->selectField('VariableWeightReWriter', $mods, 'ZeroedPriceReWrite');
     ?>
     </td>
seems to fix the scanning page at least rendering the dropdown
i haven't tested beyond that
Andy Theuninck
@gohanman
Aug 08 2016 21:34
CORE-POS/IS4C@bd3c28d :P
Finn
@thefinn93
Aug 08 2016 21:35
nice
thanks :)
Finn
@thefinn93
Aug 08 2016 21:51
so, what's the PHP namespace keyword do?
eg, my VariableWeightReWrite plugin is just copied from one of the other ones
and starts with
namespace COREPOS\pos\lib\Scanning\VariableWeightReWrites;
use COREPOS\pos\lib\Scanning\VariableWeightReWrite;
but if i remove the namespace line, it still seems to work fine, and shows up as just it's own name in the drop down
vs with the namespace line it says COREPOS\pos\lib\Scanning\VariableWeightReWrites\AcceleratePriceEmbeddedReWrite
or something
Andy Theuninck
@gohanman
Aug 08 2016 21:54
It does more-or-less the same thing as namepsaces in any other language that supports them. In modern(ish) PHP using namespaces is the norm because autoloading is important and having namespaces that map to directory hierarchies makes that more efficient.
Finn
@thefinn93
Aug 08 2016 21:59
okay, so should i set the namespace to like COREPOS\pos\plugins\AcceleratePriceEmbeddedReWrite?
Andy Theuninck
@gohanman
Aug 08 2016 22:01
That sounds right. Most plugin stuff hasn't been retrofitted with namespaces yet
Finn
@thefinn93
Aug 08 2016 22:01
ok
danry25
@danry25
Aug 08 2016 22:24
So it scans, but it should take the price I set (5.99) and divide the price read on the barcode (7.54) to get 1.26lbs
also it should pull the unit of measure and should display like 1.26 @ $5.99lb
Andy Theuninck
@gohanman
Aug 08 2016 22:32
It will if the item is marked as scale
Finn
@thefinn93
Aug 08 2016 22:35
hrm
we tried that with a price embedded barcode and it just says 1 @ <price>
also doesn't display the units
Andy Theuninck
@gohanman
Aug 08 2016 22:38
Dunno what to tell you. If the item is marked as scale-able and has a non-zero price it'll calculate the quantity exactly as requested. This is the code that does it https://github.com/CORE-POS/IS4C/blob/master/pos/is4c-nf/parser/parse/UPC.php#L375-L404
Finn
@thefinn93
Aug 08 2016 22:39
if (round($scaleprice, 2) != round($quantity * $row['normal_price'], 2)) {
i wonder if that's doing it?