庫存 同步新字段,"> 庫存 同步新字段。">

五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

0O00--銷售=>庫存 同步新字段

2023-02-12 19:25 作者:你知道阿基米德原理嗎  | 我要投稿

把銷售單的新字段傳遞給對應(yīng)的出庫單?

1.?基于下游結(jié)果二開

直接去改下游的create方法。

其中,stock.move是最簡單的,在sale_line_id的綁定關(guān)系下,直接取值賦值即可;

對于stock.picking而言稍稍有點麻煩,需要基于origin去進行模糊匹配。而origin往往 是在二開需求中出現(xiàn)頻率高頻的標志性字段,所以可能還需要去進行一些冗余的處理, 比如,split。

2.?增加一些上游的幫助

基于stock.picking面臨的潛在的麻煩,使用上下文,由上游sale.order傳遞,下游 stock.picking捕獲顯然更為合適一些。

3.?在上游入口處進行同步

在sale.order.line的_action_launch_stock_rule,super完后,給下游單據(jù)同步一下新字段。

4.?順應(yīng)源碼的增量開發(fā)

無非就是關(guān)注一下sale.order.line的_prepare_procurement_group_vals, _prepare_procurement_values,同時再為對應(yīng)的模型提供數(shù)據(jù)支持。

?

其實,這不僅是個非常高頻的二開需求,同時也常常作為開發(fā)案例被反復(fù)提及。

如果不考慮代碼分布、維護成本等一系列現(xiàn)實問題,可能沒有人能抵擋最后一個方案的誘惑(至少在我這兒)?;谠创a業(yè)務(wù)邏輯的二開必然會帶來更少的BUG,也更不容易與其他二開模塊起沖突,此外,還有更重要的理由。

然而即便如此,那種一時的滿(you)足(yue)感卻并不是“好”代碼的保障。物美的同時,價廉也很重要。

現(xiàn)在讓我們來重新審視一下最后一個方案的二開思路。以_prepare_procurement_values為例:

????????def _prepare_procurement_values(self, group_id=False):

????????????values = super()._prepare_procurement_values(group_id=group_id)

????????????values[''] = ''

????????????return values

其實這里面體現(xiàn)了一個有點奇怪的邏輯,即在那一刻起,這個我們需要傳遞的新字段與sale_line_id屬于平行關(guān)系;然而從數(shù)據(jù)結(jié)構(gòu)中其實這兩者處于從屬關(guān)系。

換句話說,看起來這個方法更適合一個以更復(fù)雜的應(yīng)用場景,例如:

????????def _prepare_procurement_values(self, group_id=False):

????????????values = super()._prepare_procurement_values(group_id=group_id)

????????????values['']?= self.order_id.partner_id._get_remark(self.product_id, self.product_uom_qty)

????????????return values

諸如此類體現(xiàn)一個動態(tài)過程,而不是一個靜態(tài)的值。

殺雞焉用牛刀?

?

本想就此結(jié)尾,然而我果然還是經(jīng)不住自己另一套說辭的反復(fù)攻勢。有沒有這樣一種可能,在設(shè)計之初,跨模型的數(shù)據(jù)傳遞之間,stock.move就屬于一個只讀的業(yè)務(wù)模型呢?有沒有這樣一種可能,有且只有env['procurement.group'].Procurement參與其中,由此產(chǎn)生的stock.move才是“真”有效合法呢?

?

我得不出結(jié)論。但我知道,這種可能一定是有的。


0O00--銷售=>庫存 同步新字段的評論 (共 條)

分享到微博請遵守國家法律
富锦市| 长沙市| 泗阳县| 准格尔旗| 康定县| 大同县| 体育| 莲花县| 巫溪县| 西藏| 偏关县| 舞钢市| 海城市| 黄龙县| 志丹县| 应用必备| 武定县| 牟定县| 德保县| 辉县市| 克拉玛依市| 安图县| 和政县| 湖南省| 山西省| 阜新市| 特克斯县| 桦南县| 百色市| 高邮市| 田东县| 五大连池市| 芜湖市| 荃湾区| 昌都县| 兴宁市| 奉化市| 库尔勒市| 皋兰县| 通城县| 南汇区|