描述
写道
将icgoo中‘导入佳友’功能所传递的数据传递到openerp中来.
数据示例: "肖飞||LM124D||STMicroelectronics||888||Mouser||511-LM124D||10.505||8.978||1.34||1.23||库存位置:TW@@备注: 美金参考价:1.34.包装:Tube"
解释一下数据:
1.用户姓名;2.制造商型号;3.制造商;4.询价数量;5.供应商;6.供应商型号;7.国内交货人民币;8.香港交货人民币;9.香港交货美金;10.进价美金;11.描述信息
数据示例: "肖飞||LM124D||STMicroelectronics||888||Mouser||511-LM124D||10.505||8.978||1.34||1.23||库存位置:TW@@备注: 美金参考价:1.34.包装:Tube"
解释一下数据:
1.用户姓名;2.制造商型号;3.制造商;4.询价数量;5.供应商;6.供应商型号;7.国内交货人民币;8.香港交货人民币;9.香港交货美金;10.进价美金;11.描述信息
openerp7.0创建对象准备保存数据
写道
7.0的操作比6.1要简单一些.简要说明一下.
-----------
1.创建对象,创建字段,然后再创建菜单同6.1一样;这个步骤之后你就可以去你创建菜单的地方去找到这个菜单项了,我定义在'销售/销售/管理icgoo询价'
此时你就可以手动创建数据了;
2.当我按照6.1的步骤去创建显示列表视图的时候,一直都不能保存视图对象,bug吧...
这个咱们先不管,起码这个数据表可以开始保存数据了.....
-----------
1.创建对象,创建字段,然后再创建菜单同6.1一样;这个步骤之后你就可以去你创建菜单的地方去找到这个菜单项了,我定义在'销售/销售/管理icgoo询价'
此时你就可以手动创建数据了;
2.当我按照6.1的步骤去创建显示列表视图的时候,一直都不能保存视图对象,bug吧...
这个咱们先不管,起码这个数据表可以开始保存数据了.....
参考 :OE6.1二次开发之准备报价 http://xiaolin0199.iteye.com/blog/2020826
icgoo数据插入到openerp数据库
写道
说到数据传输,先前我们已经用psycopg2这个模块实现了从mysql->postsql数据写入....
这里我们希望从icgoo的代码中调用Web services来实现数据到openerp....openerp支持soap,net-rpc,xml-rpc
而openerp自己的服务端与客户端就是用xml-rpc来通信的,那我们在icgoo里也用这个吧....
这里我们希望从icgoo的代码中调用Web services来实现数据到openerp....openerp支持soap,net-rpc,xml-rpc
而openerp自己的服务端与客户端就是用xml-rpc来通信的,那我们在icgoo里也用这个吧....
http://doc.openerp.com/v6.0/developer/6_22_XML-RPC_web_services/index.html
http://doc.openerp.com/v5.0/uk/developer/6_21_web_services/index.html
示例:
#Create a partner and his address import xmlrpclib username = 'admin' #the user pwd = 'admin' #the password of the user dbname = 'terp' #the database # Get the uid sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common') uid = sock_common.login(dbname, username, pwd) #replace localhost with the address of the server sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object') partner = { 'name': 'Fabien Pinckaers', 'lang': 'fr_FR', } partner_id = sock.execute(dbname, uid, pwd, 'res.partner', 'create', partner) address = { 'partner_id': partner_id, 'type' : 'default', 'street': 'Chaussée de Namur 40', 'zip': '1367', 'city': 'Grand-Rosière', 'phone': '+3281813700', 'fax': '+3281733501', } address_id = sock.execute(dbname, uid, pwd, 'res.partner.address', 'create', address) ---------------------- #Search a partner args = [('vat', '=', 'ZZZZZZ')] #query clause ids = sock.execute(dbname, uid, pwd, 'res.partner', 'search', args) ----------------------- #Read partner data fields = ['name', 'active', 'vat', 'ref'] #fields to read data = sock.execute(dbname, uid, pwd, 'res.partner', 'read', ids, fields) #ids is a list of id ------------------------ #Update partner data values = {'vat': 'ZZ1ZZZ'} #data to update result = sock.execute(dbname, uid, pwd, 'res.partner', 'write', ids, values) ------------------------- #Delete partner # ids : list of id result = sock.execute(dbname, uid, pwd, 'res.partner', 'unlink', ids) -------------------------------- #PRINT example: #PRINT INVOICE #IDS is the invoice ID, as returned by: #ids = sock.execute(dbname, uid, pwd, ‘account.invoice’, ‘search’, [(‘number’, ‘ilike’, invoicenumber), (‘type’, ‘=’, ‘out_invoice’)]) import time import base64 printsock = xmlrpclib.ServerProxy('http://server:8069/xmlrpc/report') model = 'account.invoice' id_report = printsock.report(dbname, uid, pwd, model, ids, {'model': model, 'id': ids[0], 'report_type':'pdf'}) time.sleep(5) state = False attempt = 0 while not state: report = printsock.report_get(dbname, uid, pwd, id_report) state = report['state'] if not state: time.sleep(1) attempt += 1 if attempt>200: print 'Printing aborted, too long delay !' string_pdf = base64.decodestring(report['result']) file_pdf = open('/tmp/file.pdf','w') file_pdf.write(string_pdf) file_pdf.close()
#我在终端简单测试了一上,没问题 >>> import xmlrpclib >>> username = 'admin' >>> pwd = 'asdasd' >>> dbname = 'openerp720130103' >>> sock_common = xmlrpclib.ServerProxy('http://openerp7:8069/xmlrpc/common') >>> uid = sock_common.login(dbname,username,pwd) >>> print uid 1 >>> #### openerp已经把web services的接口做得很好了,以后icgoo往openerp里导数据将不会再存在障碍 #####
def jy_openerp(msg): """通过xml-rpc方法让msg传递到openerp""" db_name = 'openerp720130103' uid = 1 #'admin'的id pwd = 'asdasd' db_table_name = 'x_data_from_icgoo' sock = xmlrpclib.ServerProxy('http://openerp7:8069/xmlrpc/object') msg_list = msg.split("||") icgoo_quote = { 'x_name' : msg_list[0], 'x_mfr_partno' : msg_list[1], 'x_mfr' : msg_list[2], 'x_qty' : msg_list[3], 'x_supplier' : msg_list[4], 'x_supplier_partno' : msg_list[5], 'x_price_mainland_rmb' : msg_list[6], 'x_price_hongkong_rmb' : msg_list[7], 'x_price_hongkong_us' : msg_list[8], 'x_cost_us' : msg_list[9], 'x_desp' : msg_list[10] } return sock.execute(db_name, uid, pwd, db_table_name, 'create', icgoo_quote) ##可以成功的导入数据到openerp
openerp显示从icgoo传递过来的询价数据
写道
这个问题又回到了刚开始的时候,无法创建列表视图.之所以不能创建是因为原先创建视图的时候那个form有问题,视图类型没有被初始化出来,所以你保存不了..
我刚刚别外创建成功了,首先打开debug调试模式,然后进入'销售/销售/管理icgoo询价',点开'调试视图#xxx',选择'管理视图',此时显示出来的对话框中是没有任何视图的,
点击下面的'创建',弹出的对话框中‘View Type:’选择'Tree'即可,这样你就可以编辑这个视图了.效果现在如下...
我刚刚别外创建成功了,首先打开debug调试模式,然后进入'销售/销售/管理icgoo询价',点开'调试视图#xxx',选择'管理视图',此时显示出来的对话框中是没有任何视图的,
点击下面的'创建',弹出的对话框中‘View Type:’选择'Tree'即可,这样你就可以编辑这个视图了.效果现在如下...
询价数据转到报价单
写道
根据一条询价数据进入到报价单创建页面,如果已存在该供应商该厂商该型号信息,直接调用,如果不存在,先做产品保存;
1.先为询价数据后加一个操作按钮
写道
1.进入调试模式,点击'销售' -> '管理icgoo询价',进入列表页面;
2.点击'调试视图#xxx',选择'编辑 Tree视图';
3.在'视图结构'中编辑xml代码,在'</tree>'上加上
<button string="准备报价" icon="STOCK_GO_FORWARD"/>
然后保存;你会发现在每条数据的后面多了一个绿色的箭头
2.点击'调试视图#xxx',选择'编辑 Tree视图';
3.在'视图结构'中编辑xml代码,在'</tree>'上加上
<button string="准备报价" icon="STOCK_GO_FORWARD"/>
然后保存;你会发现在每条数据的后面多了一个绿色的箭头
2.定义button动作
写道
我们先看一下上面我定义<button>
我们将它改为 : <button type="action" confirm="确认导入报价单?" string="准备报价" icon="STOCK_GO_FORWARD" name="94"/>
* type = 'action' : 表示这是一个动作,点击之后触发name指向的动作;
* confirm = '确认导入报价单?' : 表示在执行之前先有一个确认;
* name = '94' : 94是一个id , 对应表 ir.actions,我这里94是'Inbox',即这个动作是进入到'收件箱';
不管你在定义的动作是什么类型的,都会保存在'ir.actions'这张表里,
我自己在'设置' - > '技术' - > '动作' -> '服务器动作'里新建了一个服务器动作,发送email,id为'424',当我将id替换成424之后,成功发送了我预定义的邮件....
------------------
• type – 可选值有 workflow (default), object, action
workflow表示点击按钮,发送name属性指定的signal。object 表示点击按钮,调用name属
性指定的对象方法。action 表示点击按钮,调用name属性指定的动作(ir.actions.actions)
• special – 目前只有一个值:cancel,表示本按钮关闭画面,不做任何进一步动作。注意:
special 和name 是互斥的,不能同时出现。
• name – 指定哪个signal被发送,哪个方法被调用,哪个action被触发。
• confirm – 点击按钮时弹出一个确认Message
• string – 按钮的显示名
• icon – 按钮的显示图标
• states - 指定什么状态下本字段可编辑,如 states="draft,confirm"
• invisible - 本字段是否可见
• attrs, default_focus – 与fields的属性含义一致。
我们将它改为 : <button type="action" confirm="确认导入报价单?" string="准备报价" icon="STOCK_GO_FORWARD" name="94"/>
* type = 'action' : 表示这是一个动作,点击之后触发name指向的动作;
* confirm = '确认导入报价单?' : 表示在执行之前先有一个确认;
* name = '94' : 94是一个id , 对应表 ir.actions,我这里94是'Inbox',即这个动作是进入到'收件箱';
不管你在定义的动作是什么类型的,都会保存在'ir.actions'这张表里,
我自己在'设置' - > '技术' - > '动作' -> '服务器动作'里新建了一个服务器动作,发送email,id为'424',当我将id替换成424之后,成功发送了我预定义的邮件....
------------------
• type – 可选值有 workflow (default), object, action
workflow表示点击按钮,发送name属性指定的signal。object 表示点击按钮,调用name属
性指定的对象方法。action 表示点击按钮,调用name属性指定的动作(ir.actions.actions)
• special – 目前只有一个值:cancel,表示本按钮关闭画面,不做任何进一步动作。注意:
special 和name 是互斥的,不能同时出现。
• name – 指定哪个signal被发送,哪个方法被调用,哪个action被触发。
• confirm – 点击按钮时弹出一个确认Message
• string – 按钮的显示名
• icon – 按钮的显示图标
• states - 指定什么状态下本字段可编辑,如 states="draft,confirm"
• invisible - 本字段是否可见
• attrs, default_focus – 与fields的属性含义一致。
3.设置我自己的动作
写道
基本的操作可以实现了.现在就要再次定义这个动作.该动作需要用python代码来构成,它用来完成我们想要的操作.
1.判断供应商表里有没有这个供应商,没有先添加供应商;
2.判断产品表中有没有这个产品,没有先进行添加产品;
3.将内容加入到报价单中;
1.判断供应商表里有没有这个供应商,没有先添加供应商;
2.判断产品表中有没有这个产品,没有先进行添加产品;
3.将内容加入到报价单中;
相关推荐
对于ICGOO5(可能是AN6609N的别名或在电路中的标识)的正常工作,我们需要了解其关键的电气参数,如工作电压和在路电阻。根据提供的信息,这些检测数据已经通过MF14型三用表进行测量,该表通常配备有多种测量挡位,...
修炼成Javascript中级程序员必知必会_资源分享
内容概要:本文详细介绍了如何使用MATLAB的深度学习工具箱,在果树病虫害识别任务中从数据准备、模型设计、训练优化到最后的模型评估与应用全流程的具体实施步骤和技术要点。涵盖了MATLAB深度学习工具箱的基本概念及其提供的多种功能组件,如卷积神经网络(CNN)的应用实例。此外,文中还具体讲述了数据集的收集与预处理方法、不同类型的深度学习模型搭建、训练过程中的超参数设定及其优化手段,并提供了病虫害识别的实际案例。最后展望了深度学习技术在未来农业领域的潜在影响力和发展前景。 适合人群:对深度学习及农业应用感兴趣的科研人员、高校师生和相关从业者。 使用场景及目标:①希望掌握MATLAB环境下构建深度学习模型的方法和技术细节;②从事果树病虫害管理研究或实践,寻找高效的自动化解决方案。 阅读建议:在阅读本文之前,建议读者熟悉基本的MATLAB编程环境及初步了解机器学习的相关概念。针对文中涉及的理论和技术难点,可以通过官方文档或其他教程进行补充学习。同时,建议动手实践每一个关键点的内容,在实践中加深理解和掌握技能。
nodejs010-nodejs-block-stream-0.0.7-1.el6.centos.alt.noarch.rpm
机械模型与技术交底书的融合:创新点详解与解析,机械模型加技术交底书,有创新点 ,机械模型; 技术交底书; 创新点,创新机械模型与技术交底书详解
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
nodejs010-nodejs-cmd-shim-1.1.0-4.1.el6.centos.alt.noarch.rpm
西门子四轴卧加后处理系统:828D至840D兼容,四轴联动高效加工解决方案,支持图档处理及试看程序。,西门子四轴卧加后处理,支持828D~840D系统,支持四轴联动,可制制,看清楚联系,可提供图档处理试看程序 ,核心关键词:西门子四轴卧加后处理; 828D~840D系统支持; 四轴联动; 制程; 联系; 图档处理试看程序。,西门子四轴卧加后处理程序,支持多种系统与四轴联动
基于黏菌优化算法(SMA)的改进与复现——融合EO算法更新策略的ESMA项目报告,黏菌优化算法(SMA)复现(融合EO算法改进更新策略)——ESMA。 复现内容包括:改进算法实现、23个基准测试函数、多次实验运行并计算均值标准差等统计量、与SMA对比等。 程序基本上每一步都有注释,非常易懂,代码质量极高,便于新手学习和理解。 ,SMA复现;EO算法改进;算法实现;基准测试函数;实验运行;统计量;SMA对比;程序注释;代码质量;学习理解。,标题:ESMA算法复现:黏菌优化与EO算法融合改进的实证研究
基于MATLAB的Stewart平台并联机器人仿真技术研究与实现:Simscape环境下的虚拟模拟分析与应用,MATLAB并联机器人Stewart平台仿真simscape ,MATLAB; 并联机器人; Stewart平台; 仿真; Simscape; 关键技术。,MATLAB中Stewart平台并联机器人Simscape仿真
Grad-CAM可视化医学3D影像
探索comsol泰勒锥:电流体动力学的微观世界之旅,comsol泰勒锥、电流体动力学 ,comsol泰勒锥; 电流体动力学; 锥形结构; 电场影响,COMSOL泰勒锥与电流体动力学研究
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
PFC6.03D模型动态压缩模拟与SHPB霍普金森压杆系统理论及实验数据处理技术解析,PFC6.03D模型,动态压缩模拟,还包括: SHPB霍普金森压杆系统理论知识介绍,二波法和三波法处理实验数据,提出三波波形,计算动态压缩强度等 ,PFC模型; 动态压缩模拟; SHPB霍普金森压杆系统; 理论介绍; 二波法处理; 三波法处理; 三波波形; 动态压缩强度。,"PFC模型下的动态压缩模拟及SHPB理论实践研究"
ProASCI 开发板原理图,适用于A3P3000
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1、文件内容:pykde4-devel-4.10.5-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pykde4-devel-4.10.5-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
基于Comsol模拟的三层顶板随机裂隙浆液扩散模型:考虑重力影响的瞬态扩散规律分析,Comsol模拟,考虑三层顶板包含随机裂隙的浆液扩散模型,考虑浆液重力的影响,模型采用的DFN插件建立随机裂隙,采用达西定律模块中的储水模型为控制方程,分析不同注浆压力条件下的浆液扩散规律,建立瞬态模型 ,Comsol模拟; 随机裂隙浆液扩散模型; 浆液重力影响; DFN插件; 达西定律模块储水模型; 注浆压力条件; 浆液扩散规律; 瞬态模型,Comsol浆液扩散模型:随机裂隙下考虑重力的瞬态扩散分析
A simple fast, easy use distributed file system written by golang(similar fastdfs).go-fastdfs