Saltar a contenido

Ventas / Ingresos

La sección Ventas/Ingresos constituye el libro registro oficial de facturas emitidas de la organización, administrando todas las operaciones de facturación a clientes incluyendo facturas completas, simplificadas, rectificativas e ingresos extraordinarios. Almacena información exhaustiva del documento (número de factura, serie, fecha, estado), datos del cliente y fiscales, desglose económico detallado (bases imponibles por tipo impositivo, cuotas IVA, recargos de equivalencia, retenciones, total), listado de productos/servicios facturados con precios y descuentos, configuración fiscal (tipo de operación, clave SII), y parámetros de cobro. Su objetivo es mantener un registro fiscal completo cumpliendo con la normativa española, gestionar los cobros pendientes, controlar las salidas de inventario asociadas y generar automáticamente los asientos contables. Se integra con Contabilidad (asientos automáticos), Inventario (salida de productos), Cobros (gestión de pagos), CRM y declaraciones fiscales (SII, libro de facturas emitidas).

Información General

Propiedad Valor
ID 0ce4c6ac-54aa-488d-b8b8-e3a20d79f7a4
Tabla PostgreSQL tpr_50040105521
Etiqueta Plural Ventas / Ingresos
Texto principal automatico
Sección Lista Lista - Ventas / Ingresos (c59f4af2-da6b-4671-ad4f-8cf2d71c3a73)
Sección Base Base - Ventas / Ingresos (47379b9b-2168-407f-b876-d25265875af2)

Campos

Total de campos: 178 (10 del sistema, 168 personalizados)

Campos del Sistema

Campo Tipo Rol Columna PostgreSQL Relación Atributos
ID Relación - id Ventas / Ingresos -
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
Proyecto General Relación Proyectos pr_40010121878 - -
Almacén Relación Avanzado pr_20695345 - -
Cantidad de productos que deben salir Decimal Desarrollo pr_50040105539 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Cantidad de productos que deben de salir
Suma Importe Productos (Con impuestos) Decimal General pr_50040105538 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Total cobrado Decimal Desarrollo pr_500401055336 🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico -
Total productos pueden facturarse Decimal General pr_500401055329 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Unidades
Suma exenta - Descuentos generales Decimal Bases pr_500401055347 🔒 Bloqueado, 📊 Cualquier valor numérico -
Movimiento interno de saldo acumulado Relación General pr_10040106101 🔒 Bloqueado, 👁 Oculto -
Cantidad de Productos Decimal General pr_500401055353 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Unidades · Número total de productos.
Total Descontado (Sin impuestos) Decimal Descuentos pr_500401055388 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Importe total de todo los impuestos (Tanto generales como de productos) que se han aplicado.
Cantidad de productos que se pueden rectificar Decimal Desarrollo pr_5004010553135 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Cantidad de productos que pueden rectificarse
Total salidos (Destinadores) Decimal Desarrollo pr_5004010553150 🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico -
Suma importe de productos (Sin Impuestos) Decimal General pr_5004010553152 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Presupuesto de venta Relación General pr_20040105792 👁 Oculto -
Total Rectificados (Destinadores) Decimal Desarrollo pr_5004010553165 🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico -
Total porcentaje descuentos Generales Decimal Descuentos pr_5004010553193 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Observaciones y anotaciones Texto Avanzado pr_5004010553182 - Observaciones adicionales de la transacción.
Destinador Relación General pr_500401055212 🔒 Bloqueado, 👁 Oculto -
Hora local Hora Registro pr_50040105527 🔒 Bloqueado, 👁 Oculto -
Total a cobrar Decimal Desarrollo pr_5004010553198 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Dirección (Cliente) Texto Datos fiscales pr_40040138839 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Dirección Completa
Impuesto predeterminado Relación Detalles pr_60040148951 👁 Oculto Autorrellenado (Cadena_Rellenada): Campo : Cliente / Impuesto en Ventas · Autorrellenado (Siempre): Campo : Tipo de Factura / Impuesto predeterminado
Margen Decimal Margen pr_50040192155 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Margen
Coste Decimal Margen pr_50040192154 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Coste
Total productos entrados Decimal General pr_30040242011 🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico -
Cantidad de productos que deben Entrar Decimal General pr_10040242013 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Sumar (Columna): Cantidad de productos que deben entrar
Actividad Relación Avanzado pr_30040256145 - Autorrellenado (Cadena_Rellenada): Campo : Tipo de Factura / Actividad predeterminada
Clave de operación Relación Avanzado pr_20040256921 🔴 Obligatorio Autorrellenado (Cadena_Rellenada): Campo : Tipo de Factura / Clave predeterminada de operaciones · Autorrellenado (Cadena_Rellenada): Campo : Actividad / Clave predeterminada de operaciones · Autorrellenado (Siempre): Referencia dato: 0 - Operación habitual
Suma descuentos Generales (Sin impuestos) Decimal Detalles pr_20040504407 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Productos (Con impuestos) Decimal Detalles pr_20040504409 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Versión sistema de facturación Entero Registro pr_10040504827 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Saldo (Con impuestos) Decimal Detalles pr_20040504408 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
ID Externa Texto Avanzado pr_20040567171 🔒 Bloqueado -
Alquiler de recurso Relación Registro pr_20010554501 - ⚠️ Módulo externo
Pedido de Origen Relación Registro pr_30685511 🔒 Bloqueado ⚠️ Módulo externo
Suma Decimal Detalles pr_10040115003 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Generales Decimal Detalles pr_20040504403 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Productos Decimal Detalles pr_20040504402 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Saldo Decimal Detalles pr_20040504404 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma Exenta - Descuentos saldo Decimal Bases pr_50040105534 🔒 Bloqueado, 📊 Cualquier valor numérico -
Base Imponible 3 Decimal Bases pr_500401055348 🔒 Bloqueado, 📊 Cualquier valor numérico -
Base Imponible Exenta Decimal Bases pr_500401055399 🔒 Bloqueado, 📊 Cualquier valor numérico -
Total operación Decimal Bases pr_60040256622 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma Exenta - Descuentos de productos Decimal Bases pr_500401055396 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma (Sin impuestos) Decimal Detalles pr_5004010553146 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Total descuentos Decimal Detalles pr_20040504401 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Productos (Sin impuestos) Decimal Detalles pr_20040504405 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Puesto de trabajo Relación Registro pr_5004010553126 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): Puesto de trabajo
Total descuentos (Sin impuestos) Decimal Detalles pr_200405044011 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Saldo (Sin impuestos) Decimal Detalles pr_20040504406 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma (Con impuestos) Decimal Detalles pr_500401150415 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Suma descuentos Generales (Con impuestos) Decimal Detalles pr_200405044010 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
Total descuentos (Con impuestos) Decimal Detalles pr_10040502507 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico -
NIF (Cliente) Texto Datos fiscales pr_40040138834 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / NIF
Total retención Decimal Bases pr_5004010553154 🔒 Bloqueado, 📊 Cualquier valor numérico -
Provincia (Cliente) Texto Datos fiscales pr_40040138836 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Provincia
Estado Relación General pr_5004010553187 - Autorrellenado (Siempre): Referencia dato: Abierta
Código País (Cliente) Texto Datos fiscales pr_60040241533 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Código País (2 Dígitos)
Emisión de saldo % Decimal Parámetros pr_500401055333 👁 Oculto, 📊 Cualquier valor numérico -
Autor del alta Relación Registro pr_50040105525 🔴 Obligatorio, 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
Total Suplidos Decimal Bases pr_20040256623 🔒 Bloqueado, 📊 Cualquier valor numérico -
Fecha Alta del registro Fecha Y Hora Registro pr_50040105529 🔴 Obligatorio, 👁 Oculto Autorrellenado (Siempre): Fecha y Hora actual
Fecha de vencimiento Fecha Términos y Condiciones pr_500401721410 - -
Notas a incluir en la factura Texto Términos y Condiciones pr_50040172145 - Autorrellenado (Siempre): Campo : Tipo de Factura / Nota que debe incluir la factura
Saldo emitido Decimal Bases pr_500401055384 🔒 Bloqueado, 📊 Cualquier valor numérico -
Términos Texto Términos y Condiciones pr_50040172147 - -
Dirección de envío Relación Datos fiscales pr_30040566268 - -
Condiciones de pago Texto Términos y Condiciones pr_50040172149 - -
Condición de pago (Días) Entero Términos y Condiciones pr_20040176521 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Cliente / Plazo días cobro Ventas
Suma 2 - Descuentos de productos Decimal Bases pr_500401055344 🔒 Bloqueado, 📊 Cualquier valor numérico -
Saldo que tenía el cliente antes de la venta Decimal Parámetros pr_500401055377 🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Cliente / Saldo acumulado
Impuesto 1 Relación Bases pr_500401055324 🔒 Bloqueado -
Suma 2 - Descuentos generales Decimal Bases pr_500401055339 🔒 Bloqueado, 📊 Cualquier valor numérico -
Base Imponible 1 Decimal Bases pr_500401055357 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma 2 - Descuentos saldo Decimal Bases pr_500401055352 🔒 Bloqueado, 📊 Cualquier valor numérico -
Impuesto 2 Relación Bases pr_500401055376 🔒 Bloqueado -
Suma 1 - Descuentos de productos Decimal Bases pr_500401055395 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma 3 - Descuentos generales Decimal Bases pr_500401055389 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma 3 Decimal Bases pr_5004010553103 🔒 Bloqueado, 📊 Cualquier valor numérico -
Base Imponible 3 - Cuota IVA Decimal Bases pr_500401055312 📊 Cualquier valor numérico -
Suma 1 - Descuentos generales Decimal Bases pr_5004010553124 🔒 Bloqueado, 📊 Cualquier valor numérico -
Peso total Decimal Bases pr_5004010553144 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma exenta Decimal Bases pr_5004010553132 🔒 Bloqueado, 📊 Cualquier valor numérico -
Base Imponible 2 Decimal Bases pr_5004010553167 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma 2 Decimal Bases pr_5004010553158 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma 3 - Descuentos de productos Decimal Bases pr_5004010553176 🔒 Bloqueado, 📊 Cualquier valor numérico -
Suma 1 Decimal Bases pr_5004010553177 🔒 Bloqueado, 📊 Cualquier valor numérico -
Base Imponible 2 - Cuota R.E Decimal Bases pr_5004010553159 📊 Cualquier valor numérico -
Suma 3 - Descuentos saldo Decimal Bases pr_5004010553188 🔒 Bloqueado, 📊 Cualquier valor numérico -
Impuesto 3 Relación Bases pr_5004010553181 🔒 Bloqueado -
Suma 1 - Descuentos saldo Decimal Bases pr_5004010553184 🔒 Bloqueado, 📊 Cualquier valor numérico -
Factura descargable en Área web Relación Avanzado pr_30040590683 - -
Empleado Relación Avanzado pr_50040105523 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
País (Cliente) Texto Datos fiscales pr_40040138837 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / País
Teléfono (Cliente) Texto Datos fiscales pr_40040138833 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Teléfono
Municipio (Cliente) Texto Datos fiscales pr_40040138838 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Municipio
Tipo cliente Relación Datos fiscales pr_500401055367 🔴 Obligatorio Autorrellenado (Cadena_Rellenada): Campo : Cliente / Tipo de Cliente · Autorrellenado (Siempre): Campo (Empresa Actual): Tipo de cliente por defecto
Email (Cliente) Texto Datos fiscales pr_20040567172 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Email (Cliente)
Código postal (Cliente) Texto Datos fiscales pr_40040138835 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Código postal
Datos fiscales (Cliente) Relación Datos fiscales pr_400401388310 - Autorrellenado (Siempre): Campo : Cliente / Datos fiscales (Predeterminados)
Denominación / Razón Social (Cliente) Texto Datos fiscales pr_400401388311 - Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Apellidos y Nombre o Razón social
Asiento contable Relación Avanzado pr_20040135291003 - -
Fecha contable Fecha Avanzado pr_30040135703 - -
Ubicación Principal Relación Registro pr_50040105524 👁 Oculto Autorrellenado (Siempre): Campo (Sesión): Ubicación Principal
Stripe ID Texto Avanzado pr_40692941 - -
Movimiento de inventario automático Sí/No Avanzado pr_20692941001 - Autorrellenado (Siempre): Campo : Tipo de Factura / Movimiento de inventario automático
Marcar como concluida aunque hayan procesos pendientes Sí/No Avanzado pr_10040173914 - -
Enlace de Pago Texto Avanzado pr_40692942 - -
Verifactu URL Texto Registro pr_20707354 🔒 Bloqueado -
Impedir autorrellenado destinadores Sí/No General pr_10736581001 👁 Oculto -
Numeración / Serie Relación Parámetros pr_500401055346 - Autorrellenado (Siempre): Campo : Tipo de Factura / Numeración (Ordinarias)
Saldo aplicado Decimal Parámetros pr_5004010553156 🔒 Bloqueado, 📊 Positivos o 0 -
Categoría (General) Relación Parámetros pr_20695811 - -
Impuesto (General Aplicado) Relación Parámetros pr_20695812 - -
Verifactu Estado Texto Registro pr_30734511 🔒 Bloqueado -
Municipio (Empresa) Texto Datos fiscales pr_10040138834 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Municipio
Provincia (Empresa) Texto Datos fiscales pr_10040138833 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Provincia
NIF (Empresa) Texto Datos fiscales pr_600401388230 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / NIF
Teléfono (Empresa) Texto Datos fiscales pr_600401388231 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Teléfono
País (Empresa) Texto Datos fiscales pr_300401388316 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / País
ES - Rectificativa es Cupón Sí/No Registro pr_60734531 - -
ES - Expedida por tercero Sí/No Registro pr_10734542 👁 Oculto Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Expedida por tercero
Factura emitida con otro Software (Importada) Sí/No Avanzado pr_10734545 - Autorrellenado (Siempre): Campo : Tipo de Factura / Factura emitida con otro Software (Importada)
Total Decimal General pr_500401055323 🔒 Bloqueado, 📊 Cualquier valor numérico -
Cliente Relación General pr_60040105651 - -
Fecha Dato Fecha Y Hora General pr_50040105526 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual
Subtotal Decimal General pr_5004010553128 🔒 Bloqueado, 📊 Cualquier valor numérico -
Total impuestos Decimal General pr_5004010553170 🔒 Bloqueado, 📊 Cualquier valor numérico -
ES Cliente - Tipo NIF Entero Datos fiscales pr_10734521 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / ES - Tipo NIF
Aplicar recago de equivalencia Sí/No Parámetros pr_500401055390 - Autorrellenado (Siempre): Campo : Cliente / Vender con Recargo de Equivalencia
Serie Texto Registro pr_10734511002 - -
Datos fiscales (Empresa) Relación Datos fiscales pr_600401388216 - Autorrellenado (Cadena_Rellenada): Campo (Empresa Actual): Datos fiscales · Autorrellenado (Siempre): Campo : Ubicación Principal / Datos fiscales
Denominación / Razón Social (Empresa) Texto Datos fiscales pr_600401388229 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Apellidos y Nombre o Razón social
Dirección (Empresa) Texto Datos fiscales pr_10040138832 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Dirección Completa
Código postal (Empresa) Texto Datos fiscales pr_10040138831 - Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Código postal
Número de factura (Completo) Texto General pr_5004010553203 - -
Forma de rectificación Entero Parámetros pr_40732771002 📊 Cualquier valor numérico -
Venta que se está rectificando Relación Parámetros pr_60040241852 - -
Tipo factura Entero Parámetros pr_500402418514 🔴 Obligatorio, 📊 Cualquier valor numérico Autorrellenado (Siempre): Número entero: 1
Tipo de Factura Relación General pr_5004010553131 - Autorrellenado (Cadena_Rellenada): Campo : Cliente / Tipo predeterminado de venta · Autorrellenado (Siempre): Campo (Empresa Actual): Tipo predeterminado de venta
Precios con impuestos incluidos Sí/No Parámetros pr_50040105537 - Autorrellenado (Siempre): Campo (Empresa Actual): Venta con impuestos incluidos
Descuento V.I.P % Decimal Parámetros pr_5004010553114 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Tipo cliente / Descuento V.I.P %
Descuento General % Decimal Parámetros pr_5004010553164 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Tipo cliente / Descuento General %
Descuento Entidad % Decimal Parámetros pr_5004010553145 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Cliente / Descuento % (Venta)
Desactivar saldo Sí/No Parámetros pr_40040587931 👁 Oculto -
Base Imponible 3 - Cuota R.E Decimal Bases pr_500401055325 📊 Cualquier valor numérico -
Editar manualmente bases imponibles Sí/No Bases pr_20040259251 - -
Base Imponible 1 - Cuota IVA Decimal Bases pr_5004010553168 📊 Cualquier valor numérico -
Base Imponible 2 - Cuota IVA Decimal Bases pr_5004010553180 📊 Cualquier valor numérico -
ES - Tipo Factura Entero Registro pr_60733501 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Tipo Factura
ES - Cumplimiento Entero Registro pr_50733501 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Cumplimiento
ES - Factura simplificada (Art. 7.2-7.3) Sí/No Registro pr_60734532 - Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Factura simplificada (Art. 7.2-7.3)
ES - Factura sin identificar comprador (Art. 6.1 d) Sí/No Registro pr_10734541 - Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Factura sin identificar comprador (Art. 6.1 d)
ES - Expedida por tercero - Nombre del emisor Texto Registro pr_10734544 👁 Oculto Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Expedida por tercero - Nombre del emisor
ES - Expedida por tercero - NIF del emisor Texto Registro pr_10734543 👁 Oculto Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Expedida por tercero - NIF del emisor
Número Texto Registro pr_10734511001 - -
Fecha expedición Fecha Avanzado pr_40702761001 - -
Renovación de Servicio Relación Registro pr_10040592729 - ⚠️ Módulo externo
Base Imponible 1 - Cuota R.E Decimal Bases pr_5004010553142 📊 Cualquier valor numérico -
Anulada Sí/No Registro pr_20744811001 🔒 Bloqueado -
Asignar manualmente la fecha contable Sí/No Avanzado pr_20040268933 - -
Fecha operación Fecha Avanzado pr_30746721 - -
Moneda extranjera Relación Parámetros pr_60040454251 - Autorrellenado (Siempre): Campo : Cliente / Moneda en ventas
Descuento Tipo Entidad % Decimal Parámetros pr_500401055356 📊 Cualquier valor numérico Autorrellenado (Siempre): Campo : Tipo cliente / Descuento tipo de entidad %
Retención Relación Parámetros pr_5004010553143 - Autorrellenado (Cadena_Rellenada): Campo : Cliente / Retención en Ventas · Autorrellenado (Siempre): Campo : Actividad / Retención en Ventas
Ha sido sustituida Sí/No Registro pr_40732771003 🔒 Bloqueado -
Sustituida por Relación Registro pr_60764231001 🔒 Bloqueado -
Vigente Sí/No General pr_20764243 🔒 Bloqueado, 👁 Oculto Autorrellenado (Siempre): Constante: Sí

Scripts

Total de scripts: 30

Código de Scripts

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

Campo_PreAgregarRelacion

F.CopiarAgregarRelacion(S.Fields.ArrendamientosBase.ReferenciaEntidadArrendadora.ID,C.ReferenciaCliente)

Campos utilizados: - Ventas / Ingresos > Arrendamiento (Obsoleto)

Campo_PreAgregarRelacion

F.CopiarAgregarRelacion(S.Fields.TiposRetencionesCapitalMobiliarioBase.ReferenciaEntidad.ID,C.ReferenciaCliente)

Campos utilizados: - Ventas / Ingresos > Reto. Capital Mobiliario (Obsoleto)

Campo_ComboAplicarFiltro

F.ListadoAvisoDesplegable('Filtrando lista por cliente seleccionado.',1)

F.CampoDesplegableAplicarFiltro(S.Fields.TiposRetencionesCapitalMobiliarioBase.ReferenciaEntidad.ID,'=',C.ReferenciaCliente)

Campos utilizados: - Ventas / Ingresos > Reto. Capital Mobiliario (Obsoleto)

Campo_ComboAplicarFiltro

F.CampoDesplegableAplicarFiltro(S.Fields.EntidadesBase.Cliente.id,'=',1)
F.CampoDesplegableActivarQuitarFiltros('Filtrado automáticamente por clientes')

Campos utilizados: - Ventas / Ingresos > Cliente

Campo_PreAgregarRelacion

F.CopiarAgregarRelacion(S.Fields.EntidadesBase.Cliente.ID,'1')

Campos utilizados: - Ventas / Ingresos > Cliente

Campo_Click

F.DataListLoad(S.Sections.PacksDeProductosDeVenta.ID,1,9999)


F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.Descatalogado.ID,'=',0)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ImpuestosIncluidos.ID,'=',C.PreciosConImpuestosIncluidos)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarAUbicacion.ID,'=','')
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarATipoDeCliente.ID,'=','')



F.DataListLoadAddFilterAlternative(S.Sections.PacksDeProductosDeVenta.ID)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.Descatalogado.ID,'=',0)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ImpuestosIncluidos.ID,'=',C.PreciosConImpuestosIncluidos)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarAUbicacion.ID,'=','')
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarATipoDeCliente.ID,'=',C.ReferenciaTipoCliente)

F.DataListLoadAddFilterAlternative(S.Sections.PacksDeProductosDeVenta.ID)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.Descatalogado.ID,'=',0)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ImpuestosIncluidos.ID,'=',C.PreciosConImpuestosIncluidos)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarAUbicacion.ID,'=',C.ReferenciaUbicacionPrincipal)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarATipoDeCliente.ID,'=','')

F.DataListLoadAddFilterAlternative(S.Sections.PacksDeProductosDeVenta.ID)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.Descatalogado.ID,'=',0)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ImpuestosIncluidos.ID,'=',C.PreciosConImpuestosIncluidos)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarAUbicacion.ID,'=',C.ReferenciaUbicacionPrincipal)
F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVenta.ID,S.Fields.PacksDeProductosDeVenta.ReferenciaLimitarATipoDeCliente.ID,'=',C.ReferenciaTipoCliente)





txt Pack = F.PreguntarRegistroDeInformeCargado('Pack','Pack que desea vender',S.Sections.PacksDeProductosDeVenta.ID)





if V.Pack > 0

    num Cantidad = F.PreguntarNumeroEntero('Unidades','Unidades de pack')

    if V.Cantidad > 0

        F.DataListLoad(S.Sections.PacksDeProductosDeVentaLista.ID,1,9999)
        F.DataListLoadAddFilter(S.Sections.PacksDeProductosDeVentaLista.ID,S.Fields.PacksDeProductosDeVentaLista.RelacionElementoContenedorListador.ID,'=',V.Pack)

        F.ProcessDataList_Ini(S.Sections.PacksDeProductosDeVentaLista.ID)

            if I.PacksDeProductosDeVentaLista.RelacionElementoContenedorListador.ReferenciaLimitarAUbicacion <> ''
                if C.ReferenciaUbicacionPrincipal <> I.PacksDeProductosDeVentaLista.RelacionElementoContenedorListador.ReferenciaLimitarAUbicacion 
                    F.MsgBox('Este pack no puede utilizarse en esta ubicación.',1)
                    salir
                end if
            end if

            if I.PacksDeProductosDeVentaLista.RelacionElementoContenedorListador.ReferenciaLimitarATipoDeCliente <> ''
                if C.ReferenciaTipoCliente <> I.PacksDeProductosDeVentaLista.RelacionElementoContenedorListador.ReferenciaLimitarATipoDeCliente 
                    F.MsgBox('Este pack no puede utilizarse con este tipo de cliente.',1)
                    salir
                end if
            end if

            if I.PacksDeProductosDeVentaLista.ImpuestosIncluidos
                if C.PreciosConImpuestosIncluidos = 0 
                    F.MsgBox('No se puede utilizar un catálogo con impuestos incluidos, en una venta que no tiene lo impuestos incluidos.',1)
                    salir
                end if
            else
                if C.PreciosConImpuestosIncluidos = 1
                    F.MsgBox('No se puede utilizar un catálogo sin impuestos incluidos, en una venta con impuestos incluidos.',1)
                    salir
                end if
            end if



            F.AgregarElemento_Iniciar(S.Sections.VentasIngresosLista.ID)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaElementoDePack.ID,I.PacksDeProductosDeVentaLista.ID)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaProducto.ID,I.PacksDeProductosDeVentaLista.ReferenciaProducto)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaImpuestos.ID,I.PacksDeProductosDeVentaLista.ReferenciaImpuesto)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImportePrecioUnidad.ID,I.PacksDeProductosDeVentaLista.ImportePrecioUnidad)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteSumaDescuentosDeProductoConImpuestos.ID,I.PacksDeProductosDeVentaLista.ImporteDescuentoFijoUnidadDeseado)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.DescuentoPorciento.ID,I.PacksDeProductosDeVentaLista.DescuentoProductoDeseadoPorciento)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteImporteDescuentoPorcentualPorUnidadSinImpuestos.ID,I.PacksDeProductosDeVentaLista.DescuentoOfertaDeseadoPorciento)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.CantidadUnidades.ID,I.PacksDeProductosDeVentaLista.CantidadUnidades * v.Cantidad)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.UnidadesDeseadas.ID,I.PacksDeProductosDeVentaLista.CantidadUnidades * v.Cantidad)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaMedida.ID,I.PacksDeProductosDeVentaLista.ReferenciaMedida)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.Cantidad.ID,I.PacksDeProductosDeVentaLista.Cantidad * v.Cantidad)
            F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.TextoPrincipal.ID,I.PacksDeProductosDeVentaLista.TextoPrincipal)
            F.AgregarElemento_FinalizarYAceptar()

        F.ProcessDataList_End

    end if 
end if

Campos utilizados: - Botón

Campo_Cambiado

txt CondicionesDePago = C.ReferenciaCliente.CondicionesPagoVenta 
num CondicionesDePagoDias = C.ReferenciaCliente.PlazoDiasCobroVentas 

if v.CondicionesDePago <> ''
    C.CondicionesDePago = V.CondicionesDePago 
end if

if V.CondicionesDePagoDias <> 0 or v.CondicionesDePago <> ''
    C.FechaDeVencimiento = F.Date_AddDays(D.DatosEspeciales.FechaActual,v.CondicionesDePagoDias)
end if





num ImpuestosIncluidosNulable = C.ReferenciaCliente.InclusionDeImpuestosEnVentas 
if V.ImpuestosIncluidosNulable <> 0
    num ImpuestosIncluidos = 0
    if V.ImpuestosIncluidosNulable = S.Enums.impuestosconfiguracion.incluidos 
        V.ImpuestosIncluidos = 1
    end if 
    if F.CountItemList = 0
        C.PreciosConImpuestosIncluidos = V.ImpuestosIncluidos 
    else
        if V.ImpuestosIncluidos <> C.PreciosConImpuestosIncluidos
            F.MsgBox('El cliente seleccionado tiene una configuración de inclusión de impuestos distintos a la venta.',1)
        end if
    end if
end if

Campos utilizados: - Ventas / Ingresos > Cliente

Campo_ComboAplicarFiltro

F.CampoDesplegableAplicarFiltro(S.Fields.TiposDeMovimientoBase.Seccion.ID,'=',S.Sections.TiposDeVentas.ID)

Campos utilizados: - Ventas / Ingresos > Tipo de Factura

Campo_ComboAplicarFiltro

F.CampoDesplegableAplicarFiltro(S.Fields.DatosFiscalesBase.ReferenciaEntidad.ID,'=',C.ReferenciaCliente)

Campos utilizados: - Ventas / Ingresos > Datos fiscales (Cliente)

Campo_PreAgregarRelacion

F.CopiarAgregarRelacion(S.Fields.DatosFiscalesBase.ReferenciaEntidad.ID,C.ReferenciaCliente)

Campos utilizados: - Ventas / Ingresos > Datos fiscales (Cliente)

Campo_ComboAplicarFiltro

F.CampoDesplegableAplicarFiltro(S.Fields.VentasIngresosBase.TipoFactura.ID,'=',S.Enums.tipofactura.ordinario)

 if C.ReferenciaCliente <> ''
     F.CampoDesplegableAplicarFiltro(S.Fields.VentasIngresosBase.ReferenciaCliente.ID,'=',C.ReferenciaCliente)
 end if

Campos utilizados: - Ventas / Ingresos > Venta que se está rectificando

Formulario_PreACeptar

num DistintosImpuestos = F.Columna_ContarDistintosRellenados(S.Fields.VentasIngresosLista.ReferenciaImpuestos.id)

if V.DistintosImpuestos > 3


    F.MsgBox('No puede registrar facturas con más de 3 distintos impuestos aplicados.',1)
    F.CancelarEvento
    salir

end if




if C.ReferenciaTipoDeFactura.ImporteImporteMaximoImpuestosIncluidos > 0

    if C.ImporteTotal > C.ReferenciaTipoDeFactura.ImporteImporteMaximoImpuestosIncluidos 



        txt mensaje = F.Concat('El importe de la venta es superior a ',C.ReferenciaTipoDeFactura.ImporteImporteMaximoImpuestosIncluidos,' el tipo de venta no lo permite.')
        F.MsgBox(v.mensaje,1)
        F.CancelarEvento 
        salir 

    End If

end if




if C.ImporteSaldoEmitido <> 0


    num DiferenciaSaldo = F.RecibirValorDiferenciaNumericaNoGuardada(S.Fields.VentasIngresos.ImporteSaldoEmitido.ID)


    if V.DiferenciaSaldo < 0

        num DiferenciaEnPositivo = V.DiferenciaSaldo * -1


        if C.ReferenciaCliente.ImporteSaldoAcumulado < V.DiferenciaEnPositivo

            txt DebeAbonar = F.FormatMoney(V.DiferenciaEnPositivo - C.ReferenciaCliente.ImporteSaldoAcumulado)
            txt MensajeSaldo = F.Concat('No puede registrar la devolución porque el cliente no tiene saldo promocional suficiente, agregue ',v.DebeAbonar,' de saldo a su cuenta para poder continuar.')
            F.MsgBox(v.MensajeSaldo,1)
            F.CancelarEvento


        end if


    end if

end if




if F.CampoHaSidoModificado(S.Fields.VentasIngresos.NumeroDeFacturaCompleto.id) y C.NumeroDeFacturaCompleto <> ''

    F.DataListLoad(S.Sections.VentasIngresos.ID,1,1)
    F.DataListLoadAddFilter(S.Sections.VentasIngresos.ID,S.Fields.VentasIngresos.NumeroDeFacturaCompleto.ID,'=',C.NumeroDeFacturaCompleto)



    num CantidadDeRegistro = 0

    F.ProcessDataList_Ini(S.Sections.VentasIngresos.ID)
        V.CantidadDeRegistro = 1

    F.ProcessDataList_End 


    if V.CantidadDeRegistro = 1

        if F.PreguntarSiNo('Número repetido de factura','Ya se ha registrado en el sistema una factura con el mísmo número. ¿Desea agregarla igualmente?',1) = 0


            F.CancelarEvento


        end if

    end if


end if






txt MensajeTipoFactura = ''


if C.ImporteTotal < 0 y C.TipoFactura = S.Enums.tipofactura.ordinario 

    V.MensajeTipoFactura = 'El importe de la factura a resultado negativo pero la factura no está marcada como rectificativa.  El sistema espera que las facturas en negativo estén marcadas como "Rectificativas". ¿Desea continuar?'

elseif C.ImporteTotal > 0 y C.TipoFactura = S.Enums.tipofactura.rectificativo 

    V.MensajeTipoFactura = 'El importe de la factura a resultado positivo pero la factura está marcada como rectificativa.  El sistema espera que las facturas en positivo no estén marcadas como "Rectificativas". ¿Desea continuar?'

end if


if V.MensajeTipoFactura <> ''


    if F.PreguntarSiNoCancelar('Aviso',v.MensajeTipoFactura,1) <> 1

        F.CancelarEvento

    end if


end if

Campo_ComboAplicarFiltro

F.ListadoAvisoDesplegable('Filtrando lista por cliente seleccionado.',1)
 F.CampoDesplegableAplicarFiltro(S.Fields.ArrendamientosBase.ReferenciaEntidadArrendadora.ID,'=',C.ReferenciaCliente)

Campos utilizados: - Ventas / Ingresos > Arrendamiento (Obsoleto)

Campo_Click

if C.ImporteSaldoAplicado <> 0

    F.MsgBox('Ya se ha aplicado saldo.',1)

elseif C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta > 0

    num disponible = (C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta - C.ImporteSaldoAplicado )
    if V.disponible > C.ImporteSuma
        V.disponible = C.ImporteSuma 
    end if 

    if V.disponible > 0
        F.AgregarElemento_Iniciar(S.Sections.VentasIngresosLista.ID)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.TextoPrincipal.ID,C.empresa.ConceptoDescuentoDeFidelizacionSaldoPromocional)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.Tipo.ID,S.Enums.cotizacionfilatipo.saldo)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImportePrecioUnidad.ID,v.disponible * -1)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaImpuestos.ID,C.empresa.ReferenciaImpuestosDescuentosFidelizacionSaldoPromocional)
        F.AgregarElemento_FinalizarYAceptar 
    end if


else

    if C.ReferenciaCliente.ImporteSaldoAcumulado > 0


        F.MsgBox('En el momento en el que se registró la venta, el cliente no tenía saldo, por ese motivo ahora no puede aplicarse. Para evitar usar saldo del futuro en compras pasadas.',1)

    else

        F.MsgBox('No hay saldo disponible',0)

    end if

end if

Campos utilizados: - Botón

Campo_ComboAplicarFiltro

F.ListadoAvisoDesplegable('Mostrando direcciones activas del cliente seleccionado.',1)
 F.CampoDesplegableAplicarFiltro(S.Fields.DireccionesDeEnviosBase.ReferenciaEntidad.ID,'=',C.ReferenciaCliente)
 F.CampoDesplegableAplicarFiltro(S.Fields.DireccionesDeEnviosBase.Activa.ID,'=',1)

Campos utilizados: - Ventas / Ingresos > Dirección de envío

Formulario_Iniciado_AgregarNuevo

if C.ReferenciaPresupuestoDeVenta <> ''

    C.ReferenciaProyectoGeneral = C.ReferenciaPresupuestoDeVenta.ReferenciaProyectoGeneral 

End If

Formulario_Iniciado_AgregarNuevo_PostRellenadoImportacion

if C.ReferenciaVentaQueSeEstaRectificando <> ''
    C.ReferenciaProyectoGeneral = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaProyectoGeneral 
end if

Formulario_Iniciado_AgregarNuevo

if C.ReferenciaAlquilerDeRecurso <> ''


    C.ReferenciaCliente = C.ReferenciaAlquilerDeRecurso.ReferenciaCliente 

    if C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase <> '' 



        F.AgregarElemento_Iniciar(S.Sections.VentasIngresosLista.ID)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.TextoPrincipal.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.ConceptoEnFactura)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaImpuestos.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.ReferenciaImpuestoDeVenta)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImportePrecioUnidad.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.ImportePrecioVenta)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.DescuentoPorciento.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.DescuentoPorciento)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteDescuentoFijoUnidad.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.ImporteDescuentoFijo)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteSaldoExtraUnidad.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.ImporteSaldoPromocionalFijoExtra)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaCategoriaDeVenta.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaBase.ReferenciaCategoriaDeVenta)
        F.AgregarElemento_Finalizar()



    end if




    if C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia <> '' y C.ReferenciaAlquilerDeRecurso.TotalDias > 0


        F.AgregarElemento_Iniciar(S.Sections.VentasIngresosLista.ID)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.TextoPrincipal.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.ConceptoEnFactura)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaImpuestos.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.ReferenciaImpuestoDeVenta)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImportePrecioUnidad.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.ImportePrecioVenta)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.DescuentoPorciento.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.DescuentoPorciento)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteDescuentoFijoUnidad.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.ImporteDescuentoFijo)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteSaldoExtraUnidad.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.ImporteSaldoPromocionalFijoExtra)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.Cantidad.ID,C.ReferenciaAlquilerDeRecurso.TotalDias)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaCategoriaDeVenta.ID,C.ReferenciaAlquilerDeRecurso.ReferenciaTarifaPorDia.ReferenciaCategoriaDeVenta)

        F.AgregarElemento_Finalizar()



    end if


    if C.ReferenciaAlquilerDeRecurso.AvisoAMostrarALaHoraDeHacerLaFactura <> ''
        F.MsgBox(C.ReferenciaAlquilerDeRecurso.AvisoAMostrarALaHoraDeHacerLaFactura,0)
    end if 




end if

Formulario_Iniciado_AgregarNuevo

if C.ReferenciaPedidoDeOrigen <> ''




    C.ReferenciaCliente = C.ReferenciaPedidoDeOrigen.ReferenciaCliente 
    C.ReferenciaDatosFiscalesCliente = C.ReferenciaPedidoDeOrigen.ReferenciaDatosFiscalesGuardados 
    C.ReferenciaDireccionDeEnvio = C.ReferenciaPedidoDeOrigen.ReferenciaDireccionDeEnvioGuardada 
    C.ReferenciaTipoCliente = C.ReferenciaPedidoDeOrigen.ReferenciaTipoCliente 
    C.PreciosConImpuestosIncluidos = C.ReferenciaPedidoDeOrigen.PreciosConImpuestosIncluidos 



    F.DataListLoad(S.Sections.PedidosLista.ID,1,900)
    F.DataListLoadAddFilter(S.Sections.PedidosLista.ID,S.Fields.PedidosLista.RelacionElementoContenedorListador.ID,'=',C.ReferenciaPedidoDeOrigen)
    F.ProcessDataList_Ini(S.Sections.PedidosLista.ID)


        F.AgregarElemento_Iniciar(S.Sections.VentasIngresosLista.ID)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.TextoPrincipal.ID,I.PedidosLista.TextoPrincipal)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaProducto.ID,I.PedidosLista.ReferenciaProducto)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaRecurso.ID,I.PedidosLista.ReferenciaRecurso)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImportePrecioUnidad.ID,I.PedidosLista.ImportePrecioUnidad)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteDescuentoFijoUnidad.ID,I.PedidosLista.ImporteDescuentoFijoUnidad)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.DescuentoPorciento.ID,I.PedidosLista.DescuentoPorciento)

        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.PesoUnidad.ID,I.PedidosLista.PesoUnidad)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaMedida.ID,I.PedidosLista.ReferenciaMedida)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.Cantidad.ID,I.PedidosLista.Cantidad)

        F.AgregarElemento_Finalizar()


    F.ProcessDataList_End


end if

Campo_PreAgregarRelacion

F.Guardar()
F.CopiarAgregarRelacion(S.Fields.AsientosContablesBase.ReferenciaVentaIngreso.id,C.ID)

Campos utilizados: - Ventas / Ingresos > Asiento contable

Formulario_TickRecalculo

if C.ESCumplimiento <> S.Enums.cumplimientosistema.verifactu
    salir
end if


num serieYNumeroObligado


if C.ESCumplimiento = S.Enums.cumplimientosistema.verifactu
    if C.NumeroDeFacturaCompleto <> '' or C.ReferenciaNumeracionSerie = ''
        @ No se va a autogenerar 
        V.serieYNumeroObligado = 1
    end if
end if
F.CampoObligatorioMotivo(S.Fields.VentasIngresos.Serie.ID,'Requerido por Verifactu.',v.serieYNumeroObligado)
F.CampoObligatorioMotivo(S.Fields.VentasIngresos.Numero.ID,'Requerido por Verifactu.',v.serieYNumeroObligado)
F.CampoObligatorioMotivo(S.Fields.VentasIngresos.NumeroDeFacturaCompleto.ID,'Requerido por Verifactu.',v.serieYNumeroObligado)
F.CampoObligatorioMotivo(S.Fields.VentasIngresos.ESTipoFactura.ID,'Requerido por Verifactu.',v.serieYNumeroObligado)

if V.serieYNumeroObligado = 1
    if C.ESTipoFactura = 0
        F.CampoVaciar(S.Fields.VentasIngresos.ESTipoFactura.ID)
    end if 
end if 


num emisorBloqueado
if C.ESExpedidaPorTercero = 0 
    C.ESExpedidaPorTerceroNIFDelEmisor = ''
    C.ESExpedidaPorTerceroNombreDelEmisor = ''
    V.emisorBloqueado = 1
end if 

F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ESExpedidaPorTerceroNIFDelEmisor.ID,'',v.emisorBloqueado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ESExpedidaPorTerceroNombreDelEmisor.ID,'',v.emisorBloqueado)



num bloqueadoNuimeroYSerie
if C.ReferenciaNumeracionSerie <> ''
    V.bloqueadoNuimeroYSerie = 1
end if
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.Serie.ID,'Automático.',v.bloqueadoNuimeroYSerie)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.Numero.ID,'Automático.',v.bloqueadoNuimeroYSerie)



num BloqueadoDatosfiscalesReceptor 

if C.ESTipoFactura = S.Enums.verifactufacturatipo.f2facturasimplificadaticketart61drd16192012 or C.ESTipoFactura = S.Enums.verifactufacturatipo.r5facturarectificativaenfacturassimplificadasart803 



    F.CampoVaciar(S.Fields.VentasIngresos.ReferenciaDatosFiscalesCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.DenominacionRazonSocialCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.NIFCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.PaisCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.ProvinciaCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.DireccionCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.CodigoPaisCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.ESClienteTipoNIF.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.TelefonoCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.EmailCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.CodigoPostalCliente.ID)
    F.CampoVaciar(S.Fields.VentasIngresos.MunicipioCliente.ID)

    v.BloqueadoDatosfiscalesReceptor = 1


end if 






F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ReferenciaDatosFiscalesCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DenominacionRazonSocialCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.NIFCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.PaisCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ProvinciaCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DireccionCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.CodigoPaisCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ESClienteTipoNIF.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.TelefonoCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.EmailCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.CodigoPostalCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.MunicipioCliente.ID,'',v.BloqueadoDatosfiscalesReceptor)







txt bloqueoVerifactuEnviadoMotivo = 'El registro ya se ha enviado a la AEAT no puede ser modificao, emite una factura rectificativa en su lugar.'
num bloqueoVerifactuEnviado


if C.ESCumplimiento <> S.Enums.cumplimientosistema.none 
    if C.VerifactuEstado <> 'Rechazada'
        V.bloqueoVerifactuEnviado = 1 
    end if
end if





F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DescuentoVIPPorciento.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DescuentoEntidadPorciento.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DescuentoGeneralPorciento.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DescuentoTipoEntidadPorciento.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)

F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ReferenciaRetencion.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.PreciosConImpuestosIncluidos.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.AplicarRecagoDeEquivalencia.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)


F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ReferenciaCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ReferenciaDatosFiscalesCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ReferenciaDatosFiscalesCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DenominacionRazonSocialCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.NIFCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.PaisCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ProvinciaCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.DireccionCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.CodigoPaisCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ESClienteTipoNIF.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.TelefonoCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.EmailCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.CodigoPostalCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.MunicipioCliente.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)




F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.Serie.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.Numero.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ESCumplimiento.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ESTipoFactura.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)


F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.FechaExpedicion.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.EditarManualmenteBasesImponibles.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)


F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ImporteBaseImponible1CuotaRE.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ImporteBaseImponible1CuotaIVA.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado) 

F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ImporteBaseImponible2CuotaRE.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ImporteBaseImponible2CuotaIVA.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado) 

F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ImporteBaseImponible3CuotaRE.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ImporteBaseImponible3CuotaIVA.ID,v.bloqueoVerifactuEnviadoMotivo,v.bloqueoVerifactuEnviado)

Formulario_Iniciado_AgregarNuevo_PostRellenadoImportacion

if C.ImpedirAutorrellenadoDestinadores = 1
    salir
end if

if C.ReferenciaVentaQueSeEstaRectificando <> ''



    C.ReferenciaCliente = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaCliente 
    C.ReferenciaTipoCliente = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaTipoCliente 
    C.ReferenciaMonedaExtranjera = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaMonedaExtranjera 
    C.DescuentoEntidadPorciento = C.ReferenciaVentaQueSeEstaRectificando.DescuentoEntidadPorciento 
    C.DescuentoTipoEntidadPorciento = C.ReferenciaVentaQueSeEstaRectificando.DescuentoTipoEntidadPorciento 
    C.DescuentoVIPPorciento = C.ReferenciaVentaQueSeEstaRectificando.DescuentoVIPPorciento 
    C.DescuentoGeneralPorciento = C.ReferenciaVentaQueSeEstaRectificando.DescuentoGeneralPorciento 
    C.EmisionDeSaldoPorciento = C.ReferenciaVentaQueSeEstaRectificando.EmisionDeSaldoPorciento 
    C.TipoFactura = S.Enums.tipofactura.rectificativo 
    C.ReferenciaTipoDeFactura = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaTipoDeFactura 
    C.ReferenciaDatosFiscalesCliente = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaDatosFiscalesCliente 
    C.ReferenciaDatosFiscalesEmpresa = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaDatosFiscalesEmpresa 
    C.ReferenciaRetencion = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaRetencion 

    C.PreciosConImpuestosIncluidos = C.ReferenciaVentaQueSeEstaRectificando.PreciosConImpuestosIncluidos
    C.AplicarRecagoDeEquivalencia = C.ReferenciaVentaQueSeEstaRectificando.AplicarRecagoDeEquivalencia
    C.ReferenciaActividad = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaActividad
    C.ReferenciaClaveDeOperacion = C.ReferenciaVentaQueSeEstaRectificando.ReferenciaClaveDeOperacion 
    C.DenominacionRazonSocialCliente = C.ReferenciaVentaQueSeEstaRectificando.DenominacionRazonSocialCliente
    C.NIFCliente = C.ReferenciaVentaQueSeEstaRectificando.NIFCliente
    C.PaisCliente = C.ReferenciaVentaQueSeEstaRectificando.PaisCliente
    C.ProvinciaCliente = C.ReferenciaVentaQueSeEstaRectificando.ProvinciaCliente
    C.MunicipioCliente = C.ReferenciaVentaQueSeEstaRectificando.MunicipioCliente
    C.CodigoPostalCliente = C.ReferenciaVentaQueSeEstaRectificando.CodigoPostalCliente
    C.TelefonoCliente = C.ReferenciaVentaQueSeEstaRectificando.TelefonoCliente
    C.DireccionCliente = C.ReferenciaVentaQueSeEstaRectificando.DireccionCliente
    C.TelefonoCliente = C.ReferenciaVentaQueSeEstaRectificando.TelefonoCliente
    C.EmailCliente = C.ReferenciaVentaQueSeEstaRectificando.EmailCliente
    C.DenominacionRazonSocialEmpresa = C.ReferenciaVentaQueSeEstaRectificando.DenominacionRazonSocialEmpresa
    C.NIFEmpresa = C.ReferenciaVentaQueSeEstaRectificando.NIFEmpresa
    C.PaisEmpresa = C.ReferenciaVentaQueSeEstaRectificando.PaisEmpresa
    C.ProvinciaEmpresa = C.ReferenciaVentaQueSeEstaRectificando.ProvinciaEmpresa
    C.MunicipioEmpresa = C.ReferenciaVentaQueSeEstaRectificando.MunicipioEmpresa
    C.CodigoPostalEmpresa = C.ReferenciaVentaQueSeEstaRectificando.CodigoPostalEmpresa
    C.TelefonoEmpresa = C.ReferenciaVentaQueSeEstaRectificando.TelefonoEmpresa
    C.DireccionEmpresa = C.ReferenciaVentaQueSeEstaRectificando.DireccionEmpresa
    C.TelefonoEmpresa = C.ReferenciaVentaQueSeEstaRectificando.TelefonoEmpresa
    C.ESClienteTipoNIF = C.ReferenciaVentaQueSeEstaRectificando.ESClienteTipoNIF
    C.ESCumplimiento = C.ReferenciaVentaQueSeEstaRectificando.ESCumplimiento



end if


if C.ReferenciaPresupuestoDeVenta <> ''

    C.ReferenciaCliente = C.ReferenciaPresupuestoDeVenta.ReferenciaCliente 
    C.ReferenciaTipoCliente = C.ReferenciaPresupuestoDeVenta.ReferenciaTipoDeCliente 
    C.ReferenciaMonedaExtranjera = C.ReferenciaPresupuestoDeVenta.ReferenciaMonedaExtranjera 
    C.DescuentoEntidadPorciento = C.ReferenciaPresupuestoDeVenta.DescuentoEntidadPorciento 
    C.DescuentoTipoEntidadPorciento = C.ReferenciaPresupuestoDeVenta.DescuentoTipoEntidadPorciento 
    C.DescuentoVIPPorciento = C.ReferenciaPresupuestoDeVenta.DescuentoVIPPorciento 
    C.DescuentoGeneralPorciento = C.ReferenciaPresupuestoDeVenta.DescuentoGeneralPorciento 
    C.EmisionDeSaldoPorciento = C.ReferenciaPresupuestoDeVenta.EmisionDeSaldoPorciento 
    C.ReferenciaDatosFiscalesCliente = C.ReferenciaPresupuestoDeVenta.ReferenciaDatosFiscalesCliente 
    C.ReferenciaDatosFiscalesEmpresa = C.ReferenciaPresupuestoDeVenta.ReferenciaDatosFiscalesEmpresa 
    C.ReferenciaRetencion = C.ReferenciaPresupuestoDeVenta.ReferenciaRetencion 
    C.PreciosConImpuestosIncluidos = C.ReferenciaPresupuestoDeVenta.PreciosConImpuestosIncluidos
    C.AplicarRecagoDeEquivalencia = C.ReferenciaPresupuestoDeVenta.AplicarRecagoDeEquivalencia
    C.ReferenciaTipoDeFactura = C.ReferenciaPresupuestoDeVenta.ReferenciaTipoDeFactura 
    C.ReferenciaTipoDeFactura = C.ReferenciaPresupuestoDeVenta.ReferenciaTipoDeFactura
    C.ReferenciaImpuestoPredeterminado = C.ReferenciaPresupuestoDeVenta.ReferenciaImpuestoPredeterminado
    C.DenominacionRazonSocialCliente = C.ReferenciaPresupuestoDeVenta.DenominacionRazonSocialCliente
    C.NIFCliente = C.ReferenciaPresupuestoDeVenta.NIFCliente
    C.PaisCliente = C.ReferenciaPresupuestoDeVenta.PaisCliente
    C.ProvinciaCliente = C.ReferenciaPresupuestoDeVenta.ProvinciaCliente
    C.MunicipioCliente = C.ReferenciaPresupuestoDeVenta.MunicipioCliente
    C.CodigoPostalCliente = C.ReferenciaPresupuestoDeVenta.CodigoPostalCliente
    C.TelefonoCliente = C.ReferenciaPresupuestoDeVenta.TelefonoCliente
    C.DireccionCliente = C.ReferenciaPresupuestoDeVenta.DireccionCliente
    C.TelefonoCliente = C.ReferenciaPresupuestoDeVenta.TelefonoCliente
    C.EmailCliente = C.ReferenciaPresupuestoDeVenta.EmailCliente
    C.DenominacionRazonSocialEmpresa = C.ReferenciaPresupuestoDeVenta.DenominacionRazonSocialEmpresa
    C.NIFEmpresa = C.ReferenciaPresupuestoDeVenta.NIFEmpresa
    C.PaisEmpresa = C.ReferenciaPresupuestoDeVenta.PaisEmpresa
    C.ProvinciaEmpresa = C.ReferenciaPresupuestoDeVenta.ProvinciaEmpresa
    C.MunicipioEmpresa = C.ReferenciaPresupuestoDeVenta.MunicipioEmpresa
    C.CodigoPostalEmpresa = C.ReferenciaPresupuestoDeVenta.CodigoPostalEmpresa
    C.TelefonoEmpresa = C.ReferenciaPresupuestoDeVenta.TelefonoEmpresa
    C.DireccionEmpresa = C.ReferenciaPresupuestoDeVenta.DireccionEmpresa
    C.TelefonoEmpresa = C.ReferenciaPresupuestoDeVenta.TelefonoEmpresa
    C.CondicionesDePago = C.ReferenciaPresupuestoDeVenta.CondicionesDePago
    C.CondicionDePagoDias = C.ReferenciaPresupuestoDeVenta.CondicionDePagoDias

end if

Campo_Cambiado

if F.IsNew 

    if C.TipoFactura = S.Enums.tipofactura.ordinario 
        C.ReferenciaNumeracionSerie = C.ReferenciaTipoDeFactura.ReferenciaNumeracionOrdinarias 
    elseif C.TipoFactura = S.Enums.tipofactura.rectificativo 
        C.ReferenciaNumeracionSerie = C.ReferenciaTipoDeFactura.ReferenciaNumeracionRectificativas 
    end if
end if

Campos utilizados: - Ventas / Ingresos > Tipo factura - Ventas / Ingresos > Tipo de Factura

Formulario_Iniciado_AgregarNuevo

if C.ReferenciaRenovacionDeServicio <> ''


    C.PreciosConImpuestosIncluidos = C.ReferenciaRenovacionDeServicio.PrecioConImpuestosIncluidos 

    F.DataListLoad(S.Sections.RenovacionesDeSuscripcionesBaseLista.ID,1,9000)
    F.DataListLoadAddFilter(S.Sections.RenovacionesDeSuscripcionesBaseLista.ID,S.Fields.RenovacionesDeSuscripcionesBaseLista.RelacionElementoContenedorListador.ID,'=',C.ReferenciaRenovacionDeServicio)



    F.ProcessDataList_Ini(S.Sections.RenovacionesDeSuscripcionesBaseLista.ID)


        F.AgregarElemento_Iniciar(S.Sections.VentasIngresosLista.ID)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaProducto.id,I.RenovacionesDeSuscripcionesBaseLista.ReferenciaServicio.ReferenciaProducto)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.TextoPrincipal.id,I.RenovacionesDeSuscripcionesBaseLista.TextoPrincipal)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.Cantidad.id,I.RenovacionesDeSuscripcionesBaseLista.CantidadDePeriodosObsoleto)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ReferenciaImpuestos.id,I.RenovacionesDeSuscripcionesBaseLista.ReferenciaImpuestos)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImportePrecioUnidad.id,I.RenovacionesDeSuscripcionesBaseLista.ImportePrecioRenovacion)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.DescuentoPorciento.id,I.RenovacionesDeSuscripcionesBaseLista.DescuentoPorciento)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteDescuentoFijoUnidad.id,I.RenovacionesDeSuscripcionesBaseLista.ImporteDescuentoFijo)
        F.AgregarElemento_Valor(S.Fields.VentasIngresosLista.ImporteSaldoExtraUnidad.id,I.RenovacionesDeSuscripcionesBaseLista.ImporteSaldoPromocionalFijoExtraObsoleto)
        F.AgregarElemento_FinalizarYAceptar()





    F.ProcessDataList_End 


end if

Formulario_PreACeptar

if C.ESCumplimiento <> S.Enums.cumplimientosistema.verifactu
    salir
end if


if C.ESCumplimiento = S.Enums.cumplimientosistema.verifactu 

    if C.ESExpedidaPorTercero 
        if C.ESExpedidaPorTerceroNIFDelEmisor = ''
            F.MsgBox('Si se marca Expedida por tercero, debe indicarse NIF del emisor.',1)
            F.CancelarEvento()
        end if
        if C.ESExpedidaPorTerceroNombreDelEmisor = ''
            F.MsgBox('Si se marca Expedida por tercero, debe indicarse Nombre del emisor.',1)
            F.CancelarEvento()
        end if
    end if 


    if C.NumeroDeFacturaCompleto = '' or C.Serie = '' or C.Numero = ''
        if C.NumeroDeFacturaCompleto <> '' or C.Serie <> '' or C.Numero <> ''
            F.MsgBox('Si se rellena alguno de los campos "Número", "Serie" o "Número completo", deben completarse todos.',1)
            F.CancelarEvento()
        end if 
    end if 



    if C.TipoFactura = S.Enums.tipofactura.rectificativo 

        if C.ESTipoFactura = S.Enums.verifactufacturatipo.r1facturarectificativaart801y802yerrorfundadoenderecho 
        elseif C.ESTipoFactura = S.Enums.verifactufacturatipo.r2facturarectificativaart803 
        elseif C.ESTipoFactura = S.Enums.verifactufacturatipo.r3facturarectificativaart804 
        elseif C.ESTipoFactura = S.Enums.verifactufacturatipo.r4facturarectificativaresto 
        elseif C.ESTipoFactura = S.Enums.verifactufacturatipo.r5facturarectificativaenfacturassimplificadasart803 
        else
            F.MsgBox('El Campo "ES - Tipo de Factura" debe ser tipo Rectificativa (RX).',1)
            F.CancelarEvento()
        end if


    else


        if C.ESTipoFactura = S.Enums.verifactufacturatipo.f1facturacompletaart672y73delrd16192012 
        elseif C.ESTipoFactura = S.Enums.verifactufacturatipo.f2facturasimplificadaticketart61drd16192012 
        elseif C.ESTipoFactura = S.Enums.verifactufacturatipo.f3facturaemitidaensustituciondefacturassimplificadasfacturadasydeclaradas 
        else
            F.MsgBox('El Campo "ES - Tipo de Factura" NO puede ser Rectificativa (RX).',1)
            F.CancelarEvento()
        end if


    end if 




end if


if C.ReferenciaImpuesto1 <> '' 

    if C.ReferenciaImpuesto1.ESTipo = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Tipo" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto1.ESClasificacionDeOperacion = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Clasificación de la Operación" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto1.ESClaveRegimen = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Clave de Régimen" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto1.ESCausaSujecion = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Causa de Sujeción" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

end if


if C.ReferenciaImpuesto2 <> '' 

    if C.ReferenciaImpuesto2.ESTipo = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Tipo" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto2.ESClasificacionDeOperacion = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Clasificación de la Operación" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto2.ESClaveRegimen = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Clave de Régimen" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto2.ESCausaSujecion = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Causa de Sujeción" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

end if


if C.ReferenciaImpuesto3 <> '' 

    if C.ReferenciaImpuesto3.ESTipo = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Tipo" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto3.ESClasificacionDeOperacion = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Clasificación de la Operación" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto3.ESClaveRegimen = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Clave de Régimen" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

    if C.ReferenciaImpuesto3.ESCausaSujecion = 0 
        F.MsgBox('El impuesto utilizado en la venta requiere un valor en "ES - Causa de Sujeción" porque Verifactu está activo.',1)
        F.CancelarEvento()
    end if

end if

Formulario_TickRecalculo

If C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta > 0
    F.CampoLimitacionCantidadIndirecta(S.Fields.VentasIngresos.ReferenciaCliente.id,S.Fields.EntidadesBase.ImporteSaldoAcumulado.id,0,2000000000,S.Fields.VentasIngresos.ImporteSaldoAplicado.id,0,'Saldo disponible',1)
    F.CampoValorMaximoMotivo(S.Fields.VentasIngresos.ImporteSaldoAplicado.id,'Saldo disponible en el momento de la venta',C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta,1) 
Else
    F.CampoValorMaximoMotivo(S.Fields.VentasIngresos.ImporteSaldoAplicado.id,'Saldo disponible en el momento de la venta',0,1) 
End If

Campo_ComboAplicarFiltro

F.CampoDesplegableAplicarFiltro(S.Fields.RetencionesBase.Activa.id,'=',1)

Campos utilizados: - Ventas / Ingresos > Retención

Formulario_Iniciado_AgregarNuevo_PostRellenadoImportacion

if C.ReferenciaPresupuestoDeVenta <> ''

    if C.ReferenciaPresupuestoDeVenta.ImporteSaldoAplicado = 0

        C.ImporteSaldoAplicado = 0

    elseif C.ReferenciaPresupuestoDeVenta.ImporteSaldoQueTeniaElClienteAntesDeLaVenta <> C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta 
        F.MsgBox('El saldo disponible que tenia el cliente al realizar el presupuesto difiere del disponible actualmente, por favor una vez finalizada la venta revise la cantidad de saldo que se desae utilizar.',0)
    End If


End If



if C.ReferenciaVentaQueSeEstaRectificando <> '' y C.EmisionDeSaldoPorciento > 0 

    num ConservarSaldo = 0
    if C.ReferenciaVentaQueSeEstaRectificando.ReferenciaMovimientoInternoDeSaldoAcumulado.ImporteCantidadDeSaldoAcumulado <> 0
        V.ConservarSaldo = 1
    end if 

    if V.ConservarSaldo = 0
        C.DesactivarSaldo = 1
        C.EmisionDeSaldoPorciento = 0

    end if 

end if

Formulario_TickRecalculo

if C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta < 0 
    C.ImporteSaldoQueTeniaElClienteAntesDeLaVenta = 0
End If

if C.DesactivarSaldo = 1
    C.EmisionDeSaldoPorciento = 0
end if 

C.ImporteTotalACobrar = C.ImporteTotal 



if C.ImporteSaldoEmitido = 0 and C.ImporteSaldoAplicado = 0
    @ Si no se obtiene saldo acumulado no se rellena la referencia a la entidad, de esta manera, al no evaluar la sección incrustada 
    @ No se creará un registro de movimiento interno 
    C.ReferenciaMovimientoInternoDeSaldoAcumulado.ReferenciaEntidad = ''
else
    C.ReferenciaMovimientoInternoDeSaldoAcumulado.ReferenciaEntidad = C.ReferenciaCliente 
End If




if F.CampoHaSidoAfectadoEntreTicks(S.Fields.VentasIngresos.CondicionDePagoDias.id) o F.CampoHaSidoAfectadoEntreTicks(S.Fields.VentasIngresos.FechaContable.id)
    if C.CondicionDePagoDias > 0
        C.FechaDeVencimiento = F.Date_AddDays(C.FechaContable,C.CondicionDePagoDias)
    end if
end if

txt MotivoBloqueoVencimiento = 'La fecha de vencimiento se configura automáticamente segundo las condiciones de pago y la fecha de la venta.'
if C.CondicionDePagoDias > 0
    F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.FechaDeVencimiento.ID,v.MotivoBloqueoVencimiento,1)
else
    F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.FechaDeVencimiento.ID,v.MotivoBloqueoVencimiento,0)
end if



num BloqueoVentaRec
txt BloqueoVentaRecDesc = 'Esta casilla está reservada para ventas rectificativas.'
if C.TipoFactura = S.Enums.tipofactura.rectificativo o C.ReferenciaVentaQueSeEstaRectificando <> ''
    V.BloqueoVentaRec = 0
else
    V.BloqueoVentaRec = 1
end if

F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.ReferenciaVentaQueSeEstaRectificando.ID,v.BloqueoVentaRecDesc,v.BloqueoVentaRec)
F.CampoBloqueadoMotivo(S.Fields.VentasIngresos.FormaDeRectificacion.ID,v.BloqueoVentaRecDesc,v.BloqueoVentaRec)

num obligatorioCamposRectificativos

if C.TipoFactura = S.Enums.tipofactura.rectificativo
    V.obligatorioCamposRectificativos = 1
else
    V.obligatorioCamposRectificativos = 0
end if


F.CampoObligatorioMotivo(S.Fields.VentasIngresos.ReferenciaVentaQueSeEstaRectificando.ID,'Necesario en facturas rectificativas.',v.obligatorioCamposRectificativos)
F.CampoObligatorioMotivo(S.Fields.VentasIngresos.FormaDeRectificacion.ID,'Necesario en facturas rectificativas.',v.obligatorioCamposRectificativos)





if C.ReferenciaVentaQueSeEstaRectificando <> ''
    C.ReferenciaDestinador = S.Destinadores.VentasIngresos.VentaRectificativa.ID 
elseif C.ReferenciaPresupuestoDeVenta <> ''
    C.ReferenciaDestinador = S.Destinadores.PresupuestosDeVenta.VentaDePresupuesto.ID 
else

    C.ReferenciaDestinador = ''
end if

← Volver al índice