Ir al contenido principal

Ejemplo base para la documentación


Módulo Procesos  

10/12/2025

Versión 1.0


Queda prohibido cualquier tipo de explotación y, en particular, la reproducción, distribución, comunicación pública y/o transformación, total o parcial, por cualquier medio, de este documento sin el previo consentimiento expreso y por escrito a overskull.



Solicitud de Materiales

1. Portada

Solicitud de Materiales
Versión: 1.0 • Fecha: 2025-02-10 • Autor: Área de TI

2. Índice

  1. Introducción

  2. Roles y Permisos

  3. Reglas de Sistema

  4. Flujo de Solicitud

  5. Validaciones de Script

  6. Glosario

  7. Anexos

3. Introducción

Objetivo:
Definir el proceso de “Solicitud de Materiales” para garantizar que cada rol sólo acceda a sus categorías permitidas, que el almacén adecuado se asigne automáticamente y que los productos que requieran responsable incluyan el campo “Empleado receptor”.

Alcance:
Módulo ERPNext → Doctype “Solicitud de Materiales”

4. Roles y Permisos

Rol

Categorías Permitidas

Concesionario

Tienda, Embalaje

Administrador de Agencia

Todas las categorías

5. Reglas del Sistema

  1. Asignación de almacén automático

  • Al elegir una categoría, el campo Almacén se llena desde la tabla “Agencia-Almacén”.

  • Productos con responsable

  • Si item.requiere_responsable = true, aparece el campo Empleado receptor y es obligatorio.

  • Restricción de categorías

  • Se impide seleccionar categorías fuera del listado permitido para el rol actual.

6. Flujo de Solicitud

  1. Acceso al formulario

  • Menú: Logística → Solicitud de Materiales → Nuevo

  • Campos obligatorios: Fecha, Categoría, Ítems

  • Selección de categoría

  • Elegir Embalaje → Almacén = “Lima-Centro_Embalaje”

  • Adición de ítem

  • Clic en Agregar Ítem → seleccionar Caja de cartón grande (requiere responsable)

  • Asignación de responsable

  • Ingresar Juan Pérez en Empleado receptor

  • Envío

  • Clic en Enviar para Aprobación

  • Mensaje: Solicitud SOL-2025-0001 enviada con éxito.

7. Validaciones de Script

javascript

frappe.ui.form.on('Solicitud de Materiales', {

  before_save(frm) {

    if (!frm.doc.category) {

      frappe.msgprint('Debe seleccionar una Categoría.');

      frappe.validated = false;

    }

    frm.doc.items.forEach(item => {

      if (item.producto.requiere_responsable && !item.empleado_receptor) {

        frappe.msgprint(`El producto ${item.producto} requiere Empleado receptor.`);

        frappe.validated = false;

      }

    });

  }

});

8. Glosario

  • Categoría: Grupo de productos para control de acceso.

  • Almacén: Ubicación vinculada a cada agencia y categoría.

  • Empleado receptor: Persona designada para recibir el material.

9. Anexos

  • Tablas de configuración: tabAgencyWarehouse

  • Scripts de servidor y cliente

  • Manual de usuario (link interno)

Estilo de documento

  • Títulos: Arial Bold, 18 pt, #333333

  • Subtítulos: Arial Bold, 14 pt, #333333

  • Texto: Arial, 12 pt, #000000

  • Código: Consolas, 10 pt, #333333

  • Imágenes: /docs/images/ nombradas 01_descripción.png, 800×450 px, alt=“…”