Lista - Ventas / Ingresos¶
Gestiona exhaustivamente cada producto o servicio incluido en facturas de venta o ingresos. Controla precios, cantidades, descuentos múltiples (fijos, porcentuales, generales), impuestos, categorías, saldo extra promocional, y validaciones de precios mínimos. Incluye gestión avanzada de inventario con control de stock disponible y físico, movimientos automáticos o manuales, lotes, sustituciones de productos, y rectificaciones. Soporta vinculación con presupuestos previos, suscripciones, ampliaciones, recursos únicos, tarifas de envío, y proyectos. Incorpora clasificación fiscal completa para España (SII), inversión del sujeto pasivo, y operaciones intracomunitarias. Calcula automáticamente costes, márgenes, y gestiona la contabilidad analítica por venta.
Información General¶
| Propiedad | Valor |
|---|---|
| ID | c59f4af2-da6b-4671-ad4f-8cf2d71c3a73 |
| Tabla PostgreSQL | tpr_50040105521_e |
| Etiqueta Plural | Elementos de Ventas |
| Texto principal automatico | No |
| Sección Listadora | Ventas / Ingresos (0ce4c6ac-54aa-488d-b8b8-e3a20d79f7a4) |
| Sección Base | Base Lista - Ventas / Ingresos (e0a2b422-8962-4680-89af-a4952e4f5f13) |
Campos¶
Total de campos: 107 (12 del sistema, 95 personalizados)
Campos del Sistema¶
| Campo | Tipo | Rol | Columna PostgreSQL | Relación | Atributos |
|---|---|---|---|---|---|
| ID | Relación |
- | id |
Lista - Ventas / Ingresos | - |
| Concepto | 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 |
- | - |
| Venta / Ingreso (Listador) (Relación) | Relación |
- | idrelacionlistador |
Ventas / Ingresos | 🔴 Obligatorio |
| Venta / Ingreso (Listador) Eliminadoa * | Sí/No |
- | listadoreliminado |
- | - |
Campos Personalizados¶
| Campo | Tipo | Pestaña | Columna | Atributos | Notas |
|---|---|---|---|---|---|
| Fecha Alta del registro | Fecha Y Hora |
Registro | pr_500401055221 |
🔴 Obligatorio | Autorrellenado (Siempre): Fecha y Hora actual |
| Suma descuentos de producto (Con impuestos) | Decimal |
Detalles | pr_5004010553163 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Entidad Relacionada | Relación |
Referencias | pr_60040105653 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Cliente |
| Total descuentos (Sin Impuestos) | Decimal |
Detalles | pr_5004010553160 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Porcentaje de impuestos | Decimal |
Impuestos | pr_5004010553169 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Total concepto (Sin impuestos) | Decimal |
Detalles | pr_5004010553171 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Fecha Dato | Fecha Y Hora |
Registro | pr_500401055219 |
🔴 Obligatorio, 🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Fecha Dato |
| Suma descuentos Porciento | Decimal |
Detalles | pr_5004010553173 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Total concepto (Con impuestos) | Decimal |
Detalles | pr_5004010553174 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma descuentos generales | Decimal |
Detalles | pr_5004010553179 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Motivo no sustitución | Texto |
Detalles | pr_5004010553186 |
- | Motivo que ha dado el cliente por el que no ha deseado realizar la sustitución del producto por el recomendado. |
| Producto es sustitución | Sí/No |
Avanzado | pr_5004010553192 |
🔒 Bloqueado, 👁 Oculto | Indica si el producto seleccionado ha sido una sustitución. |
| Total descuentos (Con Impuestos) | Decimal |
Detalles | pr_5004010553200 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Cantidad (Medida Base Por Und.) | Decimal |
Avanzado | pr_5004010553196 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Producto / Cantidad (Medida Base) |
| Suma descuentos de producto | Decimal |
Detalles | pr_5004010553206 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Importe descuento porcentual (Por unidad) (Con impuestos) | Decimal |
Detalles | pr_5004010553208 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Saldo extra emitido | Decimal |
General | pr_5004010553204 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Autor del alta | Relación |
Registro | pr_500401055218 |
🔴 Obligatorio | Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* ) |
| Suma | Decimal |
General | pr_5004010553106 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Total concepto | Decimal |
General | pr_5004010553104 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Descuento fijo unidad (Con impuestos) | Decimal |
Detalles | pr_5004010553116 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Precio unidad (Sin impuestos) | Decimal |
Detalles | pr_5004010553109 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Descuentos Generales Porciento | Decimal |
General | pr_5004010553120 |
🔒 Bloqueado, 📊 Positivos o 0 | - |
| Descuento fijo unidad (Sin impuestos) | Decimal |
Detalles | pr_5004010553119 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Precio mínimo unidad | Decimal |
General | pr_5004010553140 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Lote | Relación |
General | pr_5004010553139 |
- | Autorrellenado (Siempre): Campo : Producto / Lote por defecto producto · Lote asociado a esta transacción. |
| Aplicar recargo de equivalencia | Sí/No |
Detalles | pr_5004010553130 |
🔒 Bloqueado | - |
| Producto sustituido | Relación |
Referencias | pr_5004010553147 |
🔒 Bloqueado, 👁 Oculto | - |
| Cantidad (Unidades) | Decimal |
Avanzado | pr_500401055359 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Ubicación Principal | Relación |
General | pr_500401055217 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Ubicación Principal |
| Total descuentos | Decimal |
General | pr_500401055360 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Hora local | Hora |
Registro | pr_500401055220 |
🔒 Bloqueado, 👁 Oculto | - |
| Destinador | Relación |
General | pr_500401055224 |
🔒 Bloqueado, 👁 Oculto | - |
| Cantidad de productos que deben de salir | Decimal |
Avanzado | pr_500401055381 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Precio unidad (Con impuestos) | Decimal |
Detalles | pr_50040106486 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Movimiento interno de inventario | Relación |
General | pr_40040106601 |
🔒 Bloqueado, 👁 Oculto | - |
| Total concepto impuestos | Decimal |
General | pr_500401055393 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Cantidad de productos que pueden rectificarse | Decimal |
Avanzado | pr_50040105533 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Elemento de presupuesto de venta | Relación |
General | pr_50040105792 |
👁 Oculto | - |
| Tipo movimiento | Relación |
Avanzado | pr_50040105535 |
🔴 Obligatorio, 🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Tipo de Factura |
| Importe descuento porcentual (Por unidad) | Decimal |
Detalles | pr_50040105532 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Impuestos incluidos | Sí/No |
General | pr_500401055313 |
🔒 Bloqueado | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Precios con impuestos incluidos |
| Catálogo | Relación |
Referencias | pr_500401055321 |
🔒 Bloqueado, 👁 Oculto | Catálogo referencia de precios. |
| Medida (Base) | Relación |
Avanzado | pr_500401055319 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre): Campo : Producto / Medida (Base) |
| Producto no sustituido | Relación |
Referencias | pr_500401055316 |
🔒 Bloqueado, 👁 Oculto | - |
| Suma descuentos generales (Con impuestos) | Decimal |
Detalles | pr_500401055318 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Importe descuento porcentual (Por unidad) (Sin impuestos) | Decimal |
Detalles | pr_500401055327 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Cantidad (Medida Base) | Decimal |
Avanzado | pr_500401055322 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Empleado | Relación |
General | pr_500401055216 |
🔴 Obligatorio, 🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Empleado |
| Presupuesto de venta | Relación |
General | pr_50040105791 |
👁 Oculto | - |
| Evaluar stock | Sí/No |
Detalles | pr_500401055337 |
- | Autorrellenado (Siempre): Campo : Producto / Evaluar Stock |
| Elemento Catálogo | Relación |
Referencias | pr_500401055342 |
🔒 Bloqueado, 👁 Oculto | - |
| Suma (Con impuestos) | Decimal |
Detalles | pr_50040106484 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Elemento de pack | Relación |
Referencias | pr_20040148294 |
👁 Oculto | - |
| Unidades deseadas | Decimal |
General | pr_100401699816 |
👁 Oculto, 📊 Cualquier valor numérico | . |
| Cantidad de productos que deben entrar | Decimal |
General | pr_40040242012 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Tipo de factura | Entero |
Detalles | pr_60040242001 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Tipo factura |
| Rectificando -Venta | Relación |
General | pr_30040241991 |
👁 Oculto | - |
| Rectificando - Producto vendido | Relación |
General | pr_20040241993 |
👁 Oculto | - |
| Suma descuentos de producto (Sin impuestos) | Decimal |
Detalles | pr_40040255192 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma (Sin impuestos) | Decimal |
Detalles | pr_40040255191 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Peso unidad | Decimal |
Detalles | pr_20040256621 |
🔒 Bloqueado, 📊 Cualquier valor numérico | Autorrellenado (ExisteRelacion): Campo : Producto / Peso en unidad básica · Autorrellenado (ExisteRelacion): Campo : Recurso / Peso en unidad base · Autorrellenado (Siempre): Número: 0 |
| Suma descuentos generales (Sin impuestos) | Decimal |
Detalles | pr_10040266802 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Actividad | Relación |
General | pr_60040281353 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Actividad |
| Ampliación de suscripción | Relación |
General | pr_200401606422 |
- | - |
| Suscripción de cliente | Relación |
General | pr_60040159763 |
- | - |
| Tarifa de envío aplicada | Relación |
General | pr_200405060916 |
- | - |
| Movimiento de inventario automático | Sí/No |
Detalles | pr_500401055335 |
- | Determina que el sistema realizará la salida de inventario de forma automática al realizar la transacción. |
| ES - Impuestos Causa | Entero |
Avanzado | pr_10732793 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Impuestos / ES - Causa (Sujeción) |
| Coste (Und.) | Decimal |
Avanzado | pr_40040192151 |
📊 Cualquier valor numérico | Autorrellenado (ExisteRelacion): Campo : Producto / Precio medio de Compra (Sin impuestos) · Autorrellenado (ExisteRelacion): Campo : Lote / Coste por unidad (Sin impuestos) · Autorrellenado (ExisteRelacion): Campo : Recurso / Coste (Sin impuestos) · Autorrellenado (Siempre): Número: 0 |
| Inversión del sujeto pasivo | Sí/No |
Avanzado | pr_60733222 |
- | Autorrellenado (Siempre): Campo : Impuestos / Inversión del sujeto pasivo |
| Clave de operación intracomunitaria | Texto |
Avanzado | pr_300402429916 |
- | - |
| Categoría de venta | Relación |
General | pr_50040136172 |
🔴 Obligatorio | Autorrellenado (Cadena_Rellenada): Campo : Producto / Categoría de Venta por defecto · Autorrellenado (Cadena_Rellenada): Campo (Empresa Actual): Categoría predeterminada de Venta |
| Tipo de Producto | Entero |
General | pr_20733501 |
📊 Cualquier valor numérico | Autorrellenado (ExisteRelacion): Campo : Producto / Tipo de Producto |
| ES - Base imponible a coste | Decimal |
Avanzado | pr_30734541 |
🔒 Bloqueado, 📊 Cualquier valor numérico | Campo reservado para versiones futuras. |
| Proyecto | Relación |
General | pr_30040336361 |
- | - |
| ES - Clasificación de Operación | Entero |
Avanzado | pr_30734762 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Impuestos / ES - Clasificación de Operación |
| ES - Clave Régimen | Entero |
Avanzado | pr_40734762 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Impuestos / ES - Clave Régimen |
| Permitir productos fuera de catálogo | Sí/No |
Avanzado | pr_50040105531 |
- | Autorrellenado (Siempre): Campo (Empresa Actual): Permitir vender productos fuera de catálogo · Indicando esta opción se permitirá seleccionar productos que no estén en el catálogo que se ha asignado a la entidad o transacción. |
| Coste | Decimal |
Avanzado | pr_50040192153 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Margen (Und.) | Decimal |
Avanzado | pr_50040192151 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Margen | Decimal |
Avanzado | pr_50040192152 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| ES - Impuestos Tipo | Entero |
Avanzado | pr_10732794 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Impuestos / ES - Tipo |
| Tipo | Entero |
General | pr_60040504532 |
🔴 Obligatorio, 🔒 Bloqueado, 📊 Cualquier valor numérico | Autorrellenado (Siempre): Número entero: 1 |
| Recurso | Relación |
General | pr_20040441201 |
- | - |
| Saldo extra unidad | Decimal |
General | pr_5004010553129 |
📊 Cualquier valor numérico | - |
| Descuento % | Decimal |
General | pr_5004010553110 |
📊 Positivos o 0 | - |
| Precio unidad | Decimal |
General | pr_500401055369 |
📊 Cualquier valor numérico | - |
| Impuestos | Relación |
General | pr_500401055380 |
🔴 Obligatorio | - |
| Cantidad | Decimal |
General | pr_5004010553107 |
🔴 Obligatorio, 📊 Mayores que 0 | Autorrellenado (Siempre): Número: 1 |
| Descuento fijo unidad | Decimal |
General | pr_500401055394 |
📊 Cualquier valor numérico | - |
| Producto | Relación |
General | pr_5004010553185 |
- | - |
| Medida | Relación |
General | pr_5004010553108 |
🔴 Obligatorio | Autorrellenado (Siempre): Campo : Producto / Medida (Accesible) |
| Anulada | Sí/No |
General | pr_40744811001 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Anulada |
| Fecha contable | Fecha |
General | pr_30040252082 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre, Listador): Campo : Venta / Ingreso (Listador) (Relación) / Fecha contable |
Scripts¶
Total de scripts: 29
Código de Scripts¶
Lógica de negocio ejecutada en los formularios automáticamente
Campo_Cambiado¶
if C.ReferenciaTarifaDeEnvioAplicada <> ''
if C.ImpuestosIncluidos
C.ImportePrecioUnidad = C.ReferenciaTarifaDeEnvioAplicada.ImportePrecioDeVentaConImpuestos
else
C.ImportePrecioUnidad = C.ReferenciaTarifaDeEnvioAplicada.ImportePrecioDeVentaSinImpuestos
end if
C.ReferenciaProducto = C.ReferenciaTarifaDeEnvioAplicada.ReferenciaProductoEnVentas
C.Cantidad = 1
C.ReferenciaImpuestos = C.ReferenciaTarifaDeEnvioAplicada.ReferenciaImpuestoEnVentas
C.ReferenciaCategoriaDeVenta = C.ReferenciaTarifaDeEnvioAplicada.ReferenciaCategoriaDeVenta
C.TextoPrincipal = C.ReferenciaTarifaDeEnvioAplicada.TextoPrincipal
C.ImporteCosteUnd = C.ReferenciaTarifaDeEnvioAplicada.ImporteCosteSinImpuestos
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Tarifa de envío aplicada
Campo_Cambiado¶
if C.ReferenciaElementoDePresupuestoDeVenta <> ''
C.ReferenciaProyecto = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaProyecto
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Elemento de presupuesto de venta
Campo_ComboAplicarFiltro¶
if C.TipoDeFactura = S.Enums.tipofactura.rectificativo
F.CampoDesplegableAplicarAlgoritmoCM(S.Algorithms.AlgoritmoBusquedaRecursosPuedenDevolverseVenta.ID)
else
F.CampoDesplegableAplicarAlgoritmoCM(S.Algorithms.AlgoritmoBusquedaRecursosPuedenVenderse.ID)
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Recurso
Formulario_Iniciado_AgregarNuevo¶
if C.ReferenciaImpuestos = ''
C.ReferenciaImpuestos = C.RelacionElementoContenedorListador.ReferenciaImpuestoPredeterminado
end if
if C.TipoDeFactura = S.Enums.tipofactura.ordinario
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'E - Entregas intracomunitarias exentas, excepto las entregas en otros Estados miembros subsiguientes a adquisiciones intracomunitarias exentas en el marco de operaciones triangulares, que se consignará «T», y las entregas intracomunitarias de bienes posteriores a una importación exenta, que se consignarán con las claves «M» o «H» según corresponda.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'M - Entregas intracomunitarias de bienes posteriores a una importación exenta, de acuerdo con el artículo 27. 12.º de la Ley del Impuesto sobre el Valor Añadido.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'H - Entregas intracomunitarias de bienes posteriores a una importación exenta, de acuerdo con el artículo 27. 12.º de la Ley del Impuesto sobre el Valor Añadido, efectuadas por el representante fiscal según lo previsto en el artículo 86.Tres de la Ley del Impuesto.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'A - Adquisiciones intracomunitarias sujetas.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'T - Entregas en otros Estados miembros subsiguientes a adquisiciones intracomunitarias exentas en el marco de operaciones triangulares. Cuando se realice alguna entrega de bienes de las mencionadas en el artículo 79, apartado cinco del Reglamento del IVA.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'S - Prestaciones intracomunitarias de servicios realizadas por el declarante.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'I - Adquisiciones intracomunitarias de servicios localizadas en el TAI prestadas por empresarios o profesionales establecidos en otros EM cuyo destinatario es el declarante.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'R - Transferencias de bienes efectuadas en el marco de acuerdos de ventas de bienes en consigna.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'D - Devoluciones de bienes desde otro Estado miembro al que previamente fueron enviados desde el TAI en el marco de acuerdos de ventas de bienes en consigna.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'C - Sustituciones del empresario o profesional destinatario de los bienes expedidos o transportados a otro Estado miembro en el marco de acuerdos de ventas de bienes en consigna.')
else
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'E - Rectificaciones de las entregas intracomunitarias exentas, excepto las que deban consignarse, según corresponda, con las claves T, M ó H.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'M - Rectificaciones de las entregas intracomunitarias de bienes posteriores a una importación exenta, de acuerdo con el artículo 27.12º de la Ley del Impuesto sobre el Valor Añadido.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'H - Rectificaciones de las entregas intracomunitarias de bienes posteriores a una importación exenta efectuadas por el representante fiscal, de acuerdo con el artículo 27. 12.º de la Ley del Impuesto sobre el Valor Añadido, efectuadas por el representante fiscal según lo previsto en el artículo 86.Tres de la Ley del Impuesto.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'A - Rectificaciones a las adquisiciones intracomunitarias sujetas.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'T - Rectificaciones a las entregas en otros Estados miembros subsiguientes a adquisiciones intracomunitarias exentas en el marco de operaciones triangulares. Cuando se realice alguna entrega de bienes de las mencionadas en el artículo 79, apartado cinco del Reglamento del IVA.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'S - Rectificaciones a las prestaciones intracomunitarias de servicios realizadas por el declarante.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'I - Rectificaciones a las adquisiciones intracomunitarias de servicios localizadas en el TAI prestadas por empresarios o profesionales establecidos en otros EM cuyo destinatario es el declarante.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'R - Rectificaciones de transferencias de bienes efectuadas en el marco de acuerdos de ventas de bienes en consigna.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'D - Rectificaciones de devoluciones de bienes desde otro Estado miembro al que previamente fueron enviados desde el TAI en el marco de acuerdos de ventas de bienes en consigna.')
F.CampoTextoAgregarMemorizados(S.Fields.VentasIngresosLista.ClaveDeOperacionIntracomunitaria.ID,'C - Rectificaciones de sustituciones del empresario o profesional destinatario de los bienes expedidos o transportados a otro Estado miembro en el marco de acuerdos de ventas de bienes en consigna.')
end if
Formuario_RecalcularListado¶
if C.RelacionElementoContenedorListador.DesactivarSaldo = 1
C.ImporteSaldoExtraUnidad =0
end if
num PrecioDeVentaDeReferencia = C.ImporteTotalConceptoSinImpuestos
C.ImporteCoste = C.ImporteCosteUnd * C.CantidadUnidades
C.ImporteMargen = v.PrecioDeVentaDeReferencia - C.ImporteCoste
C.ImporteMargenUnd = C.ImporteMargen / C.CantidadUnidades
Formuario_RecalcularListado¶
if C.ClaveDeOperacionIntracomunitaria <> ''
if F.Contains(C.ClaveDeOperacionIntracomunitaria,' - ')
C.ClaveDeOperacionIntracomunitaria = F.Substring(C.ClaveDeOperacionIntracomunitaria,1,1)
end if
end if
Campo_Cambiado¶
if C.ReferenciaElementoDePresupuestoDeVenta <> ''
elseif C.ImpuestosIncluidos
C.ReferenciaImpuestos = C.ReferenciaElementoCatalogo.ReferenciaImpuesto
C.ImportePrecioUnidad = C.ReferenciaElementoCatalogo.ImportePrecioConImpuestos
C.ImporteDescuentoFijoUnidad = C.ReferenciaElementoCatalogo.ImporteDescuentoFijoImpuestosIncluidos
C.DescuentoPorciento = C.ReferenciaElementoCatalogo.DescuentoPorciento
C.ImporteSaldoExtraUnidad = C.ReferenciaElementoCatalogo.ImporteSaldoPromocionalFijoExtra
else
C.ReferenciaImpuestos = C.ReferenciaElementoCatalogo.ReferenciaImpuesto
C.ImportePrecioUnidad = C.ReferenciaElementoCatalogo.ImportePrecioSinImpuestos
C.ImporteDescuentoFijoUnidad = C.ReferenciaElementoCatalogo.ImporteDescuentoFijoImpuestosNoIncluidos
C.DescuentoPorciento = C.ReferenciaElementoCatalogo.DescuentoPorciento
C.ImporteSaldoExtraUnidad = C.ReferenciaElementoCatalogo.ImporteSaldoPromocionalFijoExtra
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Elemento Catálogo
Formulario_Cargado¶
if C.RelacionElementoContenedorListador.ReferenciaVentaQueSeEstaRectificando <> ''
F.CatalogoDesactivar(S.Catalogos.CatalogoVentasOrdinarias.ID,1)
end if
Campo_ComboAplicarFiltro¶
if C.ReferenciaEntidadRelacionada <> ''
F.CampoDesplegableAplicarFiltro(S.Fields.SuscripcionesDeClientesBase.ReferenciaCliente.ID,'=',C.ReferenciaEntidadRelacionada)
F.ListadoAvisoDesplegable(F.Concat2('Mostrando las suscripciones de ',C.ReferenciaEntidadRelacionada.TextoPrincipal),1)
End If
Campos utilizados:
- Lista - Ventas / Ingresos > Suscripción de cliente
Campo_ComboAplicarFiltro¶
if C.ReferenciaSuscripcionDeCliente <> ''
F.CampoDesplegableAplicarFiltro(S.Fields.AmpliacionesDeSuscripcionesDeClientesBase.ReferenciaSuscripcionDeCliente.ID,'=',C.ReferenciaSuscripcionDeCliente)
F.ListadoAvisoDesplegable(F.Concat2('Mostrando renovaciones de suscripción ',C.ReferenciaSuscripcionDeCliente.TextoPrincipal),1)
elseif C.ReferenciaEntidadRelacionada <> ''
F.CampoDesplegableAplicarFiltro(S.Fields.AmpliacionesDeSuscripcionesDeClientesBase.ReferenciaCliente.ID,'=',C.ReferenciaEntidadRelacionada)
F.ListadoAvisoDesplegable(F.Concat2('Mostrando renovaciones del cliente',C.ReferenciaEntidadRelacionada.TextoPrincipal),1)
End If
Campos utilizados:
- Lista - Ventas / Ingresos > Ampliación de suscripción
Campo_PreAgregarRelacion¶
F.CopiarAgregarRelacion(S.Fields.AmpliacionesDeSuscripcionesDeClientesBase.ReferenciaCliente.ID,C.ReferenciaEntidadRelacionada)
F.CopiarAgregarRelacion(S.Fields.AmpliacionesDeSuscripcionesDeClientesBase.ReferenciaSuscripcionDeCliente.ID,C.ReferenciaSuscripcionDeCliente)
Campos utilizados:
- Lista - Ventas / Ingresos > Ampliación de suscripción
Formulario_PreACeptar¶
if C.ReferenciaAmpliacionDeSuscripcion <> ''
if C.ReferenciaSuscripcionDeCliente <> ''
if C.ReferenciaSuscripcionDeCliente <> C.ReferenciaAmpliacionDeSuscripcion.ReferenciaSuscripcionDeCliente
F.MsgBox('La renovación no pertenece a la suscripción seleccionada.',1)
F.CancelarEvento
End If
end if
End If
Campo_Cambiado¶
if C.ReferenciaRecurso <> ''
C.TextoPrincipal = C.ReferenciaRecurso.TextoPrincipal
if C.ReferenciaRecurso.ReferenciaDetalles.ReferenciaCategoriaDeVenta <> ''
C.ReferenciaCategoriaDeVenta = C.ReferenciaRecurso.ReferenciaDetalles.ReferenciaCategoriaDeVenta
end if
if C.ReferenciaRecurso.ReferenciaImpuestoDeVenta <> ''
C.ReferenciaImpuestos = C.ReferenciaRecurso.ReferenciaImpuestoDeVenta
else
if C.ReferenciaRecurso.ReferenciaDetalles.ReferenciaImpuestoEnVentas <> ''
C.ReferenciaImpuestos = C.ReferenciaRecurso.ReferenciaDetalles.ReferenciaImpuestoEnVentas
end if
end if
if C.ImpuestosIncluidos
C.ImportePrecioUnidad = C.ReferenciaRecurso.ImportePrecioDeVentaConImpuestos
else
C.ImportePrecioUnidad = C.ReferenciaRecurso.ImportePrecioDeVentaSinImpuestos
end if
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Recurso
Formulario_Iniciado_AgregarNuevo¶
if C.ReferenciaElementoDePresupuestoDeVenta <> ''
C.ReferenciaSuscripcionDeCliente = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaSuscripcionDeCliente
C.ReferenciaAmpliacionDeSuscripcion = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaAmpliacionDeSuscripcion
end if
Formulario_TickRecalculo¶
num Proyecto_BloqueadoPorGeneral = 0
txt Proyecto_BloqueadoPorGeneralMotivo = 'Este campo está bloqueado porque ha seleccionado un proyecto general.'
if C.RelacionElementoContenedorListador.ReferenciaProyectoGeneral <> ''
C.ReferenciaProyecto = C.RelacionElementoContenedorListador.ReferenciaProyectoGeneral
V.Proyecto_BloqueadoPorGeneral = 1
end if
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaProyecto.ID,v.Proyecto_BloqueadoPorGeneralMotivo,v.Proyecto_BloqueadoPorGeneral)
Formulario_TickRecalculo¶
if F.CampoHaSidoAfectadoEntreTicks(S.Fields.VentasIngresosLista.ReferenciaAmpliacionDeSuscripcion.id)
if C.ReferenciaAmpliacionDeSuscripcion <> ''
C.ReferenciaSuscripcionDeCliente = C.ReferenciaAmpliacionDeSuscripcion.ReferenciaSuscripcionDeCliente
End If
End If
num SuscripcionObligada = 0
if C.ReferenciaAmpliacionDeSuscripcion <> ''
V.SuscripcionObligada = 1
End If
F.CampoObligatorioMotivo(S.Fields.VentasIngresosLista.ReferenciaSuscripcionDeCliente.ID,'',v.SuscripcionObligada)
Formulario_TickRecalculo¶
num categoriabloqueada = 0
num impuestobloqueado = 0
if C.RelacionElementoContenedorListador.ReferenciaCategoriaGeneral <> ''
C.ReferenciaCategoriaDeVenta = C.RelacionElementoContenedorListador.ReferenciaCategoriaGeneral
V.categoriabloqueada = 1
end if
if C.RelacionElementoContenedorListador.ReferenciaImpuestoGeneral <> ''
C.ReferenciaImpuestos = C.RelacionElementoContenedorListador.ReferenciaImpuestoGeneral
V.impuestobloqueado = 1
end if
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaCategoriaDeVenta.ID,'Se ha indicado en Categoria general.',V.categoriabloqueada)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaImpuestos.ID,'Se ha indicado en Impuesto general.',V.impuestobloqueado)
Formulario_Iniciado_AgregarNuevo_PostRellenadoImportacion¶
if C.RelacionElementoContenedorListador.ImpedirAutorrellenadoDestinadores
salir
end if
if C.ReferenciaRectificandoProductoVendido <> ''
C.ReferenciaRecurso = C.ReferenciaRectificandoProductoVendido.ReferenciaRecurso
C.ReferenciaProducto = C.ReferenciaRectificandoProductoVendido.ReferenciaProducto
C.ReferenciaLote = C.ReferenciaRectificandoProductoVendido.ReferenciaLote
C.ReferenciaRecurso = C.ReferenciaRectificandoProductoVendido.ReferenciaRecurso
C.ReferenciaImpuestos = C.ReferenciaRectificandoProductoVendido.ReferenciaImpuestos
C.ReferenciaImpuestos = C.ReferenciaRectificandoProductoVendido.ReferenciaImpuestos
C.ImportePrecioUnidad = C.ReferenciaRectificandoProductoVendido.ImportePrecioUnidad * -1
C.ImporteDescuentoFijoUnidad = C.ReferenciaRectificandoProductoVendido.ImporteDescuentoFijoUnidad * -1
C.DescuentoPorciento = C.ReferenciaRectificandoProductoVendido.DescuentoPorciento
C.ImporteSaldoExtraUnidad = C.ReferenciaRectificandoProductoVendido.ImporteSaldoExtraUnidad * -1
C.Tipo = C.ReferenciaRectificandoProductoVendido.Tipo
C.ReferenciaCategoriaDeVenta = C.ReferenciaRectificandoProductoVendido.ReferenciaCategoriaDeVenta
C.ImportePrecioMinimoUnidad = C.ReferenciaRectificandoProductoVendido.ImportePrecioMinimoUnidad * -1
C.EvaluarStock = C.ReferenciaRectificandoProductoVendido.EvaluarStock
C.ImporteCoste = C.ReferenciaRectificandoProductoVendido.ImporteCoste * -1
C.ImporteSaldoExtraUnidad = C.ReferenciaRectificandoProductoVendido.ImporteSaldoExtraUnidad
C.TextoPrincipal = C.ReferenciaRectificandoProductoVendido.TextoPrincipal
C.TipoDeProducto = C.ReferenciaRectificandoProductoVendido.TipoDeProducto
C.ESImpuestosTipo = C.ReferenciaRectificandoProductoVendido.ESImpuestosTipo
C.ESClaveRegimen = C.ReferenciaRectificandoProductoVendido.ESClaveRegimen
C.ESImpuestosCausa = C.ReferenciaRectificandoProductoVendido.ESImpuestosCausa
C.ESClasificacionDeOperacion = C.ReferenciaRectificandoProductoVendido.ESClasificacionDeOperacion
C.InversionDelSujetoPasivo = C.ReferenciaRectificandoProductoVendido.InversionDelSujetoPasivo
C.ClaveDeOperacionIntracomunitaria = C.ReferenciaRectificandoProductoVendido.TextoPrincipal
C.ImporteESBaseImponibleACoste = C.ReferenciaRectificandoProductoVendido.ImporteESBaseImponibleACoste
end if
if C.ReferenciaElementoDePresupuestoDeVenta <> ''
C.ReferenciaRecurso = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaRecurso
C.ReferenciaProducto = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaProducto
C.ReferenciaRecurso = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaRecurso
C.ReferenciaImpuestos = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaImpuestos
C.ImportePrecioUnidad = C.ReferenciaElementoDePresupuestoDeVenta.ImportePrecioUnidad
C.ImporteDescuentoFijoUnidad = C.ReferenciaElementoDePresupuestoDeVenta.ImporteDescuentoFijoUnidad
C.DescuentoPorciento = C.ReferenciaElementoDePresupuestoDeVenta.DescuentoPorciento
C.ImporteSaldoExtraUnidad = C.ReferenciaElementoDePresupuestoDeVenta.ImporteSaldoExtraUnidad
C.Tipo = C.ReferenciaElementoDePresupuestoDeVenta.Tipo
C.ReferenciaCategoriaDeVenta = C.ReferenciaElementoDePresupuestoDeVenta.ReferenciaCategoriaDeVenta
C.ImportePrecioMinimoUnidad = C.ReferenciaElementoDePresupuestoDeVenta.ImportePrecioMinimo
C.EvaluarStock = C.ReferenciaElementoDePresupuestoDeVenta.EvaluarStock
C.ImporteSaldoExtraUnidad = C.ReferenciaElementoDePresupuestoDeVenta.ImporteSaldoExtraUnidad
C.TextoPrincipal = C.ReferenciaElementoDePresupuestoDeVenta.TextoPrincipal
C.TipoDeProducto = C.ReferenciaElementoDePresupuestoDeVenta.TipoDeProducto
C.ESImpuestosTipo = C.ReferenciaElementoDePresupuestoDeVenta.ESImpuestosTipo
C.ESClaveRegimen = C.ReferenciaElementoDePresupuestoDeVenta.ESClaveRegimen
C.ESImpuestosCausa = C.ReferenciaElementoDePresupuestoDeVenta.ESImpuestosCausa
C.ESClasificacionDeOperacion = C.ReferenciaElementoDePresupuestoDeVenta.ESClasificacionDeOperacion
C.InversionDelSujetoPasivo = C.ReferenciaElementoDePresupuestoDeVenta.InversionDelSujetoPasivo
C.ClaveDeOperacionIntracomunitaria = C.ReferenciaElementoDePresupuestoDeVenta.TextoPrincipal
C.ImporteESBaseImponibleACoste = C.ReferenciaElementoDePresupuestoDeVenta.ImporteESBaseImponibleACoste
end if
Campo_Cambiado¶
if C.ReferenciaImpuestos.EsSuplido
C.Tipo = S.Enums.cotizacionfilatipo.suplido
else
C.Tipo = S.Enums.cotizacionfilatipo.ordinario
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Impuestos
Campo_Cambiado¶
salir
If C.MovimientoDeInventarioAutomatico
If C.EvaluarStock = 0
F.MsgBox('No se puede marcar como salida instantanea, una venta de un producto que no requiere seguimiento de existencias.',0)
C.EvaluarStock = 0
End If
End If
Campos utilizados:
- Lista - Ventas / Ingresos > Movimiento de inventario automático
Campo_ComboAplicarFiltro¶
F.CampoDesplegableAplicarFiltro(S.Fields.ImpuestosBase.Activo.id,'=',1)
Campos utilizados:
- Lista - Ventas / Ingresos > Impuestos
Campo_ComboAplicarFiltro¶
F.CampoDesplegableAplicarFiltro(S.Fields.LotesDeProductosBase.ReferenciaUbicacionPrincipal.id,'=',C.ReferenciaUbicacionPrincipal)
F.CampoDesplegableAplicarFiltro(S.Fields.LotesDeProductosBase.ReferenciaProducto.id,'=',C.ReferenciaProducto)
F.CampoDesplegableAplicarFiltro(S.Fields.LotesDeProductosBase.StockDisponible.id,'>',0)
Campos utilizados:
- Lista - Ventas / Ingresos > Lote
Campo_ComboAplicarFiltro¶
If C.PermitirProductosFueraDeCatalogo = 0
F.CampoDesplegableAplicarAlgoritmoCM(S.Algorithms.AlgoritmoBusquedaProductosEnCatalogosDeVentaPorTipoDeClienteYImpuestosIncluidosPorUbicacion.id,C.RelacionElementoContenedorListador.ReferenciaTipoCliente,C.ImpuestosIncluidos,C.ReferenciaUbicacionPrincipal)
F.ListadoAvisoDesplegable('Únicamente se están mostrando los productos asociados a catálogos.',1)
else
F.ListadoAvisoDesplegable('Únicamente se están mostrando los productos asociados a catálogos.',0)
End If
Campos utilizados:
- Lista - Ventas / Ingresos > Producto
Campo_Cambiado¶
if C.UnidadesDeseadas <> 0
C.Cantidad = C.ReferenciaElementoDePack.Cantidad
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Lote
Formuario_RecalcularListado¶
txt bloqueoUnicoMotivo = 'Únicamente puede seleccionar 1: Recurso o Producto'
num bloqueUnicoRecurso = 0
num bloqueUnicoProducto = 0
if C.ReferenciaProducto <> '' y C.ReferenciaRecurso <> ''
elseif C.ReferenciaProducto <> ''
V.bloqueUnicoRecurso = 1
elseif C.ReferenciaRecurso <> ''
V.bloqueUnicoProducto = 1
else
end if
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaProducto.ID,v.bloqueoUnicoMotivo,v.bloqueUnicoProducto)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaRecurso.ID,v.bloqueoUnicoMotivo,v.bloqueUnicoRecurso)
num bloqueoSuplido = 0
txt MotivoBloqueoSuplido = 'No disponible en suplidos.'
if C.Tipo = S.Enums.cotizacionfilatipo.suplido
if C.ReferenciaProducto <> ''
C.ReferenciaProducto = ''
end if
if C.ReferenciaRecurso <> ''
C.ReferenciaRecurso = ''
end if
if C.ReferenciaLote <> ''
C.ReferenciaLote = ''
end if
V.bloqueoSuplido = 1
end if
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaRecurso.ID,v.MotivoBloqueoSuplido,v.bloqueoSuplido)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaProducto.ID,v.MotivoBloqueoSuplido,v.bloqueoSuplido)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaLote.ID,v.MotivoBloqueoSuplido,v.bloqueoSuplido)
@! #######################################
@! ############ LIMITADORES ###########
@! #######################################
num CantidadMinima
num CantidadMaxima
num AfectaPositivamente
txt Motivo
txt CampoALimitar = S.Fields.VentasIngresosLista.CantidadUnidades.id
num EsRectificativa = 0
if C.TipoDeFactura = S.Enums.tipofactura.ordinario
@!################################################
@! LIMITACIÓN DISP. PROD #
@!################################################
txt CampoRelacion2 = S.Fields.VentasIngresosLista.ReferenciaProducto.id
txt CampoRelacionCantidad2 = S.Fields.ProductosBase.StockDisponible.id
V.CantidadMinima = 0
V.CantidadMaxima = 9999999999
V.AfectaPositivamente = 0
V.Motivo = 'Disponibilidad de producto'
if C.ReferenciaProducto <> '' and C.EvaluarStock = 1
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion2,v.CampoRelacionCantidad2,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,1)
else
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion2,v.CampoRelacionCantidad2,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,0)
End If
@################################################
@ LIMITACIÓN DISP. [LOTE] #
@################################################
txt CampoRelacion4 = S.Fields.VentasIngresosLista.ReferenciaLote.id
txt CampoRelacionCantidad4 = S.Fields.LotesDeProductosBase.StockDisponible.id
V.CantidadMinima = 0
V.CantidadMaxima = 9999999999
V.AfectaPositivamente = 0
V.Motivo = 'Disponibilidad de lote'
if C.ReferenciaLote <> '' and C.EvaluarStock
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion4,v.CampoRelacionCantidad4,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,1)
else
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion4,v.CampoRelacionCantidad4,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,0)
End If
@################################################
@ STOCK FÍSICO [LOTE] #
@################################################
txt CampoRelacion5 = S.Fields.VentasIngresosLista.ReferenciaLote.id
txt CampoRelacionCantidad5 = S.Fields.LotesDeProductosBase.StockInventario.id
V.CantidadMinima = 0
V.CantidadMaxima = 9999999999
V.AfectaPositivamente = 0
V.Motivo = 'Stock Invetario (Lote)'
if C.ReferenciaLote <> '' and C.EvaluarStock y C.MovimientoDeInventarioAutomatico
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion5,v.CampoRelacionCantidad5,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,1)
else
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion5,v.CampoRelacionCantidad5,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,0)
End If
@################################################
@ STOCK FÍSICO [PRODUCTO] #
@################################################
txt CampoRelacion6 = S.Fields.VentasIngresosLista.ReferenciaProducto.id
txt CampoRelacionCantidad6 = S.Fields.ProductosBase.StockEnInventario.id
V.CantidadMinima = 0
V.CantidadMaxima = 9999999999
V.AfectaPositivamente = 0
V.Motivo = 'Stock Invetario (Producto)'
if C.ReferenciaLote <> '' and C.EvaluarStock y C.MovimientoDeInventarioAutomatico
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion6,v.CampoRelacionCantidad6,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,1)
else
F.CampoLimitacionCantidadIndirecta(v.CampoRelacion6,v.CampoRelacionCantidad6,v.CantidadMinima,v.CantidadMaxima,v.CampoALimitar,v.AfectaPositivamente,v.Motivo,0)
End If
end
@################################################
@ ADMINISTRACIÓN DE INVENTARIO #
@################################################
num ModificadorStockDisponible
num ModificadorStockInventario
num CantidadDeProductosQueDebenDeSalir
num CantidadDeProductosQueDebenEntrar
num CantidadDeProductosQuePuedenRectificarse
if C.TipoDeFactura = S.Enums.tipofactura.ordinario
If C.EvaluarStock y C.ReferenciaProducto <> ''
v.ModificadorStockDisponible = C.CantidadUnidades * -1
If C.MovimientoDeInventarioAutomatico
v.ModificadorStockInventario = C.CantidadUnidades * -1
v.CantidadDeProductosQueDebenDeSalir = 0
Else
v.ModificadorStockInventario = 0
v.CantidadDeProductosQueDebenDeSalir = C.CantidadUnidades
End If
End If
V.CantidadDeProductosQuePuedenRectificarse = C.CantidadUnidades
elseif C.TipoDeFactura = S.Enums.tipofactura.rectificativo
If C.EvaluarStock y C.ReferenciaProducto <> ''
If C.MovimientoDeInventarioAutomatico
v.ModificadorStockInventario = C.CantidadUnidades
v.CantidadDeProductosQueDebenEntrar = 0
v.ModificadorStockDisponible = C.CantidadUnidades
Else
v.ModificadorStockInventario = 0
v.CantidadDeProductosQueDebenEntrar = C.CantidadUnidades
v.ModificadorStockDisponible = 0
End If
End If
V.CantidadDeProductosQuePuedenRectificarse = 0
end if
@ ____ Destinadores ____
C.CantidadDeProductosQueDebenDeSalir = v.CantidadDeProductosQueDebenDeSalir
C.CantidadDeProductosQueDebenEntrar = V.CantidadDeProductosQueDebenEntrar
C.CantidadDeProductosQuePuedenRectificarse = V.CantidadDeProductosQuePuedenRectificarse
@ ____ [Incrustación > Movimiento de inventario ] ____
if v.ModificadorStockDisponible <> 0 or v.ModificadorStockInventario <> 0
C.ReferenciaMovimientoInternoDeInventario.ReferenciaLote = C.ReferenciaLote
C.ReferenciaMovimientoInternoDeInventario.ReferenciaProducto = C.ReferenciaProducto
C.ReferenciaMovimientoInternoDeInventario.ReferenciaEntidadRelacionada = C.ReferenciaEntidadRelacionada
C.ReferenciaMovimientoInternoDeInventario.ModificadorStockDisponible = v.ModificadorStockDisponible
C.ReferenciaMovimientoInternoDeInventario.ModificadorStockInventario = v.ModificadorStockInventario
else
C.ReferenciaMovimientoInternoDeInventario.ReferenciaLote = ''
C.ReferenciaMovimientoInternoDeInventario.ReferenciaProducto = ''
C.ReferenciaMovimientoInternoDeInventario.ReferenciaEntidadRelacionada = ''
C.ReferenciaMovimientoInternoDeInventario.ModificadorStockDisponible = 0
C.ReferenciaMovimientoInternoDeInventario.ModificadorStockInventario = 0
C.ReferenciaMovimientoInternoDeInventario.ModificadorStockInventario = 0
end if
Formulario_PreACeptar¶
if C.CantidadUnidades = 0
F.CancelarEvento
elseIf C.ImportePrecioMinimoUnidad > 0 and C.ImportePrecioMinimoUnidad > C.ImportePrecioUnidad
If F.PreguntarSiNo('Precio demasiado bajo','El precio de venta por unidad es inferior al precio de venta mínimo. ¿Desea continuar?',1) = 0
F.CancelarEvento
End If
Else
If C.ImportePrecioMinimoUnidad > 0 and C.ImportePrecioMinimoUnidad > (C.ImporteTotalConcepto / C.CantidadUnidades)
If F.PreguntarSiNo('Precio demasiado bajo','El precio final por unidad es inferior al precio de venta mínimo. ¿Desea continuar?',1) = 0
F.CancelarEvento
End If
End If
End If
Formulario_Iniciado_AgregarNuevo¶
if C.TextoPrincipal = ''
C.TextoPrincipal = 'Sin concepto'
End If
Campo_Cambiado¶
@! Reserva
C.ReferenciaLote = ''
If C.ReferenciaProducto <> ''
if C.ReferenciaProducto.EvaluarStock
F.CampoDesplegableAutoSeleccionarPrimerElemento(S.Fields.VentasIngresosLista.ReferenciaLote.id)
end if
If C.ReferenciaProducto.AlertaAlVender <> ''
F.MsgBox(C.ReferenciaProducto.AlertaAlVender,0)
End If
End If
If C.ReferenciaProducto <> ''
if C.ReferenciaProducto.NombrePublico <> ''
C.TextoPrincipal = C.ReferenciaProducto.NombrePublico
else
C.TextoPrincipal = C.ReferenciaProducto.TextoPrincipal
End If
End If
if C.ReferenciaElementoDePresupuestoDeVenta <> '' o C.ReferenciaRectificandoProductoVendido <> ''
else
C.Cantidad = 1
end if
Campos utilizados:
- Lista - Ventas / Ingresos > Producto
Formulario_TickRecalculo¶
num tipoBloqueado = 0
if C.ReferenciaProducto = ''
if C.ReferenciaRecurso <> ''
V.tipoBloqueado = 1
C.Tipo = S.Enums.productonaturaleza.bien
end if
else
V.tipoBloqueado = 1
end if
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.TipoDeProducto.ID,'',v.tipoBloqueado)
If F.CampoHaSidoAfectadoEntreTicks(S.Fields.VentasIngresosLista.EvaluarStock.id)
If C.ReferenciaProducto = ''
C.EvaluarStock = 0
Else
If C.ReferenciaProducto.EvaluarStock = 0 and C.EvaluarStock = 1
F.MsgBox('El producto no requiere seguimiento de lote.',0)
C.EvaluarStock = 0
End If
End If
End If
F.CampoObligatorioMotivo(S.Fields.VentasIngresosLista.ReferenciaLote.id,'Requiere seguimiento de lote',C.EvaluarStock)
If C.EvaluarStock
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaLote.id,'No requiere seguimiento de lote',0)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.MovimientoDeInventarioAutomatico.id,'No evalúa inventario',0)
Else
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.ReferenciaLote.id,'No requiere seguimiento de lote',1)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresosLista.MovimientoDeInventarioAutomatico.id,'No evalúa inventario',1)
C.ReferenciaLote = ''
C.MovimientoDeInventarioAutomatico = 0
End If