private int? ImprimirNoFiscal(List<LINEA_VENTA> ImprimirLineasEnGrilla) { if (!ImpresoraOK) { MostrarMensajeInformativo("Falla de impresora"); return null; } else { #region IMPRIME DOCUMENTO NO FISCAL var noFiscal = new DocumentoNoFiscalTicket(); noFiscal.DescripcionCabecera1 = "---------------------------"; noFiscal.DescripcionCabecera2 = "-- "; noFiscal.DescripcionCabecera3 = "-- "; noFiscal.DescripcionCabecera4 = "---------------------------"; noFiscal.items = new List<DocumentoNoFiscalTicketItem>(); foreach (LINEA_VENTA LineaEnGrilla in ImprimirLineasEnGrilla) { var item = new DocumentoNoFiscalTicketItem(); item.DescripcionExtra1 = (LineaEnGrilla.LIN_ESTADOPROMO == true) ? "Articulo en PROMOCION" : ""; item.DescripcionExtra2 = ""; item.DescripcionExtra3 = ""; item.DescripcionExtra4 = ""; item.DescripcionItem = (LineaEnGrilla.LIN_DESCRESUMIDA.Length > 27) ? LineaEnGrilla.LIN_DESCRESUMIDA.Substring(0, 27) : LineaEnGrilla.LIN_DESCRESUMIDA.ToString(); item.Cantidad = (LineaEnGrilla.LIN_CANTIDAD * 10000).ToString("#"); item.PrecioUnitario = (LineaEnGrilla.LIN_PRECIOUNIDAD * 10000).ToString("#"); item.TasaIva = (LineaEnGrilla.LIN_TIVA_PORCENTAJE * 100).ToString("#"); item.ImpuestosInternosFijos = "0"; item.CoeficienteImpuestosInternosPuntuales = "0"; noFiscal.items.Add(item); } //DESCUENTO noFiscal.DescuentoDescripcion = "DESCUENTO"; noFiscal.DescuentoMonto = (Convert.ToDecimal(txtDescuento.Text) * 10000).ToString("#"); //PAGO noFiscal.PagoDescripcionExtra = ""; noFiscal.PagoDescripcion = lblFormaPago.Text; noFiscal.SubTotalMonto = txtSubtotal.Text; noFiscal.TotalMonto = txtTotal.Text; //CIERRE noFiscal.DescripcionPie1 = ""; noFiscal.DescripcionPie2 = ""; noFiscal.DescripcionPie3 = ""; var retornoImpresion = frmImpresoraFiscal.DocumentoNoFiscalTicket(noFiscal); if (retornoImpresion < 0) return null; MostrarMensajeInformativo("Se imprimió correctamente el Documento no Fiscal Nº: " + retornoImpresion); #endregion return retornoImpresion; } }
private int? ControlarImprimirEnvase(List<LINEA_VENTA> ImprimirLineasEnGrilla) { //controlo si existen envases if (!ImprimirLineasEnGrilla.Any(x => x.ENV_ID != null)) return null; List<LINEA_VENTA> listaEnvase = new List<LINEA_VENTA>(); decimal subTotal = 0; decimal total = 0; foreach (var item in ImprimirLineasEnGrilla) { if (item.ENV_ID != null) { listaEnvase.Add(item); } } subTotal = listaEnvase.Sum(x => x.LIN_TOTAL); total = subTotal; var comprobante = cTIPO_COMPROBANTES.ObtenerPorDescripcion(Constantes.ValeEnvase); int nroComprobante = (int)comprobante.TIC_ULTIMONUMERO; comprobante.TIC_ULTIMONUMERO = nroComprobante + 1; cTIPO_COMPROBANTES.Modificacion(comprobante); var nroCompEnvase = comprobante.TIC_ULTIMONUMERO; if (!ImpresoraOK) { MostrarMensajeInformativo(string.Format("Por falla de impresora se generó la devolución de envase Nro: {0}", nroCompEnvase)); return nroCompEnvase; } else { #region IMPRIME DOCUMENTO NO FISCAL var noFiscal = new DocumentoNoFiscalTicket(); noFiscal.DescripcionCabecera1 = "---------------------------"; noFiscal.DescripcionCabecera2 = "-- Devolucion de Envases"; noFiscal.DescripcionCabecera3 = string.Format("-- Nro: {0}", TipoComprobante.TIC_ULTIMONUMERO); noFiscal.DescripcionCabecera4 = "---------------------------"; noFiscal.items = new List<DocumentoNoFiscalTicketItem>(); foreach (LINEA_VENTA LineaEnGrilla in listaEnvase) { var item = new DocumentoNoFiscalTicketItem(); item.DescripcionItem = (LineaEnGrilla.LIN_DESCRESUMIDA.Length > 27) ? LineaEnGrilla.LIN_DESCRESUMIDA.Substring(0, 27) : LineaEnGrilla.LIN_DESCRESUMIDA.ToString(); item.Cantidad = LineaEnGrilla.LIN_CANTIDAD.ToString("0.000"); item.PrecioUnitario = LineaEnGrilla.LIN_PRECIOUNIDAD.ToString("0.000"); noFiscal.items.Add(item); } //DESCUENTO noFiscal.DescuentoDescripcion = ""; noFiscal.DescuentoMonto = ""; //PAGO noFiscal.PagoDescripcionExtra = ""; noFiscal.PagoDescripcion = ""; noFiscal.SubTotalMonto = subTotal.ToString("0.000"); noFiscal.TotalMonto = total.ToString("0.000"); //CIERRE noFiscal.DescripcionPie1 = "Para retornar los envases"; noFiscal.DescripcionPie2 = "debe presentar el comprobante."; noFiscal.DescripcionPie3 = ""; var retornoImpresion = frmImpresoraFiscal.DocumentoNoFiscalTicket(noFiscal); if (retornoImpresion < 0) return nroCompEnvase; //MostrarMensajeInformativo("Se imprimió correctamente Nº: " + retornoImpresion); #endregion } return nroCompEnvase; }