public async Task <OOB.Resultado.ResultadoLista <OOB.Contable.Asiento.Generar.Ficha> > Asiento_Generar(OOB.Contable.Asiento.Generar.Filtro ficha) { return(await Task.Run <OOB.Resultado.ResultadoLista <OOB.Contable.Asiento.Generar.Ficha> >(() => { OOB.Resultado.ResultadoLista <OOB.Contable.Asiento.Generar.Ficha> rt = new OOB.Resultado.ResultadoLista <OOB.Contable.Asiento.Generar.Ficha>(); try { var filtDTO = new DTO.Contable.Asiento.Generar.Filtros() { Desde = ficha.Desde, Hasta = ficha.Hasta, Modulo = (DTO.Contable.Asiento.Generar.Enumerados.ModuloGenerar)ficha.Modulo, }; if (ficha.Venta != null) { var Venta = new DTO.Contable.Asiento.Generar.FiltroVenta(); Venta.IdSucursal = ficha.Venta.CodSucursal; if (ficha.Venta.TipoDocumento != null) { Venta.TipoDocumento = ficha.Venta.TipoDocumento; } if (ficha.Venta.CondicionPago != null) { Venta.CondicionPago = ficha.Venta.CondicionPago; } if (ficha.Venta.DenominacionFiscal != null) { Venta.DenominacionFiscal = ficha.Venta.DenominacionFiscal; } if (ficha.Venta.SerialFiscal != null) { Venta.SerialFiscal = ficha.Venta.SerialFiscal.Descripcion; } filtDTO.Venta = Venta; } if (ficha.Compra != null) { var Compra = new DTO.Contable.Asiento.Generar.FiltroCompra(); Compra.MesRelacion = ficha.Compra.MesRelacion; Compra.AnoRelacion = ficha.Compra.AnoRelacion; Compra.IdSucursal = ficha.Compra.CodigoSucursal; if (ficha.Compra.TipoDocumento != null) { Compra.TipoDocumento = ficha.Compra.TipoDocumento; } if (ficha.Compra.Proveedor != null) { Compra.IdProveedor = ficha.Compra.Proveedor.Id; } if (ficha.Compra.Concepto != null) { Compra.IdConcepto = ficha.Compra.Concepto.Id; } filtDTO.Compra = Compra; } if (ficha.CxP != null) { var CxP = new DTO.Contable.Asiento.Generar.FiltroCxP(); if (ficha.CxP.TipoDocumento != null) { switch (ficha.CxP.TipoDocumento) { case "PAGO": CxP.TipoDocumento = DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.Pago; break; case "RETENCION IVA": CxP.TipoDocumento = DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.RetencionIva; break; case "RETENCION ISLR": CxP.TipoDocumento = DTO.Contable.Asiento.Generar.Enumerados.TipoDocumento.RetencionIslr; break; } } if (ficha.CxP.Proveedor != null) { CxP.IdProveedor = ficha.CxP.Proveedor.Id; } if (ficha.CxP.Concepto != null) { CxP.IdConcepto = ficha.CxP.Concepto.Id; } filtDTO.CxP = CxP; } if (ficha.Inventario != null) { var Inventario = new DTO.Contable.Asiento.Generar.FiltroInventario(); if (ficha.Inventario.TipoDocumento.HasValue) { Inventario.TipoDocumento = (DTO.Contable.Asiento.Generar.FiltroInventario.EnumTipoDocumento)ficha.Inventario.TipoDocumento.Value; } filtDTO.Inventario = Inventario; } if (ficha.Banco != null) { var Banco = new DTO.Contable.Asiento.Generar.FiltroBanco(); if (ficha.Banco.TipoMovimiento.HasValue) { Banco.TipoMovimiento = (DTO.Bancos.Enumerados.TipMovimiento)ficha.Banco.TipoMovimiento.Value; } filtDTO.Banco = Banco; } var resultDTO = _servicio.Contable_Asiento_Generar(filtDTO); if (resultDTO.Result == DTO.EnumResult.isError) { throw new Exception(resultDTO.Mensaje); } rt.cntRegistro = resultDTO.cntRegistro; rt.Lista = resultDTO.Lista.Select(item => { return new OOB.Contable.Asiento.Generar.Ficha() { Id = item.Id, TipoDoc = (OOB.Contable.Asiento.Generar.Enumerados.TipoDocumento)item.TipoDoc, DocumentoRef = item.DocumentoRef, FechaDoc = item.FechaDoc, DescripcionDoc = item.DescripcionDoc, IsOk = item.IsOk, Incluir = true, Signo = item.Signo, Detalles = item.Detalles.Select((d) => { return new OOB.Contable.Asiento.Generar.FichaDetalle() { IdCta = d.IdCta, CodigoCta = d.CodigoCta, DescripcionCta = d.DescripcionCta, Naturaleza = (OOB.Contable.PlanCta.Enumerados.Naturaleza)d.Naturaleza, MontoDebe = d.MontoDebe, MontoHaber = d.MontoHaber, Renglon = d.Renglon, Signo = item.Signo }; }).ToList() }; }).ToList(); } catch (Exception e) { rt.Mensaje = e.Message; rt.Result = OOB.Resultado.EnumResult.isError; } return rt; })); }
async private void GenerarDoc() { P_PROCESAR.Enabled = false; OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.SinDefinir; switch (CB_MODULO_GENERAR.SelectedIndex) { case 0: modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.Inventario; break; case 1: modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.Ventas; break; case 2: modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.Compras; break; case 4: modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.PorPagar; break; case 3: modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.PorCobrar; break; case 5: modulo = OOB.Contable.Asiento.Generar.Enumerados.ModuloGenerar.Bancos; break; } ; var filt = new OOB.Contable.Asiento.Generar.Filtro() { Desde = DTP_DESDE.Value.Date, Hasta = DTP_HASTA.Value.Date, Modulo = modulo, }; if (filtBanco != null) { var Banco = new OOB.Contable.Asiento.Generar.FiltroBanco(); if (filtBanco.TipoMovimiento != OOB.Bancos.Enumerados.TipMovimiento.SinDefinir) { Banco.TipoMovimiento = filtBanco.TipoMovimiento; } filt.Banco = Banco; } if (filtVenta != null) { var codSucursal = ""; if (filtVenta.Sucursal != null) { codSucursal = filtVenta.Sucursal.Id; } var Venta = new OOB.Contable.Asiento.Generar.FiltroVenta() { CodSucursal = codSucursal, TipoDocumento = filtVenta.TipoDocumento, CondicionPago = filtVenta.CondicionPago, DenominacionFiscal = filtVenta.DenominacionFiscal, SerialFiscal = filtVenta.SerialFiscal, }; filt.Venta = Venta; } if (filtCompra != null) { var mesR = -1; var anoR = -1; var codSucursal = ""; if (filtCompra.MesRelacion != -1) { mesR = filtCompra.MesRelacion + 1; } if (filtCompra.AnoRelacion != -1) { anoR = (2015 + filtCompra.AnoRelacion); } if (filtCompra.Sucursal != null) { codSucursal = filtCompra.Sucursal.Id; } var Compra = new OOB.Contable.Asiento.Generar.FiltroCompra() { TipoDocumento = filtCompra.TipoDocumento, Concepto = filtCompra.Concepto, Proveedor = filtCompra.Proveedor, MesRelacion = mesR, AnoRelacion = anoR, CodigoSucursal = codSucursal, }; filt.Compra = Compra; } else { filt.Compra = new OOB.Contable.Asiento.Generar.FiltroCompra(); } if (filtCxP != null) { var CxP = new OOB.Contable.Asiento.Generar.FiltroCxP() { TipoDocumento = filtCxP.TipoDocumento, Concepto = filtCxP.Concepto, Proveedor = filtCxP.Proveedor }; filt.CxP = CxP; } else { filt.CxP = new OOB.Contable.Asiento.Generar.FiltroCxP(); } if (filtInv != null) { filt.Inventario = new OOB.Contable.Asiento.Generar.FiltroInventario(); if (filtInv.TipoDocumento != null) { switch (filtInv.TipoDocumento.Trim().ToUpper()) { case "DESCARGOS": filt.Inventario.TipoDocumento = OOB.Contable.Asiento.Generar.FiltroInventario.EnumTipoDocumento.Descargo; break; case "AJUSTE POR CARGOS": filt.Inventario.TipoDocumento = OOB.Contable.Asiento.Generar.FiltroInventario.EnumTipoDocumento.AjustePorCargo; break; case "AJUSTE POR DESCARGOS": filt.Inventario.TipoDocumento = OOB.Contable.Asiento.Generar.FiltroInventario.EnumTipoDocumento.AjustePorDescargo; break; case "AJUSTE": filt.Inventario.TipoDocumento = OOB.Contable.Asiento.Generar.FiltroInventario.EnumTipoDocumento.Ajuste; break; case "CARGOS": filt.Inventario.TipoDocumento = OOB.Contable.Asiento.Generar.FiltroInventario.EnumTipoDocumento.Cargo; break; } } } else { filt.Inventario = new OOB.Contable.Asiento.Generar.FiltroInventario(); } progressBar1.Style = ProgressBarStyle.Marquee; var r01 = await Globals.MyData.Asiento_Generar(filt); if (r01.Result == OOB.Resultado.EnumResult.isError) { P_PROCESAR.Enabled = true; progressBar1.Style = ProgressBarStyle.Blocks; Helpers.Msg.Error(r01.Mensaje); return; } progressBar1.Style = ProgressBarStyle.Blocks; if (CB_MODULO_GENERAR.SelectedIndex == 0) { Asientos = new BindingList <OOB.Contable.Asiento.Generar.Ficha>(r01.Lista.OrderBy(d => d.DocumentoRef).ToList()); } if (CB_MODULO_GENERAR.SelectedIndex == 1) { Asientos = new BindingList <OOB.Contable.Asiento.Generar.Ficha>(r01.Lista.OrderBy(d => d.DocumentoRef).ToList()); } if (CB_MODULO_GENERAR.SelectedIndex == 2) { Asientos = new BindingList <OOB.Contable.Asiento.Generar.Ficha>(r01.Lista.OrderBy(d => d.FechaDoc).ToList()); } if (CB_MODULO_GENERAR.SelectedIndex == 3) { Asientos = new BindingList <OOB.Contable.Asiento.Generar.Ficha>(r01.Lista.OrderBy(d => d.FechaDoc).ToList()); } if (CB_MODULO_GENERAR.SelectedIndex == 4) { Asientos = new BindingList <OOB.Contable.Asiento.Generar.Ficha>(r01.Lista.OrderBy(d => d.FechaDoc).ToList()); } if (CB_MODULO_GENERAR.SelectedIndex == 5) { Asientos = new BindingList <OOB.Contable.Asiento.Generar.Ficha>(r01.Lista.OrderBy(d => d.FechaDoc).ToList()); } bs.DataSource = Asientos; DGV.DataSource = bs; AsientosDet = new BindingList <OOB.Contable.Asiento.Generar.FichaDetalle>(); bsDet.DataSource = AsientosDet; DGV_DETALLE.DataSource = bsDet; ActualizarTotales(); tabControl1.SelectedIndex = 1; P_PROCESAR.Enabled = true; }