问题标签 [point-of-sale]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .Net 支票打印的 POS
我们目前已完全实施支票打印并在现场用于 POS 应用程序。它在 Windows 上运行,用 C# 实现,并使用 .Net 的 POS。
我们遇到了一个问题,收银员太急于在支票完成盖印前一秒钟左右取出支票。
如果支票在打印过程中被拉出,我们无法让打印机停止接受支票。滑动 LED 指示灯闪烁并进行检查,直到成功调用 BeginRemoval() 和 EndRemoval() 为止,除非您签入以使其立即吐出,否则不会发生这种情况。
我想知道是否有办法在没有支票时禁用打印机想要支票。我假设只有一个我们没有正确调用的方法。
具体来说,问题是如果您调用 BeginInsertion() 和 EndInsertion(),两者都成功,并且在应用程序可以调用 BeginRemoval()/EndRemoval() 之前删除检查。
有没有人有 C#、C++、VB 或任何语言的工作示例?我需要一个插入支票、打印、等待删除以正确处理错误的示例。
*更新:我将此问题转发给爱普生,并要求提供示例应用程序。他们还没有生产出一个,但向我指出了一个 DirectIO() 调用,据称该调用适用于 TM-H6000 系列以取消滑动插入。但是,我还没有让这个工作。希望我们能弄清楚并发布修复程序。
*更新 2:爱普生回复了一些 DirectIO() 操作,据说可以解决问题。但是,在尝试调用 DirectIO() 时,我不断收到 ErrorCode.Illegal。任何人都有在旧设备上使用 DirectIO() 的示例?
应该工作的代码:
更新 3:赏金!
printing - 如何在 Visual Basic 6 上使用 USB 对 POS 打印机进行编程
如何在 Visual Basic 6 上使用 USB 对 POS 打印机进行编程
.net - 销售点应用架构
我被要求为一家餐厅构建一个 POS 应用程序。我有在 VB6.0 中创建 POS 应用程序的经验,并且一直想用 UX 创建一个。我希望创建一个以 WPF 作为前端的。我几乎想到了过程画面和屏幕。
说了这么多,我不知道如何架构一个。
我想到的几个主要问题是:
我应该使用 WPF 的复合应用程序指南 - 棱镜。如果答案是肯定的,那么 POS 应用程序中的性能会降低,时间可能很关键,客户需要及时的服务。
我认为依赖注入应该用于更好的维护。
使用 ADO.NET Entity Framework-LinQ to SQL
我想稍后扩展此应用程序以包括库存管理和数据挖掘、管理报告。
将 POS 用于 .NET
希望这个周末我能把这一切弄清楚。
请指教。
谢谢,
三月
编辑:我仍然保持开放状态,希望获得更多意见/建议。
installation - WIX 安装程序:添加 POS 作为先决条件
在安装 .net fx、sql server compact edition 等之后,我希望使用我的安装程序安装Microsoft POS(服务点) 。
我愿意为下载的 exe 提供安装程序(无需从网上获取)。
我找到了这个链接。链接中的文章表明您需要使用一些参数调用设置。但我不知道如何明智地做到这一点。其次,我不确定这也是正确的方法。(也许需要一个合并模块?)
有人知道吗?
.net - 使用 POS.NET 配置 POS 打印机
是否可以从 POS.NET 应用程序配置 POS 打印机服务对象(爱普生)(例如配置网络连接打印机的 IP 地址)?如果不需要通过爱普生提供的应用程序单独完成,那就太好了。
device - 订单确认装置
我们正在构建一个解决方案,只要客户在我们的网站上下订单,我们就必须向客户发送订单。为了简化流程,我们正在研究某种低成本的订单确认设备,可以在客户端打印订单,然后客户发回确认信息。
我已经搜索过此类设备,但我只获得此类设备的专利结果。
c# - C# SerialPort - 模拟 pos 键盘
我们正在尝试模拟 POS 键盘,以便将应用程序与现有的销售点应用程序集成。
我们遇到了这个软件:Virtual Serial Port Kit
它基本上创建了一个虚拟串行端口对,以便发送到 COM1 的数据可以从 COM4 出来,反之亦然。这允许我们的应用程序通过 COM4 发送数据,以向 POS 应用程序显示它正在与 COM1 上的键盘通话。
非常巧妙,但似乎有某种信号正在发生,我们无法用 .Net System.IO.Ports.SerialPort 类复制......
从串口监控程序中我们可以看出,启动顺序是这样的:
- 8字节命令发送到键盘
- 键盘哔声
- 从键盘发出某种信号
- 第二个 8 字节命令被发送到键盘,由信号触发
- 键盘回复设备和版本信息
当使用我们的虚拟串口时,我们无法弄清楚如何复制从键盘发送的信号。我们可以看到所有数据都正确通过,因此我们相信我们的 SerialPort 对象上的设置是正确的。这是我们的 SerialPort 设置的片段:
我们还注意到,在使用portmon 时,我们看到了一个 GET_MODEM_STATUS 请求,这是 POS 应用程序在发送第二个命令之前正在等待的请求。
关于如何诊断这个的任何想法?由于我们使用的是 .NET,因此整个情况比我们习惯的要低一些。
更新:我还想指出,我们在这里尝试了 SDK:Franson Serial Tools,但使用此 SDK 时我们甚至无法获取数据。
更新:我们已经放弃使用任何类型的虚拟串行端口。我们已经获得了一条从 POS PC 连接到另一台 PC 的电缆,并且可以看到通过的数据来模拟键盘。现在我们的问题是,我们无法弄清楚如何发出键盘已准备好接收数据的信号,正如最佳答案所提到的那样。似乎 POS 应用程序发送命令发出哔声,并等待最多 3 秒等待信号。所以在与我们的应用程序交谈时会超时,但在与真正的键盘交谈时不会
我们如何使用 SerialPort 类做到这一点?我们已经将 DtrEnable 和 RtsEnable 设置为 true,还需要设置其他内容吗?还是我们必须使用较低级别的串行端口 p/invoke 来完成此操作?
解决方案:
这使得 POS 应用程序认为键盘已插入,这是有道理的。我将#1答案标记为答案,因为它极大地帮助我们找到了解决方案。
.net - CashDrawer.WaitForDrawerClose 期间事件堆积
我正在为 POS 编写应用程序并将 POS 用于 .NET。我发现,当我调用 WaitForDrawerClose 方法时,虽然应用程序会坐下来无响应地等待直到抽屉关闭(根据需要),但其他地方的任何点击似乎都会堆积在队列中,并且一旦抽屉关闭就会全部触发。只要 WaitForDrawerClose 尚未返回,如何让我的应用程序停止侦听这些事件?谢谢!
c# - Microsoft POS 无法识别扫描仪
我有一个 Metro Technologies 的条形码扫描仪,我正在使用 Microsoft POS 来检测来自扫描仪的输入。它使用 USB 端口连接到我的系统。但是扫描仪没有被 POS 识别。
printing - 棘手的POS打印机设计问题
除了已经安装的软件之外,我正在考虑设计一个在 POS 终端上运行的应用程序。我希望它接收 POS 打印机命令,然后在其中一些命令上拦截和修改它们。因此,例如在打印收据时,我们希望在其中添加自定义参考编号,而无需修改第三方 POS 应用程序。
我很想听听人们对阅读 POS 规范的最佳方法的建议,这似乎并不简单。