Saltar a contenido

Entradas de ventas

La sección Entradas de ventas registra los movimientos de entrada de inventario generados por devoluciones de clientes, documentando la recepción de mercancías retornadas que deben reincorporarse al stock disponible. Su objetivo es mantener la integridad del inventario al procesar devoluciones, actualizando automáticamente el stock disponible y registrando la trazabilidad completa del producto devuelto. Almacena información del movimiento (referencia, fecha), factura de venta o rectificativa origen, concepto vendido original, producto y cantidad devuelta, lote al que se reincorpora, almacén destino de la devolución, medida utilizada, estado del producto devuelto, cliente que realiza la devolución, empleado responsable de la recepción, y observaciones sobre la causa o condición de la devolución. El módulo incluye validaciones para garantizar coherencia entre producto y lote, correcta ubicación del lote, y actualiza tanto el stock físico como el disponible. Se integra automáticamente con Ventas (facturas rectificativas), Inventario (actualización de stock) y Almacenes.

Información General

Propiedad Valor
ID f4a3773e-6e90-4fa5-b873-dae8fe01c3e9
Tabla PostgreSQL tpr_60040105741
Etiqueta Plural Entradas de venta
Texto principal automatico
Sección Base Base - Entradas de ventas (25a4c638-f52a-44cd-bafd-046ca19a2bf9)

Campos

Total de campos: 38 (10 del sistema, 28 personalizados)

Campos del Sistema

Campo Tipo Rol Columna PostgreSQL Relación Atributos
ID Relación - id Entradas de ventas -
Referencia Texto - nombre - -
Fecha Alta Dato Fecha Y Hora - fecha - -
Editado Fecha Y Hora - fecham - -
Eliminado Sí/No - eliminado - -
Usuario Creador del dato Relación - usuarioid Base - Entidades -
Sección (Relación Sistema) Relación - plantillapid - 🔴 Obligatorio
Posición (Orden) Decimal - posicion - -
Modificado Sí/No - modificado - -
Fecha Indice Actividad Fecha Y Hora - fechaia - -

Campos Personalizados

Campo Tipo Pestaña Columna Atributos Notas
Observaciones y anotaciones Texto General pr_6004010574163 - -
Cantidad (Medida Base Por Und.) Decimal General pr_100401060523 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Producto / Cantidad (Medida Base)
Destinador Relación General pr_600401057410 🔒 Bloqueado, 👁 Oculto -
Hora local Hora Registro pr_60040105745 🔒 Bloqueado, 👁 Oculto -
Medida (Base) Relación General pr_100401060521 🔒 Bloqueado, 👁 Oculto Autorrellenado (Siempre): Campo : Producto / Medida (Base)
Cliente Relación General pr_6004010574158 🔒 Bloqueado Autorrellenado (Siempre): Campo : Venta / Cliente
Cantidad (Unidades) Decimal General pr_100401060519 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Tipo de movimiento Relación General pr_6004010574157 🔒 Bloqueado, 👁 Oculto Autorrellenado (Siempre): Campo (Empresa Actual): Tipo predeterminado de entrada de venta
Cantidad Decimal General pr_100401060522 🔴 Obligatorio, 📊 Mayores que 0 -
Producto Relación General pr_100401060520 🔴 Obligatorio -
Cantidad (Medida Base) Decimal General pr_100401060524 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Movimiento interno Relación General pr_6004010574156 🔒 Bloqueado, 👁 Oculto -
Referencia Ticket Entero General pr_6004010574164 👁 Oculto, 📊 Cualquier valor numérico Es el número secuencial que el sistema emite cada vez que se realiza una transacción.
Texto Ticket Texto General pr_6004010574162 👁 Oculto -
Venta Relación General pr_10040242011 🔒 Bloqueado -
Concepto vendido Relación General pr_10040242012 🔒 Bloqueado -
Lote Relación General pr_100401060526 🔴 Obligatorio Autorrellenado (Siempre): Campo : Producto / Lote por defecto producto
Numeración / Serie Relación Registro pr_6004010574159 - -
Puesto de trabajo Relación Registro pr_6004010574160 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): Puesto de trabajo
Ubicación Principal Relación Registro pr_60040105742 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): Ubicación Principal
Almacén Relación General pr_10692072 🔒 Bloqueado Autorrellenado (Siempre): Campo : Lote / Almacén
Medida Relación General pr_100401060525 🔴 Obligatorio Autorrellenado (Siempre): Campo : Producto / Medida (Accesible)
Estado Relación General pr_60692083 🔴 Obligatorio, 🔒 Bloqueado Autorrellenado (Siempre): Referencia dato: Completada
Fecha Dato Fecha Y Hora General pr_60040105744 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual
Empleado Relación Registro pr_60040105741 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
Tipo Relación General pr_20692091001 🔴 Obligatorio Autorrellenado (Siempre): Referencia dato: Devolución de cliente
Autor del alta Relación Registro pr_60040105743 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
Fecha Alta del registro Fecha Y Hora Registro pr_60040105747 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual

Scripts

Total de scripts: 4

Código de Scripts

Lógica de negocio ejecutada en los formularios automáticamente

Formulario_Iniciado_AgregarNuevo_PostRellenadoImportacion

if C.ReferenciaDestinador = S.Destinadores.VentasIngresos.EntradaDeVenta.ID 
    if C.ReferenciaVenta <> ''


        C.ReferenciaCliente = C.ReferenciaVenta.ReferenciaCliente
        C.ReferenciaUbicacionPrincipal = F.GetRowById(S.Sections.Ubicaciones.ID,C.ReferenciaVenta.ReferenciaUbicacionPrincipal)
        C.ReferenciaProducto = C.ReferenciaConceptoVendido.ReferenciaProducto 
        C.ReferenciaLote = C.ReferenciaConceptoVendido.ReferenciaLote 







    end if 
end if

Formulario_PreACeptar

if C.ReferenciaLote.ReferenciaUbicacionPrincipal <> C.ReferenciaUbicacionPrincipal 
    F.MsgBox('El lote no puede pertenecer a una ubicación distinta a la de la entrada.',1)
    F.CancelarEvento 
End If
if C.ReferenciaLote.ReferenciaProducto <> C.ReferenciaProducto 
    F.MsgBox('El producto de la Entrada y el del lote debe ser el mismo.',1)
    F.CancelarEvento 
End If

Campo_ComboAplicarFiltro

if C.ReferenciaProducto = ''

    F.CampoDesplegableCancelar('Debe seleccionar un producto.')
else
    F.CampoDesplegableAplicarFiltro(S.Fields.LotesDeProductosBase.ReferenciaProducto.ID,'=',C.ReferenciaProducto)
    F.CampoDesplegableAplicarFiltro(S.Fields.LotesDeProductosBase.ReferenciaUbicacionPrincipal.ID,'=',C.ReferenciaUbicacionPrincipal)

End If

Campos utilizados: - Entradas de ventas > Lote

Formulario_TickRecalculo

@ [Entrada en ventas]
@   Hace referencia a una venta rectificativa 
@   Aumenta el stock en inventario, el disponible lo gestiona la propia venta rectificativa 
num Unidades = C.CantidadUnidades 

C.ReferenciaMovimientoInterno.ReferenciaLote = C.ReferenciaLote 
C.ReferenciaMovimientoInterno.ReferenciaProducto = C.ReferenciaProducto
C.ReferenciaMovimientoInterno.ReferenciaEntidadRelacionada = C.ReferenciaCliente
C.ReferenciaMovimientoInterno.ModificadorStockInventario = V.Unidades
C.ReferenciaMovimientoInterno.ModificadorStockDisponible = V.Unidades


@ ____   STOCK FÍSICO   ____ 
@ Producto 
txt Producto = S.Fields.EntradasDeVentas.ReferenciaProducto.ID 
txt ProductoStockFisico = S.Fields.ProductosBase.StockEnInventario.ID 
txt CantidadSalida = S.Fields.EntradasDeVentas.CantidadUnidades.ID 
F.CampoLimitacionCantidadIndirecta(v.Producto,v.ProductoStockFisico,0,0,v.CantidadSalida,1,'Stock Inventario',2)

@ Lote 
txt Producto2 = S.Fields.EntradasDeVentas.ReferenciaLote.ID 
txt ProductoStockFisico2 = S.Fields.LotesDeProductosBase.StockInventario.ID 
txt CantidadSalida2 = S.Fields.EntradasDeVentas.CantidadUnidades.ID 
F.CampoLimitacionCantidadIndirecta(v.Producto2,v.ProductoStockFisico2,0,0,v.CantidadSalida2,1,'Stock Inventario de lote',2)

← Volver al índice