冲突处理
先说清楚这一页是干什么的。
这个插件(「门店档案同步」)是给开了分店的连锁药店用的:总部那家店在插件里叫主店, 跟着它走的几家门店叫分店。主店改了商品的资料或者价格,插件会同步过去 —— 也就是自动送到分店,改成一样的。
冲突是同步里的一种麻烦事:主店要把某个商品推给分店,可是那家分店已经有一个同一个药了, 只是商品编码不一样。判断“是同一个药“的办法是「商品名称 + 规格 + 生产企业」三个完全一样。 这种时候插件不会硬建:真建下去,分店就会出现两个一模一样的药,收银员开单的时候会懵。 它把这一条摆到这一页来,等人处理。
处理的办法叫对码:把分店那个商品的编码改成跟主店一样的。这里要先说清楚 —— 对码这件事不在这一页做,要去商品档案里改。 这一页只负责把问题摆出来,并且记下你处理到哪一步了。
从哪儿进去:这一页不是页签,是从「跟随设置」页进去的二级页。路是这样走的 —— 先点左边菜单「门店档案同步」,进去以后默认停在「跟随设置」那一页。 只有在真的有冲突的时候,那一页顶上才会多出一条提示,写着“有 N 个商品没能同步到分店。 分店已经有同一个药了,只是商品编码不一样 —— 需要人工对码,然后重新同步。“,后面跟着一个「去看看」按钮, 点它才进得来这一页。 一个冲突都没有的时候,那条提示压根不出现,也就没有这个入口。 进来以后,页面最下面有「‹ 返回跟随设置」,点它回到跟随设置页。
这一页现在截不到图,因为要真的有冲突才会出现入口
它不是一个随时能点开的页面:只有真的有冲突,跟随设置页顶上那条提示和「去看看」按钮才会出现。 一个冲突都没有的时候,这个入口是不存在的。采集的时候库里正好没有冲突,所以这一步点不进去, 这一页也就没截成图。以后要补图,补的就是这两张:跟随设置页顶部那条提示(带「去看看」), 以及点进来以后这一页的样子。
什么时候会用到它
- 跟随设置页顶上冒出那条“有 N 个商品没能同步到分店“的提示,你点「去看看」进来;
- 某家分店老是缺一个品种,查下来是它早就自己建过一个同名的药,只是编码跟主店不一样;
- 你已经在商品档案里把编码改一致了,回来点一下「标记已处理」,让下一轮同步重试;
- 处理完一条不放心,想回来看它是不是从「待处理」挪到「已处理」了;
- 这一页列出来的两个其实不是同一个药(名字、规格、厂家凑巧一样),你想让它别再报这一条。
怎么操作
第一步:先把页面上那句话读完
这一页最上面有一条提示,写着这件事怎么办,大意是: 去「商品档案」把分店那个商品的编码改成跟主店一样的(也就是对码), 改完回这一页点「标记已处理」—— 下一轮同步就会把这个商品正常推过去。
这句话里最要紧的是顺序:先改编码,再回来点按钮。光点按钮不会同步。
第二步:在「没能同步的商品」这张卡片里找到那一条
一行是一条冲突。卡片标题右边写着现在有几条。卡片里那格「状态」默认是「待处理」, 也就是说,一进来看到的就是还没处理的那些。
第三步:到商品档案里去改编码(对码)
按上面说的方法做:把分店那个商品的编码改成跟主店一样的。 改的地方是商品档案。这一页不替你做这件事 —— 因为编码是商品档案那边的数据,改它得去那边改。
第四步:回来点「标记已处理」
改完编码回到这一页,找到那一条,点「标记已处理」。它的意思是 “我在商品档案里把编码改成一致了,让下一轮同步重试”。 下一轮同步跑的时候,两边的编码已经一样了,不再算冲突,这个商品就会正常推过去。
第五步:如果“其实不是同一个药“,就点「忽略」
有时候这一页列出来的两条其实不是同一个药,只是名字、规格、厂家凑巧撞上了。 这种就点「忽略」,意思是“分店那个其实是另一个药,不是同一个 —— 别再报这一条了“。 点过之后它就从待处理里消失了。
第六步:想马上看结果,就点「立即同步一次」
不想等定时那一轮(这个插件默认隔一会儿自己跑一轮),可以点卡片右边那个**「立即同步一次」**, 当场跑一轮。跑完回来再看,处理对的那条应该就没了。 处理过的行,最后一列不再有按钮,而是显示「已处理」或者「已忽略」。
界面上都有什么
这一页只有一张卡片,叫「没能同步的商品」,另外上面有一条提示、下面有一段说明。 这一页上的东西都是看的,只有一个下拉和一个按钮是你动手的地方。
| 页面上的东西 | 是什么、从哪来 |
|---|---|
| 最上面那条提示 | 写着这事怎么办:先去商品档案对码,改完回来点「标记已处理」 |
| 状态(下拉) | 待处理 / 已处理 / 已忽略 / 全部。选哪个,列表里就只剩这一种状态的 |
| 立即同步一次 | 当场跑一轮同步,不用等定时那一轮。跑完会提示“跑完一轮:…“ |
| 「没能同步的商品」卡片标题右边的条数 | 现在这一页显示几条冲突 |
| 标记已处理(每条一个) | 意思是我已经在商品档案里把编码改成一致了,让下一轮同步重试。鼠标停在上面会显示这句话 |
| 忽略(每条一个) | 意思是分店那个其实是另一个药,不是同一个 —— 不再报这一条。鼠标停上去也会显示这句话 |
| 处理过的行 | 最后一列的按钮没了,换成一个「已处理」或者「已忽略」的小标 |
| 一条都没有的时候 | 列表位置写着「没有这类问题。」 |
| 最下面那段说明 | 「为什么会这样:」同一个药在两家店用了不同的商品编码。判断办法是「商品名称 + 规格 + 生产企业」三个完全一样 —— 所以如果这里列出来的其实是两个不同的药,点「忽略」就行。 |
表头一共五列,最后一列没有名字(放按钮的):
| 这一列 | 写的是什么、从哪来 |
|---|---|
| 主店要推的品种 | 主店那个商品的编码(上面一行小字),下面一行写着它的名字或者业务编号 |
| 推给哪家店 | 这条冲突出在哪家分店 |
| 那家店已经有的 | 分店那边已经存在的那个商品的编码;有的还会跟着显示一个商品 ID |
| 发现时间 | 这一条是什么时候被发现的 |
| 最后一列(没标题) | 「标记已处理」和「忽略」这两个按钮;处理过之后变成「已处理」或者「已忽略」 |
常见疑问
问:这一页跟同步记录有什么关系?
答:两页看的是同一件事的两面。同步记录是“推成功了哪些“的流水; 这一页是“推不过去、等人处理的那些“。所以某个商品在这一页挂着的时候, 同步记录里就不会有它成功同步的那一条。
问:我直接在这一页点「标记已处理」,商品能不能同步过去?
答:不能。这一页只是记一笔“我看过了“。要真推过去,得先在商品档案里 把分店那个商品的编码改成跟主店一样。编码没改,下一轮同步照样推不过去, 这一条还会回到「待处理」里。
问:怎么判断该点「标记已处理」,还是该点「忽略」?
答:看这两条是不是同一个药。是同一个药(同一家厂、同一个规格),就去对码,回来点「标记已处理」; 真的不是同一个药,只是名字规格凑巧撞上了,就点「忽略」。
问:点了「忽略」,这一条记录是不是就被删掉了?
答:没删。它只是从「待处理」挪到「已忽略」里去了。把上面那格「状态」换成「已忽略」,还能看到它。
问:这一页老是冒出新的一条,是不是同步坏了?
答:不是坏了。会出现冲突,是因为分店那边早就自己建过这个药,两边的编码没有对齐。 这一页把它挑出来,就是为了不让分店出现两个一样的药 —— 留一个处理一个,把编码都对上了,就不会再冒出来。
本页修订记录
| 说明版本 | 日期 | 对应系统版本 | 改了什么 |
|---|---|---|---|
| v1 | 2026-10-07 | 框架 1.0.91 / pk_sync 0.1.3 | 第一版;这一页暂时没有配图(库里没有冲突时入口不出现,采不到图),内容和文字按程序里的实际写法整理 |