delphi 冻结和激活订单

问题描述

我正在尝试制作小型 POS 系统,使用 FDMem 表为客户填写商品。

如果客户忘记了他的钱或去更换产品..并且生产线上的客户移动并且新客户出现要求开始销售过程,我如何保存或冻结{{1 }} 表保存以前客户的产品并开始新订单并完成销售。那么,当第一个客户回来时,我该如何恢复之前的销售流程并重新激活之前的 FDMem 表及其商品?

解决方法

在 FDMem 表中再添加一列。该列可以采用 3 个值:“Finalized”、“Opened”和“Paused”,具体取决于销售的“状态”如何进行。然后,您可以在记录之间导航。

,

因此,如果我理解正确,您希望能够同时处理多个客户或订单。

人们猜测的一种解决方案是为每个客户分配唯一编号,然后他们将该编号作为附加字段添加到数据库中的每条记录中。现在,为在线客户分配独特的价值并不是特别困难。事实上,您已经以会话 ID 的形式获得了此类信息。但是在实体店为顾客做这样的事情是不可行的。

但是还有另一个类似的解决方案。大多数税务机关要求任何商店为任何购买提供收据。每张收据都需要有一个唯一的编号。因此,您可以在客户第一次到达您的 POS 时保留一个新的收据编号,并且您开始将其商品添加到系统中。然后,您可能希望有另一个包含所有保留收据编号及其当前状态的表格,以便您知道哪个收据已完成,哪个收据尚未完成,哪个收据已取消。