조건에 따라 트리보기의 같은 열에 필드 또는 다른 필드를 표시하려면 어떻게합니까?조건에 따라 트리보기에서 필드 또는 다른 것을 표시합니다.
예 파트너를 선택하려는 현금 계좌 인 경우 하위 계좌 열 을 설정하고 싶습니다. 은행 일 때 자녀 은행 계좌 중 하나를 지정하고 싶습니다.
바우처 라인의 트리보기에서 하위 계좌 열 바로 아래에 있어야합니다.
조건에 따라 트리보기의 같은 열에 필드 또는 다른 필드를 표시하려면 어떻게합니까?조건에 따라 트리보기에서 필드 또는 다른 것을 표시합니다.
예 파트너를 선택하려는 현금 계좌 인 경우 하위 계좌 열 을 설정하고 싶습니다. 은행 일 때 자녀 은행 계좌 중 하나를 지정하고 싶습니다.
바우처 라인의 트리보기에서 하위 계좌 열 바로 아래에 있어야합니다.
SQL 선택, 조인 및 조건부 선택의 힘을 활용할 수있는 데이터베이스보기를 만드는 것이 한 가지 방법입니다.
이렇게하면 문제가 해결되며 더 많은 권한과 제어권을 얻을 수 있습니다.
class warehouse_report_material_movement(osv.osv):
_name = 'warehouse.report.material.movement'
def init(self,cr):
tools.sql.drop_view_if_exists(cr,'warehouse_report_material_movement')
cr.execute('''
CREATE OR REPLACE VIEW warehouse_report_material_movement as(
select row_number() OVER() AS id, mat.name as material_name,
case
when (o.order_type ='3' and o.destination_warehouse_id::int =w.id) then material_qty*-1
else
material_qty
end as material_qty,
case
when o.order_type ='0' then 'Request'
when o.order_type ='1' then 'Addition'
when o.order_type ='2' then 'Issue'
when (o.order_type ='3' and o.warehouse_id::int =w.id) then '(+)Internal Move'
when (o.order_type ='3' and o.destination_warehouse_id::int =w.id) then '(-)Internal Move'
when o.order_type ='4' then 'Return'
end as order_type,
w.name as warehouse_name,
o.date::date as order_date,
o.create_date::date as record_date,
r.login as user_name
from warehouse_order_line ol
inner join moe_base_material mat on ol.material_id=mat.id
inner join moe_warehouse_order o on ol.order_id=o.id
inner join moe_warehouse_warehouse w on (o.warehouse_id=w.id or o.destination_warehouse_id=w.id)
left join res_users r on o.create_uid=r.id
)
''')
희망이 도움이 :)
나는 계정 바우처 라인을 보여주는 계좌 바우처에서리스트보기를하고 있습니다. – kerolos
수 있습니다 당신이하십시오 : 아래
내가 창고에 재료의 움직임에 대한 보고서를 얻기 위해 작성한 코드의 조각이다 예를 들어 주시겠습니까? 너의 보살핌에 고마워, –. 방금 질문을 업데이트했습니다. – kerolos