以下的分享,部分技能点是本人刚接触(鑫/3)蝶ERP订单系统时花钱请枪手指导的,毕竟任务很急,自己捣弄大概进度卡死在90%的样子,没办法,只能花钱求人帮助。这里整理一下,让众多后来者可以较大把握的自主完成(鑫/3)蝶ERP关于外部订单的插入。
1.要会使用SQL SERVER的数据库。(鑫/3)蝶系统仍使用SQL SERVER的数据库,得安装一个SQL的管理工具,用于查看相关的数据类型,字段,是否插入数据正确等等。(本人前面有写过SQL SERVER数据的安装及PHP语法运用实例的文章)
2.建议建立一个(鑫/3)蝶ERP的“测试帐套”。利用公司的主帐套,可以建议一个或者多个测试帐套,测试帐套对应测试数据库和表,尽量把正式的数据表结构和数据都复制到测试帐套,那在测试帐套怎么玩都不会影响线上的生产环境了!
3.(鑫/3)蝶订单表分为订单主体表(IC_Web2ERPOrders)和订单视图表(或称子订单表)(IC_Web2ERPOrdersEntry)。两个表都很重要,以下列出本人项目中用到的字段及字段释义及字段获取来源。
(1)订单详细表(IC_Web2ERPOrders)
FID, //主键ID
FClassTypeID, //订单类型ID
FOrderDate, //订单下单日期
FWebshopID, //所属网店ID
FSiteOrderID, //网上的订单号
FOrderID, //本地订单号((鑫/3)蝶本地)
FOrderType, //订单类型
FAmount, //订单的总价
FConsignee, //订单的顾客名称
FDeliveryAddress, //订单的详细地址
FTransactionStatus, //未知
FOrderStatus, //订单的状态
FCreatedate, //订单创建日期
FDeliveryProvince, //订单的寄送省
FDeliveryCity, //订单的寄送市
FDeliveryDistrict, //订单的寄送区
FMobile, //订单顾客的手机号码
FBiller, //订单的创建员ID
FEmpID, //订单的业务员ID
FYear, //未知,默认1000
FPeriod, //未知,默认1
FVChecker, //订单的检查员ID
FCurrencyID, //未知,默认1
FBuyerMessage, //订单的备注
FDeliveryCountry //未知,默认1
//FID主键的获得 start//
$selectFIDSql = "
DECLARE @interid AS int
EXEC GetICMaxNum 'IC_Web2ERPOrders', @interid OUTPUT, 1, 16394
SELECT @interid";
//FID主键的获得 end//
//查建单人和业务员 start//
$selectFEmpIDSql = "select * from dbo.t_User WHERE FDescription = '{$name}'"
//查建单人和业务员 end//
//查省市区,及直辖市设置 start //
省
"select * from t_SubMessage where FName ='{$receiver_province_name}'"
市
"select * from t_SubMessage where FName ='{$receiver_city_name}' and FParentID ='{$FDeliveryProvince}' "
区
"select * from t_SubMessage where FName ='{$receiver_area_name}' and FParentID ='{$FDeliveryCity}' "
//直辖市设置 start
if(in_array($receiver_province_name, $zhixia_shi_arr)){
$FDeliveryProvince = $FDeliveryProvince-100;//省:北京110000 市:北京市110100
$FDeliveryCity = $FDeliveryProvince+100;
$FDeliveryDistrict = $FDeliveryCity;
}
//直辖市设置 end//
//查省市区,及直辖市设置 end//
//用所属网店ID去查询erp是否存在 start//
"select FWebshopID from IC_WebshopToStorage where FWebshopID ='{$FWebshopID}'"
//用所属网店ID去查询erp是否存在 end//
//查出对应的物料ID关系 start//
” select * from dbo.t_ICItem where FNumber='01.01.0015'“; 获取: FItemID
//查出对应的物料ID关系 end//
//查物料销售单位 start//
"select FSaleUnitID from dbo.t_ICItem where FItemID = '{$FItemMoreID}'"
//查物料销售单位 end//
//查询出品的仓库 start//
“select FName,FItemID from dbo.t_Stock“
//查询出品的仓库 end //
(2)IC_Web2ERPOrdersEntry(订单视图表,子订单表)
FID, //主键
FIndex, //子订单排序
FItemID, //物料ID
FUnitID, //销售档位
FQuantity, //单条子订单的数量
FPrice, //单条子订单的价格
FAmount, //单条子订单的总价
FStockID, //订单的仓库ID
FCreatedate, //订单的创建时间
FAfterDiscountAmount //订单的折扣之后的总价
4.要注意,多条子订单,订单主体(IC_Web2ERPOrders)每条订单只有一条记录。子订单可以多条,多条子订单需形成多条IC_Web2ERPOrdersEntry订单的记录,多条子订单的总价,是订单主体的FAmount字段的总价。
5.以上字段或许仍欠缺很多字段,但据本人实测,以上的订单信息已经足以形成一条正常的订单插入到(鑫/3)蝶ERP订单系统,并可以正常的在系统内进行管理、审核、删除等等。
以上是我自己写的一些小分享,如有不到位的敬请谅解!