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 | Sí |
| 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)