1042 lines
87 KiB
C#
1042 lines
87 KiB
C#
using Exferia_Aplicacion.Calculos;
|
|
using Exferia_Aplicacion.Calculos.VentasCompras;
|
|
using Exferia_Aplicacion.General;
|
|
using Exferia_Aplicacion.Modelos_Factura_E;
|
|
using Exferia_Aplicacion.Modelos_Generales;
|
|
using Exferia_Aplicacion.Modelos_Informes;
|
|
using Exferia_EntityFramework;
|
|
using Exferia_General;
|
|
using Exferia_Ventas._0_Modelos;
|
|
using Exferia_Ventas._1_Datos;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Exferia_Ventas.General
|
|
{
|
|
public class Funciones_Ventas
|
|
{
|
|
#region Facturas
|
|
//Se usa para saber si tiene mas de una factura, para poner tasa incial o de permanencia
|
|
public static int Facturas_DelSocio(long _lng_idFactura, long _lng_idSocio,long _lng_idEmpresa,DateTime _dtt_Fecha)
|
|
{
|
|
int int_NumeroFacturasDelSocio = 0;
|
|
|
|
try
|
|
{
|
|
GEN_EjerciciosActivos_Empresa mdl_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Por_FechaEmpresa(_dtt_Fecha, _lng_idEmpresa);
|
|
|
|
VTA_FacturasCabecera_Datos obj_VTA_FacturasCabecera_Datos = new VTA_FacturasCabecera_Datos();
|
|
int_NumeroFacturasDelSocio = obj_VTA_FacturasCabecera_Datos.Facturas_DelSocio(_lng_idSocio, _lng_idFactura, mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaInicio, mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaFin);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
catch (Exception ex)
|
|
{
|
|
Control_Errores.Errores_Log("", ex, nameof(Funciones_Ventas) + "/" + nameof(Facturas_DelSocio));
|
|
}
|
|
|
|
return int_NumeroFacturasDelSocio;
|
|
}
|
|
#endregion
|
|
|
|
public static INTERNO_ValorDevuelto_Modelo Recalcular_Situacion_Pedidos_AlbaranFactura(List<long> _lst_idPedidoLinea, List<long> _lst_idAlbaranFacturaLinea, List<long> _lst_idAlbaranCabecera, List<long> _lst_idFacturaCabecera)
|
|
{
|
|
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;
|
|
|
|
try
|
|
{
|
|
//Clases de negocio
|
|
VTA_PedidosCabecera_Datos obj_VTA_PedidosCabecera_Datos = new VTA_PedidosCabecera_Datos();
|
|
VTA_AlbaranesFacturasLineas_Datos obj_VTA_AlbaranesFacturasLineas_Datos = new VTA_AlbaranesFacturasLineas_Datos();
|
|
|
|
//Si el listado de AlbaranesFacturas linea no esta a nulo se buscan los idPedidoLinea Asociados
|
|
if (_lst_idAlbaranFacturaLinea != null)
|
|
{
|
|
_lst_idPedidoLinea = obj_VTA_AlbaranesFacturasLineas_Datos.Obtener_IdsPedidoLinea_PorListado_AlbaranFacturaLinea(_lst_idAlbaranFacturaLinea);
|
|
}
|
|
//Si el listado de Albaranes Cabecera no esta a nulo se buscan los idPedidoLinea Asociados
|
|
else if (_lst_idAlbaranCabecera != null)
|
|
{
|
|
_lst_idPedidoLinea = obj_VTA_AlbaranesFacturasLineas_Datos.Obtener_IdsPedidoLinea_PorListado_Albaran(_lst_idAlbaranCabecera);
|
|
}
|
|
//Si el listado de Facturas Cabecera no esta a nulo se buscan los idPedidoLinea Asociados
|
|
else if (_lst_idFacturaCabecera != null)
|
|
{
|
|
_lst_idPedidoLinea = obj_VTA_AlbaranesFacturasLineas_Datos.Obtener_IdsPedidoLinea_PorListado_Factura(_lst_idFacturaCabecera);
|
|
}
|
|
|
|
if (_lst_idPedidoLinea != null && _lst_idPedidoLinea.Count > 0)
|
|
{
|
|
//## 1º--> Listado de VTA_PedidosCabecera a Verificar
|
|
List<VTA_PedidosCabecera> lst_VTA_PedidosCabecera = obj_VTA_PedidosCabecera_Datos.Obtener_ModeloListado_Por_PedidosLineas(_lst_idPedidoLinea);
|
|
|
|
if (lst_VTA_PedidosCabecera != null &&
|
|
lst_VTA_PedidosCabecera.Count > 0)
|
|
{
|
|
//RECORRER VTA_PedidosCabecera
|
|
foreach (VTA_PedidosCabecera mdl_VTA_PedidosCabecera in lst_VTA_PedidosCabecera)
|
|
{
|
|
//Inicializamos para saber la situacion de todas las filas
|
|
List<int> lst_Situacion_Filas = new List<int>();
|
|
|
|
if (mdl_VTA_PedidosCabecera.VTA_PedidosLineas != null &&
|
|
mdl_VTA_PedidosCabecera.VTA_PedidosLineas.Count > 0)
|
|
{
|
|
//RECORRER VTA_PedidosLineas
|
|
foreach (VTA_PedidosLineas mdl_VTA_PedidosLineas in mdl_VTA_PedidosCabecera.VTA_PedidosLineas.Where(m => m.fechaBorrado == null).ToList())
|
|
{
|
|
|
|
//## 2º--> OBTENEMOS LOS REGISTROS YA CALCULADOS DONDE SE HA RELACIONADO YA LA LINEA DE PEDIDO DE VENTA
|
|
List<INTERNO_Calculos_CantidadesRestantes> lst_INTERNO_Calculos_CantidadesRestantes = obj_VTA_AlbaranesFacturasLineas_Datos.Obtener_Calculos_Para_CantidadesRestantes(mdl_VTA_PedidosLineas.id);
|
|
|
|
//## 3º--> PASAMOS LAS CANTIDADES DE TODAS LAS LINEAS QUE HAYAN A EMBALAJE PRINCIPAL
|
|
if (lst_INTERNO_Calculos_CantidadesRestantes != null &&
|
|
lst_INTERNO_Calculos_CantidadesRestantes.Count > 0)
|
|
{
|
|
//## 4º--> RECORRER CADA CALCULO PARA PASARLO AL EMBALAJE PRINCIPAL LOS CALCULOS ################################################################################################
|
|
decimal dcm_Cantidad_CALCULADOS = 0;
|
|
foreach (INTERNO_Calculos_CantidadesRestantes mdl_INTERNO_Calculos_CantidadesRestantes in lst_INTERNO_Calculos_CantidadesRestantes)
|
|
{
|
|
if (mdl_INTERNO_Calculos_CantidadesRestantes.Cantidad != 0m)
|
|
{
|
|
dcm_Cantidad_CALCULADOS += Calculos_FuncionesGenerales.Calcular_Cantidad_SegunEmbalajes(mdl_INTERNO_Calculos_CantidadesRestantes.Embalaje_id,
|
|
mdl_INTERNO_Calculos_CantidadesRestantes.Embalaje_Operacion,
|
|
mdl_INTERNO_Calculos_CantidadesRestantes.Embalaje_Relacion,
|
|
mdl_INTERNO_Calculos_CantidadesRestantes.Cantidad,
|
|
mdl_INTERNO_Calculos_CantidadesRestantes.EmbalajePrincipal_idEmbalaje,
|
|
true
|
|
);
|
|
}
|
|
}
|
|
|
|
decimal dcm_Porcentaje_Cancelacion = 0m;
|
|
if (mdl_VTA_PedidosLineas.MAE_Articulos != null)
|
|
{
|
|
dcm_Porcentaje_Cancelacion = mdl_VTA_PedidosLineas.MAE_Articulos.porcentajeCancelacion_Ventas != null ? mdl_VTA_PedidosLineas.MAE_Articulos.porcentajeCancelacion_Ventas.Value : 0m;
|
|
}
|
|
|
|
//COMPROBAR SI EL CALCULO ESTA HECHO EN EL EMBALAJE PRINCIPAL
|
|
decimal dcm_Cantidad_Principal_PEDIDOLINEA = Calculos_FuncionesGenerales.Calcular_Cantidad_SegunEmbalajes(mdl_VTA_PedidosLineas.idEmbalaje,
|
|
mdl_VTA_PedidosLineas.operacion,
|
|
mdl_VTA_PedidosLineas.relacion,
|
|
mdl_VTA_PedidosLineas.cantidad,
|
|
mdl_VTA_PedidosLineas.embalajePrincipalDelArticulo_idEmbalaje,
|
|
true
|
|
);
|
|
|
|
//CANTIDAD ####################################################################################################
|
|
decimal dcm_Cantidad_Principal_RESULTADO = dcm_Cantidad_Principal_PEDIDOLINEA - dcm_Cantidad_CALCULADOS;
|
|
|
|
//Si la cantidad que queda por servir es mayor o igual que el porcentaje de cancelacion , esta servida
|
|
if (dcm_Porcentaje_Cancelacion != 0m && dcm_Cantidad_Principal_RESULTADO >= Funciones.RedondearDecimal(dcm_Cantidad_Principal_PEDIDOLINEA * (dcm_Porcentaje_Cancelacion / 100), 3))
|
|
{
|
|
//Servida
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_SERVIDO.Codigo));
|
|
}
|
|
//Negativo
|
|
else if (dcm_Cantidad_Principal_PEDIDOLINEA < 0 && dcm_Cantidad_Principal_RESULTADO >= 0m)
|
|
{
|
|
//Servida
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_SERVIDO.Codigo));
|
|
}
|
|
//Positivo
|
|
else if (dcm_Cantidad_Principal_RESULTADO <= 0)
|
|
{
|
|
//Servida
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_SERVIDO.Codigo));
|
|
}
|
|
//Parte Pendiente
|
|
else if (dcm_Cantidad_CALCULADOS > 0)
|
|
{
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PARTEPENDIENTE.Codigo));
|
|
}
|
|
//Pendiente
|
|
else
|
|
{
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PENDIENTE.Codigo));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Pendiente
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PENDIENTE.Codigo));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Pendiente
|
|
lst_Situacion_Filas.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PENDIENTE.Codigo));
|
|
}
|
|
|
|
//Situacion Final del Pedido
|
|
//Si tiene algun registro como parte pendiente, se ponen como parte pediente
|
|
if (lst_Situacion_Filas.Where(m => m.Equals(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PARTEPENDIENTE.Codigo))).Count() > 0)
|
|
{
|
|
obj_VTA_PedidosCabecera_Datos.Actualizar_Situacion(mdl_VTA_PedidosCabecera.id, int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PARTEPENDIENTE.Codigo));
|
|
}
|
|
//Si todos los registros estan como servido, se ponen como servido
|
|
else if (lst_Situacion_Filas.Where(m => !m.Equals(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_SERVIDO.Codigo))).Count() == 0)
|
|
{
|
|
obj_VTA_PedidosCabecera_Datos.Actualizar_Situacion(mdl_VTA_PedidosCabecera.id, int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_SERVIDO.Codigo));
|
|
}
|
|
//Si todos los registros estan como pendiente, se ponen como pendiente
|
|
else if (lst_Situacion_Filas.Where(m => !m.Equals(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PENDIENTE.Codigo))).Count() == 0)
|
|
{
|
|
obj_VTA_PedidosCabecera_Datos.Actualizar_Situacion(mdl_VTA_PedidosCabecera.id, int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PENDIENTE.Codigo));
|
|
}
|
|
//Sino se pone como parte pendiente
|
|
else
|
|
{
|
|
obj_VTA_PedidosCabecera_Datos.Actualizar_Situacion(mdl_VTA_PedidosCabecera.id, int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOVENTA_PARTEPENDIENTE.Codigo));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
|
|
mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_ERROR_GRABAR();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Control_Errores.Errores_Log("", ex, nameof(Funciones_Ventas) + "/" + nameof(Recalcular_Situacion_Pedidos_AlbaranFactura));
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
|
|
mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_ERROR_GRABAR();
|
|
}
|
|
|
|
return mdl_INTERNO_ValorDevuelto_Modelo;
|
|
}
|
|
|
|
public static INTERNO_ValorDevuelto_Modelo Recalcular_Resumen_Albaranes(long _lng_idAlbaranCabecera)
|
|
{
|
|
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;
|
|
|
|
try
|
|
{
|
|
List<VTA_AlbaranesCabecera_Resumen> lst_VTA_AlbaranesCabecera_Resumen = new List<VTA_AlbaranesCabecera_Resumen>();
|
|
|
|
//## 0º--> BUSCAR EL ALBARAN
|
|
VTA_AlbaranesCabecera_Datos obj_VTA_AlbaranesCabecera_Datos = new VTA_AlbaranesCabecera_Datos();
|
|
INTERNO_VTA_AlbaranesCabecera_Modelo mdl_INTERNO_VTA_AlbaranesCabecera_Modelo = obj_VTA_AlbaranesCabecera_Datos.Obtener_Por_AlbaranCabecera_Simple(_lng_idAlbaranCabecera);
|
|
|
|
//## 1º--> BUSCAR EL IMPUESTOSCABECERA
|
|
GEN_ImpuestosCabecera mdl_GEN_ImpuestosCabecera = Datos_Generales.GEN_ImpuestosCabecera_Obtener_Modelo_Por_Id(mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.idImpuestoCabecera);
|
|
|
|
//## 2º--> OBTENER EL LISTADO DE GEN_IMPUESTOSTIPOS QUE HAY
|
|
List<INTERNO_GEN_ImpuestosTipos_Listado_Modelo> lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo = Datos_Generales.GEN_ImpuestosTipos_Obtener_Listado();
|
|
if (lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo != null)
|
|
{
|
|
// ## 3º--> CONVERTIR LISTADO DE LINEAS EN LISTADO DEL MODELO INTERNO_VentasComprasCalculoLineas_Modelo ####################################
|
|
List<INTERNO_VentasCompras_Calculo_Lineas_Modelo> lst_INTERNO_VentasCompras_Calculo_Lineas_Modelo = new List<INTERNO_VentasCompras_Calculo_Lineas_Modelo>();
|
|
VTA_AlbaranesFacturasLineas mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION = null;
|
|
// ## 3º--> CONVERTIR LISTADO DE LINEAS EN LISTADO DEL MODELO INTERNO_VentasCompras_Calculo_Lineas_Modelo ####################################
|
|
if (mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.VTA_AlbaranesFacturasLineas != null)
|
|
{
|
|
foreach (VTA_AlbaranesFacturasLineas mdl_VTA_AlbaranesFacturasLineas in mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.VTA_AlbaranesFacturasLineas.Where(m => m.idAlbaranFacturaLinea_Padre == null))
|
|
{
|
|
//LINEA PRINCIPAL
|
|
lst_INTERNO_VentasCompras_Calculo_Lineas_Modelo.Add(new INTERNO_VentasCompras_Calculo_Lineas_Modelo((mdl_VTA_AlbaranesFacturasLineas.idArticulo != null ? mdl_VTA_AlbaranesFacturasLineas.idArticulo.Value : -1),
|
|
(mdl_VTA_AlbaranesFacturasLineas.idArticuloComodin != null ? mdl_VTA_AlbaranesFacturasLineas.idArticuloComodin.Value : -1),
|
|
(mdl_VTA_AlbaranesFacturasLineas.idArticuloComodin != null ? true : false),
|
|
mdl_VTA_AlbaranesFacturasLineas.idImpuestoTipo,
|
|
(mdl_VTA_AlbaranesFacturasLineas.importe != null ? mdl_VTA_AlbaranesFacturasLineas.importe.Value : 0m)));
|
|
|
|
|
|
|
|
//LINEA EN PROMOCION
|
|
if (mdl_VTA_AlbaranesFacturasLineas.VTA_AlbaranesFacturasLineas1 != null &&
|
|
mdl_VTA_AlbaranesFacturasLineas.VTA_AlbaranesFacturasLineas1.Count > 0)
|
|
{
|
|
mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION = mdl_VTA_AlbaranesFacturasLineas.VTA_AlbaranesFacturasLineas1.FirstOrDefault();
|
|
|
|
lst_INTERNO_VentasCompras_Calculo_Lineas_Modelo.Add(new INTERNO_VentasCompras_Calculo_Lineas_Modelo((mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.idArticulo != null ? mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.idArticulo.Value : -1),
|
|
(mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.idArticuloComodin != null ? mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.idArticuloComodin.Value : -1),
|
|
(mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.idArticuloComodin != null ? true : false),
|
|
mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.idImpuestoTipo,
|
|
(mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.importe != null ? mdl_VTA_AlbaranesFacturasLineas_ENPROMOCION.importe.Value : 0m)));
|
|
}
|
|
}
|
|
}
|
|
|
|
// ## 4º--> CALCULAR LOS IMPORTE E IMPUESTOS ################################################################################################
|
|
VentasCompras_Impuestos_Calculos obj_VentasCompras_Impuestos_Calculos = new VentasCompras_Impuestos_Calculos(Variables.G_INT_TIPOCLIENTEPROVEEDOR_CLIENTE_CODIGO,
|
|
mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.idCliente.Value,
|
|
mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.fecha,
|
|
mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.idEmpresa);
|
|
|
|
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo_CALCULO_IMPORTEIMPUESTOS_TOTALES = obj_VentasCompras_Impuestos_Calculos.Calcular_ImportesImpuestos(mdl_GEN_ImpuestosCabecera,
|
|
lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo,
|
|
0m,
|
|
0m,
|
|
mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.descuentoFinalAlbaran,
|
|
lst_INTERNO_VentasCompras_Calculo_Lineas_Modelo,
|
|
null,
|
|
(mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.recargo != null ? mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.recargo.Value : false));
|
|
// ## 5º--> CONVERTIR A EL MODELO 'VTA_AlbaranesCabecera_Resumen'
|
|
if (mdl_INTERNO_ValorDevuelto_Modelo_CALCULO_IMPORTEIMPUESTOS_TOTALES.TodoCorrecto)
|
|
{
|
|
List<INTERNO_ImportesImpuestos_Modelo> lst_INTERNO_ImportesImpuestos_Modelo_FINAL = (List<INTERNO_ImportesImpuestos_Modelo>)mdl_INTERNO_ValorDevuelto_Modelo_CALCULO_IMPORTEIMPUESTOS_TOTALES.Objeto;
|
|
INTERNO_ImportesImpuestos_Modelo mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES=(INTERNO_ImportesImpuestos_Modelo) mdl_INTERNO_ValorDevuelto_Modelo_CALCULO_IMPORTEIMPUESTOS_TOTALES.Objeto_Auxiliar_1;
|
|
|
|
if (lst_INTERNO_ImportesImpuestos_Modelo_FINAL != null &&
|
|
lst_INTERNO_ImportesImpuestos_Modelo_FINAL.Count > 0)
|
|
{
|
|
VTA_AlbaranesCabecera_Resumen_Datos obj_VTA_AlbaranesCabecera_Resumen_Datos = new VTA_AlbaranesCabecera_Resumen_Datos();
|
|
obj_VTA_AlbaranesCabecera_Resumen_Datos.Insertar(lst_INTERNO_ImportesImpuestos_Modelo_FINAL, mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.id);
|
|
|
|
//Actualiazr Totales
|
|
obj_VTA_AlbaranesCabecera_Datos.Actualizar_Totales(mdl_INTERNO_VTA_AlbaranesCabecera_Modelo.id,
|
|
(mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES != null ? mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES.Bruto : 0),
|
|
(mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES != null ? mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES.BaseImponible : 0),
|
|
(mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES != null ? mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES.Impuesto_Calculado : 0),
|
|
(mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES != null ? mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES.Recargo_Calculado : 0),
|
|
(mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES != null ? mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES.DescuentoAlbaranFinal_Calculado : 0),
|
|
(mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES != null ? mdl_INTERNO_ImportesImpuestos_Modelo_TOTALES.Total : 0));
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
throw new Control_Errores("", null, nameof(Funciones_Ventas) + "/" + nameof(Recalcular_Resumen_Albaranes), true);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Control_Errores("", null, nameof(Funciones_Ventas) + "/" + nameof(Recalcular_Resumen_Albaranes), true);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Control_Errores("", null, nameof(Funciones_Ventas) + "/" + nameof(Recalcular_Resumen_Albaranes), true);
|
|
}
|
|
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
catch (Exception ex)
|
|
{
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
|
|
Control_Errores.Errores_Log("", ex, nameof(Funciones_Ventas) + "/" + nameof(Recalcular_Resumen_Albaranes));
|
|
}
|
|
|
|
|
|
return mdl_INTERNO_ValorDevuelto_Modelo;
|
|
}
|
|
|
|
#region Generar pdf e Imprimir Vencimiento y cartas
|
|
public static INTERNO_ValorDevuelto_Modelo GenerarPDFImprimir_Informe_Vencimiento_Y_Cartas(BackgroundWorker _obj_TareaAsincrona_ParaProgress,
|
|
string _str_Opcion,
|
|
INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo,
|
|
List<long> _lst_idVencimientos,
|
|
bool _bol_Imprimir,
|
|
string _str_PartesDeLaImpresion)
|
|
{
|
|
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;
|
|
|
|
try
|
|
{
|
|
VTA_Vencimientos_Datos obj_VTA_Vencimientos_Datos = new VTA_Vencimientos_Datos();
|
|
|
|
|
|
List<INTERNO_Informes_Vencimiento_Modelo> lst_INTERNO_Informes_Vencimiento_Modelo = null;
|
|
//VENCIMIENTO_AUX_1
|
|
if (_str_Opcion.Equals(Variables.G_STR_OPCION_VTA_VENCIMIENTO_AUX_1))
|
|
{
|
|
lst_INTERNO_Informes_Vencimiento_Modelo = obj_VTA_Vencimientos_Datos.Obtener_Para_Informes_Por_Vencimientos(_lst_idVencimientos);
|
|
}
|
|
//COBRO_AUX_1
|
|
else if (_str_Opcion.Equals(Variables.G_STR_OPCION_VTA_COBRO_AUX_1))
|
|
{
|
|
lst_INTERNO_Informes_Vencimiento_Modelo = obj_VTA_Vencimientos_Datos.Obtener_Para_Informes_Por_Cobros(_lst_idVencimientos);
|
|
}
|
|
//#########################################################################################
|
|
|
|
if (lst_INTERNO_Informes_Vencimiento_Modelo != null && lst_INTERNO_Informes_Vencimiento_Modelo.Count > 0)
|
|
{
|
|
int int_NumeroPosicion = 0;
|
|
|
|
//Cambio de Titulo
|
|
_obj_TareaAsincrona_ParaProgress.ReportProgress(0, Mensajes.G_STR_ESPERANDO_GENERANDOPDF());
|
|
|
|
//Actualizar el Progress TOTAL ..........
|
|
_obj_TareaAsincrona_ParaProgress.ReportProgress(lst_INTERNO_Informes_Vencimiento_Modelo.Count, "1");
|
|
//.......................................
|
|
|
|
//Listado de Impresoras
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_1 = Activator.CreateInstance(m_type_1);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_1 = { Variables.G_MDL_INFORMES_MANDATO.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_2 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_2 = m_assembly_2.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_2 = Activator.CreateInstance(m_type_2);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_2 = obj_Clase_2.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_2 = { Variables.G_MDL_INFORMES_CARTABAJACONDOMICILIACION.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJACONDOMICILIACION = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_2.Invoke(obj_Clase_2, arr_Parametros_2);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_3 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_3 = m_assembly_3.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_3 = Activator.CreateInstance(m_type_3);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_3 = obj_Clase_3.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_3 = { Variables.G_MDL_INFORMES_CARTABAJASINDOMICILIACION.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJASINDOMICILIACION = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_3.Invoke(obj_Clase_3, arr_Parametros_3);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_4 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_4 = m_assembly_4.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_4 = Activator.CreateInstance(m_type_4);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_4 = obj_Clase_4.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_4 = { Variables.G_MDL_INFORMES_CARTAINFORMACIONCUENTA.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_4.Invoke(obj_Clase_4, arr_Parametros_4);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_5 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_5 = m_assembly_5.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_5 = Activator.CreateInstance(m_type_5);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_5 = obj_Clase_5.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_5 = { Variables.G_MDL_INFORMES_CARTAINICIAL.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINICIAL = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_5.Invoke(obj_Clase_5, arr_Parametros_5);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_6 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_6 = m_assembly_6.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_6 = Activator.CreateInstance(m_type_6);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_6 = obj_Clase_6.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_6 = { Variables.G_MDL_INFORMES_CARTAPERMANENCIA.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAPERMANENCIA = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_6.Invoke(obj_Clase_6, arr_Parametros_6);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_7 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_7 = m_assembly_7.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_7 = Activator.CreateInstance(m_type_7);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_7 = obj_Clase_7.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_7 = { Variables.G_MDL_INFORMES_CARTANOTIFICACIONTASAANUAL.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_7.Invoke(obj_Clase_7, arr_Parametros_7);
|
|
//##################################################################################################################################################################################################
|
|
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_8 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_8 = m_assembly_8.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_8 = Activator.CreateInstance(m_type_8);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_8 = obj_Clase_8.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERIMPRESORAS_POR_INFORMETIPO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_8 = { Variables.G_MDL_INFORMES_VENCIMIENTO.Codigo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
List<INTERNO_Impresoras_DocumentoLocal_Modelo> lst_INTERNO_Impresoras_DocumentoLocal_Modelo_VENCIMIENTO = (List<INTERNO_Impresoras_DocumentoLocal_Modelo>)obj_MethodInfo_8.Invoke(obj_Clase_8, arr_Parametros_8);
|
|
//##################################################################################################################################################################################################
|
|
|
|
INTERNO_Informes_Acreedor_Modelo mdl_INTERNO_Informes_Acreedor_Modelo = null;
|
|
|
|
foreach (INTERNO_Informes_Vencimiento_Modelo mdl_INTERNO_Informes_Vencimiento_Modelo in lst_INTERNO_Informes_Vencimiento_Modelo)
|
|
{
|
|
mdl_INTERNO_Informes_Acreedor_Modelo = Datos_Generales.GEN_Empresas_Rellenar_Acreedor(_mdl_INTERNO_ValoresGenerales_Modelo.lng_idEmpresa, Variables.G_STR_ACREEDOR_REFERENCIAORDEN_TASASZEC);
|
|
|
|
//VENCIMIENTOS #######################################################################################################################
|
|
//Cambio de Titulo
|
|
_obj_TareaAsincrona_ParaProgress.ReportProgress(0, Mensajes.G_STR_ESPERANDO_GENERANDOPDF());
|
|
|
|
//Crear el PDF
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_9 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_9 = m_assembly_9.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_9 = Activator.CreateInstance(m_type_9);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_9 = obj_Clase_9.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_CREARPDF_VENCIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_9 = { mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_9.Invoke(obj_Clase_9, arr_Parametros_9);
|
|
//##################################################################################################################################################################################################
|
|
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
Thread.Sleep(50);
|
|
|
|
if (_bol_Imprimir && (_str_PartesDeLaImpresion.Equals("0") || _str_PartesDeLaImpresion.Equals("1")))
|
|
{
|
|
//Imprime el pdf en Impresora Predeterminada
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_VENCIMIENTO != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_VENCIMIENTO.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_20 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_20 = m_assembly_20.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_20 = Activator.CreateInstance(m_type_20);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_20 = obj_Clase_20.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_VENCIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_20 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_VENCIMIENTO, mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_20.Invoke(obj_Clase_20, arr_Parametros_20);
|
|
//##################################################################################################################################################################################################
|
|
}
|
|
}
|
|
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Si tiene sancion no imprimie cartas
|
|
if (mdl_INTERNO_Informes_Vencimiento_Modelo.Vencimiento_Sancion == null || mdl_INTERNO_Informes_Vencimiento_Modelo.Vencimiento_Sancion.Value == false)
|
|
{
|
|
|
|
//CARTAS ################################################################################################################################
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_10 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_10 = m_assembly_10.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_10 = Activator.CreateInstance(m_type_10);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_10 = obj_Clase_10.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_CREARPDF_CARTAS, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_10 = { mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_10.Invoke(obj_Clase_10, arr_Parametros_10);
|
|
//##################################################################################################################################################################################################
|
|
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
Thread.Sleep(50);
|
|
|
|
//imprimir Tasa Anual por Separado
|
|
if (mdl_INTERNO_Informes_Vencimiento_Modelo.Tipo_Inicial_Permanencia_Baja != 0 && mdl_INTERNO_Informes_Vencimiento_Modelo.Tipo_Inicial_Permanencia_Baja == 3)
|
|
{
|
|
//TASA ANUAL ################################################################################################################################
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_11 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_11 = m_assembly_11.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_11 = Activator.CreateInstance(m_type_11);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_11 = obj_Clase_11.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_CREARPDF_CARTANOTIFICACIONESTASAANUAL, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_11 = { mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_11.Invoke(obj_Clase_11, arr_Parametros_11);
|
|
//##################################################################################################################################################################################################
|
|
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
Thread.Sleep(50);
|
|
}
|
|
|
|
if (_bol_Imprimir && (_str_PartesDeLaImpresion.Equals("0") || _str_PartesDeLaImpresion.Equals("2")))
|
|
{
|
|
//Ver si esta dado de baja en el ejercicioactual
|
|
if (mdl_INTERNO_Informes_Vencimiento_Modelo.Tipo_Inicial_Permanencia_Baja == 2)
|
|
{
|
|
//Con Domiciliacion
|
|
if (mdl_INTERNO_Informes_Vencimiento_Modelo.Entidad_IBAN != null && mdl_INTERNO_Informes_Vencimiento_Modelo.Entidad_IBAN.Trim().Length > 0)
|
|
{
|
|
//Carta Baja con Domiciliacion
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJACONDOMICILIACION != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJACONDOMICILIACION.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_21 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_21 = m_assembly_21.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_21 = Activator.CreateInstance(m_type_21);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_21 = obj_Clase_21.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTABAJACONDOMICILIACION, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_21 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJACONDOMICILIACION, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_21.Invoke(obj_Clase_21, arr_Parametros_21);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
}
|
|
//Sin Domiciliacion
|
|
else
|
|
{
|
|
//Carta Baja sin Domiciliacion
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJASINDOMICILIACION != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJASINDOMICILIACION.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_22 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_22 = m_assembly_22.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_22 = Activator.CreateInstance(m_type_22);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_22 = obj_Clase_22.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTABAJASINDOMICILIACION, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_22 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTABAJASINDOMICILIACION, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_22.Invoke(obj_Clase_22, arr_Parametros_22);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
}
|
|
}
|
|
//Es la primera permanencia
|
|
else if (mdl_INTERNO_Informes_Vencimiento_Modelo.Tipo_Inicial_Permanencia_Baja == 3)
|
|
{
|
|
//Con Domiciliacion
|
|
if (mdl_INTERNO_Informes_Vencimiento_Modelo.Entidad_IBAN != null && mdl_INTERNO_Informes_Vencimiento_Modelo.Entidad_IBAN.Trim().Length > 0)
|
|
{
|
|
//Mandato
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_23 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_23 = m_assembly_23.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_23 = Activator.CreateInstance(m_type_23);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_23 = obj_Clase_23.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_MANDATOCORE, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_23 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS, mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_23.Invoke(obj_Clase_23, arr_Parametros_23);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Carta Informacion Cuenta
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_24 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_24 = m_assembly_24.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_24 = Activator.CreateInstance(m_type_24);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_24 = obj_Clase_24.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTAINFORMACIONCARGOCUENTA, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_24 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_24.Invoke(obj_Clase_24, arr_Parametros_24);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Carta Notificacion Tasa Anual
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_25 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_25 = m_assembly_25.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_25 = Activator.CreateInstance(m_type_25);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_25 = obj_Clase_25.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTANOTIFICACIONTASAANUAL, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_25 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_25.Invoke(obj_Clase_25, arr_Parametros_25);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
}
|
|
//Sin Domiciliacion
|
|
else
|
|
{
|
|
//Mandato
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_26 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_26 = m_assembly_26.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_26 = Activator.CreateInstance(m_type_26);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_26 = obj_Clase_26.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_MANDATOCORE, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_26 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS, mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_26.Invoke(obj_Clase_26, arr_Parametros_26);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Carta Inicial
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINICIAL != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINICIAL.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_27 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_27 = m_assembly_27.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_27 = Activator.CreateInstance(m_type_27);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_27 = obj_Clase_27.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTAINICIAL, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_27 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINICIAL, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_27.Invoke(obj_Clase_27, arr_Parametros_27);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Carta Notificacion Tasa Anual
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_27 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_27 = m_assembly_27.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_27 = Activator.CreateInstance(m_type_27);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_27 = obj_Clase_27.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTANOTIFICACIONTASAANUAL, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_27 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTANOTIFICACIONTASAANUAL, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_27.Invoke(obj_Clase_27, arr_Parametros_27);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
}
|
|
}
|
|
//Es de Permanencia General
|
|
else if (mdl_INTERNO_Informes_Vencimiento_Modelo.Tipo_Inicial_Permanencia_Baja == 1)
|
|
{
|
|
//Con Domiciliacion
|
|
if (mdl_INTERNO_Informes_Vencimiento_Modelo.Entidad_IBAN != null && mdl_INTERNO_Informes_Vencimiento_Modelo.Entidad_IBAN.Trim().Length > 0)
|
|
{
|
|
|
|
//Mandato
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_27 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_27 = m_assembly_27.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_27 = Activator.CreateInstance(m_type_27);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_27 = obj_Clase_27.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_MANDATOCORE, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_27 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS, mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_27.Invoke(obj_Clase_27, arr_Parametros_27);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Carta Informacion Cuenta
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_27 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_27 = m_assembly_27.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_27 = Activator.CreateInstance(m_type_27);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_27 = obj_Clase_27.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTAINFORMACIONCARGOCUENTA, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_27 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAINFORMACIONCUENTA, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_27.Invoke(obj_Clase_27, arr_Parametros_27);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
}
|
|
//Sin Domiciliacion
|
|
else
|
|
{
|
|
//Mandato
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_27 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_27 = m_assembly_27.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_27 = Activator.CreateInstance(m_type_27);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_27 = obj_Clase_27.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_MANDATOCORE, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_27 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_MANDATOS, mdl_INTERNO_Informes_Vencimiento_Modelo, mdl_INTERNO_Informes_Acreedor_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_27.Invoke(obj_Clase_27, arr_Parametros_27);
|
|
//##################################################################################################################################################################################################
|
|
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
//Carta Inicial
|
|
if (lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAPERMANENCIA != null && lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAPERMANENCIA.Count > 0)
|
|
{
|
|
//Cargamos el ensamblado #########################################################################################################################################################################
|
|
Assembly m_assembly_27 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type_27 = m_assembly_27.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES);
|
|
//creamos la instancia
|
|
var obj_Clase_27 = Activator.CreateInstance(m_type_27);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo_27 = obj_Clase_27.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_IMPRIMIRDIRECTAMENTE_CARTAINICIAL, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros_27 = { lst_INTERNO_Impresoras_DocumentoLocal_Modelo_CARTAPERMANENCIA, mdl_INTERNO_Informes_Vencimiento_Modelo };
|
|
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
obj_MethodInfo_27.Invoke(obj_Clase_27, arr_Parametros_27);
|
|
//##################################################################################################################################################################################################
|
|
}
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Application.DoEvents();
|
|
Application.DoEvents();
|
|
|
|
|
|
//Actualizar el Progress PROGRESO ..........
|
|
int_NumeroPosicion += 1;
|
|
_obj_TareaAsincrona_ParaProgress.ReportProgress(int_NumeroPosicion, "2");
|
|
//......................................
|
|
}
|
|
}
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
|
|
mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_IMPRIMIR("");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Control_Errores.Errores_Log("", ex, nameof(Funciones_Ventas) + "/" + nameof(GenerarPDFImprimir_Informe_Vencimiento_Y_Cartas));
|
|
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
|
|
mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_IMPRIMIR("");
|
|
}
|
|
|
|
return mdl_INTERNO_ValorDevuelto_Modelo;
|
|
}
|
|
#endregion
|
|
public static INTERNO_ValorDevuelto_Modelo GenerarFacturaElectronica( VTA_FacturasCabecera factura, string path)
|
|
{
|
|
INTERNO_ValorDevuelto_Modelo res = new INTERNO_ValorDevuelto_Modelo();
|
|
res.TodoCorrecto = true;
|
|
try
|
|
{
|
|
var empresaVendedor=Datos_Generales.GEN_Empresas_Obtener_Modelo_Por_Id(factura.idEmpresa);
|
|
var empresaComprador = Datos_Generales.GEN_Empresas_Obtener_Modelo_Por_Id(factura.MAE_Clientes.idEmpresa);
|
|
|
|
INTERNO_Factura_e_Modelo factura_e = new INTERNO_Factura_e_Modelo();
|
|
|
|
var idEmpresa = new List<long>();
|
|
idEmpresa.Add(factura.idEmpresa);
|
|
var idEmpresacomprador = new List<long>();
|
|
idEmpresa.Add(empresaComprador.id);
|
|
//conseguir direcciones--------------
|
|
var direcliente = Datos_Generales.GEN_Direcciones_Obtener_Modelo_Listado_Por_IdsEmpresaTipoDireccion(idEmpresacomprador, "2", true, true, true, true, true).FirstOrDefault();// factura.MAE_Clientes.GEN_Direcciones.FirstOrDefault(e => int.Parse(e.tipoDireccion) == 2);
|
|
var direEmpresa = Datos_Generales.GEN_Direcciones_Obtener_Modelo_Listado_Por_IdsEmpresaTipoDireccion(idEmpresa, "2", true, true, true, true, true).FirstOrDefault();
|
|
//delegacion
|
|
var delegacion = Datos_Generales.GEN_Delegaciones_Obtener_Modelo_Por_Id(factura.idDelegacion);
|
|
|
|
var albaranes = factura.VTA_AlbaranesFacturasLineas;//lineas factura
|
|
|
|
//rellenar datos
|
|
factura_e.Identificador = factura.MAE_Clientes.cif + factura.numeroFactura + factura.GEN_Delegaciones.codigo;
|
|
factura_e.TotalFactura = factura.total_Final;
|
|
factura_e.TotalPendiente = factura.total_Final;
|
|
|
|
//vendedor--------------------------------------------------------------------------------------------------
|
|
factura_e.Vendedor = new INTERNO_Vendedor_Factura_E_modelo();
|
|
if ('0' >= empresaVendedor.nif[0] && '9' <= empresaVendedor.nif[0])
|
|
factura_e.Vendedor.Tipo = "F";
|
|
else
|
|
factura_e.Vendedor.Tipo = "J";
|
|
|
|
factura_e.Vendedor.IdImpuestos = (direcliente.idPais == direEmpresa.idPais ? "" : direEmpresa.GEN_Paises.codigo_ISO2D) + empresaVendedor.nif;
|
|
factura_e.Vendedor.RazonSocial = empresaVendedor.razonSocial;
|
|
factura_e.Vendedor.NombreComercial = empresaVendedor.descripcion;
|
|
factura_e.Vendedor.Direccion = direEmpresa.nombreVia+", "+direcliente.numeroCasa;
|
|
factura_e.Vendedor.CP = direEmpresa.codigoPostal;
|
|
factura_e.Vendedor.Poblacion = direEmpresa.GEN_Poblaciones.descripcion;
|
|
factura_e.Vendedor.Provincia = direEmpresa.GEN_Provincias.descripcion;
|
|
factura_e.Vendedor.Pais = direEmpresa.GEN_Paises.descripcion;
|
|
factura_e.Vendedor.Tlf = empresaVendedor.telefonoOficina;
|
|
factura_e.Vendedor.Fax = empresaVendedor.telefonoFax;
|
|
factura_e.Vendedor.Web = null;
|
|
factura_e.Vendedor.Email = empresaVendedor.email;
|
|
|
|
//cliente--------------------------------------------------------------------------------------------------
|
|
factura_e.Comprador = new INTERNO_Comprador_Factura_E_modelo();
|
|
if ('0' >= empresaComprador.nif[0] && '9' <= empresaComprador.nif[0])
|
|
factura_e.Comprador.Tipo = "F";
|
|
else
|
|
factura_e.Comprador.Tipo = "J";
|
|
factura_e.Comprador.IdImpuestos = (direcliente.idPais == direEmpresa.idPais ? "" : direcliente.GEN_Paises.codigo_ISO2D) + empresaComprador.nif;
|
|
factura_e.Comprador.RazonSocial = empresaComprador.razonSocial;
|
|
factura_e.Comprador.NombreComercial = empresaComprador.descripcion;
|
|
factura_e.Comprador.Direccion = direcliente.nombreVia + ", " + direcliente.numeroCasa;
|
|
factura_e.Comprador.CP = direcliente.codigoPostal;
|
|
factura_e.Comprador.Poblacion = direcliente.GEN_Poblaciones.descripcion;
|
|
factura_e.Comprador.Provincia = direcliente.GEN_Provincias.descripcion;
|
|
factura_e.Comprador.Pais = direcliente.GEN_Paises.descripcion;
|
|
factura_e.Comprador = null;
|
|
|
|
//datos factura----------------------
|
|
factura_e.NumeroFactura = factura.numeroFactura;
|
|
factura_e.SerieDelegacion = delegacion.codigo;
|
|
factura_e.FacturaOriginal = true;
|
|
//correcciones--------------------
|
|
|
|
factura_e.Fecha = factura.fecha;
|
|
|
|
//exporta---------------------------------------------------------------------------------------------------
|
|
string resul =factura_e.exportarXML(path);
|
|
if(resul!=null)
|
|
{
|
|
res.TodoCorrecto = false;
|
|
Control_Errores.Errores_Log(resul, nameof(Funciones_Ventas) + "/" + nameof(GenerarFacturaElectronica));
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.TodoCorrecto = false;
|
|
Control_Errores.Errores_Log("", ex, nameof(Funciones_Ventas) + "/" + nameof(GenerarFacturaElectronica));
|
|
}
|
|
|
|
|
|
return res;
|
|
}
|
|
}
|
|
}
|