been meaning to get around to that, but setuptools v60.9.0 seems to
have forced my hand. never did find docs saying that the syntax had
been deprecated, but updating that fixed a problem where apparently
none of the entry points were actually being recorded when the package
was installed, when setuptools 60.9 was present
https://setuptools.pypa.io/en/latest/history.html#v60-9-0
when a row has no received amount yet, it would be "incomplete" unless
there was nothing ordered. but if the batch has an invoice file then
we would say unless there was nothing *shipped* instead.
this also, finally, splits out the row status setter as separate
method. probably need even more parts split out yet but it's a start
i.e. when multiple matches are found, try to return a unit item if
possible. that at least seems useful for e.g. SMS PO matching, and
presumably is good behavior generally? can revisit if not
what seems to happen is a) connection fails, then b) attempting to
"close" the connection also fails. let's just get one email from a)
and not get one from b)
we should match on whichever time field is "most reliable" from the
host transaction data. for instance some POS systems include an
`upload_time` value which is most preferable, but we use `end_time` as
the default since it's more likely to exist in all systems.
not exactly sure why it used to commit host before local, but it's
pretty dang frustrating to see a massive import fail at the very end,
which makes for a compelling reason to commit local before host.
should be able to use the handler to get exactly what you need now..
this also changes autocomplete to only fetch one product by key,
whereas previously multiple matches were *possible* - although they
were presumably not likely. guess we'll see if there is blowback
- ExcelReader now should ignore "pseudo-empty" columns
- add `ProductsHandler.get_case_size()` method
- vendor catalog batch input need not contain case sizes (we copy them
from product master if not)
- vendor catalog batch input need not contain vendor item codes either
- vendor catalog product lookup now tries global default logic
first (then falls back to its own traditional logic)
- generic catalog parser lets handlers do more of the work