![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#14
|
|||
|
|||
|
Cita:
Espero no incurrir en ningún error. Pero básicamente, asegura que la suma de todos los valores brutos de las líneas para un tipo de Iva coincidan con la base imponible de ese Iva y que la suma de los valores de iva para el tipo de Iva "Tipo" coincida con el Iva del tipo "Tipo". He obviado los recargos de equivalencia para mayor claridad 1.- Construcción de las Bases Imponibles For each LineaVenta in Ventas (Para cada línea de venta) LineasVenta(Base) = LineasVenta(Uds) * LineasVenta(Precio) - (DescuentosLineas) + (RecargosLineas) 'En los Descuentos y recargos se incluyen prorrateados los descuentos y recargos globales Next 2.-Cálculo de Brutos e Impuestos por línea For each Tipo in TiposDeImpuestos (Para cada Tipo de Impuesto) For each Linea in LineasVenta(Tipo) 'Obtiene todas las líneas de venta del Tipo "Tipo" LineaBruto = Linea(Base) * 100 / (100 + Tipo) LineaIva = Redondea2Decimales(LineaBruto * Tipo / 100) LineaBruto = Redondea2Decimales(Linea(Base) - LineaIva) Next Next 3.-Ajustes de las Bases imponibles For each Tipo in TiposDeImpuestos For Each ValorBruto in LineasBruto(Tipo) 'Obtiene todos los valores brutos de las líneas con el Tipo "Tipo" Parcial += ValorBruto Next Ajuste = LineaBruto(Tipo) - Parcial si Ajuste <> 0 quiere decir que las sumas de las bases de cada línea para el tipo "Tipo" difiere de la Base imponible del tipo "Tipo" Le aplico el ajuste a la primera línea del Tipo "Tipo" if Ajuste <> 0 then For Each Linea in LineaBruto(Tipo) Linea(Bruto) += Ajuste exit for End if End if Next 4.- Hacemos lo mismo con los Impuestos For each Tipo in TiposDeImpuestos For Each ValorIva in LineasIva(Tipo) Parcial += ValorIva Next Ajuste = LineaIva(Tipo) - Parcial si Ajuste <> 0 quiere decir que las sumas de los Ivas de cada línea para el tipo "Tipo" difiere de el Valor de Iva para el tipo "Tipo" Le aplico el ajuste a la primera línea del Tipo "Tipo" if Ajuste <> 0 then For Each Linea in LineasIva(Tipo) Linea(Iva) += Ajuste exit for End if End if Next |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Procedimiento Calculo RFC | amerika111 | Firebird e Interbase | 26 | 17-08-2011 20:07:03 |
| Duda con un Error en proceso de cálculo..... | ronimaxh | Conexión con bases de datos | 2 | 22-12-2009 17:01:48 |
| Error Calculo FIREBIRD 1.5.2.4731 | ASAPLTDA | Firebird e Interbase | 1 | 10-01-2006 21:55:26 |
| calculo letra NIE | Cabanyaler | Varios | 3 | 29-03-2005 12:19:42 |
| error calculo en udf | marrullas | Firebird e Interbase | 0 | 02-11-2004 21:01:58 |
|