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 | Sí |
| 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: 177 (10 del sistema, 167 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 |
- | - |
| Pedido de Origen | Relación |
Registro | pr_30685511 |
🔒 Bloqueado | ⚠️ Módulo externo |
| Alquiler de recurso | Relación |
Registro | pr_20010554501 |
- | ⚠️ Módulo externo |
| 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 | - |
| Suma Exenta - Descuentos saldo | Decimal |
Bases | pr_50040105534 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Impuesto 1 | Relación |
Bases | pr_500401055324 |
🔒 Bloqueado | - |
| Total | Decimal |
General | pr_500401055323 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma 2 - Descuentos generales | Decimal |
Bases | pr_500401055339 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma | Decimal |
Detalles | pr_10040115003 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Total cobrado | Decimal |
Desarrollo | pr_500401055336 |
🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico | - |
| Autor del alta | Relación |
Registro | pr_50040105525 |
🔴 Obligatorio, 👁 Oculto | Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* ) |
| 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 | - |
| Base Imponible 3 | Decimal |
Bases | pr_500401055348 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma 2 - Descuentos de productos | Decimal |
Bases | pr_500401055344 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Cliente | Relación |
General | pr_60040105651 |
- | - |
| Movimiento interno de saldo acumulado | Relación |
General | pr_10040106101 |
🔒 Bloqueado, 👁 Oculto | - |
| Base Imponible 1 | Decimal |
Bases | pr_500401055357 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Cantidad de Productos | Decimal |
General | pr_500401055353 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | Autorrellenado (Siempre): Sumar (Columna): Unidades · Número total de productos. |
| Suma 2 - Descuentos saldo | Decimal |
Bases | pr_500401055352 |
🔒 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 2 | Relación |
Bases | pr_500401055376 |
🔒 Bloqueado | - |
| 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. |
| Fecha Dato | Fecha Y Hora |
General | pr_50040105526 |
🔴 Obligatorio | Autorrellenado (Siempre): Fecha y Hora actual |
| Saldo emitido | Decimal |
Bases | pr_500401055384 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Fecha Alta del registro | Fecha Y Hora |
Registro | pr_50040105529 |
🔴 Obligatorio, 👁 Oculto | Autorrellenado (Siempre): Fecha y Hora actual |
| Base Imponible Exenta | Decimal |
Bases | pr_500401055399 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Aplicar recago de equivalencia | Sí/No |
Parámetros | pr_500401055390 |
- | Autorrellenado (Siempre): Campo : Cliente / Vender con Recargo de Equivalencia |
| Suma Exenta - Descuentos de productos | Decimal |
Bases | pr_500401055396 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| 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 | - |
| Empleado | Relación |
Avanzado | pr_50040105523 |
🔴 Obligatorio | Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* ) |
| Suma 3 | Decimal |
Bases | pr_5004010553103 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Puesto de trabajo | Relación |
Registro | pr_5004010553126 |
👁 Oculto | Autorrellenado (Siempre): Campo (Sesión): Puesto de trabajo |
| Suma (Con impuestos) | Decimal |
Detalles | pr_500401150415 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Subtotal | Decimal |
General | pr_5004010553128 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma 1 - Descuentos generales | Decimal |
Bases | pr_5004010553124 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Suma (Sin impuestos) | Decimal |
Detalles | pr_5004010553146 |
🔒 Bloqueado, 👁 Oculto, 📊 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 | - |
| 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 |
| Saldo aplicado | Decimal |
Parámetros | pr_5004010553156 |
🔒 Bloqueado, 📊 Positivos o 0 | - |
| Total salidos (Destinadores) | Decimal |
Desarrollo | pr_5004010553150 |
🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico | - |
| Total retención | Decimal |
Bases | pr_5004010553154 |
🔒 Bloqueado, 📊 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 impuestos | Decimal |
General | pr_5004010553170 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Total Rectificados (Destinadores) | Decimal |
Desarrollo | pr_5004010553165 |
🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 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 | - |
| Total porcentaje descuentos Generales | Decimal |
Descuentos | pr_5004010553193 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Estado | Relación |
General | pr_5004010553187 |
- | Autorrellenado (Siempre): Referencia dato: Abierta |
| Ubicación Principal | Relación |
Registro | pr_50040105524 |
👁 Oculto | Autorrellenado (Siempre): Campo (Sesión): Ubicación Principal |
| Suma 3 - Descuentos saldo | Decimal |
Bases | pr_5004010553188 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Observaciones y anotaciones | Texto |
Avanzado | pr_5004010553182 |
- | Observaciones adicionales de la transacción. |
| Impuesto 3 | Relación |
Bases | pr_5004010553181 |
🔒 Bloqueado | - |
| Suma 1 - Descuentos saldo | Decimal |
Bases | pr_5004010553184 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| 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 | - |
| Fecha contable | Fecha |
Avanzado | pr_30040135703 |
- | - |
| Asiento contable | Relación |
Avanzado | pr_20040135291003 |
- | - |
| NIF (Cliente) | Texto |
Datos fiscales | pr_40040138834 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / NIF |
| Código postal (Cliente) | Texto |
Datos fiscales | pr_40040138835 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Código postal |
| País (Empresa) | Texto |
Datos fiscales | pr_300401388316 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / País |
| Denominación / Razón Social (Cliente) | Texto |
Datos fiscales | pr_400401388311 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Apellidos y Nombre o Razón social |
| Municipio (Cliente) | Texto |
Datos fiscales | pr_40040138838 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Municipio |
| 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 |
| Datos fiscales (Cliente) | Relación |
Datos fiscales | pr_400401388310 |
- | Autorrellenado (Siempre): Campo : Cliente / Datos fiscales (Predeterminados) |
| Provincia (Cliente) | Texto |
Datos fiscales | pr_40040138836 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Provincia |
| 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 |
| 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 |
| Fecha de vencimiento | Fecha |
Términos y Condiciones | pr_500401721410 |
- | - |
| Condiciones de pago | Texto |
Términos y Condiciones | pr_50040172149 |
- | - |
| Términos | Texto |
Términos y Condiciones | pr_50040172147 |
- | - |
| Marcar como concluida aunque hayan procesos pendientes | Sí/No |
Avanzado | pr_10040173914 |
- | - |
| 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 |
| 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 | - |
| Código País (Cliente) | Texto |
Datos fiscales | pr_60040241533 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Código País (2 Dígitos) |
| 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 |
| Tipo factura | Entero |
Parámetros | pr_500402418514 |
🔴 Obligatorio, 📊 Cualquier valor numérico | Autorrellenado (Siempre): Número entero: 1 |
| Actividad | Relación |
Avanzado | pr_30040256145 |
- | Autorrellenado (Cadena_Rellenada): Campo : Tipo de Factura / Actividad predeterminada |
| Total Suplidos | Decimal |
Bases | pr_20040256623 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Total operación | Decimal |
Bases | pr_60040256622 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| 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 |
| Moneda extranjera | Relación |
Parámetros | pr_60040454251 |
- | Autorrellenado (Siempre): Campo : Cliente / Moneda en ventas |
| Total descuentos (Sin impuestos) | Decimal |
Detalles | pr_200405044011 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Generales | Decimal |
Detalles | pr_20040504403 |
🔒 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 Generales (Sin impuestos) | Decimal |
Detalles | pr_20040504407 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Saldo | Decimal |
Detalles | pr_20040504404 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Saldo (Sin impuestos) | Decimal |
Detalles | pr_20040504406 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Productos | Decimal |
Detalles | pr_20040504402 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Generales (Con impuestos) | Decimal |
Detalles | pr_200405044010 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Saldo (Con impuestos) | Decimal |
Detalles | pr_20040504408 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Total descuentos | Decimal |
Detalles | pr_20040504401 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Total descuentos (Con impuestos) | Decimal |
Detalles | pr_10040502507 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Suma descuentos Productos (Sin impuestos) | Decimal |
Detalles | pr_20040504405 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Dirección de envío | Relación |
Datos fiscales | pr_30040566268 |
- | - |
| ID Externa | Texto |
Avanzado | pr_20040567171 |
🔒 Bloqueado | - |
| Email (Cliente) | Texto |
Datos fiscales | pr_20040567172 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / Email (Cliente) |
| Desactivar saldo | Sí/No |
Parámetros | pr_40040587931 |
👁 Oculto | - |
| Factura descargable en Área web | Relación |
Avanzado | pr_30040590683 |
- | - |
| 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 |
| Enlace de Pago | Texto |
Avanzado | pr_40692942 |
- | - |
| Almacén | Relación |
Avanzado | pr_20695345 |
- | - |
| Fecha expedición | Fecha |
Avanzado | pr_40702761001 |
- | - |
| Verifactu URL | Texto |
Registro | pr_20707354 |
🔒 Bloqueado | - |
| Ha sido sustituida | Sí/No |
Registro | pr_40732771003 |
🔒 Bloqueado | - |
| Número | Texto |
Registro | pr_10734511001 |
- | - |
| ES Cliente - Tipo NIF | Entero |
Datos fiscales | pr_10734521 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Datos fiscales (Cliente) / ES - Tipo NIF |
| Verifactu Estado | Texto |
Registro | pr_30734511 |
🔒 Bloqueado | - |
| ES - Rectificativa es Cupón | Sí/No |
Registro | pr_60734531 |
- | - |
| 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 - Cumplimiento | Entero |
Registro | pr_50733501 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Cumplimiento |
| ES - Expedida por tercero | Sí/No |
Registro | pr_10734542 |
👁 Oculto | Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Expedida por tercero |
| 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 |
| Factura emitida con otro Software (Importada) | Sí/No |
Avanzado | pr_10734545 |
- | Autorrellenado (Siempre): Campo : Tipo de Factura / Factura emitida con otro Software (Importada) |
| Impedir autorrellenado destinadores | Sí/No |
General | pr_10736581001 |
👁 Oculto | - |
| Vigente | Sí/No |
General | pr_20764243 |
🔒 Bloqueado, 👁 Oculto | Autorrellenado (Siempre): Constante: Sí |
| Base Imponible 3 - Cuota IVA | Decimal |
Bases | pr_500401055312 |
📊 Cualquier valor numérico | - |
| Precios con impuestos incluidos | Sí/No |
Parámetros | pr_50040105537 |
- | Autorrellenado (Siempre): Campo (Empresa Actual): Venta con impuestos incluidos |
| Base Imponible 3 - Cuota R.E | Decimal |
Bases | pr_500401055325 |
📊 Cualquier valor numérico | - |
| Emisión de saldo % | Decimal |
Parámetros | pr_500401055333 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Numeración / Serie | Relación |
Parámetros | pr_500401055346 |
- | Autorrellenado (Siempre): Campo : Tipo de Factura / Numeración (Ordinarias) |
| Descuento Tipo Entidad % | Decimal |
Parámetros | pr_500401055356 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Tipo cliente / Descuento tipo de entidad % |
| 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 |
| Descuento V.I.P % | Decimal |
Parámetros | pr_5004010553114 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Tipo cliente / Descuento V.I.P % |
| Base Imponible 1 - Cuota R.E | Decimal |
Bases | pr_5004010553142 |
📊 Cualquier valor numérico | - |
| 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 |
| Descuento Entidad % | Decimal |
Parámetros | pr_5004010553145 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Cliente / Descuento % (Venta) |
| 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 |
| Descuento General % | Decimal |
Parámetros | pr_5004010553164 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Tipo cliente / Descuento General % |
| Base Imponible 1 - Cuota IVA | Decimal |
Bases | pr_5004010553168 |
📊 Cualquier valor numérico | - |
| Base Imponible 2 - Cuota R.E | Decimal |
Bases | pr_5004010553159 |
📊 Cualquier valor numérico | - |
| Base Imponible 2 - Cuota IVA | Decimal |
Bases | pr_5004010553180 |
📊 Cualquier valor numérico | - |
| Número de factura (Completo) | Texto |
General | pr_5004010553203 |
- | - |
| Municipio (Empresa) | Texto |
Datos fiscales | pr_10040138834 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Municipio |
| Dirección (Empresa) | Texto |
Datos fiscales | pr_10040138832 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Dirección Completa |
| NIF (Empresa) | Texto |
Datos fiscales | pr_600401388230 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / NIF |
| Código postal (Empresa) | Texto |
Datos fiscales | pr_10040138831 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Código postal |
| 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 |
| Teléfono (Empresa) | Texto |
Datos fiscales | pr_600401388231 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Teléfono |
| Provincia (Empresa) | Texto |
Datos fiscales | pr_10040138833 |
- | Autorrellenado (Siempre): Campo : Datos fiscales (Empresa) / Provincia |
| Venta que se está rectificando | Relación |
Parámetros | pr_60040241852 |
- | - |
| Editar manualmente bases imponibles | Sí/No |
Bases | pr_20040259251 |
- | - |
| Asignar manualmente la fecha contable | Sí/No |
Avanzado | pr_20040268933 |
- | - |
| Categoría (General) | Relación |
Parámetros | pr_20695811 |
- | - |
| Impuesto (General Aplicado) | Relación |
Parámetros | pr_20695812 |
- | - |
| Forma de rectificación | Entero |
Parámetros | pr_40732771002 |
📊 Cualquier valor numérico | - |
| ES - Tipo Factura | Entero |
Registro | pr_60733501 |
📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Tipo de Factura / ES - Tipo Factura |
| Serie | Texto |
Registro | pr_10734511002 |
- | - |
| 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) |
| Anulada | Sí/No |
Registro | pr_20744811001 |
🔒 Bloqueado | - |
| Fecha operación | Fecha |
Avanzado | pr_30746721 |
- | - |
| Sustituida por | Relación |
Registro | pr_60764231001 |
🔒 Bloqueado | - |
Scripts¶
Total de scripts: 29
Código de Scripts¶
Lógica de negocio ejecutada en los formularios automáticamente
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.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
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
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_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
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_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_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
Campo_PreAgregarRelacion¶
F.Guardar()
F.CopiarAgregarRelacion(S.Fields.AsientosContablesBase.ReferenciaVentaIngreso.id,C.ID)
Campos utilizados:
- Ventas / Ingresos > Asiento contable
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
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_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_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
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