`
xiaolin0199
  • 浏览: 577048 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ICGOO导入询价数据到openerp7.0

 
阅读更多

描述

写道
将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.描述信息

 

openerp7.0创建对象准备保存数据

写道
7.0的操作比6.1要简单一些.简要说明一下.
-----------
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里也用这个吧....

 

 

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'即可,这样你就可以编辑这个视图了.效果现在如下...



 

 

询价数据转到报价单

写道
根据一条询价数据进入到报价单创建页面,如果已存在该供应商该厂商该型号信息,直接调用,如果不存在,先做产品保存;

 

1.先为询价数据后加一个操作按钮

写道
1.进入调试模式,点击'销售' -> '管理icgoo询价',进入列表页面;
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的属性含义一致。

 

3.设置我自己的动作

写道
基本的操作可以实现了.现在就要再次定义这个动作.该动作需要用python代码来构成,它用来完成我们想要的操作.
1.判断供应商表里有没有这个供应商,没有先添加供应商;
2.判断产品表中有没有这个产品,没有先进行添加产品;
3.将内容加入到报价单中;

 

  • 大小: 95.7 KB
  • 大小: 27.6 KB
  • 大小: 41 KB
  • 大小: 79.7 KB
  • 大小: 31.5 KB
分享到:
评论

相关推荐

    元器件应用中的AN系AN6609N集成电路实用检测数据

    对于ICGOO5(可能是AN6609N的别名或在电路中的标识)的正常工作,我们需要了解其关键的电气参数,如工作电压和在路电阻。根据提供的信息,这些检测数据已经通过MF14型三用表进行测量,该表通常配备有多种测量挡位,...

    DeepSeek入门宝典:赋能开发者实战的高性能AI解决方案

    内容概要:本文档详细介绍了 DeepSeek 这一高效、经济的人工智能解决方案,旨在为企业端、产品端以及开发者提供深度技术支持。对于企业而言,DeepSeek 带来了显著的成本效益和生产效率提升;而对于具体的产品和服务,它增强了用户体验的质量。特别是针对开发者,文档深入浅出地讲解了如何利用 DeepSeek 实现自动化代码生成、改写等辅助开发功能,并且提供了具体的步骤指导以满足不同环境下的部署需求,包括直接通过官方API接入、本地私有化部署或借助云平台进行托管的方式。 适合人群:希望降低开发门槛,提高工作效率的软件工程师和技术团队。 使用场景及目标:开发者可以根据自身条件选择最适合自己的部署方案来整合 DeepSeek 技术,进而达到优化编码过程、减少人为错误的目的。 其他说明:文中还包括了许多实际操作的例子,如通过代码改写的实例来展示如何改进现有程序段落,还有详细的API使用指南帮助初学者快速上手DeepSeek。此外,还提供了大量外部参考资料链接以便进一步扩展知识和技能范围。

    lusted_3cd_01_0318.pdf

    lusted_3cd_01_0318

    开源AI工具下载——Cherry-Studio-1.0.1-MACOS arm64版

    Cherry Studio是一款支持多模型服务的 Windows/macOS GPT 客户端。通过与Ollama搭配,搭建个人本地AI大模型

    chromedriver-win64-136.0.7058.0.zip

    chromedriver-win64-136.0.7058.0.zip

    matlab程序代码项目案例:使用 Simulink 进行自适应 MPC 设计

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    mellitz_3cd_01_1116.pdf

    mellitz_3cd_01_1116

    基于MATLAB的牛顿迭代法实现

    基于MATLAB的牛顿迭代法实现

    steenman_01_0908.pdf

    steenman_01_0908

    [AB PLC例程源码][MMS_047737]System Time 64Bit Interpreted AOI.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    stone_3ck_01a_0518.pdf

    stone_3ck_01a_0518

    [AB PLC例程源码][MMS_041473]Input Time Stamping.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    lusted_3cd_01_1117.pdf

    lusted_3cd_01_1117

    2010-2023年 上市公司-管理层情感语调数据.zip

    管理层情感语调,或称为管理层语调,是一个在财务与会计领域中常用的概念,特别是在分析上市公司信息披露质量时。它主要指的是管理层在上市公司文字信息披露过程中,用词所体现出的情感倾向和可理解性。 本数据复刻了《财经研究》《中南财经政法大学学报》等顶级期刊的核心解释变量的做法。情感语调对企业未来盈余和未来绩效具有较强解释力、降低会计信息误定价、为分析师预测提供增量信息,而投资者也会对管理层情感语调做出积极反应。 情感语调1=(正面词汇数量-负面词汇数量)/词汇总量;数值越大,情感倾向越偏向正面积极。 情感语调2=(正面词汇数量-负面词汇数量)/(正面词汇数量+负面词汇数量);数值越大,情感倾向越偏向正面积极。 指标 证券代码、企业代码、年份、证券简称、行业代码、行业名称、正面词汇数量、负面词汇数量、词汇总量、句子数量、文字数量、情感语调1、情感语调2。

    mellitz_3cd_02_0318.pdf

    mellitz_3cd_02_0318

    moore_01_0909.pdf

    moore_01_0909

    lusted_3ck_02a_0119.pdf

    lusted_3ck_02a_0119

    pimpinella_3cd_01_0916.pdf

    pimpinella_3cd_01_0916

    [AB PLC例程源码][MMS_041392]Mill feed and Auxilary Control.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    li_3ck_03_0919.pdf

    li_3ck_03_0919

Global site tag (gtag.js) - Google Analytics