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
Nuevos registros 🔒 Bloqueado
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
Puesto de trabajo Relación Registro pr_6004010574160 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): Puesto de trabajo
Empleado Relación Registro pr_60040105741 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
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)
Numeración / Serie Relación Registro pr_6004010574159 - -
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
Ubicación Principal Relación Registro pr_60040105742 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): Ubicación Principal
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
Lote Relación General pr_100401060526 🔴 Obligatorio Autorrellenado (Siempre): Campo : Producto / Lote por defecto producto
Autor del alta Relación Registro pr_60040105743 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
Producto Relación General pr_100401060520 🔴 Obligatorio -
Cantidad (Medida Base) Decimal General pr_100401060524 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Cantidad Decimal General pr_100401060522 🔴 Obligatorio, 📊 Mayores que 0 -
Medida Relación General pr_100401060525 🔴 Obligatorio Autorrellenado (Siempre): Campo : Producto / Medida (Accesible)
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.
Fecha Alta del registro Fecha Y Hora Registro pr_60040105747 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual
Texto Ticket Texto General pr_6004010574162 👁 Oculto -
Fecha Dato Fecha Y Hora General pr_60040105744 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual
Venta Relación General pr_10040242011 🔒 Bloqueado -
Concepto vendido Relación General pr_10040242012 🔒 Bloqueado -
Tipo Relación General pr_20692091001 🔴 Obligatorio Autorrellenado (Siempre): Referencia dato: Devolución de cliente
Almacén Relación General pr_10692072 🔒 Bloqueado Autorrellenado (Siempre): Campo : Lote / Almacén
Estado Relación General pr_60692083 🔴 Obligatorio, 🔒 Bloqueado Autorrellenado (Siempre): Referencia dato: Completada

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

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)

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


← Volver al índice