addons-cm/product_main_seller/README.md
snt fee8ec9c45 [DOC] Actualizar documentación y instrucciones con cambios recientes (v18.0.1.3.1)
- [FIX] Actualizar copilot-instructions.md con nuevas secciones:
  * QWeb Template Best Practices (patrón crítico para templates complejos)
  * Eskaera System mejorado con info de lazy loading v18.0.1.3.0+
  * QWeb Template Errors en Common Issues & Solutions
  * Recent Changes Summary (actualizado a 2026-02-18)

- [ADD] Nuevo documento docs/RECENT_CHANGES.md:
  * Timeline completo de cambios (Feb 2-18, 2026)
  * 4 secciones principales de cambios documentados
  * Impacto y acciones requeridas por developers
  * Referencias cruzadas a documentación técnica

- [UPD] README.md principal:
  * website_sale_aplicoop actualizado a v18.0.1.3.1
  * Mención de fixes críticos de v18.0.1.3.1
  * Referencias a FINAL_SOLUTION_SUMMARY.md

- [REF] product_main_seller/README.md:
  * Removidas referencias obsoletas a default_supplier_id
  * Documentación actualizada para usar main_seller_id
  * Simplificada sección de Computation Logic

- [UPD] docs/README.md:
  * Nueva sección "Cambios Recientes"
  * Reorganizado índice de documentación de template fixes
  * Mejorada estructura de secciones de troubleshooting

Cambios Documentados:
 Refactoring product_main_seller (18 Feb) - Removido campo alias
 v18.0.1.3.1 Fixes (16 Feb) - Date calculations y template rendering
 v18.0.1.3.0 Lazy Loading (12 Feb) - Performance improvement 95%
 Template Logic Refactoring (Feb 2-16) - QWeb best practices

+438 líneas de documentación nueva/actualizada
2026-02-18 18:37:43 +01:00

100 lines
2.3 KiB
Markdown

# Product Main Seller
## Summary
Adds a "Main Vendor" field to products that automatically tracks the primary supplier based on supplierinfo sequence.
## Features
- **Automatic Main Vendor**: Computed field showing the primary supplier
- **Based on Sequence**: Uses the supplierinfo with the lowest sequence number
- **Visible in Views**: Shows in product form and tree views
- **Searchable**: Can search and filter products by main vendor
- **Related Fields**: Access to vendor name and reference
## Technical Details
### Models Extended
- `product.template`: Main product template
- `product.product`: Product variants
### Fields Added
- `main_seller_id` (Many2one → res.partner, computed, stored)
- The main vendor for this product
- Computed from `seller_ids` with lowest sequence
- Stored for performance
- Searchable and filterable
### Computation Logic
The main vendor is determined by:
1. Looking at all supplierinfo records (`seller_ids`)
2. Filtering for valid suppliers (active partners)
3. Selecting the one with the **lowest sequence** number
4. If no suppliers, returns empty
## Dependencies
- `purchase` (Odoo core)
## Installation
```bash
docker-compose exec odoo odoo -d odoo -u product_main_seller --stop-after-init
```
## Usage
## Usage
### Viewing Main Vendor
1. Open a product form (Products > Products > [Product])
2. See "Main Vendor" field (usually in Purchase tab)
3. Field is automatically computed from vendor list
### Changing Main Vendor
To change the main vendor:
1. Go to product form > Purchase tab
2. Edit the vendor list (`seller_ids`)
3. Change the sequence numbers (lower = more priority)
4. Save - the "Main Vendor" will update automatically
### Searching by Vendor
```python
# Find all products from a specific vendor
products = self.env['product.template'].search([
('main_seller_id', '=', vendor_id)
])
```
## Use Cases in Kidekoop
This module is critical for:
- Vendor performance analysis
- Purchase order management
- Inventory planning by supplier
- Default supplier selection in purchase workflows
## Views Modified
- Product Template Form View
- Product Template Tree View
- Product Variant Form View
## Translations
- ✅ Spanish (es)
- ✅ Euskera (eu)
Located in `i18n/` directory.
---
**Version**: 18.0.1.0.0
**Category**: Purchase
**License**: AGPL-3