C#访问SOAP Web Service时500报错后的返回信息获取

调试Infor ERP LN Web Service的时候,你会发现如果调用不成功,返回的Http Header是500,但用SoupUI还是能看到结果返回,是不是很诡异。

因为这个东西,曾浪费了好几天,换了多种方式调用Web Service:引用、静态、动态、HTTP Post都试了。最后用Fiddle监控本地服务,然后开SoupUI代理,获取到下图。

这就造成了当使用HttpWebRequest访问时,不成功就会出现System.Net.WebException: ‘The remote server returned an error: (500) Internal Server Error.’报错(如下图),获取不到结果了。

怎么办呢,这里只能通过获取异常,然后将异常的相应结果返回。

用下面的代码就不论500错误是否发生,都能获取到Web Service返回值的源代码。

            //500 error but get the message
            HttpWebResponse res;
            try
            {
                res = (HttpWebResponse)webRequest.GetResponse();
            }
            catch (WebException ex)
            {
                res = (HttpWebResponse)ex.Response;
            }
            StreamReader sr = new StreamReader(res.GetResponseStream() ?? throw new InvalidOperationException(), Encoding.UTF8);
            var result = sr.ReadToEnd();

H5 WebApp禁止Webform页面回发

前一阵写一个H5的WebApp,用得老技术Webform,然后找人封装一下,优化一下WebView等,主要是实现运行于安卓系统的PDA能很方便的查询库存、进行库存的收发操作。

其中有一个扫码查询,允许用户手动输入,针对input textbox做了onchange事件,但是提交就会出现一个页面自动回发的问题。

用了比较原始的方式:

1、先给页面的表单设置DefaultButton(这里设置的是btnSubmit)。作用是:回车时会以该按钮被点击来提交表单进行回发。

<form id="form1" runat="server" defaultbutton="btnSubmit">

2、为btnSubmit设置Enabled=”False”。作用是:回车后发现btnSubmit不能使用,所以这次提交也就不能成功了

3、如果不想看到这个btnSubmit,就加上样式style=” display:none”进行隐

好了看一下截图吧:

Infor LN ERP中1个物料2个供应商同时供货,不分配采购订单

概念:
Sourcing percentage – A percentage used to calculate how orders are divided among suppliers.

故事背景:

供应商 A,Sourcing Percentage: 60%,MOQ: 25,Lead Time:90,Priority:999,供应商状态正常,没有特殊设置
供应商 B,Sourcing Percentage:40%,MOQ:30,Lead Time:90,Priority:999,供应商状态正常,没有特殊设置
大概1年前修改为此设置,从那以后,订单再也没有分配给B。

数据分析:

拉出采购订单明细,发现几十个采购订单下单数量最多时才65个。

原因分析:

假设订单量为100,那么A分配60,B分配40,并且都大于各自的MOQ,可按照预期下单。

假设订单量为20,那么小于任何一个供应商的MOQ,没办法生成订单。

假设订单数量为50,那么A分配30,B分配20,但B的MOQ为30,无法下单,只能全部下给A,50个。

原理分析:

但从数量上来看,要做到能够按照设定的比例分配数量,那么需求数量的最小值应该为:MAX(30/40%,25/60%),即75个。

解决办法:

理论上一个产品的最小订单量可以谈到2个供应商一致,类似交期、价格等。

当订单量小于允许分配的最小分配量时,两者优先级设为不一致。

从源头控制,针对需求和预测,做到订单数量可被分配。

其它我不知道的方法。

可能通过这种思路也无法解决,只能改变模式,分周期设置主供应商。

有空加一下

近期被多人在微信、QQ问些Infor ERP LN问题,最后不欢而散。

问得人觉得,他很客气和礼貌的询问了我是否有空、是否愿意回答,觉得理所当然。而他们不知道,我碍于面子,没有直接回绝。

当我问对方是否加入了我创办的Infor ERP LN私房菜的时候,对方居然都会有一样的回答:有空加一下

看到这句话,我知道他不会加入,哪怕免费都不会。因为有些问题,我让他看我博客的分享,他都不愿意行动。

他以为我是要他的99元终生的会费,他不知道的是我在评估自己:看我义务回答了问题的时间,对别人是否有价值。

我坚信自己所做的事情是有价值的,相信只有你产生了价值认可,彼此才会共享价值。

从今以后,不再理所当然的回答任何人的LN问题。我会说:有空回你

不是我吓唬你,还没加入的,赶紧啦!

 

做一次知识搬运工:Infor Mongoose Hello World官方培训视频

上周开始看Infor Mongoose这个开发平台,所幸YouTube上有官方的公开培训视频,为了方便国内的战友们,当一次搬运工,陆续会将以下视频放到腾讯视频(这其实应该是Infor China市场部应该做的事情)。

目前已完成Infor Mongoose的入门课程,对应英文Infor Mongoose Hello World,共7个视频,请猛击:http://v.qq.com/vplus/82eb992d15c8acd8a25e9827b38c171e/foldervideos/fq5002901feth6d

还有4个视频专辑已下载,陆续找机会上传,分别如下:

  1. Infor Mongoose Developer Demo
  2. Infor Mongoose How To Videos
  3. Infor Mongoose 101
  4. Infor Mongoose Introduction

深入了解Infor Factory Track:8份帮助文档

www.inforxtreme.com搜索Factory Track,记录还不多,目前之后141条记录,大概50条都是Manual或者Solution,从历史的记录中看到Bridgelogix和Factory Track的联系:原来早在2010年Infor就收购了条码管理解决方案供应商Bridgelogix。

下载了7个pdf文档,自己觉得有需要的信息也汇总到了word文档。

因为涉及版权,有想要一起学习的朋友,可以加我微信索取,请勿任意传播。

全英文文档加起来有超过500页,计划1周内读完,再来准备测试环境和下一步行动:Infor Mongoose application development framework。

Infor Factory Track初印象

从多个渠道了解到Infor在Barcode,或者说WMS领域的产品Factory Track,但一直未看到过演示,也未体验操作过。近期在Jerry Huang的帮助下,终于一睹真面目。

先发个截图,需要更多截图,请加入我的知识星球:Infor ERP LN私房菜

目前有个直观印象,下一步想深入体验和研究一下,以下是我的一些感触:

亮点:

  1. 用户界面UI的确挺漂亮,特别是扁平化设计的各功能模块的图标
  2. 功能齐备:仓库的各种日常操作都可以在PDA手持设备上操作
  3. 实时通讯:与Infor ERP LN通过ION连接
  4. 独立部署:不需要跟Infor ERP LN安装在一起
  5. 兼容浏览器:相当于微信、手机自带的浏览器,那怕在平板或者电脑上都能使用用户端。

不足:

  1. 没看到原生的App,既然已经运行于安卓环境中,直接在浏览器中运行,那么很多硬件的功能就无法很好地使用,这点我想不通。
  2. 操作体验上,菜单和返回等明显太呆板,用过了微信,再用这种会发现一个返回、一个跳转就要多几次点击。

疑问:

  1. Infor官网看到Factory Track这个产品归类在Supply Chain Management,为何中文翻译为面对制造业流程自动化解决方案
  2. Infor Mongoose application development framework跟ION或本身LN的4GL相比,其定位是什么?

通过税改,看Infor ERP LN/BaaN的圈子氛围

前面发了2篇关于税改的文章,通过朋友圈发给自己的微信朋友们,同时也斗胆发送到几个自己所在的QQ群,通过各个群的一些反馈,从点滴中看到了目前整个圈子的氛围。

有些QQ群发了之后,就群主表达了欢迎之意,后面就没有人有任何反馈了;而有些群即便是有不少跟帖,但表现出的针锋相对、鄙夷、自信的确让人很费解。因涉及隐私,不便截图,就将一些QQ群的话摘录一下。

这个方案不靠谱,直接在国家税码中增加一个新税率就好,新税率的生效日期为2018-05-01

我的点评:我们不必因为自己公司的特殊应用,或未涉及的应用,而否定了别人的全盘周全考虑。但怀疑和否定的态度值得肯定!

可以直接将系统税码17的税率改成16,后台再修改名字,后台GTM修改名称把17修改为16

我的点评:这明显是IT技术思维,不是业务顾问的思考问题和解决问题的习惯。很多时候我们的确可以通过直接操作数据库来完成一些事情,但不到万不得已不能去用。应对税改的方案应该有很多,如果不放弃自己唯一的“后台思维”,怎能拥抱并拥有除此之外的N多个方案?

能不用后台改表不,我相信上面几个说的方案,运行一段时间后,系统会乱的一塌糊涂。别和我讨论这个话题啊。只有***给出解决方案是基本正确,有部分小瑕疵,不影响大局,其它都是错的。

我的点评:尽管我认同此人的“后台思维”,但并不表示你可以否定它。很多技术或顾问有个不好的习惯,不自觉的就以打击别人来提高自己,但殊不知:杀敌一千 ,自损八百的道理。还有,很多人愿意分享,不一定是因为自己非常强大才有资格分享,如果你真认为自己的方案更好、更完整,请多花点时间分享出来,不要费那么多时间去研究别人写得方案,而最终就是为了评价和贬低别人。

分享一下给我们啊,看不下去了

我的点评:真正的强者是可以接受别人的挑战的,如果自己技术和能力不行,多花点时间脑补,提高功力。激怒强者的结果未必好。但对于自高自大的强者,新人、年轻人其实无需畏惧,当你到了这个年龄,你会做得比他更优秀。智者千虑,必有一失;愚者千虑,必有一得。敢于挑战强者的勇气是需要的!

那些人直接通过GTM改的,是什么脑子哦

我的点评:虽然我也不认同直接GTM修改,但没必要通过这种损人不利己的话来显得自己的很专业,系统是人涉及的,熟悉业务的人,开发过这个系统的人,可以准确无误的仅通过数据库的操作来完成前台正常流程一模一样的数据。这并不为奇,同样我觉得这也是GTM存在的一个原因。

QQ群的交流,随着五一的来临还在持续,明显看出来,很多人看到上述的交流后,跟我有同样的感触,选择静默,继续潜水。

但我大胆呼吁:别人说得不全面,你可以补充;别人说得不对,你可以分享自己的做法;希望不管是甲方、还是乙方,不管是业务用户,还是IT用户,都能拥有包容和尊重的态度。

有一种理想的人际关系叫做:相互欣赏

即便我们做不到,但求同存异,共同发展,应该是我们的一致目标。

感谢你还一直看我啰嗦,那么最后来点干货吧,同时附上一张图,据说看懂得人都是聪明人。

关于采购订单和销售订单的税率的计算,以下是我的测试结果,如有异议,可自行测试。

采购订单上的Tax Amount是根据Planned Receipt Date(应该是Line的,不是Header的)来计算每个订单行所对应的税码在此时间生效的税率。

销售订单上的Tax Amount是根据Planned Delivery Date(应该是Line的,不是Header的)来计算每个订单行所对应的税码在此时间生效的税率。

如上图,5月1日生效的VAT17的税率为16%,那么计算的结果就是

800*0.16=128
43796.24*0.16=7007.49

如果不想批量改Open订单的Tax Code,并且Audit也没问题的话,用这个方法就行。不管你会不会用,反正我会用。

除了截图,我还附上一些代码,是通过Where Used Table Field 找到所有tcmcs032.edat的使用清单,逐个检查代码后找到的一个最简单的应用例子。估计能看此文看到这里的人都能看得懂:

function get.sing.tax()
{
	select	tcmcs032.*
	from	tcmcs032
	where	tcmcs032._index1 = {:tcmcs036.ccty, :tcmcs036.cvat}
	order by tcmcs032._index1 desc
	as set with 1 rows
	selectdo
		tax.rate = tcmcs032.pvat
	selectempty
		tax.rate = 0
	endselect
}

所以,税改的方案,每家公司都可以在自己的测试系统进行一些测试,省得盲信盲从。

比方说测试重点是老订单在新税率启用后,究竟如何操作的问题:你可以创建一些销售订单和采购订单,然后针对那个税码创建一个第二天生效的税率,接着第3天完成采购订单和销售订单的后继操作,看看到底税率和发票的操作有没有问题。

再假如说你要测试退货的问题,你可以选择一个老采购或销售订单,选择在第三天进行操作,就知道问题所在了。

重磅:增税改革Infor ERP税率调整方案及相关税务处理建议

自4月12日《制造业增值税降低,Infor ERP LN中税率调整的注意事项》发布后,我一直等待着Infor官方的消息,至今未看到。但可喜的是看到来自拓创,这家圈内很有名气的Infor ERP咨询顾问公司的一篇公众号文章,介绍LN和BaaN 4的调整内容和修改方案,还有政策解读和财务层面需要多注意的事项,真得要赞一个。

忍不住贴一张图,更多详情请访问:《增税改革Infor ERP税率调整方案及相关税务处理建议