🎉 Initial commit - Hazard Odoo 16 project
- Custom modules: hazard_shopify, hazard_inventory_report, hazard_website - Third-party modules: bi_sql_editor, query_deluxe, sql_request_abstract, l10n_mx_sat_sync_itadmin_ee - Docker setup: Odoo 16 + PostgreSQL 17 - Utility scripts: backup_hazard.sh, update_module.py - Agent configuration: .agents/AGENTS.md - Security: Enterprise modules, credentials, backups and production data excluded via .gitignore
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import xmlrpc.client
|
||||
import sys
|
||||
|
||||
url = 'http://localhost:16001'
|
||||
db = 'hazard_new'
|
||||
username = 'admin'
|
||||
password = '123'
|
||||
|
||||
try:
|
||||
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
|
||||
uid = common.authenticate(db, username, 'admin', {})
|
||||
if not uid:
|
||||
uid = common.authenticate(db, 'admin', '123', {})
|
||||
|
||||
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
|
||||
|
||||
ref = 'HRS-GLV-CABRET-U-WHT-L'
|
||||
products = models.execute_kw(db, uid, 'admin', 'product.product', 'search_read',
|
||||
[[['default_code', '=', ref]]],
|
||||
{'fields': ['id', 'name', 'display_name', 'product_tmpl_id', 'active']})
|
||||
|
||||
if not products:
|
||||
print(f"Producto {ref} no encontrado.")
|
||||
sys.exit()
|
||||
|
||||
print(f"--- SE ENCONTRARON {len(products)} PRODUCTOS CON ESE SKU ---")
|
||||
for product in products:
|
||||
tmpl_id = product['product_tmpl_id'][0]
|
||||
print(f"\nVariante ID: {product['id']} | Activo: {product['active']}")
|
||||
print(f"Name (variante): {product['name']}")
|
||||
print(f"Display Name: {product['display_name']}")
|
||||
|
||||
tmpls = models.execute_kw(db, uid, 'admin', 'product.template', 'read',
|
||||
[[tmpl_id]],
|
||||
{'fields': ['id', 'name', 'active']})
|
||||
print(f"Template Name: {tmpls[0]['name']} | Activo: {tmpls[0]['active']}")
|
||||
|
||||
# 3. Buscar las órdenes más recientes de este producto
|
||||
print(" --- ULTIMAS LINEAS DE VENTA ---")
|
||||
sols = models.execute_kw(db, uid, 'admin', 'sale.order.line', 'search_read',
|
||||
[[['product_id', '=', product['id']]]],
|
||||
{'fields': ['id', 'order_id', 'name', 'create_date'], 'limit': 3, 'order': 'id desc'})
|
||||
for sol in sols:
|
||||
print(f" SOL ID: {sol['id']} | Fecha: {sol['create_date']} | Pedido: {sol['order_id'][1]} | Descripcion: {sol['name']}")
|
||||
|
||||
print(" --- ULTIMOS MOVIMIENTOS DE INVENTARIO ---")
|
||||
moves = models.execute_kw(db, uid, 'admin', 'stock.move', 'search_read',
|
||||
[[['product_id', '=', product['id']]]],
|
||||
{'fields': ['id', 'picking_id', 'name', 'description_picking', 'create_date'], 'limit': 3, 'order': 'id desc'})
|
||||
for m in moves:
|
||||
picking_name = m['picking_id'][1] if m['picking_id'] else 'Sin Albaran'
|
||||
print(f" Move ID: {m['id']} | Fecha: {m['create_date']} | Albaran: {picking_name} | Desc: {m['description_picking']}")
|
||||
|
||||
except Exception as e:
|
||||
print("Error conectando o consultando Odoo:", e)
|
||||
Reference in New Issue
Block a user