private void cargar_grilla_actualpacking() { DataTable dt = Dat_Venta.leer_articulopacking_paquete(_liq_id, _paq_id); dg1.ItemsSource = dt.DefaultView; calculartotal(); }
private async void consultar() { Mouse.OverrideCursor = Cursors.Wait; var metroWindow = this; metroWindow.MetroDialogOptions.ColorScheme = MetroDialogOptions.ColorScheme; try { Boolean _tipo = chkactivar.IsChecked.Value; if (_tipo) { if (txtdoc.Text.Length == 0) { await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "Por favor ingrese el numero de documento a consultar", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); Mouse.OverrideCursor = null; txtdoc.Focus(); return; } } DateTime _fechaini = Convert.ToDateTime(dtpdesde.Text); DateTime _fechafin = Convert.ToDateTime(dtphasta.Text); string _doc = txtdoc.Text; dt = Dat_Venta.dt_consulta_pedido(_tipo, _fechaini, _fechafin, _doc); dg1.ItemsSource = dt.DefaultView; } catch (Exception exc) { MessageBox.Show(exc.Message, Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } Mouse.OverrideCursor = null; }
private void cargar_grilla_packing() { DataTable dt = Dat_Venta.leerarticulopaqliq(_liq_id); dg3.ItemsSource = dt.DefaultView; calculartotal(); }
private void dispatcherTimerAQ_Tick(object sender, EventArgs e) { #region <FACTURACION ELECTRONICA> Dat_FE dat_fe = new Dat_FE(); List <Ent_FE> listarFE = dat_fe.get_doc_fe_error(); if (listarFE != null) { foreach (var fila in listarFE) { string cod_hash = ""; string _error = ""; String _url_pdf = ""; Facturacion_Electronica.ejecutar_factura_electronica(fila.tipo, (fila.tipo == "N") ? fila.not_id : fila.numero, ref cod_hash, ref _error, ref _url_pdf); if (_error.Length == 0) { if (fila.tipo == "B") { Dat_Venta.insertar_codigo_hash(fila.numero, cod_hash, "V", _url_pdf); } else { Dat_Venta.insertar_codigo_hash(fila.not_id, cod_hash, "N", _url_pdf); } } else { dat_fe.update_error_FE(_error); } } Bll.Basico._enviar_webservice_xml(); } #endregion }
public void LoadDataInvoiceReport() { DataSet dsLiqInfo = Dat_Venta.getLiquidationHdrInfo(_noLiq); if (dsLiqInfo == null || dsLiqInfo.Tables[0].Rows.Count == 0) { return; } DataSet dsLiqDtl = Dat_Venta.getDtlPicking(_noLiq); if (dsLiqDtl == null || dsLiqDtl.Tables[0].Rows.Count == 0) { return; } DataRow dRow = dsLiqInfo.Tables[0].Rows[0]; foreach (DataRow dRowDtl in dsLiqDtl.Tables[0].Rows) { Integrado.Sistemas.Control.Liquidation objPickReport = new Integrado.Sistemas.Control.Liquidation("", dRow["almacen"].ToString(), dRow["alm_direccion"].ToString(), dRow["Alm_Telefono"].ToString(), "", dRow["Bas_Id"].ToString(), dRow["Bas_Documento"].ToString(), dRow["nombres"].ToString(), dRow["Bas_Direccion"].ToString(), dRow["Bas_Telefono"].ToString(), dRow["Bas_Celular"].ToString(), dRow["Bas_Correo"].ToString(), dRow["ubicacion"].ToString(), dRow["Liq_Id"].ToString(), dRow["estado"].ToString(), dRowDtl["tdv_article"].ToString(), dRowDtl["brv_description"].ToString(), string.Empty, dRowDtl["arv_name"].ToString(), dRowDtl["tdv_size"].ToString(), Convert.ToDecimal(dRowDtl["tdn_qty"]), dRowDtl["stv_descriptions"].ToString(), dRowDtl["po"].ToString(), _empPick, dRowDtl["instrucciones"].ToString(), dRow["lider"].ToString()); _invoiceData.Add(objPickReport); } }
private async void consultar() { Mouse.OverrideCursor = Cursors.Wait; var metroWindow = this; int _pendiente = 1; metroWindow.MetroDialogOptions.ColorScheme = MetroDialogOptions.ColorScheme; txtSecuenciaGuia.Text = Dat_ConfigGuia.guiasecuencia(); try { Boolean _tipo = chkactivar.IsChecked.Value; if (chkPendientes.IsChecked.Value) { _pendiente = 0; } else { _pendiente = 1; } if (_tipo) { if (txtdoc.Text.Length == 0) { await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "Por favor ingrese el numero de documento a consultar", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); Mouse.OverrideCursor = null; txtdoc.Focus(); return; } } DateTime _fechaini = Convert.ToDateTime(dtpdesde.Text); DateTime _fechafin = Convert.ToDateTime(dtphasta.Text); DataTable dt2 = new DataTable(); string _doc = txtdoc.Text; dt = Dat_Venta.dt_VTEX_consulta_pedido_urbano(_tipo, _fechaini, _fechafin, _doc, _pendiente); //DataRow[] foundRows; //foundRows = dt.Select("Ven_DET_GuiUrb_Envio=true"); dg1.ItemsSource = dt.DefaultView; //dg1.ItemsSource = foundRows; lblTotal.Content = "Total: " + dt.Rows.Count + " Reg."; } catch (Exception exc) { MessageBox.Show(exc.Message, Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } Mouse.OverrideCursor = null; }
private void btnbuscar_Click(object sender, RoutedEventArgs e) { Mouse.OverrideCursor = Cursors.Wait; if (chkbarra.IsChecked.Value) { txtarticulo_KeyDown(btnbuscar, new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, (Key.Enter))); } else { dg2.ItemsSource = Dat_Venta.Datos_art_tallaemp(_liq_id, txtarticulo.Text).DefaultView; } Mouse.OverrideCursor = null; }
private void btnToken_Click(object sender, RoutedEventArgs e) { if (valida_guia() != 0) { DataTable dtFlag = new DataTable(); dtFlag = Dat_Venta.valida_token_reimpresion(1, "", txtnumero.Text); //generar clave token para reimprimir if (Convert.ToInt32(dtFlag.Rows[0][0]) == 1) { MessageBox.Show("Se envío una clave token al correo del Administrador.", Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Information); txtToken.Focus(); } } else { MessageBox.Show("El comprobante no es válido para generar una clave token", Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); txtnumero.Focus(); } }
private void dispatcherTimerE_Tick(object sender, EventArgs e) { #region <ACTUALIZAR EL ESTADO DE PRESTASHOP> //UpdaEstado updpresta = new UpdaEstado(); //updpresta.updateestadofac_presta(); #endregion #region <ENVIO DATA URBANO> //EnviaPedido envia = new EnviaPedido(); //envia.sendUrbano(); //envia.send(); #endregion #region <FACTURACION ELECTRONICA> Dat_FE dat_fe = new Dat_FE(); List <Ent_FE> listarFE = dat_fe.get_doc_fe_error(); if (listarFE != null) { foreach (var fila in listarFE) { string cod_hash = ""; string _error = ""; String _url_pdf = ""; Facturacion_Electronica.ejecutar_factura_electronica(fila.tipo, (fila.tipo == "N")? fila.not_id: fila.numero, ref cod_hash, ref _error, ref _url_pdf); if (_error.Length == 0) { if (fila.tipo == "B") { Dat_Venta.insertar_codigo_hash(fila.numero, cod_hash, "V", _url_pdf); } else { Dat_Venta.insertar_codigo_hash(fila.not_id, cod_hash, "N", _url_pdf); } } else { dat_fe.update_error_FE(_error); } } Bll.Basico._enviar_webservice_xml(); } #endregion }
//public static string GenerarTicketFact(string noInv, int varOrigina_Copia, string _codigo_hash) //{ // //string noInv = textBox1.Text; // try // { // //Metodo que realiza la facturación, realiza el empaquetamiento, ingresa los pagos y registra la factura. // string DirRaiz = Directory.GetCurrentDirectory(); // string strFilePath = string.Empty; // int iRecLineChars = 36;//Tamaño o ancho del papel para la impresion, lo inicializo en 50. // //AppSettingsReader lector = new AppSettingsReader(); // ////ConfigurationManager.AppSettings["" // //string d = ""; // //d = (string)lector.GetValue("kdirlogoInvoce",typeof(string)); // //d = ConfigurationManager.ConnectionStrings["kdirlogoInvoce"].ConnectionString; // strFilePath = DirRaiz + Global.kdirlogoInvoce; // string varSerieFactura = Global.kSeriePosBoleta; // string varSerieBoleta = Global.kSeriePosBoleta; // string varConceptoVisaUnica = Global.kPosConcepts_VISA_UNICA; // //ConfigurationManager.AppSettings[ // //ServiceVentas.VentasClient client = new ServiceVentas.VentasClient(); // //ObservableCollection<string> obsCadenaImpresion = new ObservableCollection<string>(); // string[] obsCadenaImpresion; // // string varDocumentTypeID = client.getDocumentTypeID() // //// arma la cadena, // ////ACA ME VOY A wcf EN ADA.bl/facade/controlers/ventas/CONTROLINVOICE.CS // obsCadenaImpresion = getAllInvoice(Global.kCompany, noInv, // string.Empty, "", _myCIintl, iRecLineChars, Global.KCountDecimal, // varSerieFactura, varSerieBoleta, varConceptoVisaUnica, _codigo_hash); // // es para enviar a la ticketera o a la ticketera_Factura // bool strDocumentTypeID = obsCadenaImpresion[0].Contains("R.U.C."); // if (strDocumentTypeID) // { // //ticketera Factura // string varFactura = Global.kPosImpresoraFactura; // _printer = _posprinter.GetReceiptPrinter(varFactura); // prepara la impresora // _posprinter.ConnectToPrinter(_printer); // inicializa cin el getExplorer // iRecLineChars = _printer.RecLineChars;//Tamaño o ancho del papel para la impresion. // } // else // { // //ticketera boleta // string varBoleta = Global.kPosImpresora; // _printer = _posprinter.GetReceiptPrinter(varBoleta); // prepara la impresora // _posprinter.ConnectToPrinter(_printer); // inicializa cin el getExplorer // iRecLineChars = _printer.RecLineChars;//Tamaño o ancho del papel para la impresion. // } // ////ticketera boleta esta al comienzo y solo se enviaba a una Ticketera // //_printer = _posprinter.GetReceiptPrinter(); // prepara la impresora // //_posprinter.ConnectToPrinter(_printer); // inicializa cin el getExplorer // //iRecLineChars = _printer.RecLineChars;//Tamaño o ancho del papel para la impresion. // ///// _posprinter.PrintContent(_printer, obsCadenaImpresion[0].Replace("@@", "")); // manda a imprimir // //// esta es paara q salgan las copias // //_posprinter.PrintContent(_printer, obsCadenaImpresion[0].Replace("@@", "*** COPIA ***")); // manda a imprimir con copia // // si es uno Es tiket Original, si es 0 es Ticket copia // if (varOrigina_Copia == 1) // { // _posprinter.PrintContent(_printer, obsCadenaImpresion[0].Replace("@@", "")); // } // else // { // _posprinter.PrintContent(_printer, obsCadenaImpresion[0].Replace("@@", "*** COPIA ***")); // manda a imprimir con copia // } // ////Duplicado de factura // ////Corto el papel de la primera // _posprinter.DisconnectFromPrinter(_printer); //CIERRA EL EXPLORADOR POS // //_printer.Close(); // //_posprinterFactura.DisconnectFromPrinter(_printerFactura); //CIERRA EL EXPLORADOR POS // return "Correcto"; // } // catch (PosControlException errPosCotrl) // { // //bsyIndicadorPay.IsBusy = false; // //lblMsg.Content = errPosCotrl.Message; // _posprinter.ClearExclusiveAccess(_printer); // return null; // } // catch (PosLibraryException errPosLib) // { // //bsyIndicadorPay.IsBusy = false; // //lblMsg.Content = errPosLib.Message; // _posprinter.ClearExclusiveAccess(_printer); // return null; // } // catch (PosException errPos) // { // // bsyIndicadorPay.IsBusy = false; // //lblMsg.Content = errPos.Message; // _posprinter.ClearExclusiveAccess(_printer); // return null; // } // catch (Exception ex) // { // //bsyIndicadorPay.IsBusy = false; // //lblMsg.Content = ex.Message; // _posprinter.ClearExclusiveAccess(_printer); // return null; // } // finally // { // //bsyIndicadorPay.IsBusy = false; // } //} public static string[] getAllInvoice(string strCompany, string strInvoice, string strLiquidation, string strFile, CultureInfo myCulture , int iRecLineChars, string strDec, string StrSerieFactura, string StrSerieBoleta, string StrConceptoVisaUnica, string _codigo_hash) { //DataSet ds = new DataSet(); //_invoice = new DALInvoice(); //ds = getAllInvoice(strCompany, strInvoice, strLiquidation); //string[] strPrint = new string[2]; DataSet ds = Dat_Venta.leer_venta_tk(strInvoice); string[] strPrint = new string[1]; strPrint[0] = getPosPrinter(ds, strFile, myCulture, iRecLineChars, strDec, "O", StrSerieFactura, StrSerieBoleta, StrConceptoVisaUnica, _codigo_hash); //strPrint[0] = "Impresion aquarella"; _strInvoicePrint = ""; //Limpio cadena de impresion para generar la copia. //strPrint[1] = getPosPrinter(ds, strFile, myCulture, iRecLineChars, strDec,"C");//Original return(strPrint); // devuelve la cadena llena a ImpresionPrueba.axml }
public static void FE_QR(string _tipo_doc, string _num_doc, ref Byte[] img_qr, ref string _error) { string _formato_doc = ""; try { _formato_doc = Dat_Venta._leer_formato_electronico(_tipo_doc, _num_doc, ref _error); GeneratorCdp generatorCdp = new GeneratorCdp(); if (_tipo_doc == "B" || _tipo_doc == "F") { img_qr = generatorCdp.GetImageQrCodeForInvoiceCdp(_formato_doc); } else { img_qr = generatorCdp.GetImageQrCodeForNoteCdp(_formato_doc); } } catch (Exception exc) { _error = exc.Message; } }
public void ImpresionD(string VenId, string TiendaId) { try { _invoiceData = new ArrayList(); _invoiceDataSummary = new ArrayList(); //String varNumGuia = _invHdrVM.updateNumeroGuia(_co, _idv_invoice, _user._usn_pon_pos_id); LoadDataInvoiceReport(VenId, TiendaId); LoadDataInvoiceReport_Summary(); ReportGuiaRem report = new ReportGuiaRem(); report.Database.Tables[0].SetDataSource(_invoiceData); report.Database.Tables[1].SetDataSource(_invoiceDataSummary); //IMPRESION DIRECTA report.PrintToPrinter(1, false, 0, 0); Dat_Venta.valida_token_reimpresion(2, "", ""); //actualiza el flag del ultimo token } catch (Exception ex) { MessageBox.Show("Error en la generacion del reporte, detalle :" + ex.Message.ToString(), Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } }
private async void btneliminar_Click(object sender, RoutedEventArgs e) { if (!(txtarticulo.IsEnabled)) { return; } DataRowView row = (DataRowView)((Button)e.Source).DataContext; string articulo = (string)row["Art_Id"].ToString(); string marca = (string)row["Mar_Descripcion"].ToString(); string talla = (string)row["Liq_Det_TalId"].ToString(); var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Si", NegativeButtonText = "No", //FirstAuxiliaryButtonText = "Cancelar", ColorScheme = MetroDialogOptions.ColorScheme, }; MessageDialogResult result = await this.ShowMessageAsync(Ent_Msg.msginfomacion, "¿Realmente desea eliminar el artículo : " + articulo + " en marca : " + marca + "?", MessageDialogStyle.AffirmativeAndNegative, mySettings); String msge = " > El artículo : " + articulo + " en marca : " + marca + " ha sido eliminado."; if (result == MessageDialogResult.Affirmative) { string respuesta = Dat_Venta.borrar_lineapaquete(_paq_id, articulo, talla); if (respuesta.Equals("1")) { cargar_grilla(); } lblmensaje.Content = msge; } }
private void determina_paquete() { Mouse.OverrideCursor = Cursors.Wait; try { _paq_id = Dat_Venta.insertar_leer_paquete(_liq_id); if (_paq_id == -2) { txtarticulo.IsEnabled = false; btnpaquete.IsEnabled = false; btnbuscar.IsEnabled = false; } _paq_no = Dat_Venta.leer_maxnopaqliq(_liq_id); lblnpaquete.Content = _paq_no.ToString(); } catch (Exception exc) { MessageBox.Show(exc.Message, Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } Mouse.OverrideCursor = null; }
private Int32 valida_pedido(string id) { return(Dat_Venta.valida_pedido(id)); }
public static string Generar_Impresion(string _tipo, string _numero_doc) { try { #region <IMPRESION DE FACTURAS Y BOLETAS> if (_tipo == "F" || _tipo == "B") { DataSet ds = Dat_Venta.leer_venta_tk(_numero_doc); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt != null) { if (dt.Rows.Count > 0) { #region <VARIABLES DE EMPRESA TICKETS> decimal _costo_envio = 0; string _OPG = ""; if (Ent_Global._canal_venta == "BA") { _costo_envio = Convert.ToDecimal(dt.Rows[0]["ven_costo_e"]); _OPG = "N"; } else { _OPG = dt.Rows[0]["OPG"].ToString(); if (_OPG == "2") { _OPG = "N"; } } string _marca_emp = dt.Rows[0]["Alm_Descripcion"].ToString(); string _direccion_emp = dt.Rows[0]["Alm_Direccion"].ToString(); string _Telefono_emp = dt.Rows[0]["Alm_Telefono"].ToString(); string _razon_social_emp = dt.Rows[0]["Emp_Razon"].ToString(); string _ruc_emp = dt.Rows[0]["Emp_Ruc"].ToString(); String _nota = dt.Rows[0]["nota"].ToString(); string _impresora = dt.Rows[0]["impresora"].ToString(); #endregion #region <VARIABLES DE IMPRESORA> string _autoriacion_imp = "Autorizacion : " + dt.Rows[0]["Emp_Autorizacion"].ToString(); string _serie_imp = "Impresora : " + dt.Rows[0]["serie_impresora"].ToString(); Decimal _monto_efe = Convert.ToDecimal(dt.Rows[0]["montoefe"]); Decimal _monto_tar = Convert.ToDecimal(dt.Rows[0]["montotar"]); Decimal _monto_vue = Convert.ToDecimal(dt.Rows[0]["montovuel"]); #endregion #region <TIPO DE DOCUMENTO> string _numero = dt.Rows[0]["nrodoc"].ToString(); string _tipo_numero = ((_numero.Substring(0, 1).ToString() == "F") ? "FACTURA: " : "BOLETA: ") + _numero; DateTime _fecha_doc = Convert.ToDateTime(dt.Rows[0]["Ven_Fecha"]); string _fecha_doc_text = "Fecha : " + _fecha_doc.ToString("dd/MM/yyyy") + " , " + _fecha_doc.ToString("hh:mm tt"); decimal _igv = Convert.ToDecimal(dt.Rows[0]["Ven_Igv_Porc"].ToString()); decimal _percepcionp = Convert.ToDecimal(dt.Rows[0]["Ven_PercepcionP"].ToString()); decimal _percepcionm = Convert.ToDecimal(dt.Rows[0]["Ven_PercepcionM"].ToString()); string _cod_hash = dt.Rows[0]["cod_hash"].ToString(); String _estadook = dt.Rows[0]["EstadoOk"].ToString(); Decimal _monto_nc = Convert.ToDecimal(dt.Rows[0]["monto_nc"].ToString()); string _referencia_nc = dt.Rows[0]["referencia_nc"].ToString(); string _ven_pst_ref = ""; if (Ent_Global._canal_venta == "BA") { _ven_pst_ref = dt.Rows[0]["ven_pst_ref"].ToString(); } #endregion #region <VARIABLES DE CLIENTES> string _cliente_nom = dt.Rows[0]["nombres"].ToString(); string _cliente_dni_ruc = dt.Rows[0]["Bas_Documento"].ToString(); #endregion #region <FORMATO DE IMPRESION FACTURA O BOLETA> CrearTicket tk = new CrearTicket(); tk.TextoCentro(_marca_emp); tk.TextoCentro(_direccion_emp); tk.TextoCentro("Telefono " + _Telefono_emp); tk.TextoCentro(_razon_social_emp); tk.TextoCentro(_ruc_emp); tk.TextoIzquierda(_autoriacion_imp); tk.TextoIzquierda(_serie_imp); tk.TextoIzquierda(_tipo_numero); if (Ent_Global._canal_venta == "BA") { tk.TextoIzquierda("Ref.Pedido " + _ven_pst_ref); } tk.TextoIzquierda(""); tk.TextoCentro("DETALLE DE COMPRA"); tk.TextoIzquierda(""); tk.lineasGuio(); tk.TextoIzquierda("Cliente : "); tk.TextoIzquierda(_cliente_nom); tk.TextoIzquierda(((_numero.Substring(0, 1).ToString() == "F") ? "R.U.C : " : "DNI : ") + _cliente_dni_ruc); tk.TextoIzquierda(_fecha_doc_text); tk.TextoIzquierda(""); tk.EncabezadoVenta("CODIGO | DESCR. | CNT | PRECIO "); tk.lineasIgual(); //items del tickets decimal dSubtotal = 0; decimal descuento = 0; for (Int32 i = 0; i < dt.Rows.Count; ++i) { string _iarticulo = dt.Rows[i]["Art_Id"].ToString(); string _articulonombre = dt.Rows[i]["Art_Descripcion"].ToString(); string _des_largo = TruncateAt(dt.Rows[i]["Art_Descripcion"].ToString().PadRight(40), 40); string _talla = dt.Rows[i]["Ven_Det_TalId"].ToString(); decimal _cantidad = Convert.ToInt32(dt.Rows[i]["Ven_Det_Cantidad"]); Decimal _articulo_total = Convert.ToDecimal(dt.Rows[i]["articulo_total"].ToString()); decimal _comision = Convert.ToDecimal(dt.Rows[i]["Ven_Det_ComisionM"].ToString()); //string _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + //TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt(((_OPG == "1")?0: _articulo_total).ToString("#0.00").PadLeft(9), 9); string _codigo_descripcion = "";/* TruncateAt(_iarticulo.PadRight(10), 10) + * TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt(((_OPG == "1") ? 0 : _articulo_total).ToString("#0.00").PadLeft(9), 9);*/ switch (_OPG) { /*muestra*/ case "1": case "3": _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt((0).ToString("#0.00").PadLeft(9), 9); break; /*regalos*/ case "2": _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt(((_OPG == "1") ? 0 : _articulo_total).ToString("#0.00").PadLeft(9), 9); break; /*ninguna*/ case "N": _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt((_articulo_total).ToString("#0.00").PadLeft(9), 9); break; } tk.AgregarItems(_codigo_descripcion); tk.AgregarItems(_des_largo); dSubtotal += _articulo_total; descuento += _comision; } //dSubtotal += _costo_envio; double mtoigv = 0; if (Ent_Global._canal_venta == "BA") { /* * decimal _igv_monto = Convert.ToDecimal(dt.Rows[0]["ven_igv"].ToString()); * dSubtotal = Math.Round(dSubtotal, 2, MidpointRounding.AwayFromZero); * //mtoigv = Math.Round(((Double.Parse(dSubtotal.ToString()) - Convert.ToDouble(descuento)) + Convert.ToDouble(_costo_envio) ) * double.Parse(_igv.ToString()), 1, MidpointRounding.AwayFromZero); * mtoigv = Math.Round(Double.Parse(_igv_monto.ToString()), 2, MidpointRounding.AwayFromZero); */ mtoigv = Math.Round((Double.Parse(dSubtotal.ToString()) - Convert.ToDouble(descuento)) * double.Parse(_igv.ToString()), 2, MidpointRounding.AwayFromZero); } else { mtoigv = Math.Round((Double.Parse(dSubtotal.ToString()) - Convert.ToDouble(descuento)) * double.Parse(_igv.ToString()), 2, MidpointRounding.AwayFromZero); } Int32 porcigv = Convert.ToInt32((_igv * 100)); decimal totalpagar = ((dSubtotal - descuento) + Convert.ToDecimal(mtoigv)) + _percepcionm; tk.lineasGuio(); if (Ent_Global._canal_venta == "AQ") { switch (_OPG) { case "1": case "3": tk.AgregarFooter(" " + TruncateAt("OP. GRATUITA".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); dSubtotal = 0; tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); break; case "2": break; case "N": tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); break; } } else { tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); } tk.AgregarFooter(" " + TruncateAt("DESCUENTO(-)".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(descuento.ToString("#0.00").PadLeft(14), 14)); //if (Ent_Global._canal_venta == "BA") //{ // tk.AgregarFooter(" " + TruncateAt("COST.ENVI(+)".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_costo_envio.ToString("#0.00").PadLeft(14), 14)); //} tk.AgregarFooter(" " + TruncateAt("IGV " + porcigv + "%".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(mtoigv.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); if (_estadook != "2") { if (Ent_Global._canal_venta == "BA") { tk.AgregarFooter(" " + TruncateAt("TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt((((dSubtotal - descuento)) + Convert.ToDecimal(mtoigv)).ToString("#0.00").PadLeft(14), 14)); } else { tk.AgregarFooter(" " + TruncateAt("TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(((dSubtotal - descuento) + Convert.ToDecimal(mtoigv)).ToString("#0.00").PadLeft(14), 14)); } } if (_estadook == "1") { tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); tk.AgregarFooter(" " + TruncateAt("PERCEPCION " + _percepcionp + "%".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_percepcionm.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); tk.AgregarFooter(" " + TruncateAt("TOTAL A PAGAR".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(totalpagar.ToString("#0.00").PadLeft(14), 14)); } if (_estadook == "2") { Decimal _var_sb = Convert.ToDecimal(((dSubtotal - descuento) + Convert.ToDecimal(mtoigv))); if (_var_sb < _monto_nc) { _monto_nc = _var_sb; } decimal _total_nc = _var_sb - _monto_nc; decimal _total_pagar_nc = (_var_sb - _monto_nc) + Convert.ToDecimal(_percepcionm); tk.AgregarFooter(" " + TruncateAt("DESC NC (-)".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_monto_nc.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); tk.AgregarFooter(" " + TruncateAt("TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_total_nc.ToString("#0.00").PadLeft(14), 14)); if (_total_nc != 0) { if (Ent_Global._canal_venta != "BA") { tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); tk.AgregarFooter(" " + TruncateAt("PERCEPCION " + _percepcionp + "%".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_percepcionm.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); tk.AgregarFooter(" " + TruncateAt("TOTAL A PAGAR".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_total_pagar_nc.ToString("#0.00").PadLeft(14), 14)); } } tk.lineasGuio(); tk.TextoIzquierda(_referencia_nc); } #region <REGION DE VENTAS DIRECTA CON PAGO> if (Ent_Global._pvt_almaid != "11") { tk.lineasGuio(); tk.AgregarFooter(TruncateAt("EFECTIVO".ToString().PadRight(21), 21) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_monto_efe.ToString("#0.00").PadLeft(14), 14)); /*VERIFICAR SI SE PAGA CON TARJETA*/ if (ds.Tables.Count > 1) { DataTable dttarjeta = ds.Tables[1]; if (dttarjeta != null) { if (dttarjeta.Rows.Count > 0) { tk.AgregarFooter(TruncateAt("TARJETA".ToString().PadRight(16), 16)); for (Int32 i = 0; i < dttarjeta.Rows.Count; ++i) { string nom_tarjeta = dttarjeta.Rows[i]["bin_des"].ToString(); string num_tarjeta = dttarjeta.Rows[i]["num_tar"].ToString(); Decimal monto_tarjeta = Convert.ToDecimal(dttarjeta.Rows[i]["monto_tar"]); tk.AgregarFooter(TruncateAt(nom_tarjeta.ToString().PadRight(22), 22) + " " + TruncateAt(_monto_efe.ToString(num_tarjeta.ToString()).PadLeft(16), 16)); tk.AgregarFooter(" " + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(monto_tarjeta.ToString("#0.00").PadLeft(14), 14)); } } } } tk.AgregarFooter(TruncateAt("VUELTO".ToString().PadRight(21), 21) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_monto_vue.ToString("#0.00").PadLeft(14), 14)); } #endregion tk.lineasGuio(); tk.TextoCentro(_cod_hash); tk.lineasGuio(); /*en esta linea ponemos el texto para ecommerce*/ if (Ent_Global._canal_venta == "BA") { String _nota_tk = dt.Rows[0]["nota_tk"].ToString(); tk.TextoIzquierda(_nota_tk); tk.lineasGuio(); } tk.TextoIzquierda(_nota); tk.lineasGuio(); tk.TextoCentro("*** GRACIAS POR SU COMPRA ***"); tk.lineasGuio(); tk.ImprimirTicket(_impresora); #region <EN ESTE CASO CAPTURAMOS EL FORMATO DE TXT SUNAT PARA EL QR> DataTable dtformato = ds.Tables[2]; string _formato_doc = ""; if (dtformato != null) { if (dtformato.Rows.Count > 0) { _formato_doc = dtformato.Rows[0]["formatsunat"].ToString(); } } #endregion Fe_Sunat_Qr fesunat_qr = new Fe_Sunat_Qr(); byte[] codigo_qr = fesunat_qr.GetQrSunatInvoiceCdp(_formato_doc); Image im = byteArrayToImage(codigo_qr); Bitmap bmp = new Bitmap(im, new Size(100, 100)); tk.HeaderImage = bmp; tk.PrintQR(_impresora); if (!CrearTicket._esta_imp) { return(null); } #endregion } } } } #endregion #region <IMPRESION DE NOTA DE CREDITO> if (_tipo == "N") { DataSet ds = Dat_NotaCredito.leer_NC_tk(_numero_doc); if (ds != null) { DataTable dt = ds.Tables[0]; if (dt != null) { if (dt.Rows.Count > 0) { #region <VARIABLES DE EMPRESA TICKETS> string _OPG = ""; if (Ent_Global._canal_venta == "AQ") { _OPG = dt.Rows[0]["OPG"].ToString(); if (_OPG == "2") { _OPG = "N"; } } else { _OPG = "N"; } string _marca_emp = dt.Rows[0]["Alm_Descripcion"].ToString(); string _direccion_emp = dt.Rows[0]["Alm_Direccion"].ToString(); string _Telefono_emp = dt.Rows[0]["Alm_Telefono"].ToString(); string _razon_social_emp = dt.Rows[0]["Emp_Razon"].ToString(); string _ruc_emp = dt.Rows[0]["Emp_Ruc"].ToString(); String _nota = dt.Rows[0]["nota"].ToString(); string _impresora = dt.Rows[0]["impresora"].ToString(); #endregion #region <VARIABLES DE IMPRESORA> string _autoriacion_imp = "Autorizacion : " + dt.Rows[0]["Emp_Autorizacion"].ToString(); string _serie_imp = "Impresora : " + dt.Rows[0]["serie_impresora"].ToString(); #endregion #region <TIPO DE DOCUMENTO> string _numero = dt.Rows[0]["nrodoc"].ToString(); string _tipo_numero = "NOTA DE CREDITO: " + _numero; DateTime _fecha_doc = Convert.ToDateTime(dt.Rows[0]["Not_Fecha"]); string _fecha_doc_text = "Fecha : " + _fecha_doc.ToString("dd/MM/yyyy") + " , " + _fecha_doc.ToString("hh:mm tt"); decimal _igv = Convert.ToDecimal(dt.Rows[0]["Ven_Igv_Porc"].ToString()); //decimal _percepcionp = Convert.ToDecimal(dt.Rows[0]["Ven_PercepcionP"].ToString()); //decimal _percepcionm = Convert.ToDecimal(dt.Rows[0]["Ven_PercepcionM"].ToString()); string _cod_hash = dt.Rows[0]["cod_hash"].ToString(); String _estadook = dt.Rows[0]["EstadoOk"].ToString(); //Decimal _monto_nc = Convert.ToDecimal(dt.Rows[0]["monto_nc"].ToString()); string _referencia_nc = dt.Rows[0]["referencia"].ToString(); #endregion #region <VARIABLES DE CLIENTES> string _cliente_nom = dt.Rows[0]["nombres"].ToString(); string _cliente_dni_ruc = dt.Rows[0]["Bas_Documento"].ToString(); #endregion #region <FORMATO DE IMPRESION FACTURA O BOLETA> CrearTicket tk = new CrearTicket(); tk.TextoCentro(_marca_emp); tk.TextoCentro(_direccion_emp); tk.TextoCentro("Telefono " + _Telefono_emp); tk.TextoCentro(_razon_social_emp); tk.TextoCentro(_ruc_emp); tk.TextoIzquierda(_autoriacion_imp); tk.TextoIzquierda(_serie_imp); tk.TextoIzquierda(_tipo_numero); tk.TextoIzquierda(""); tk.TextoCentro("DETALLE DE COMPRA"); tk.TextoIzquierda(""); tk.lineasGuio(); tk.TextoIzquierda("Cliente : "); tk.TextoIzquierda(_cliente_nom); tk.TextoIzquierda(((_numero.Substring(0, 1).ToString() == "F") ? "R.U.C : " : "DNI : ") + _cliente_dni_ruc); tk.TextoIzquierda(_fecha_doc_text); tk.TextoIzquierda(""); tk.EncabezadoVenta("CODIGO | DESCR. | CNT | PRECIO "); tk.lineasIgual(); //items del tickets decimal dSubtotal = 0; decimal descuento = 0; for (Int32 i = 0; i < dt.Rows.Count; ++i) { string _iarticulo = dt.Rows[i]["Art_Id"].ToString(); string _articulonombre = dt.Rows[i]["Art_Descripcion"].ToString(); string _des_largo = TruncateAt(dt.Rows[i]["Art_Descripcion"].ToString().PadRight(40), 40); string _talla = dt.Rows[i]["Not_Det_TalId"].ToString(); decimal _cantidad = Convert.ToInt32(dt.Rows[i]["Not_Det_Cantidad"]); Decimal _articulo_total = Convert.ToDecimal(dt.Rows[i]["articulo_total"].ToString()); decimal _comision = Convert.ToDecimal(dt.Rows[i]["Not_Det_ComisionM"].ToString()); string _codigo_descripcion = "";/* TruncateAt(_iarticulo.PadRight(10), 10) + * TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt(((_OPG == "1")?0:_articulo_total).ToString("#0.00").PadLeft(9), 9);*/ switch (_OPG) { case "1": _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt((0).ToString("#0.00").PadLeft(9), 9); break; case "2": _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt(((_OPG == "1") ? 0 : _articulo_total).ToString("#0.00").PadLeft(9), 9); break; case "N": _codigo_descripcion = TruncateAt(_iarticulo.PadRight(10), 10) + TruncateAt(_articulonombre.PadRight(9), 10) + TruncateAt(_talla.PadLeft(4), 4) + TruncateAt(_cantidad.ToString("#0").PadLeft(5), 5) + TruncateAt((_articulo_total).ToString("#0.00").PadLeft(9), 9); break; } tk.AgregarItems(_codigo_descripcion); tk.AgregarItems(_des_largo); dSubtotal += _articulo_total; descuento += _comision; } double mtoigv = 0; mtoigv = Math.Round((Double.Parse(dSubtotal.ToString()) - Convert.ToDouble(descuento)) * double.Parse(_igv.ToString()), 2, MidpointRounding.AwayFromZero); Int32 porcigv = Convert.ToInt32((_igv * 100)); decimal totalpagar = ((dSubtotal - descuento) + Convert.ToDecimal(mtoigv)); tk.lineasGuio(); switch (_OPG) { case "1": tk.AgregarFooter(" " + TruncateAt("OP. GRATUITA".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(0.ToString("#0.00").PadLeft(14), 14)); break; case "2": break; case "N": tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); break; } //if (_OPG == "1") //{ // tk.AgregarFooter(" " + TruncateAt("OP. GRATUITA".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); // tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(0.ToString("#0.00").PadLeft(14), 14)); //} //else //{ // tk.AgregarFooter(" " + TruncateAt("SUB-TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(dSubtotal.ToString("#0.00").PadLeft(14), 14)); //} tk.AgregarFooter(" " + TruncateAt("DESCUENTO(-)".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(descuento.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("IGV " + porcigv + "%".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(mtoigv.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); if (_estadook != "2") { switch (_OPG) { case "1": tk.AgregarFooter(" " + TruncateAt("TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(0.ToString("#0.00").PadLeft(14), 14)); break; case "2": break; case "N": tk.AgregarFooter(" " + TruncateAt("TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(((dSubtotal - descuento) + Convert.ToDecimal(mtoigv)).ToString("#0.00").PadLeft(14), 14)); break; } } if (_estadook == "1") { tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); //tk.AgregarFooter(" " + TruncateAt("PERCEPCION " + _percepcionp + "%".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_percepcionm.ToString("#0.00").PadLeft(14), 14)); tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); tk.AgregarFooter(" " + TruncateAt("TOTAL A PAGAR".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(totalpagar.ToString("#0.00").PadLeft(14), 14)); } if (_estadook == "2") { Decimal _var_sb = Convert.ToDecimal(((dSubtotal - descuento) + Convert.ToDecimal(mtoigv))); //if (_var_sb < _monto_nc) //{ // _monto_nc = _var_sb; //} //decimal _total_nc = _var_sb - _monto_nc; //decimal _total_pagar_nc = (_var_sb - _monto_nc) ; //tk.AgregarFooter(" " + TruncateAt("DESC NC (-)".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_monto_nc.ToString("#0.00").PadLeft(14), 14)); //tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); //tk.AgregarFooter(" " + TruncateAt("TOTAL".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_total_nc.ToString("#0.00").PadLeft(14), 14)); //if (_total_nc != 0) //{ // tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); // //tk.AgregarFooter(" " + TruncateAt("PERCEPCION " + _percepcionp + "%".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_percepcionm.ToString("#0.00").PadLeft(14), 14)); // tk.AgregarFooter(" " + TruncateAt("------------".ToString().PadRight(14), 14)); // tk.AgregarFooter(" " + TruncateAt("TOTAL A PAGAR".ToString().PadRight(16), 16) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(_total_pagar_nc.ToString("#0.00").PadLeft(14), 14)); //} //tk.lineasGuio(); //tk.TextoIzquierda(_referencia_nc); } tk.lineasGuio(); tk.TextoIzquierda("FIRMA:"); switch (_OPG) { case "1": tk.AgregarFooter(TruncateAt("EFECTIVO:".ToString().PadRight(21), 21) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(0.ToString("#0.00").PadLeft(14), 14)); break; case "2": break; case "N": tk.AgregarFooter(TruncateAt("EFECTIVO:".ToString().PadRight(21), 21) + TruncateAt("S/".ToString().PadRight(3), 3) + TruncateAt(((dSubtotal - descuento) + Convert.ToDecimal(mtoigv)).ToString("#0.00").PadLeft(14), 14)); break; } tk.lineasGuio(); tk.TextoIzquierda("REFERENCIA DE N/C: " + _referencia_nc); tk.lineasGuio(); tk.TextoCentro(_cod_hash); tk.lineasGuio(); tk.TextoIzquierda(_nota); tk.lineasGuio(); tk.TextoCentro("*** GRACIAS POR SU COMPRA ***"); tk.lineasGuio(); tk.ImprimirTicket(_impresora); #region <EN ESTE CASO CAPTURAMOS EL FORMATO DE TXT SUNAT PARA EL QR> DataTable dtformato = ds.Tables[1]; string _formato_doc = ""; if (dtformato != null) { if (dtformato.Rows.Count > 0) { _formato_doc = dtformato.Rows[0]["formatsunat"].ToString(); } } #endregion Fe_Sunat_Qr fesunat_qr = new Fe_Sunat_Qr(); byte[] codigo_qr = fesunat_qr.GetQrSunatNoteCdp(_formato_doc); Image im = byteArrayToImage(codigo_qr); Bitmap bmp = new Bitmap(im, new Size(100, 100)); tk.HeaderImage = bmp; tk.PrintQR(_impresora); //byte[] codigo_qr = null; //Image im = byteArrayToImage(codigo_qr); //Bitmap bmp = new Bitmap(im, new Size(100, 100)); //tk.HeaderImage = bmp; //tk.PrintQR(_impresora); //tk.CortaTicket(); //tk.ImprimirTicket(_impresora); if (!CrearTicket._esta_imp) { return(null); } #endregion } } } } #endregion return("ok"); } catch (Exception ex) { return(null); } }
public static void ejecutar_factura_electronica_ws(string _tipo_doc, string _num_doc, ref string cod_hash, ref string _error, ref string url_pdf) { string _formato_doc = ""; try { string return_numdoc = ""; _formato_doc = Dat_Venta._leer_formato_electronico_PAPERLESS(_tipo_doc, _num_doc, ref _error, ref return_numdoc); string ruc_empresa = Ent_Global._ws_ruc; string ws_login = Ent_Global._ws_login; string ws_pass = Ent_Global._ws_password; Int32 tipofoliacion = 1; ///*0 = ID asignado //1 = URL del XML //2 = URL del PDF //3 = Estado en la SUNAT //4 = Folio Asignado(Serie - Correlativo) //5 = Bytes del PDF en Base64 //6 = PDF417(Cadena de texto a imprimir en el PDF 417) //7 = HASH(Cadena de texto)*/ FEBata.OnlinePortTypeClient gen_fe = new FEBata.OnlinePortTypeClient(); string consulta = gen_fe.OnlineGeneration(ruc_empresa, ws_login, ws_pass, _formato_doc, tipofoliacion, 7); consulta = consulta.Replace("&", "amp;"); var doc = XDocument.Parse(consulta); var result = from factura in doc.Descendants("Respuesta") select new { Codigo = factura.Element("Codigo").Value, Mensaje = factura.Element("Mensaje").Value.Replace("amp;", "&"), }; foreach (var item in result) { if (item.Codigo != "0") { _error = item.Mensaje; break; } else { cod_hash = item.Mensaje; /*SI LA GENERACION ES EXITOSA ENTONCES EXTRAEMOS EL PDF URL*/ consulta = gen_fe.OnlineGeneration(ruc_empresa, ws_login, ws_pass, _formato_doc, tipofoliacion, 2); consulta = consulta.Replace("&", "amp;"); var resultpdf = from factura in doc.Descendants("Respuesta") select new { Codigo = factura.Element("Codigo").Value, Mensaje = factura.Element("Mensaje").Value.Replace("amp;", "&"), }; foreach (var itempdf in resultpdf) { url_pdf = itempdf.Mensaje; } /*******/ } } //GeneratorCdp generatorCdp = new GeneratorCdp(); //XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.Load("C:\\carvajal\\xml\\20101951872_07_F030_22.xml"); //byte[] _valor=generatorCdp.GetImageBarCodeForNoteCdp(_formato_doc); //if (_tipo_doc == "B" || _tipo_doc == "F") //{ // cod_hash = generatorCdp.GetHashForInvoiceCdp(_formato_doc); //} //else //{ // cod_hash = generatorCdp.GetHashForNoteCdp(_formato_doc); //} //enviar_xml_webservice bata===>>> } catch (Exception exc) { _error = exc.Message; } }
private void vistaprevia() { if (valida_guia() == 0) { lblmensaje.Content = " >> El numero de Tickets no existe..."; if (Ent_Global._canal_venta == "BA") { MessageBox.Show("El número de comprobante no existe.", Ent_Msg.msgerror, MessageBoxButton.OK, MessageBoxImage.Error); txtnumero.Focus(); } return; } else { //-----INICIO---SB-VTEX2020---20201222_12:57---- string tienda_id = Ent_Global._tienda_id; if (tienda_id == null) { Reporte_Guia_Remision frm_ca = new Reporte_Guia_Remision(); Reporte_Guia_Remision._idv_invoice = txtnumero.Text.Trim(); //Reporte_Guia_Remision_VTEX._tienda_id = tienda_id; frm_ca.Show(); } else { //IMPRESION CON VISTA PREVIA //Reporte_Guia_Remision_VTEX frmvtex = new Reporte_Guia_Remision_VTEX(); //Reporte_Guia_Remision_VTEX._idv_invoice = txtnumero.Text.Trim(); //Reporte_Guia_Remision_VTEX._tienda_id = tienda_id; //frmvtex.Show(); //IMPRESION DIRECTA //validacion de clave token para reeimprimir DataTable dtFlag = new DataTable(); if (txtToken.Text != "" && txtnumero.Text != "") { dtFlag = Dat_Venta.valida_token_reimpresion(3, txtToken.Text, txtnumero.Text); // validar clave token ingresada } else { MessageBox.Show("Debe usar una clave token antes de reimprimir.", Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Information); return; } if (dtFlag.Rows[0][0].ToString() == txtToken.Text.Trim()) { ImpresionDirecta objImpresionD = new ImpresionDirecta(); // objeto para la impresion directa objImpresionD.ImpresionD(txtnumero.Text.Trim(), tienda_id); txtnumero.Clear(); txtToken.Clear(); btnToken.IsEnabled = true; txtnumero.Focus(); } else { MessageBox.Show("La clave token no es la correcta debe avisar al Administrador o generar una nueva clave.", Ent_Msg.msgerror, MessageBoxButton.OK, MessageBoxImage.Error); txtToken.Clear(); txtToken.Focus(); return; } //Reporte_Guia_Remision._idv_invoice = txtnumero.Text.Trim(); // Reporte_Guia_Remision_VTEX._idv_invoice = txtnumero.Text.Trim(); //Reporte_Guia_Remision_VTEX._tienda_id = tienda_id; lblmensaje.Content = " >> Generando Vista Previa..."; //Reporte_Guia_Remision frm = new Reporte_Guia_Remision(); //Reporte_Guia_Remision_VTEX frm = new Reporte_Guia_Remision_VTEX(); //-----FIN---SB-VTEX2020---20201222_12:57---- //frm.Show(); } } }
private Int32 valida_guia() { return(Dat_Venta.valida_guia(txtnumero.Text)); }
private async void btnxml_Click(object sender, RoutedEventArgs e) { ProgressDialogController ProgressAlert = null; try { DataRowView row = (DataRowView)((Button)e.Source).DataContext; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Si", NegativeButtonText = "No", //FirstAuxiliaryButtonText = "Cancelar", ColorScheme = MetroDialogOptions.ColorScheme, }; string _codigo_hash = (string)row["Not_Cod_Hash"].ToString(); // dg1.Rows[e.RowIndex].Cells["Not_Cod_Hash"].Value.ToString(); ; decimal _not_id_imp = Convert.ToDecimal(row["Not_Id"]); // Convert.ToDecimal(dg1.Rows[e.RowIndex].Cells["Not_Id"].Value.ToString()); string _numdoc_r = (string)row["numdoc"].ToString(); // dg1.Rows[e.RowIndex].Cells["numdoc"].Value.ToString(); ; MessageDialogResult result = await this.ShowMessageAsync(Ent_Msg.msginfomacion, "¿Realmente desea enviar a sunat el XML DEL DOCUMENTO de tipo : Nota de Credito con numero : " + _numdoc_r, MessageDialogStyle.AffirmativeAndNegative, mySettings); if (result == MessageDialogResult.Affirmative) { ProgressAlert = await this.ShowProgressAsync(Ent_Msg.msgcargando, "Enviando a sunat la Nota de Credito..."); //string _codigo_hash = ""; string _error = ""; String _url_pdf = ""; await Task.Run(() => Facturacion_Electronica.ejecutar_factura_electronica("N", _not_id_imp.ToString(), ref _codigo_hash, ref _error, ref _url_pdf)); if (_error.Length > 0) { if (ProgressAlert != null) { await ProgressAlert.CloseAsync(); } await this.ShowMessageAsync(Ent_Msg.msginfomacion, "ERROR AL ENVIAR EL XML A SUNAT. CONSULTE CON SISTEMAS..==>> TIPO DE ERROR (" + _error + ")"); return; } //EN ESTE PASO VAMOS A GRABAR EL CODIGO HASH await Task.Run(() => Dat_Venta.insertar_codigo_hash(_not_id_imp.ToString(), _codigo_hash, "N", _url_pdf)); //****enviar los xml al server await Task.Run(() => Basico._enviar_webservice_xml()); await Task.Run(() => consultar_refresh()); if (ProgressAlert != null) { await ProgressAlert.CloseAsync(); } //Mouse.OverrideCursor = Cursors.Wait; } else { if (ProgressAlert != null) { await ProgressAlert.CloseAsync(); } } } catch { if (ProgressAlert != null) { await ProgressAlert.CloseAsync(); } } }
private async void facturar() { var metroWindow = this; metroWindow.MetroDialogOptions.ColorScheme = MetroDialogOptions.ColorScheme; ProgressDialogController ProgressAlert = null; try { Int32 _valida = await valida_facturar(); if (_valida == 1) { return; } var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Si", NegativeButtonText = "No", //FirstAuxiliaryButtonText = "Cancelar", ColorScheme = MetroDialogOptions.ColorScheme, }; var okSettings = new MetroDialogSettings() { AffirmativeButtonText = "Ok", ColorScheme = MetroDialogOptions.ColorScheme, }; MessageDialogResult result = await this.ShowMessageAsync(Ent_Msg.msginfomacion, "¿Realmente desea FACTURAR este pedido ? " + _liq_id, MessageDialogStyle.AffirmativeAndNegative, mySettings); if (result == MessageDialogResult.Affirmative) { string _error_venta = ""; //Mouse.OverrideCursor = Cursors.Wait; ProgressAlert = await this.ShowProgressAsync(Ent_Msg.msgcargando, "Generando Facturación Electrónica del pedido N°:" + _liq_id); //show message ProgressAlert.SetIndeterminate(); string grabar_numerodoc = await Task.Run(() => Dat_Venta.insertar_venta(_liq_id, ref _error_venta)); //if (grabar_numerodoc == "0") //{ // //string _error = ""; // lblmensaje.Content = "El número de pedido "+ _liq_id + " ya fue facturado posiblemente por tienda , actualice la bandeja de pedidos."; // return; //} //string grabar_numerodoc = Dat_Venta.insertar_venta(_liq_id); if (grabar_numerodoc != "-1") { lblmensaje.Content = " > Factura generada con exito - Número : " + grabar_numerodoc + "."; /// deshabilita_controles(); //aca generamos el codigo hash string _codigo_hash = ""; string _error = ""; string _url_pdf = ""; await Task.Run(() => Facturacion_Electronica.ejecutar_factura_electronica(Basico.Left(grabar_numerodoc, 1), grabar_numerodoc, ref _codigo_hash, ref _error, ref _url_pdf)); //await Task.Run(() => Facturacion_Electronica.ejecutar_factura_electronica_ws (Basico.Left(grabar_numerodoc, 1), grabar_numerodoc, ref _codigo_hash, ref _error,ref _url_pdf)); //************* //****enviar los xml al server if (_codigo_hash.Length == 0 || _codigo_hash == null) { await Task.Run(() => Facturacion_Electronica.ejecutar_factura_electronica(Basico.Left(grabar_numerodoc, 1), grabar_numerodoc, ref _codigo_hash, ref _error, ref _url_pdf)); } if (_codigo_hash.Length == 0 || _codigo_hash == null) { _error = "GENERACION DE HASH"; await ProgressAlert.CloseAsync(); await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "ERROR EN LA GENERACION POR FAVOR CONSULTE CON SISTEMAS..==>> TIPO DE ERROR (" + _error + ")", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); _error = ""; //MessageBox.Show("ERROR EN LA GENERACION POR FAVOR CONSULTE CON SISTEMAS..==>> TIPO DE ERROR (" + _error + ")", Ent_Msg.msginfomacion,MessageBoxButton.OK,MessageBoxImage.Error); //return; } if (_error.Length > 0) { await ProgressAlert.CloseAsync(); await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "ERROR EN LA GENERACION POR FAVOR CONSULTE CON SISTEMAS..==>> TIPO DE ERROR (" + _error + ")", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); //MessageBox.Show("ERROR EN LA GENERACION POR FAVOR CONSULTE CON SISTEMAS..==>> TIPO DE ERROR (" + _error + ")", Ent_Msg.msginfomacion,MessageBoxButton.OK,MessageBoxImage.Error); return; } //await Task.Run(() => Basico._enviar_webservice_xml()); ==>>SE COMENTO PORQUE YA NO SE TRABAJA CON FACTURACION ELECTRONICA CARVAJAL //EN ESTE PASO VAMOS A GRABAR EL CODIGO HASH if (_codigo_hash.Length > 0) { await Task.Run(() => Dat_Venta.insertar_codigo_hash(grabar_numerodoc, _codigo_hash, "V", _url_pdf)); } /// //byte[] img_qr = null; string _genera_tk = await Task.Run(() => Imprimir_Doc.Generar_Impresion("F", grabar_numerodoc) /*Impresora_Epson.Config_Imp.GenerarTicketFact(grabar_numerodoc, 1, _codigo_hash)*/); /*IMPRESION DE ETIQUETAS*/ if (Ent_Global._canal_venta == "AQ") { GenerarEtiqueta genera_etiqueta = new GenerarEtiqueta(); await Task.Run(() => genera_etiqueta.aq_imp_etiqueta2(grabar_numerodoc)); } #region <SOLO PARA E-CCOMMERCE> if (Ent_Global._canal_venta == "BA") { string _cod_urbano = ""; //-----INICIO---SB-VTEX2020---20201222_12:57-- //await Task.Run(() => Basico.act_presta_urbano(grabar_numerodoc, ref _error, ref _cod_urbano)); await Task.Run(() => Basico.act_presta_urbano(grabar_numerodoc, "", ref _error, ref _cod_urbano)); //-----FIN---SB-VTEX2020---20201222_12:57-- //string mensaje_urb = (_cod_urbano.Trim().Length == 0) ? "" : "Se envío correctamente la solicitud a Urbano, Nro guía obtenida: " + _cod_urbano + "\n\n"; await ProgressAlert.CloseAsync(); string msj_eccomer = ""; /*si el codigo de urbano esta null entonces no va el mensaje*/ if (_cod_urbano.Trim().Length > 0) { msj_eccomer = "Se Genero correctamente la factura nro: " + grabar_numerodoc + "\n" + "Se envío correctamente la solicitud al Courier, Nro guía obtenida: " + _cod_urbano + "\n\n" + "¿Desea imprimir la etiqueta de este pedido? " + _liq_id; MessageDialogResult resultetiq = await this.ShowMessageAsync(Ent_Msg.msginfomacion, msj_eccomer, MessageDialogStyle.AffirmativeAndNegative, mySettings); if (resultetiq == MessageDialogResult.Affirmative) { ProgressAlert = await this.ShowProgressAsync(Ent_Msg.msgcargando, "Generando Facturacion Electronica del pedido N°:" + _liq_id); //show message ProgressAlert.SetIndeterminate(); /*FALTA PONER LA VALIDACION DE LA ETIQUETA*/ //resultetiq GenerarEtiqueta genera_etiqueta = new GenerarEtiqueta(); //-----INICIO---SB-VTEX2020---20201222_12:57-- //await Task.Run(() => genera_etiqueta.imp_etiqueta2(grabar_numerodoc)); await Task.Run(() => genera_etiqueta.imp_etiqueta2(grabar_numerodoc, "")); //-----FIN---SB-VTEX2020---20201222_12:57-- } else { ProgressAlert = await this.ShowProgressAsync(Ent_Msg.msgcargando, "Generando Facturacion Electronica del pedido N°:" + _liq_id); //show message ProgressAlert.SetIndeterminate(); } // await ProgressAlert.CloseAsync(); } else { msj_eccomer = "Se Genero correctamente la factura nro: " + grabar_numerodoc + "\n" + "No se pudo enviar la solicitud a Courier.\n\n"; MessageDialogResult resultetiq = await this.ShowMessageAsync(Ent_Msg.msginfomacion, msj_eccomer, MessageDialogStyle.Affirmative, okSettings); } //await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, msj_eccomer, MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); } #endregion //string _genera_tk = Impresora_Epson.Config_Imp.GenerarTicketFact(grabar_numerodoc, 1, _codigo_hash); if (_genera_tk == null) { lbltickets.Content = " >> Se producjo un error en la impresion del ticket"; } else { lbltickets.Content = " > Ticket Generado con exito"; } Reporte_Guia_Remision._idv_invoice = grabar_numerodoc; Reporte_Guia_Remision form = new Reporte_Guia_Remision(); form.Show(); if (ProgressAlert.IsOpen) { await ProgressAlert.CloseAsync(); } } else { deshabilita_controles(); lblmensaje.Foreground = Brushes.Maroon; /// //lblmensaje.Content = " > Ha ocurrido un problema y no se ha podido generar la factura."; lblmensaje.Content = _error_venta; /// await ProgressAlert.CloseAsync(); await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, _error_venta, MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); } } } catch (Exception exc) { deshabilita_controles(); lblmensaje.Foreground = Brushes.Maroon; /// lblmensaje.Content = exc.Message; /// if (ProgressAlert != null) { await ProgressAlert.CloseAsync(); } await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, exc.Message, MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); } //Mouse.OverrideCursor = null; }
public static void ejecutar_factura_electronica(string _tipo_doc, string _num_doc, ref string cod_hash, ref string _error, ref string url_pdf) { string _formato_doc = ""; try { if (Ent_Global._canal_venta == "AQ") { if (Ent_Conexion._Base_Datos != "BdAquarella") { cod_hash = "prueba"; return; } } if (Ent_Global._canal_venta == "BA") { if (Ent_Conexion._Base_Datos != "BD_ECOMMERCE") { cod_hash = "prueba"; return; } } /*CUANDO SE PASE A PRODUCCION HAY QUE PONER LA BD ORIGINAL*/ if (Ent_Global._canal_venta == "MV") { if (Ent_Conexion._Base_Datos != "BD_MULTIVENDE") { cod_hash = "prueba"; return; } } /*QUIERE DECIR QUE QUE SE USA LA FACTURACION ELECTRONICA DE CARVAJAL*/ if (Ent_Global.pr_facturador == "C") { _formato_doc = Dat_Venta._leer_formato_electronico(_tipo_doc, _num_doc, ref _error); GeneratorCdp generatorCdp = new GeneratorCdp(); //XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.Load("C:\\carvajal\\xml\\20101951872_07_F030_22.xml"); //byte[] _valor=generatorCdp.GetImageBarCodeForNoteCdp(_formato_doc); if (_tipo_doc == "B" || _tipo_doc == "F") { cod_hash = generatorCdp.GetHashForInvoiceCdp(_formato_doc); } else { cod_hash = generatorCdp.GetHashForNoteCdp(_formato_doc); } } /*ESTA CONDICION ES EL PROVEEDOR PAPERLESS*/ if (Ent_Global.pr_facturador == "P") { string return_numdoc = ""; _formato_doc = Dat_Venta._leer_formato_electronico_PAPERLESS(_tipo_doc, _num_doc, ref _error, ref return_numdoc); string ruc_empresa = Ent_Global._ws_ruc; string ws_login = Ent_Global._ws_login; string ws_pass = Ent_Global._ws_password; Int32 tipofoliacion = 1; Int32 id_tipo_doc = 0; switch (_tipo_doc) { case "B": case "F": id_tipo_doc = (Basico.Left(_num_doc, 1) == "B" ? 3 : 1); break; case "N": id_tipo_doc = 7; break; } ///*0 = ID asignado //1 = URL del XML //2 = URL del PDF //3 = Estado en la SUNAT //4 = Folio Asignado(Serie - Correlativo) //5 = Bytes del PDF en Base64 //6 = PDF417(Cadena de texto a imprimir en el PDF 417) //7 = HASH(Cadena de texto)*/ FEBata.OnlinePortTypeClient gen_fe = new FEBata.OnlinePortTypeClient(); string consulta = gen_fe.OnlineGeneration(ruc_empresa, ws_login, ws_pass, _formato_doc, tipofoliacion, 7); consulta = consulta.Replace("&", "amp;"); var doc = XDocument.Parse(consulta); var result = from factura in doc.Descendants("Respuesta") select new { Codigo = factura.Element("Codigo").Value, Mensaje = factura.Element("Mensaje").Value.Replace("amp;", "&"), }; foreach (var item in result) { if (item.Codigo != "0") { _error = item.Mensaje; break; } else { cod_hash = item.Mensaje; /*SI LA GENERACION ES EXITOSA ENTONCES EXTRAEMOS EL PDF URL*/ consulta = gen_fe.OnlineRecovery(ruc_empresa, ws_login, ws_pass, id_tipo_doc, return_numdoc, 2); consulta = consulta.Replace("&", "amp;"); var docpdf = XDocument.Parse(consulta); var resultpdf = from factura in docpdf.Descendants("Respuesta") select new { Codigo = factura.Element("Codigo").Value, Mensaje = factura.Element("Mensaje").Value.Replace("amp;", "&"), }; foreach (var itempdf in resultpdf) { url_pdf = itempdf.Mensaje; } /*******/ } } } //enviar_xml_webservice bata===>>> } catch (Exception exc) { _error = exc.Message; } }
private async void paqartcodbarra() { try { var metroWindow = this; metroWindow.MetroDialogOptions.ColorScheme = MetroDialogOptions.ColorScheme; if (txtarticulo.Text.Trim().Length == 0) { await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "Ingrese el codigo de articulo...", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); pnlarticulo.Background = Brushes.Red; txtarticulo.Focus(); return; } //en este caso vamos a digitar la calidad //string v_articulo = txtarticulo.Text.Substring(0,txtarticulo.Text.Length-1); string v_articulo = txtarticulo.Text.Trim(); // string _barra = (txtarticulo.Text.Trim().Length == 18 || txtarticulo.Text.Trim().Length == 13) ? txtarticulo.Text.Trim() : ""; string[] info_articulo = Ent_BarCodes.getInfoFromTheBarCode(v_articulo); if (info_articulo != null && info_articulo.Length > 0) { String sizeToAdd = info_articulo[1]; /// Article String articleToAdd = info_articulo[0]; String calidadToAdd = info_articulo[2]; string varreturn = Dat_Venta.insertar_articulopaq(_paq_id, _liq_id, articleToAdd, sizeToAdd, 1, calidadToAdd, _barra); if (varreturn.Equals("1")) { cargar_grilla(); pnlarticulo.Background = Brushes.YellowGreen; lblmensaje.Content = " > Artículo " + articleToAdd + " adicionado correctamente."; txtarticulo.Text = ""; txtarticulo.Focus(); } else { await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "El Código Leído ( " + txtarticulo.Text + " ) no Corresponde a un Artículo en el Pedido o ya Ha Sido Empacado en Su Totalidad.", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); pnlarticulo.Background = Brushes.Red; txtarticulo.Focus(); } } else { lblmensaje.Foreground = Brushes.Maroon; lblmensaje.Content = " > Articulo " + txtarticulo.Text + " desconocido o codigo de barras incorrecto !!."; await metroWindow.ShowMessageAsync(Ent_Msg.msginfomacion, "Articulo desconocido o codigo de barras incorrecto !!.", MessageDialogStyle.Affirmative, metroWindow.MetroDialogOptions); pnlarticulo.Background = Brushes.Red; txtarticulo.Focus(); } } catch (Exception exc) { MessageBox.Show(exc.Message, Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } }
public static void LoadDataInvoiceReport(string _idv_invoice, string _tienda_id) { DataSet dsInvoiceHdr = Dat_Venta.leer_VTEX_venta_guia(_idv_invoice, _tienda_id); if (dsInvoiceHdr != null && dsInvoiceHdr.Tables[0].Rows.Count > 0) { ds_paquete = new DataSet(); ds_paquete.Tables.Add(dsInvoiceHdr.Tables[2].Copy()); DataTable dsInvHdr = dsInvoiceHdr.Tables[0]; String destinatario = dsInvHdr.Rows[0]["nombres"].ToString(); /// String idPerson = dsInvHdr.Rows[0]["Ven_Id"].ToString(); /// String ubicacionCustomer = dsInvHdr.Rows[0]["direccion"].ToString(); /// String telefono = dsInvHdr.Rows[0]["Bas_Telefono"].ToString(); /// String celular = dsInvHdr.Rows[0]["Bas_Celular"].ToString(); /// String transportadora = dsInvHdr.Rows[0]["Tra_Descripcion"].ToString(); /// String guia = dsInvHdr.Rows[0]["Tra_Gui_No"].ToString(); String lider = dsInvHdr.Rows[0]["lider"].ToString(); String lider_dir = dsInvHdr.Rows[0]["direccion_lider"].ToString(); string agencia = dsInvHdr.Rows[0]["agencia"].ToString(); string agencia_ruc = dsInvHdr.Rows[0]["agencia_ruc"].ToString(); /// Decimal iva = 0; //Convert.ToDecimal(dsInvHdr.Rows[0]["ihn_taxes"].ToString()); /// Decimal flete = 0; //Convert.ToDecimal(dsInvHdr.Rows[0]["ihn_handling"].ToString()); /// Fecha de remision /// DateTime fechaRemision = Convert.ToDateTime(dsInvHdr.Rows[0]["Ven_Fecha"].ToString()); /// String esCopia = "";// ((Convert.ToDecimal(dsInvHdr.Rows[0]["IHN_PRT_CNT"].ToString())) > 1) ? " *** COPIA *** " : ""; /// Descuento general Decimal dsctoGnral = 0;//Convert.ToDecimal(dsInvHdr.Rows[0]["ion_disscount"].ToString()); /// String typeresolution = "";//dsInvHdr.Rows[0]["nuv_typeresolution"].ToString(); /// string direccionf = ""; string ubicalugar = dsInvHdr.Rows[0]["ubicalugar"].ToString(); String resolucion = ""; //"Facturación " + typeresolution + " por Res. Dian " + dsInvHdr.Rows[0]["nuv_resolution"].ToString() + //" De " + (String.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(dsInvHdr.Rows[0]["nud_date"].ToString()))) + // " Del Pref " + dsInvHdr.Rows[0]["NUV_CODE"].ToString() + "-" + dsInvHdr.Rows[0]["NUN_INVOICE_START"].ToString() // + " Al Pref " + dsInvHdr.Rows[0]["NUV_CODE"].ToString() + "-" + dsInvHdr.Rows[0]["nun_invoice_end"].ToString(); /// String puntoLlegada = ""; // dsInvHdr.Rows[0]["OHV_SHIP_TO"].ToString(); String msgs = ""; //dsInvHdr.Rows[0]["imv_text"].ToString(); /// DataSet dsInvDtl = new DataSet(); // null;// _invDtlVM.getInvoiceDtl(_co, _idv_invoice); dsInvDtl.Tables.Add(dsInvoiceHdr.Tables[1].Copy()); String wavDescription = ""; String wavAddress = ""; String wavPhone = ""; foreach (DataRow drLine in dsInvDtl.Tables[0].Rows) { /// String numeroFactura = drLine["Ven_Det_Id"].ToString(); /// String respCopia = esCopia; /// /// Detalle de la factura /// String codigoArticulo = drLine["Ven_Det_ArtId"].ToString(); /// String nomArticulo = drLine["Art_Descripcion"].ToString(); /// String marca = drLine["Mar_Descripcion"].ToString(); /// Decimal cantidad = Convert.ToDecimal(drLine["Ven_Det_Cantidad"].ToString()); /// String talla = drLine["Ven_Det_TalId"].ToString();; /// Decimal valorVentaArticulo = 0; // Convert.ToDecimal(drLine["idn_sellprice"].ToString()); /// Decimal valorLinea = 0; // Convert.ToDecimal(drLine["articlevalue"].ToString()); /// Decimal dsctoArticulo = 0; // Convert.ToDecimal((drLine["idn_disscount"].ToString().Equals(String.Empty)) ? "0" : (drLine["idn_disscount"].ToString())); /// Decimal comisionArticulo = 0; // Convert.ToDecimal(drLine["idn_commission"].ToString()); /// String color = drLine["Col_Descripcion"].ToString(); String wavUbication = drLine["Des_Seguimiento"].ToString(); //campo descripcion seguimiento ReportInvoiceClass objRI = new ReportInvoiceClass(destinatario, ubicacionCustomer, telefono, celular, "", idPerson, "", _idv_liquidation, numeroFactura, fechaRemision, resolucion, "", respCopia, typeresolution, codigoArticulo, nomArticulo, color, cantidad, talla, valorVentaArticulo, dsctoArticulo, comisionArticulo, marca, valorLinea, iva, flete, guia, transportadora, msgs, dsctoGnral, wavDescription, wavAddress, wavPhone, wavUbication, puntoLlegada, ubicalugar, direccionf, lider, lider_dir, agencia, agencia_ruc); _invoiceData.Add(objRI); }/// End foreach } }
private async void btnanular_Click(object sender, RoutedEventArgs e) { DataRowView row = (DataRowView)((Button)e.Source).DataContext; string _not_id = (string)row["ven_id"].ToString(); // dg1.Rows[e.RowIndex].Cells["ven_id"].Value.ToString(); string _tipo = (string)row["tipodoc"].ToString(); //dg1.Rows[e.RowIndex].Cells["tipodoc"].Value.ToString(); string _numdoc = (string)row["numdoc"].ToString(); //dg1.Rows[e.RowIndex].Cells["numdoc"].Value.ToString(); string _doc = (string)row["ven_id"].ToString(); //dg1.Rows[e.RowIndex].Cells["ven_id"].Value.ToString(); Boolean _anulado = (Boolean)row["anulado"]; // Convert.ToBoolean(dg1.Rows[e.RowIndex].Cells["anulado"].Value); //verificar si el documento paso las 72 horas de enviarse a la web service efact Boolean _valida = (Boolean)row["docu_vencido"]; // Convert.ToBoolean(dg1.Rows[e.RowIndex].Cells["docu_vencido"].Value); //string _not_numero = dg1.Rows[e.RowIndex].Cells["not_numero"].Value.ToString(); if (_anulado) { MessageBox.Show("!El documento de tipo : " + _tipo + " con numero : " + _numdoc + " no se puede anular, porque YA ESTA ANULADO...", Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } _valida = false; if (_valida) { MessageBox.Show("!El documento de tipo : " + _tipo + " con numero : " + _numdoc + " no se puede anular, porque no es de la fecha actual...", Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Si", NegativeButtonText = "No", //FirstAuxiliaryButtonText = "Cancelar", ColorScheme = MetroDialogOptions.ColorScheme, }; MessageDialogResult result = await this.ShowMessageAsync(Ent_Msg.msginfomacion, "¿Realmente desea anular el documento de tipo : " + _tipo + " con numero : " + _numdoc, MessageDialogStyle.AffirmativeAndNegative, mySettings); if (result == MessageDialogResult.Affirmative) { //Mouse.OverrideCursor = Cursors.Wait; string _error = ""; //Facturacion_Electronica.anular_facturacion_electronica(_doc, ref _error,"NC"); //if (_error.Length == 0) //{ var ProgressAlert = await this.ShowProgressAsync(Ent_Msg.msgcargando, "Anulando Documento N°:" + _not_id); //show message ProgressAlert.SetIndeterminate(); //Infinite string _error_venta = await Task.Run(() => Dat_Venta._anular_venta(_not_id.ToString())); //show info #region <REGION EXCLUSIVA PARA E-COMMERCE> if (Ent_Global._canal_venta == "BA") { string _tipo_doc = ""; if (_tipo == "Factura") { _tipo_doc = "FA"; } if (_tipo == "Boleta") { _tipo_doc = "BO"; } string _error_act_venta = await Task.Run(() => Dat_Venta._act_estado_anular_venta(_tipo_doc.ToString(), _not_id.ToString())); } #endregion //string _error_venta =Dat_Venta._anular_venta(_not_id.ToString()); string _codigo_hashn = ""; String _url_pdf = ""; if (_error_venta.Length == 0) { await Task.Run(() => Facturacion_Electronica.ejecutar_factura_electronica("F", _not_id.ToString(), ref _codigo_hashn, ref _error, ref _url_pdf)); if (_error.Length == 0) { await Task.Run(() => Basico._enviar_webservice_xml()); Boolean _tipoc_b = chkactivar.IsChecked.Value; DateTime _fechaini_b = Convert.ToDateTime(dtpdesde.Text); DateTime _fechafin_b = Convert.ToDateTime(dtphasta.Text); string _doc_b = txtdoc.Text; //MessageBox.Show("!El documento de tipo : " + _tipo + " con numero : " + _numdoc + " Se Anulo con exito...", Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Information); DataTable dt = await Task.Run(() => Dat_Venta.dt_consulta_pedido(_tipoc_b, _fechaini_b, _fechafin_b, _doc_b)); await ProgressAlert.CloseAsync(); dg1.ItemsSource = dt.DefaultView; await this.ShowMessageAsync(Ent_Msg.msginfomacion, "!El documento de tipo : " + _tipo + " con numero : " + _numdoc + " Se Anulo con exito..."); } else { await ProgressAlert.CloseAsync(); await this.ShowMessageAsync(Ent_Msg.msginfomacion, _error); //MessageBox.Show(_error, Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } } else { await ProgressAlert.CloseAsync(); await this.ShowMessageAsync(Ent_Msg.msginfomacion, _error_venta); //MessageBox.Show(_error_venta, Ent_Msg.msginfomacion, MessageBoxButton.OK, MessageBoxImage.Error); } } //} //Mouse.OverrideCursor = null; }