Source code for extools.view.utils.order

from extools.view import exview, ExView
from extools.view.errors import ExViewError

[docs]def orduniq_for(ordnumber): """Get the Unique Order Key (ORDUNIQ) given an Order Number. :param ordnumber: Order number to get the unique key for. :type ordnumber: str :returns: ORDUNIQ or 0.0 :rtype: float """ try: with exview("OE0520", seek_to={'ORDNUMBER': ordnumber}) as exv: return exv.get("ORDUNIQ") except ExViewError as e: return 0.0
[docs]def order_from_quotes(customer, quotes): """Create an order for a customer from a list of quotes. :param customer: customer number :type customer: str :param quotes: list of quote numbers :type quotes: list :returns: new order (not yet inserted) :rtype: ExView("OE0520") """ order = ExView("OE0520", index=77) order.compose() order.recordGenerate() order.put("CUSTOMER", customer) order.put("MULTIQUO", 1) # order.put("QUOS", len(quotes)) for quote in quotes: order.oe0526.recordGenerate() order.oe0526.put("QUOUNIQ", orduniq_for(quote)) order.oe0526.put("QUONUMBER", quote) order.oe0526.insert() order.put("GOQUOTOORD", 1) order.put("OECOMMAND", 11) order.process() return order