/// <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); } }
/// <summary> /// Carga datos del orden de compra /// </summary> private void LoadDetail() { dgDetalleServicio.Items.Clear(); var vrListECMP_OrdenServicioDetalle = new List <ECMP_OrdenServicioDetalle>(); var vrListPeriodoCapania = new List <ECMP_ValueComboBox>(); var varObjECMP_OrdenServicio = (ECMP_OrdenServicio)MyHeader.DataContext; string strOutMessageError = string.Empty; CmpTask.Process( () => { try { vrListECMP_OrdenServicioDetalle = new BCMP_OrdenServicioDetalle().ListAdministrarOrdenServicioDetalle(varObjECMP_OrdenServicio); int Anio = Convert.ToInt32(varObjECMP_OrdenServicio.Periodo.Substring(0, varObjECMP_OrdenServicio.Periodo.Length - 2)); for (int i = Anio - 1; i <= Anio + 1; i++) { vrListPeriodoCapania.Add(new ECMP_ValueComboBox() { Item = i.ToString(), Value = i.ToString() }); } } catch (Exception ex) { strOutMessageError = ex.Message; } }, () => { if (strOutMessageError.Length > 0) { CmpMessageBox.Show(CMPMensajes.TitleAprobacionOrdenServicio, strOutMessageError, CmpButton.Aceptar); } else { var ObjECMP_OrdenServicio = (ECMP_OrdenServicio)MyHeader.DataContext; foreach (var item in vrListECMP_OrdenServicioDetalle) { item.ListPeriodoCampania = vrListPeriodoCapania; if (varObjECMP_OrdenServicio.Exonerado == 12) //INCLUYE IGV { decimal dmlCalculoIGV = (item.PrecioUnitario * varObjECMP_OrdenServicio.IGV); item.PrecioUnitario = decimal.Round(dmlCalculoIGV + item.PrecioUnitario, 8); } LoadTipoDestino(); dgDetalleServicio.Items.Add(item); CalcularTotalesItems(item); } txtGravada.Text = ObjECMP_OrdenServicio.Gravada.ToString("###,###,##0.#0"); txtImporteIGV.Text = ObjECMP_OrdenServicio.ImporteIGV.ToString("###,###,##0.#0"); //factura if (rbIncluidoIGV.IsChecked.Value) { //Calculo con incluir IGV txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada + ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0"); } else if (rbExonerado.IsChecked.Value) { //Calculo cuando es Honorario txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada - ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0"); } else if (chkAplicarRetencion.IsChecked.Value) { //Calculo cuando es Renta de segunda categoria txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada - ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0"); } else { //Calculo sin incluir IGV txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada + ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0"); } } }); }