Detalle
| Campo |
Valor |
| Manual de Usuario |
ABM de tipos de mermas de producción/stock: alta, modificación y baja de las distintas clases de pérdida de productos o materiales que se imputan en los partes de producción. |
| Módulo |
Gestión Comercial |
| Ruta de acceso |
Gestión > Más > Tipos de Mermas |
| Tipo de pantalla |
ABM con listado + formulario de carga |
Introducción
Una merma es la pérdida o disminución de mercadería que no puede recuperarse ni venderse: roturas, evaporación, vencimientos, deterioros, recortes de producción, etc. El sistema usa los tipos de mermas para clasificar esas pérdidas y poder imputarlas correctamente al registrarlas en los partes de producción.
Esta funcionalidad es el ABM (Alta, Baja y Modificación) de esos tipos de merma. Cada tipo se identifica con un número (Id), una descripción y una cuenta contable asociada, y puede estar activo o inactivo. Clasificar bien las mermas mejora el control de stock, la trazabilidad y la imputación contable de las pérdidas.
Acceso al módulo
Para abrir la funcionalidad seguí estos pasos:
- Ingresá al sistema con tu usuario.
- Abrí el menú Gestión.
- Hacé clic en el botón Más para desplegar el resto de las funcionalidades.
- Hacé clic en Tipos de Mermas (la opción se encuentra hacia el final de la lista).
Importante: el acceso depende de tu licencia y permisos. Si no ves la opción o el sistema no te deja entrar, crear, modificar o eliminar, pedile al administrador que te habilite el acceso correspondiente (ver la sección Permisos).
Pantalla principal
Al abrir la funcionalidad se muestra una ventana con el listado de tipos de merma cargados. Sus componentes son:
| Componente |
Descripción |
| Barra de herramientas |
Botones Nuevo, Modificar y Eliminar para administrar los tipos de merma. |
| Panel de filtros |
Permite acotar la búsqueda por Id, Descripción, Número de Cuenta y Estado. |
| Grilla de resultados |
Listado con las columnas ID, Descripción, Número de Cuenta y Activo. |
| Botón Buscar |
Aplica los filtros cargados y refresca la grilla. |
La grilla es de solo lectura: los datos se editan desde el formulario de alta/modificación, no directamente sobre las celdas. Cada fila incluye además una fila de autofiltro en la parte superior para refinar lo que ya está listado.
Filtros de búsqueda
El panel superior permite combinar uno o varios de estos filtros antes de presionar Buscar:
| Filtro |
Descripción |
| Id |
Número identificador del tipo de merma. |
| Descripción |
Texto o parte del texto de la descripción (búsqueda parcial). |
| Número de Cuenta |
Número de cuenta contable asociada (búsqueda parcial). |
| Estado |
Desplegable con tres opciones: Todos, Activos o Inactivos. |
Para limpiar los filtros y volver al estado inicial, usá la opción de limpiar parámetros de la barra; los campos se vacían y el Estado vuelve a Todos.
Resultados
La grilla presenta una fila por tipo de merma, con estas columnas:
| Columna |
Descripción |
| ID |
Número interno del tipo de merma, asignado automáticamente por el sistema al crearlo. |
| Descripción |
Nombre del tipo de merma (por ejemplo, "Rotura", "Vencimiento", "Evaporación"). |
| Número de Cuenta |
Cuenta contable asociada al tipo de merma. |
| Activo |
Indica si el tipo de merma está habilitado para usarse (activo) o dado de baja (inactivo). |
Al abrir la pantalla se cargan todos los registros (Estado Todos). Doble clic o Enter sobre una fila abre ese registro en modo modificación.
Acciones disponibles
| Acción |
Descripción |
| Nuevo |
Crea un nuevo tipo de merma. |
| Modificar |
Edita un tipo de merma existente. |
| Eliminar |
Da de baja el tipo de merma (lo marca como inactivo). |
| Buscar |
Aplica los filtros y refresca la grilla. |
Nuevo
Crea un tipo de merma. Se abre el formulario Alta/Modificación de Mermas con estos campos:
| Campo |
Descripción |
| Descripción |
Nombre del tipo de merma. Obligatorio, hasta 80 caracteres. |
| Cuenta |
Número de cuenta contable. Obligatorio. Podés hacer clic en la etiqueta Cuenta para buscar y seleccionar la cuenta; al lado se muestra el nombre de la cuenta para confirmar que existe. |
| Activo |
Casilla que define si el tipo de merma estará disponible para usar. En un alta nueva viene marcada por defecto. |
Al confirmar con Aceptar, el sistema valida que la descripción tenga contenido y no supere los 80 caracteres, que la cuenta esté cargada y que exista (debe mostrarse su nombre). Si todo es correcto, guarda el registro y lo agrega al listado.
Modificar
Permite cambiar los datos de un tipo de merma existente. Seleccioná el registro en la grilla y elegí Modificar (o hacé doble clic / Enter sobre la fila). Se abre el mismo formulario con los datos actuales cargados para editar. Realizá los cambios y confirmá con Aceptar.
Eliminar
Da de baja el tipo de merma seleccionado. La baja es lógica: el registro no se borra de la base, sino que se marca como inactivo (Activo = No). Esto permite conservar la imputación histórica de las mermas ya registradas. El sistema pide confirmación antes de eliminar.
Ejemplo práctico
Supongamos que la planta necesita registrar las pérdidas por roturas durante el envasado:
- Entrá a Gestión > Más > Tipos de Mermas.
- Hacé clic en Nuevo.
- En Descripción escribí, por ejemplo,
Rotura en envasado.
- Hacé clic en la etiqueta Cuenta, buscá y seleccioná la cuenta contable de pérdidas correspondiente; verificá que aparezca su nombre al lado.
- Dejá la casilla Activo marcada y confirmá con Aceptar. El tipo de merma aparece en el listado con un Id asignado automáticamente.
- Si más adelante ese tipo deja de usarse, seleccionalo y hacé clic en Eliminar: quedará inactivo, pero se conservará el historial de mermas que se le imputaron.
Consejos útiles
- Usá descripciones claras y específicas (por ejemplo, "Vencimiento", "Rotura en envasado") para identificar rápido cada tipo al cargar partes de producción.
- Verificá siempre que la cuenta contable sea la correcta: la imputación de la merma depende de esa cuenta. Si el nombre no aparece al lado, es que el número de cuenta no existe.
- No borres tipos que dejaste de usar: con Eliminar quedan inactivos y no molestan, pero se mantiene el historial. Filtrá por Estado Inactivos si necesitás revisarlos.
- Mantené la descripción dentro de los 80 caracteres; el sistema no permite guardar textos más largos.
Preguntas frecuentes
¿Qué datos tiene un tipo de merma?
Un **Id** (número automático), una **Descripción** (hasta 80 caracteres), un **Número de Cuenta** contable y un estado **Activo/Inactivo**. No se cargan otros campos.
¿Por qué no me deja guardar?
El formulario valida cuatro cosas antes de guardar: que la **Descripción** tenga contenido, que no supere los **80 caracteres**, que la **Cuenta** esté cargada y que esa cuenta **exista** (debe mostrarse su nombre al lado). Si falta alguna, el sistema avisa y no guarda.
Eliminé un tipo de merma por error, ¿se puede recuperar?
Sí. La eliminación es una baja lógica (marca el registro como inactivo, no lo borra). Para reactivarlo, abrilo con **Modificar**, marcá la casilla **Activo** y guardá; o pedile al administrador / soporte que lo reactive.
¿Cómo veo los tipos dados de baja?
En el filtro **Estado** elegí **Inactivos** y presioná **Buscar**. Para ver activos e inactivos juntos, dejá **Todos**.
No me deja entrar / crear / modificar / eliminar.
Es un tema de acceso y permisos. La entrada al módulo está controlada por la licencia y los permisos del usuario. Pedile al administrador que te habilite el acceso correspondiente (ver **Permisos**).
Permisos
El acceso a la pantalla está controlado por la licencia del módulo de Gestión: al abrir Tipos de Mermas el sistema valida el acceso y, si no está habilitado, muestra un mensaje y no abre la ventana.
| Acción |
Control |
| Abrir Tipos de Mermas |
Validación de licencia/acceso del módulo Gestión. |
Si no podés abrir la pantalla o ejecutar alguna acción, pedile al administrador que revise tu licencia y permisos.
Información técnica
Sección de referencia para soporte/desarrollo. Basada en el análisis del formulario real de la v14 (FormGestion_Tipos_Mermas.cs / FormGestion_Tipos_Mermas_AddMod.cs + Gestion_Tipos_Mermas_Manager.cs).
Formularios principales
| Componente |
Detalle |
| Formulario de listado (ABM) |
FormGestion_Tipos_Mermas.cs (VPNET_WinForms/VPNET_WinForms/Gestion/) — hereda FrmResult; barra ABM RB_Nuevo/RB_Modificar/RB_Eliminar; filtro de estado cboEstado; carga inicial automática en _Load. |
| Formulario de alta/modificación |
FormGestion_Tipos_Mermas_AddMod.cs — hereda FrmAddMod; campos txtDescripcion, txtNroCta + txtNombreCuenta (solo lectura), chkActivo; link lnkNroCta abre VPNetApp.Main.SeleccionarCuentaContable(). |
| Manager de negocio |
Gestion_Tipos_Mermas_Manager.cs (VPNET_DataModel/Manager/Gestion/Gestion/) — hereda Base_Manager<...>; GetDatasources filtra por Id (exacto) / Descripcion (Contains) / Nro_Cta (Contains) / Activo. |
| Modelo / entidad + mapping |
Gestion_Tipos_Mermas.cs (VPNET_DataModel/Modelo/) + Gestion_Tipos_MermasMap.cs (Mappings/Gestion/). |
| Apertura desde el menú |
btnGestion_Tipos_Mermas_ItemClick en frmNewMain.vb → KeyLicences.Instance.Access(2, 6, Nothing, 2) → ShowFrmInDockPanel(New FormGestion_Tipos_Mermas()). |
Permisos reales
| Permiso |
Habilita |
Licencia módulo Gestión KeyLicences.Access(2, 6, Nothing, 2) |
Abrir el formulario. Es una validación de licencia, no un objeto IsAllowedObject/clsSeguridad. Si falla muestra KeyLicences.Mensaje y no abre. |
No hay permisos granulares por acción (Nuevo/Modificar/Eliminar): una vez abierto el formulario, las tres operaciones quedan disponibles.
Tablas de base de datos principales
| Tabla |
Uso |
dbo.Gestion_Tipos_Mermas |
Tabla principal. Columnas: Id INT PK NOT NULL, Descripcion VARCHAR(80) NULL, Nro_Cta VARCHAR(10) NULL, Activo BIT NULL. |
dbo.Cuentas |
Lectura para validar/resolver el nombre de la cuenta contable (vpnetContext.Cuentas). |
Acceso a datos: Entity Framework (Base_Manager + VisualPlenarioNetContext, mapping EntityTypeConfiguration). No usa stored procedures (Gestion_Tipos_Mermas_Search/Add/Mod/Del no existen). Numeración del Id: GetNextId_Numeraciones("Gestion_Tipos_Mermas", "Id") en Save() cuando Id = 0.
Relación con otros módulos / manuales
| Manual relacionado |
Vínculo operativo |
| Gestion Partes de Producción |
Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
Notas para soporte (comportamiento real del código)
- Baja lógica:
Eliminar() setea _EntityModel.Activo = false y llama Delete() (no borra físicamente). Pide confirmación "Desea eliminar el registro seleccionado ?".
- Estado (filtro UI):
cboEstado 0 = Todos (Activo = null), 1 = Activos (true), 2 = Inactivos (false). El botón "limpiar parámetros" (ckbLimpiarP) resetea filtros y vuelve a Todos.
- Alta:
chkActivo arranca marcado (si Activo venía null).
- Validaciones (
bt_Aceptar_ItemClick): Descripción no vacía y ≤ 80 caracteres; Nro_Cta no vacío; la cuenta debe existir (debe haberse resuelto el nombre en txtNombreCuenta).
- Discrepancia de longitud: el mapping EF declara
Descripcion HasMaxLength(50) mientras la tabla SQL y la validación de UI permiten 80. Cargas de 51-80 caracteres pueden fallar en el guardado por EF aunque la UI las acepte.
- Bug cosmético de mensajes: tras guardar, el AddMod muestra "Se ha guardo correctamente el Depósito" y, ante error, "Error al guardar el Depósito" (texto copiado de otro ABM; no afecta la operación).
Ver también