/// <summary> /// Imprime un reporte orden de Servicio /// </summary> private void ImprimirOrdenServicio(string Estado = "%") { try { var varObjECMP_OrdenServicio = (ECMP_OrdenServicio)MyHeader.DataContext; var vrObjListECMP_OrdenServicioDetalle = new BCMP_OrdenServicioDetalle().ListAdministrarOrdenServicioDetalle(varObjECMP_OrdenServicio); vrObjListECMP_OrdenServicioDetalle.ForEach((x) => { x.Importe = x.Cantidad * x.PrecioUnitario; }); string[] parametro; string direccion = new BALM_Almacen().ListFiltrarAlmacen(varObjECMP_OrdenServicio.ObjESGC_EmpresaSucursal).FirstOrDefault().Direccion; string Monto = Convert.ToDecimal(txtTotal.Text).ToString(); parametro = new string[] { "prmRazonSocial|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.RazonSocial, "prmRuc|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.Ruc, "prmDireccionEmpresa|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.DireccionFiscal, "prmTelefonoEmpresa|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.Telefono, "prmFechaDocumento|" + varObjECMP_OrdenServicio.Fecha.ToShortDateString(), "prmFechaLetra|" + DateTime.Now.ToLongDateString().Split(',').ElementAt(1), "prmNumOrden|" + varObjECMP_OrdenServicio.Serie + " - " + varObjECMP_OrdenServicio.Numero, "prmProveedor|" + varObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.RazonSocial, "prmRucProveedor|" + varObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.NroDocIdentidad, "prmDireccionProv|" + varObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.Direccion, "prmCondicionPago|" + varObjECMP_OrdenServicio.ObjESGC_FormaPago.FormaPago, "prmNetoLetra|" + NumLetras.Convertir(Monto, true, varObjECMP_OrdenServicio.ObjESGC_Moneda.Descripcion), "prmTotal|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + txtGravada.Text, "prmIgv|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + txtImporteIGV.Text, "prmGravadaText|" + lblTitleOrdenServicio02.Text, "prmIgvText|" + lblTitleOrdenServicio03.Text, "prmNetoText|" + strNetoText, "prmNeto|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + txtTotal.Text, "prmSucursal|" + varObjECMP_OrdenServicio.ObjESGC_EmpresaSucursal.Sucursal + " " + txtTotal.Text, "prmDireccionSucursal|" + direccion, "prmFechaFin|" + varObjECMP_OrdenServicio.FechaFin.ToShortDateString(), "prmMoneda|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Descripcion, "prmCreadopor|" + varObjECMP_OrdenServicio.Creacion, "prmAprobadopor|" + SGCVariables.ObjESGC_Usuario.Nombres + " " + SGCVariables.ObjESGC_Usuario.Apellidos, }; //vrObjListECMP_OrdenServicioDetalle.AgregarEnReportViewer(new MainReports(), "CMP.Reports.Files.RptOrdenServicio.rdlc", "dtsOrdenServicioDetalle", parametro); MainRerport ObjMainRerport = new MainRerport(); ObjMainRerport.InitializeMainRerport("CMP.Reports.Files.RptOrdenServicio.rdlc", "dtsOrdenServicioDetalle", vrObjListECMP_OrdenServicioDetalle, parametro); ObjMainRerport.ShowDialog(); } catch (Exception ex) { CmpMessageBox.Show(CMPMensajes.TitleAprobacionOrdenServicio, ex.Message, CmpButton.Aceptar); } }
private void ImprimirOrdenServicio(ECMP_OrdenServicio ObjECMP_OrdenServicio, List <ECMP_OrdenServicioDetalle> ListECMP_OrdenServicioDetalle) { try { ListECMP_OrdenServicioDetalle.ForEach((f) => { if (f.ObjEMNF_Servicio.IdServicio != 0) { decimal dmlPrecioUnitario = 0; if ((f.ObjEMNF_Servicio.ObjEMNF_OperacionIGV.CodOperacionIGV == "GB")) { if (ObjECMP_OrdenServicio.Exonerado == 12) { dmlPrecioUnitario = (f.PrecioUnitario) / ((decimal.Round(ObjECMP_OrdenServicio.IGV * 100, 2) + 100) / 100); } else { dmlPrecioUnitario = f.PrecioUnitario; } } else { dmlPrecioUnitario = f.PrecioUnitario; } f.PrecioUnitario = dmlPrecioUnitario; f.Importe = f.PrecioUnitario * f.Cantidad; } }); string[] parametro; string direccion = new BALM_Almacen().ListFiltrarAlmacen(ObjECMP_OrdenServicio.ObjESGC_EmpresaSucursal).FirstOrDefault().Direccion; var textMostrar = ObjECMP_OrdenServicio.Exonerado; var text = ListECMP_OrdenServicioDetalle.FirstOrDefault().ObjEMNF_Servicio.ObjEMNF_OperacionIGV.CodOperacionIGV; string strIgvText = ((ObjECMP_OrdenServicio.Retencion) ? "Retención " : "IGV ") + String.Format("{0:N2}", decimal.Round((ObjECMP_OrdenServicio.IGV * 100), 2)) + "%"; string Monto = string.Empty; if (ObjECMP_OrdenServicio.Retencion || ObjECMP_OrdenServicio.Exonerado == 21) { Monto = decimal.Round(Convert.ToDecimal(ObjECMP_OrdenServicio.Gravada - ObjECMP_OrdenServicio.ImporteIGV), 2).ToString(); } else { Monto = decimal.Round(Convert.ToDecimal(ObjECMP_OrdenServicio.Gravada + ObjECMP_OrdenServicio.ImporteIGV), 2).ToString(); } parametro = new string[] { "prmRazonSocial|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.RazonSocial, "prmRuc|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.Ruc, "prmDireccionEmpresa|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.DireccionFiscal, "prmTelefonoEmpresa|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.Telefono, "prmFechaDocumento|" + ObjECMP_OrdenServicio.Fecha.ToShortDateString(), "prmFechaLetra|" + DateTime.Now.ToLongDateString().Split(',').ElementAt(1), "prmNumOrden|" + ObjECMP_OrdenServicio.Serie + " - " + ObjECMP_OrdenServicio.Numero, "prmProveedor|" + ObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.RazonSocial, "prmRucProveedor|" + ObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.NroDocIdentidad, "prmDireccionProv|" + ObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.Direccion, "prmCondicionPago|" + ObjECMP_OrdenServicio.ObjESGC_FormaPago.FormaPago, "prmNetoLetra|" + NumLetras.Convertir(Monto, true, ObjECMP_OrdenServicio.ObjESGC_Moneda.Descripcion), "prmTotal|" + ObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + string.Format("{0:N2}", decimal.Round(ObjECMP_OrdenServicio.Gravada, 2)), "prmIgv|" + ObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + string.Format("{0:N2}", decimal.Round(ObjECMP_OrdenServicio.ImporteIGV, 2)), "prmGravadaText|" + ((textMostrar == 21) ? "Total Honorario": (text == "GB") ? ((ObjECMP_OrdenServicio.Retencion) ? "Renta Bruta" : "Gravada") : "Exonerado"), "prmIgvText|" + ((textMostrar == 21) ? ("Retención " + decimal.Round(ObjECMP_OrdenServicio.IGV * 100, 2) + "%"): strIgvText), "prmNetoText|" + ((textMostrar == 21) ? "Total Neto " : ((textMostrar == 11 && ObjECMP_OrdenServicio.Retencion) ? "Renta Neta" : "Importe Total ")), "prmNeto|" + ObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + string.Format("{0:N2}", Convert.ToDecimal(Monto)), "prmSucursal|" + ObjECMP_OrdenServicio.ObjESGC_EmpresaSucursal.Sucursal, "prmDireccionSucursal|" + direccion, "prmFechaFin|" + ObjECMP_OrdenServicio.FechaFin.ToShortDateString(), "prmMoneda|" + ObjECMP_OrdenServicio.ObjESGC_Moneda.Descripcion, "prmCreadopor|" + ObjECMP_OrdenServicio.Creacion, "prmAprobadopor|" + ObjECMP_OrdenServicio.Aprobacion, }; MainRerport ObjMainRerport = new MainRerport(); ObjMainRerport.InitializeMainRerport("CMP.Reports.Files.RptOrdenServicio.rdlc", "dtsOrdenServicioDetalle", ListECMP_OrdenServicioDetalle.ToList(), parametro); ObjMainRerport.ShowDialog(); } catch (Exception ex) { CmpMessageBox.Show(CMPMensajes.TitleAdminOrdenServicio, ex.Message, CmpButton.Aceptar); } }