python3을 사용하여 Odoo 15용 Excel 보고서를 만드는 방법.
오두 ERP 보고
Odoo는 훌륭한 오픈 소스 ERP 소프트웨어입니다. 얼마나 많은 일을 할 수 있는지 보면 정말 놀라운 도구입니다.
그러나 보고 기능은 종종 이상적이지 않습니다. 그리고 사용자 정의 Odoo 보고서를 작성하는 데 몇 시간을 할애할 수 있지만(몇 달 안에 변경해야 함) Python으로 직접 작성하는 것이 훨씬 더 쉽다는 것을 알게 되었습니다!
모든 위치의 모든 제품에 대한 보고서를 생성하는 python3 스크립트를 작성하겠습니다.
나는 다음을 다룰 것이다. 끝에 내 코드가 있는 저장소를 찾을 수 있습니다.
로컬 Odoo 데이터 스크래핑 설정 방법
제품 및 위치 긁는 방법
주문형 Excel 보고서를 스핀업하는 방법
설정하기
Odoo에 로그인하려면 모든 일반 정보와 로컬에서 호스팅하는 경우 추가 정보가 필요합니다. 우리는 또한 팬더를 사용할 것입니다.
# !/usr/bin/env python3
import pandas as pd
import xmlrpc.client
import ssl
# Begin Login to Odoo#
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
url = "http://localhost:8069"
db = "test"
username = "[email protected]"
password = "test"
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
uid = common.authenticate(db, username, password, {})
제품 및 위치 데이터를 가져옵니다.
이제 데이터 스크래핑을 시작할 준비가 되었습니다! 이 경우 간단하게 유지하겠습니다. 추가 필터링 없이 모든 제품을 원합니다. 예를 들어 여기에 엑스트라를 추가할 수 있습니다. 사용자가 변형했거나 만든 모든 제품을 원합니다.
모든 제품 ID를 가지고 있으면 실제로 제품이 있는 모든 위치를 검색하고 싶습니다.
['on_hand', '=', True]]])
데이터 가져오기
all_products = models.execute_kw(db, uid, password, 'product.product', 'search',
[[['type', '=', 'product']]])
on_hand_data = models.execute_kw(db, uid, password,
'stock.quant', 'search_read',
[[['product_id', '=', all_products], ['on_hand', '=', True]]])
함께 모아서
이제 데이터 스크래핑을 시작할 준비가 되었습니다! 이 경우 간단하게 유지하겠습니다. 추가 필터링 없이 모든 제품을 원합니다. 예를 들어 여기에 엑스트라를 추가할 수 있습니다. 사용자가 변형했거나 만든 모든 제품을 원합니다.
데이터를 사용할 준비가 되었습니다! 이제 뭐?
이제 우리는 각 제품에 대해 손에 든 모든 것에 대해 루프를 실행합니다. 힌트: 대부분의 보고서에서 이것이 요약되는 전부임을 발견했습니다. 루프 필터링
검색 읽기 방법을 사용하여 각 제품에 대한 모든 데이터를 가져옵니다.
search_read
우리는 3개의 목록을 만들고 pandas가 데이터 프레이밍을 처리하도록 할 것입니다.
product = []
locations = []
quantity = []
for i in on_hand_data:
product.append(i['product_id'][1])
quantity.append(i['quantity'])
locations.append(i['location_id'][1])
df = pd.DataFrame()
df['Product'] = product
df['Locations'] = locations
df['quantity'] = quantity
# Converting to excel
df.to_excel('data.xlsx', index=False)
그게 다야! 깔끔하고 심플한 레포트를 확인하세요!
Reference
이 문제에 관하여(python3을 사용하여 Odoo 15용 Excel 보고서를 만드는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/thetrebelcc/how-to-get-a-simple-excel-report-for-each-product-quantity-in-odoo-15-odoo-data-scraping-2kph
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Odoo에 로그인하려면 모든 일반 정보와 로컬에서 호스팅하는 경우 추가 정보가 필요합니다. 우리는 또한 팬더를 사용할 것입니다.
# !/usr/bin/env python3
import pandas as pd
import xmlrpc.client
import ssl
# Begin Login to Odoo#
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
url = "http://localhost:8069"
db = "test"
username = "[email protected]"
password = "test"
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
uid = common.authenticate(db, username, password, {})
제품 및 위치 데이터를 가져옵니다.
이제 데이터 스크래핑을 시작할 준비가 되었습니다! 이 경우 간단하게 유지하겠습니다. 추가 필터링 없이 모든 제품을 원합니다. 예를 들어 여기에 엑스트라를 추가할 수 있습니다. 사용자가 변형했거나 만든 모든 제품을 원합니다.
모든 제품 ID를 가지고 있으면 실제로 제품이 있는 모든 위치를 검색하고 싶습니다.
['on_hand', '=', True]]])
데이터 가져오기
all_products = models.execute_kw(db, uid, password, 'product.product', 'search',
[[['type', '=', 'product']]])
on_hand_data = models.execute_kw(db, uid, password,
'stock.quant', 'search_read',
[[['product_id', '=', all_products], ['on_hand', '=', True]]])
함께 모아서
이제 데이터 스크래핑을 시작할 준비가 되었습니다! 이 경우 간단하게 유지하겠습니다. 추가 필터링 없이 모든 제품을 원합니다. 예를 들어 여기에 엑스트라를 추가할 수 있습니다. 사용자가 변형했거나 만든 모든 제품을 원합니다.
데이터를 사용할 준비가 되었습니다! 이제 뭐?
이제 우리는 각 제품에 대해 손에 든 모든 것에 대해 루프를 실행합니다. 힌트: 대부분의 보고서에서 이것이 요약되는 전부임을 발견했습니다. 루프 필터링
검색 읽기 방법을 사용하여 각 제품에 대한 모든 데이터를 가져옵니다.
search_read
우리는 3개의 목록을 만들고 pandas가 데이터 프레이밍을 처리하도록 할 것입니다.
product = []
locations = []
quantity = []
for i in on_hand_data:
product.append(i['product_id'][1])
quantity.append(i['quantity'])
locations.append(i['location_id'][1])
df = pd.DataFrame()
df['Product'] = product
df['Locations'] = locations
df['quantity'] = quantity
# Converting to excel
df.to_excel('data.xlsx', index=False)
그게 다야! 깔끔하고 심플한 레포트를 확인하세요!
Reference
이 문제에 관하여(python3을 사용하여 Odoo 15용 Excel 보고서를 만드는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/thetrebelcc/how-to-get-a-simple-excel-report-for-each-product-quantity-in-odoo-15-odoo-data-scraping-2kph
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
['on_hand', '=', True]]])
all_products = models.execute_kw(db, uid, password, 'product.product', 'search',
[[['type', '=', 'product']]])
on_hand_data = models.execute_kw(db, uid, password,
'stock.quant', 'search_read',
[[['product_id', '=', all_products], ['on_hand', '=', True]]])
이제 데이터 스크래핑을 시작할 준비가 되었습니다! 이 경우 간단하게 유지하겠습니다. 추가 필터링 없이 모든 제품을 원합니다. 예를 들어 여기에 엑스트라를 추가할 수 있습니다. 사용자가 변형했거나 만든 모든 제품을 원합니다.
데이터를 사용할 준비가 되었습니다! 이제 뭐?
이제 우리는 각 제품에 대해 손에 든 모든 것에 대해 루프를 실행합니다. 힌트: 대부분의 보고서에서 이것이 요약되는 전부임을 발견했습니다. 루프 필터링
검색 읽기 방법을 사용하여 각 제품에 대한 모든 데이터를 가져옵니다.
search_read
우리는 3개의 목록을 만들고 pandas가 데이터 프레이밍을 처리하도록 할 것입니다.
product = []
locations = []
quantity = []
for i in on_hand_data:
product.append(i['product_id'][1])
quantity.append(i['quantity'])
locations.append(i['location_id'][1])
df = pd.DataFrame()
df['Product'] = product
df['Locations'] = locations
df['quantity'] = quantity
# Converting to excel
df.to_excel('data.xlsx', index=False)
그게 다야! 깔끔하고 심플한 레포트를 확인하세요!
Reference
이 문제에 관하여(python3을 사용하여 Odoo 15용 Excel 보고서를 만드는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thetrebelcc/how-to-get-a-simple-excel-report-for-each-product-quantity-in-odoo-15-odoo-data-scraping-2kph텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)