[quote author=Jeff link=topic=5804.msg14430#msg14430 date=1362890982]
ReadOnly的字段是不向服务器传值的
[/quote]
感謝 那我只好用invisible="1"來隱藏該Field以防使用者修改並存值給Server端用
kk071700
- 
 請教在自訂義Wizar的XML中指定field為readonly要如何於程式中讀出值
- 
 請教在自訂義Wizar的XML中指定field為readonly要如何於程式中讀出值小弟需求 
 --當使用者選取產品時<field name="frame">呼叫on_change事件程式自動帶出金額到<field name="price"/>,希望鎖住該field 不給User更改金額(固用readonly="1"
 <field name="frame" string="Frame No." on_change="onchange_fram_no(frame)"/>
 <field name="price" readonly="1"/>
 上列程式執行且來後畫面上price確實會隨frame的變動而更改,但是按下Commit時取到的price值卻是0(若是不設readonly就能正確讀值)
 record = self.read(cr, uid, ids, [])
 record = record and record[0]
 price=str(record['price'])
 請指點迷津 謝謝
- 
 請教如何在OE介面中開啟自訂義的PDF小弟由於需求,於是用reportlab.pdfgen 自行動態產生一張PDF 
 想請教 我在用wizard產生該PDF之後,要如何在OE介面中開啟該PDF來列印(用wizard內的return或用button或是加在右方工具列內按鈕)
 該如何施作
 感謝賜教
- 
 Function return值的問題[quote author=Joshua link=topic=4388.msg12006#msg12006 date=1349936958] 
 Hi kk071700<br />return {<br />...<br />'context':{'default_x_job_no':'98585'},  #问题1<br />'target': 'new', #问题2<br />...<br />}<br />
 Joshua
 [/quote]
 感恩 Joshua大指點迷津
- 
 Function return值的問題小弟用按鈕呼叫自身wizard內的Function, 然後Function內再指定去外部該wizard的view 
 [color=blue]<button name="create_claim" string="Claim" icon="gtk-go-forward" type="object"/>
 def create_claim(self, cr, uid, ids, context=None):
 return {
 'name': 'Claim',
 'view_type': 'form',
 'view_mode': 'form',
 'res_model': 'create.claim.order',#該wizard
 'type': 'ir.actions.act_window',
 'x_job_no':'98585',#欲傳的參數
 }[/color]
 但是出現了2個問題
 1. [b]x_job_no參數無法傳到新的view中[/b]
 2.[b]希望原視窗轉換但是按下按鈕後是開一新視窗顯示而非原視窗轉換,同時原視窗出現Error訊息[/b]
 如下
 [color=red]Traceback (most recent call last): File "C:\MODERNSPECS\modernspecserp_server\bin\netsvc.py", line 489, in dispatch result = ExportService.getService(service_name).dispatch(method, auth, params) File "C:\MODERNSPECS\modernspecserp_server\bin\service\web_services.py", line 599, in dispatch res = fn(db, uid, *params) File "C:\MODERNSPECS\modernspecserp_server\bin\osv\osv.py", line 122, in wrapper return f(self, dbname, *args, **kwargs) File "C:\MODERNSPECS\modernspecserp_server\bin\osv\osv.py", line 176, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) File "C:\MODERNSPECS\modernspecserp_server\bin\osv\osv.py", line 167, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) File "C:\MODERNSPECS\modernspecserp_server\bin\osv\orm.py", line 1963, in read res2 = self._columns[f].get_memory(cr, self, ids, f, user, context=context, values=result) File "C:\MODERNSPECS\modernspecserp_server\bin\osv\fields.py", line 348, in get_memory result[id] = obj.datas[id].get(name, False) KeyError: 816
 [/color]
 懇請賜教指導是哪邊出了問題
- 
 請問在OPERP中如何達成按下Enter 取代Tab 鍵跳到下一個欄位[quote author=ccdos link=topic=4379.msg11990#msg11990 date=1349831862] 
 厉害。
 不过怕有兼容性问题,好像有几个视图中,回车后直接保存了
 [/quote]
 感謝ccdos大的回覆
 我也發現同時有一些view中的on_change事件無法被觸發
 真是傷腦筋
- 
 請教用通过按钮弹出Wizard的name問題[quote author=mrshelly link=topic=4383.msg11987#msg11987 date=1349764452] 
 新的 wizard 与老式 wizard 已经有很大的区别了.
 你的 wizard 是新的规范写的, 而调用是按的老式wizard 调用的. 你可以尝试看看 idea 模块中的 wizard 的调用方法..
 [/quote]
 mrshelly大您好
 感謝您的建議
 由於我想要同時傳一個參數 所以我改用按鈕呼叫自身wizard內的Function, 然後Function內再指定去外部該wizard的view
 但是又產生了一些其他問題 已經另開新帖發問
- 
 請問在OPERP中如何達成按下Enter 取代Tab 鍵跳到下一個欄位已經解決了 自問自答 
 跟大家分享一下解決方式 
 在web\addons\openerp\controllers\templates\form.mako中
 加入
 $('input,textarea').keypress(function(e)
 {
 if(e.keyCode==13) {
 //$(this).next().focus();
 //alert ('test1111');
 var allInputs = $("input,textarea,select").not(':hidden');
 //alert (allInputs.length);
 for (var i = 0; i < allInputs.length; i++) {
 if (allInputs[i] == this) {
 while ((allInputs[i]).name == (allInputs[i + 1]).name) {
 i++;
 }
 if ((i + 1) < allInputs.length)
 {
 $(allInputs[i + 1]).focus();
 }
 }
 }
 }
- 
 請教用通过按钮弹出Wizard的name問題小弟寫了個wizard(如附件) 
 想在其他wizard的view加入一個按鈕呼叫這個wizard,如下
 [b]<button name="%(wizard_create_claim_order.cr_claim_order_act_view)d" string="Claim" type="action" />[/b]
 但是一直出現ValueError: No references to wizard_create_claim_order.cr_claim_order_act_view
 想請教是我的name寫錯了嗎?該如何修正
 謝謝指點
- 
 請問在OPERP中如何達成按下Enter 取代Tab 鍵跳到下一個欄位請教各位先進: 
 如何按enter鍵,取代按Tab鍵的功能,focus 會移至下一駐點
 以前都是用加一段JAVASCRIPT控制,但這OPERP就不知該從何處修改起
 懇請賜教
- 
 請教如何在tree view中顯示相關連其他table的field資料小弟想在res.partner.tree中顯示相關連的res.partner.address中的street欄位資料 
 請教要如何訂義該tree view
 感謝指點
- 
 請教自定義Function放置的問題小弟利用OpenERP介面產生一個自定義DB table同時也產生出對應的Form View,想在Form View其內加入一個button指到某個Function來針對這個view的內容作處理 
 想請教如果我將這個Function放在自定義的wizard當中該如何呼叫?所見的方式好像是呼叫整個wizard
 <button type="action" name="%(wizard_id)d" string="Label"/>
 若是不能放在wizard中 ,我應該將此Function訂義在哪? 如何呼叫?
 感恩請大大解惑
- 
 請教如何使自訂義的wizard左上方 Save,Save & Edit,Cancel 等三個按鈕不顯現Joshua大 您好 
 我的xml中訂義如下<act_window<br />      id="cr_prescription_act_view"<br />            name="Create Prescription"<br />            view_mode="form"<br />            view_type="form"<br />        res_model="create.prescription"<br />            src_model="res.partner"<br />  />
 我反覆嘗試
 如果加上target="new"就不會出現Save,Save & Edit,Cancel 等三個按鈕,但是這是彈跳出一個新視窗,這不是我想要的--我想出現在右側主畫面
 如果沒加target="new"就會出現Save,Save & Edit,Cancel 等三個按鈕
 懇請指導
 附件為我整個wizard
 [quote author=Joshua link=topic=4171.msg11205#msg11205 date=1338254820]
 不知道你的wizard的view是怎么定义的,下面是价格表的wizard的代码,你可以比较下<act_window id="action_product_price_list"<br />              key2="client_print_multi"<br />                          name="Price List"<br />              res_model="product.price_list"<br />                          src_model="product.product"<br />              view_mode="form" <br />                          target="new" <br />                          view_type="form" />
 key2这个可以无视,这个只是因为他这里是想显示为打印按钮。
 [/quote]
- 
 請教如何使自訂義的wizard左上方 Save,Save & Edit,Cancel 等三個按鈕不顯現Joshua大 您好 
 小弟程式同時有老式wizard(wizard.interface) 以及新式wizard(osv.osv_memory)
 在兩種wizard當中都有加入many2one的字段,
 但是只有在新式wizard出現Save,Save & Edit,Cancel 等三個按鈕,老式wizard則無
 [quote author=Joshua link=topic=4171.msg11203#msg11203 date=1338252630]
 [quote]Save,Save & Edit,Cancel 等三個按鈕不顯現[/quote]
 @KK071700 不明白你说的意思,本来wizard就没这三个按钮,是不是你的wizard里面有一个one2many,或者many2many 字段?
 [/quote]
- 
 請教關於新式osv.osv_memory wizard內,_default值希望動態由資料庫取出該如何施作mrshelly大 
 經過您的提點,小弟再仔細比較-原來是function必須放置於_default之前
 (因為以前寫Java Class就沒有這種順序性的要求,所以一時沒想到會有影響)
 真是不好意思勞煩您再三提醒 感恩
 另外一個提問--Save,Save & Edit,Cancel 等三個按鈕不顯現的問題
 是否是在XML中訂義
 <act_windows
 view_type : "form"
 />
 小弟本來就有寫 但是無作用
 [quote author=mrshelly link=topic=4170.msg11196#msg11196 date=1338194528]
 请仔细看我的代码与你的代码.
 前前后后, 你都没有说明你的"出"的什么"错"!...
 [/quote]
- 
 請教如何使自訂義的wizard左上方 Save,Save & Edit,Cancel 等三個按鈕不顯現mrshelly大 您好 
 我原本就有在XML中訂義view_type : form 但是無作用
 <act_windows
 view_type : "form"
 />
 [quote author=mrshelly link=topic=4171.msg11191#msg11191 date=1338190165]
 view_type : form
 您的上一個問題解決了嗎?
 [/quote]
- 
 請教關於新式osv.osv_memory wizard內,_default值希望動態由資料庫取出該如何施作mrshelly大 您好 
 小弟仿造res_company.py中class res_compy(osv.osv)的
 Line 84: 'rml_header' : fields.text('RML Header', required=True),
 Line 225: def _get_header(self,cr,uid,ids):
 Line 269: 'rml_header':_get_header,
 差異應該是一個為fields.text 另一個為fields.char
 可是就算我改成fields.text也會出錯
 [quote author=mrshelly link=topic=4170.msg11193#msg11193 date=1338191374]
 你確認你的代碼同res_company.py 的一樣?
 [code=python]
 ...
 class wizard_create_prescription(osv.osv_memory):
 _name="create.prescription"
 _description = "Create Prescription"
 _columns = {
 'x_optom_id': fields.char('x_optom_id', size=15),
 }
 def _get_optom(self,cr,uid,ids):
 x_optom_name='Fiona'
 return x_optom_name
 _defaults = {
 'x_optom_id': _get_optom,
 }
 ...
 [/code]
 [/quote]
- 
 請教關於新式osv.osv_memory wizard內,_default值希望動態由資料庫取出該如何施作請教mrshelly大 
 小弟參照addons\base\res\res_compy.py當中 class res_compy(osv.osv)的_default呼叫function的寫法
 以最單純的char測試,可是仍然出錯,似乎是_defaults的呼叫Function錯誤 可是在res_compy.py中就是如此呼叫
 請教該如何修正 感恩
 class wizard_create_prescription(osv.osv_memory):
 _name="create.prescription"
 _description = "Create Prescription"
 _columns = {
 'x_optom_id': fields.char('x_optom_id', size=15),
 }
 _defaults = {
 'x_optom_id': _get_optom,
 }
 def _get_optom(self,cr,uid,ids):
 x_optom_name='Fiona'
 return x_optom_name
 [quote author=mrshelly link=topic=4170.msg11189#msg11189 date=1338180172]
 _defaults 中 指定 function , 在 function 里, 你想怎么取就怎么取, 原系统 addons 里, 有相关的代码, 找一段阅读一下就明白了.
 返回的是OE特定的内容.
 如 integer 返回的是 一个integer
 char 返回的是一个 char
 同样, many2one 肯定就返回的是一个 many2one 了...
 看看别的代码中. many2one 的 default 如何写,你就知道如何写了...
 [/quote]
- 
 請教如何使自訂義的wizard左上方 Save,Save & Edit,Cancel 等三個按鈕不顯現小弟想請教自行撰寫的wizard, 
 在OpenERP內執行時會自動在頁面左上方出現 Save,Save & Edit,Cancel 等三個按鈕
 該如何修改使其不顯現
- 
 請教關於新式osv.osv_memory wizard內,_default值希望動態由資料庫取出該如何施作小弟希望在wizard的_default值希望動態由資料庫取出 
 請問該讀取資料庫的程式碼該在哪邊加入
 如果說是要define一個 function又要如何在_defaults內讀取?
 感恩大大不吝指點
 Code:
 class wizard_create_prescription(osv.osv_memory):
 _name="create.prescription"
 _description = "Create Prescription"
 _columns = {
 'x_optom_id': fields.many2one('x_optom', 'Optometrist',domain=[('x_optom_code','!=','EZ')]),
 }
 _defaults = {
 'x_optom_id': '',
 }
 #Read DB
 x_optom=x_optom
 D=str(time.strftime("%Y-%m-%d", gmtime() ))
 cr.execute('select x_optom from x_dailywork_record where x_date='+str(D))
 resP = cr.fetchall()
 for rowP in resP:
 x_optom=str(rowP[0])