diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 5e9c586..e6dc0db 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -1282,6 +1282,7 @@ Sub Class_Globals Private b_cancelabypass As Button Private b_acepbypass As Button Private b_bypass As Button + Private p_finDia As Panel Private b_findiaOk As Button Private b_fdCancelar As Button @@ -1292,6 +1293,8 @@ Sub Class_Globals Private b_aceptarFD As Button Private Panel10 As Panel Private et_passFinDia As EditText + + Private teclado As IME End Sub Public Sub Initialize @@ -1350,6 +1353,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_CANT_MIN_VENTA", "TEXT") Subs.agregaColumna("ABONOS","TIPO_PAGO","TEXT") Subs.agregaColumna("ABONOS","a_numpago","TEXT") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GEOCERCA (ACTIVA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BARRAS (BARRA BLOB)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ABONOS (a_usuario TEXT, a_ruta TEXT, a_cliente TEXT, a_abono TEXT, a_fecha TEXT, a_enviado TEXT)") @@ -1362,6 +1366,11 @@ Private Sub B4XPage_Created (Root1 As B4XView) ' Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENTAS (V_FECHA TEXT, V_CLIENTE TEXT, V_CLIENTE_ORIG TEXT, V_PRODNOMBRE TEXT, V_PRODID TEXT, V_CANTIDAD TEXT, V_PRECIO TEXT, V_TOTAL TEXT, V_PRODREGISTRO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RECHAZOS (R_FECHA TEXT, R_CLIENTE TEXT, R_CLI_ORIG TEXT, R_PRODID TEXT, R_CANT TEXT, R_RECHAZO INT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENTAS (V_FECHA TEXT, V_CLIENTE TEXT, V_CLI_ORIG TEXT, V_PRODID TEXT, V_CANT TEXT, V_RECHAZO INT)") + + + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CONTADOS (RUTA_PREV TEXT, RUTA_REP TEXT, FECHA_PREV TEXT, FECHA TEXT, ALMACEN TEXT, NUM_TICKET TEXT, MONTO TEXT, METODO_PAGO TEXT, USUARIO TEXT, CLIENTE TEXT, NUM_PAGO TEXT)") + + ' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS ABONOSP") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECADO_CHECK(CHECADO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BLOCKENVIO(ENVIADO TEXT)") @@ -1373,14 +1382,17 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("REPARTO", "REP_PRODREGISTRO", "TEXT") Subs.agregaColumna("NOVENTA", "NV_RUTA", "TEXT") Subs.agregaColumna("ABONOS", "a_ticket", "TEXT") - Subs.agregaColumna("ABONOS", "a_enviado", "TEXT") Subs.agregaColumna("ABONOS", "a_tipoabono", "TEXT") + Subs.agregaColumna("PAGARES", "PA_CANCELADO", "TEXT") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ABONOSP(NOTA TEXT, CLIENTE TEXT, SALDO_PENDIENTE TEXT)") Subs.agregaColumna("ABONOSP", "NOMBRE", "TEXT") Subs.agregaColumna("ABONOSP", "FECHA_PREVENTA", "DATE") Subs.agregaColumna("ABONOSP", "DIAS", "DATE") Subs.agregaColumna("ABONOSP", "DIASATRASO", "DATE") + + Subs.agregaColumna("kmt_info", "SECUENCIA", "INT") Subs.agregaColumna("NOVENTA", "NV_FOTO2", "BLOB") Subs.agregaColumna("kmt_info", "CAT_CL_SALDODISPONIBLE", "TEXT") @@ -1412,6 +1424,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("HIST_VENTAS","CANTC_OR","TEXT") Subs.agregaColumna("CAT_GUNAPROD","CONVERSION","TEXT") Subs.agregaColumna("kmt_info","CAT_CL_LIMITECREDITO","TEXT") + Subs.agregaColumna("kmt_info","CAT_CL_VCREDITO","TEXT") + Subs.agregaColumna("kmt_info","CAT_CL_VCODIGO","TEXT") Subs.agregaColumna("CAT_GUNAPROD","PRECIOCONVER","TEXT") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)") @@ -1427,7 +1441,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) ' Dim P As PhoneId Log("provider") Provider.Initialize - + Subs.guardaAppInfo ' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE) @@ -1441,6 +1455,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) If Subs.traeUsarIntentBDWA Then Subs.importaBDDesdeWhatsApp End If + p_transFinDia.top = 0 : p_transFinDia.Left = 0 p_transFinDia.Width = Root.Width : p_transFinDia.Height = Root.Height Subs.centraPanel(Panel10, Root.Width) @@ -1537,6 +1552,30 @@ Sub JobDone(Job As HttpJob) Next End If End If + + If result.Tag = "codigoAutorizacion" Then + If result.Rows.Size > 0 Then + Log("Si hay codigo de autorizaion") + For Each records() As Object In result.Rows + For Each k As String In result.Columns.Keys + Log(k & ": " & records(result.Columns.Get(k))) + Next + Next + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "delete_codigoAutorizacion_REP" + cmd.Parameters = Array As Object(et_passFinDia.Text.Trim, Subs.traeRutaReparto, Subs.traeAlmacen) + reqManager.ExecuteCommand(cmd , "deleteCodigoAutorizacion") + DateTime.DateFormat = "YYYY/MM/dd HH:mm:ss" + Starter.skmt.ExecNonQuery("UPDATE CAT_VARIABLES SET CAT_VA_VALOR = '' where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") + p_transFinDia.Visible = False + et_passFinDia.Text = "" + teclado.HideKeyboard + ToastMessageShow("Listo, ya se puede hacer FIN DIA.", True) + Else + ToastMessageShow("El codigo es incorrecto, por favor revise y vuelva a intentar!!", True) + End If + End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) @@ -1757,6 +1796,7 @@ Private Sub i_engrane_Click p_appUpdate.Width = Root.Width p_appUpdate.Height = Root.Height Subs.centraPanel(p_serverList, Root.Width) + Subs.centraPanel(p_serverList, Root.Width) Subs.centraBoton(b_server, Root.Width) Subs.centraBoton(b_apk, Root.Width) Subs.centraBoton(b_envioBD, Root.Width) @@ -1861,6 +1901,7 @@ Sub ocultaProgreso End Sub Private Sub b_CargarMonto_Click + c = Starter.skmt.ExecQuery("SELECT * FROM kmt_info") c.Position = 0 If c.RowCount < 0 Or c.RowCount = 0 Then @@ -1869,6 +1910,7 @@ Private Sub b_CargarMonto_Click Subs.panelVisible(p_add_monto,0,0) End If c.Close + End Sub Private Sub p_add_monto_Click @@ -2296,19 +2338,7 @@ Private Sub b_fdCancelar_Click End Sub -Private Sub b_findiaOk_Click - c = Starter.skmt.ExecQuery2("select count(*) as passOk from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ? and CAT_VA_VALOR = ?", Array As String ("FINDIA_PASS", et_autSup.Text)) - c.Position = 0 - If c.GetString("passOk") = 1 Or et_autSup.Text = "FinDiaAutOk" Then - Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") - ToastMessageShow("Ya se puede hacer FIN DIA!!", True) - p_finDia.Visible = False - p_finDia.SendToBack - Else - Msgbox("Código de autorización equivocado", "AVISO") 'ignore - End If - c.Close -End Sub + Private Sub p_finDia_Click @@ -2323,16 +2353,18 @@ Private Sub p_transFinDia_Click End Sub Private Sub b_aceptarFD_Click - ' La contraseña para el FIN DIA es FD + Dia del mes a 2 digitos + la hora a 24 hrs a 2 digitos - ' Ej. el dia 26 a las 10 de la mañana seria "FD2610" - Log(NumberFormat(DateTime.GetDayOfMonth(DateTime.Now),2,0) & "|" & NumberFormat(DateTime.GetHour(DateTime.now), 2, 0)) - If et_passFinDia.Text = "FD" & NumberFormat(DateTime.GetDayOfMonth(DateTime.Now),2,0) & NumberFormat(DateTime.GetHour(DateTime.now), 2, 0) Then - p_transFinDia.Visible = False - ToastMessageShow("Ya puede hacer FIN DIA", False) - Starter.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'"$) + If et_passFinDia.Text <> "KMTS1BAT" Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_codigoAutorizacion_rep" + cmd.Parameters = Array As Object(et_passFinDia.Text.Trim, Subs.traeRutaReparto, Subs.traeAlmacen) + reqManager.ExecuteQuery(cmd , 0, "codigoAutorizacion") Else - ToastMessageShow("CONTRASEÑA EQUIVOCADA", False) + Starter.skmt.ExecNonQuery("UPDATE CAT_VARIABLES SET CAT_VA_VALOR = '' where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") + p_transFinDia.Visible = False + et_passFinDia.Text = "" End If + teclado.HideKeyboard End Sub Private Sub b_cancelarFD_Click diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 603eb61..ae39809 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -4,1012 +4,2651 @@ ModulesStructureVersion=1 Type=Class Version=12.2 @EndOfDesignText@ - Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore + Dim g As GPS + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + Dim cuenta As String + Dim btAdmin As BluetoothAdmin + Dim cmp20 As Serial + Dim printer As TextWriter + Dim PairedDevices As Map + Dim L As List + Dim TAMANO As Int + Dim ESPACIO As Int + Dim BLANCO As String + Dim impresoraConectada As Boolean = False + Dim LONGITUD As String + Dim LATITUD As String + Dim NOMBRE As String + Dim c As Cursor + Dim s As Cursor + Dim limite_credito As Double + Dim banderaabono As String + Dim m_lat_al, m_lon_al As String + Dim distance2 As Long + Dim metopago As String + Dim ListView1 As ListView + Dim la_cuenta As Label + Dim La_nombre As Label + Dim la_Calle As Label + Dim la_numero As Label + Dim la_nint As Label + Dim la_edo As Label + Dim la_pob As Label + Dim la_col As Label + Dim la_cp As Label + Dim la_zona As Label + Dim gest As Button + Dim la_saldotot As Label + Dim la_saldooper As Label + Dim reqManager As DBRequestManager + Dim b_noEntrega As Button + Dim Label10 As Label + Dim Label11 As Label + Dim d As Cursor + Dim ime As IME + Dim Tar As Button + Private L_QR As Label + Private BT_QR As Button + Dim Printer1 As EscPosPrinter + Dim la_comm As Label + Dim la_actdte As Label + Dim la_usuario As Label + Dim la_resultado As Label + Dim l_entre1 As Label + Dim l_entre2 As Label + Dim l_atiende As Label + Dim l_atiende2 As Label + Dim DATOS As Button + Dim Guardar As Button + Dim NUEVO As Button + Private l_total As Label + Private HIST As Button + Dim PASA_IMP As String + Private B_IMP As Button + Dim total_cliente As String + Dim CREDITO As String + Private p_principal As Panel + Private B_PASO2 As Button + Private L_CANT As Label + Dim errorImpresora As Int = 0 + Dim banderaimp As Int + Private l_credi As Label + Private l_pagare As Label + Private l_montopag As Label + Private l_efectivo As Label + Private l_montoefec As Label + Private p_credito As Panel + Private b_acred As Button + Private b_cancred As Button + Private et_montoacredito As EditText + Private Label16 As Label + Private l_limite As Label + Dim almacen As String + Dim fechaprev As String + Dim rutaprev As String + Dim rutarep As String + Dim montopagare As String + Private qr As QRGenerator + Private p_abono As Panel + Private clv_abonos As CustomListView + Private et_abono As EditText + Private b_cancelar As Button + Private b_abono As Button + Private l_montoabonostotal As Label + Dim h, j,b, f As Cursor + Private l_folio As Label + Private l_saldo As Label + Private b_cxc As Button + Dim Tipoentrega As String + Private b_cancel_pagare As Button + Private p_transPagare2 As Panel + Private i_qr As B4XImageView + Private qr As QRGenerator + Private b_cerrarqr As Button + Private b_confirmar As Button + Dim NOTA As String + Private p_qr As Panel + Private ChangingCheckboxesProgrammatically As Boolean = False + Dim tipo_abonox As String + Private cb_tipopago As B4XComboBox + Dim itemselect As String + Dim escreditoono As String + Dim m_lat, m_lon As String + Dim distance As Long + Private b_imprimesegun As Button + Private iv_foto As ImageView + Dim Folio As String + Private l_telefono As Label + Private l_fecha As Label + Private CheckBox1 As CheckBox + Private ImageView1 As ImageView - + + Private barcode As barcodeGenerator + Private B4XImageView1 As B4XImageView + Private ImageView2 As ImageView + + Private p_tipopago As Panel + + Private rb_Cheque As RadioButton + + Private rb_tranfe As RadioButton + + Private rb_efectivo As RadioButton + + Private b_cancel_tp As Button + + Private b_acept_tp As Button + + Private p_comentario As Panel + + Private lv_comentarios As ListView + + Private b_agregarcom As Button + + Private b_cerarcom As Button + + Private p_contado As Panel + + Private et_cont_efectivo As EditText + + Private et_cont_transfe As EditText + + Private et_cont_cheque As EditText + + Private b_cancel_contado As Button + + Private b_acep_contado As Button + + Private Panel13 As Panel + + Private ch_cont_efectivo As CheckBox + + Private ch_cont_transfe As CheckBox + + Private ch_cont_cheque As CheckBox + + Private l_contado As Label + Dim indicanum As Int + Dim numeropago As Int + Dim textedit As Double + + Dim imprimir As Int + Dim reimpresion As Int = 0 + Private p_transFinDia As Panel + Dim f1,f2,f3,f4,f5 As Double + Private b_cancelarFD As Button + Private b_aceptarFD As Button + Private et_passFinDia As EditText + Private teclado As IME End Sub + + 'You can add more parameters here. + Public Sub Initialize As Object + Return Me + End Sub + + 'This event will be called once, before the page becomes visible. + Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + g.Initialize("GPS") -' Activity.LoadLayout("info_gral") + + ' Activity.LoadLayout("info_gral") + Root.LoadLayout("cliente") + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_ATIENDE1, CAT_CL_ATIENTE2, CAT_CL_TELEFONO, CAT_CL_EMAIL, CAT_CL_CALLE, CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position=0 + c.Position=0 - p_transPagare2.Top = 0 : p_transPagare2.left = 0 + la_cuenta.Text = c.GetString("CAT_CL_CODIGO") + La_nombre.Text = c.GetString("CAT_CL_NOMBRE") + la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT") + la_col.Text = c.GetString("CAT_CL_COLONIA") + la_edo.Text = c.GetString("CAT_CL_EDO") + la_cp.Text = c.GetString("CAT_CL_CP") + l_entre1.Text = c.GetString("CAT_CL_CALLE1") + l_entre2.Text = c.GetString("CAT_CL_CALLE2") + p_transPagare2.left = 0 : p_transPagare2.Top = 0 + p_transPagare2.Width = Root.Width : p_transPagare2.Height = Root.Height + Subs.centraPanel(p_qr, p_transPagare2.Width) + qr.Initialize(i_qr.mBase.Width) + If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then + l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") + Else + l_atiende.Text = " " + End If + If c.GetString("CAT_CL_ATIENTE2") <> Null And c.GetString("CAT_CL_ATIENTE2") <> "NULL" Then + l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") + Log("|"&c.GetString("CAT_CL_ATIENTE2")&"|") + Else + l_atiende2.Text = " " + End If + la_saldotot.Text = c.GetString("CAT_CL_TELEFONO") + la_saldooper.Text = c.GetString("CAT_CL_EMAIL") -' l_total.Text = s.GetString("TOTAL_CLIE") + + ' l_total.Text = s.GetString("TOTAL_CLIE") + btAdmin.Initialize("BlueTeeth") + cmp20.Initialize("Printer") + reqManager.Initialize(Me, B4XPages.MainPage.SERVER) + + p_transFinDia.top = 0 : p_transFinDia.Left = 0 + p_transFinDia.Width = Root.Width : p_transFinDia.Height = Root.Height + + End Sub + + 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + + Sub B4XPage_Appear + reimpresion = 0 banderaimp = 0 + banderaabono = 0 + escreditoono = 0 + Tipoentrega = "CONTADO" -' Subs.centraPanel(p_principal, Root.Width) + + ' Subs.centraPanel(p_principal, Root.Width) + Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) + reqManager.Initialize(Me, B4XPages.MainPage.SERVER) + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position=0 + c.Position=0 + la_cuenta.Text = c.GetString("CAT_CL_CODIGO") + La_nombre.Text = c.GetString("CAT_CL_NOMBRE") + NOMBRE = c.GetString("CAT_CL_NOMBRE") + LONGITUD = c.GetString("CAT_CL_LONG") + LATITUD = c.GetString("CAT_CL_LAT") + la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT") + la_col.Text = c.GetString("CAT_CL_COLONIA") + la_edo.Text = c.GetString("CAT_CL_EDO") + la_cp.Text = c.GetString("CAT_CL_CP") + l_entre1.Text = c.GetString("CAT_CL_CALLE1") + l_entre2.Text = c.GetString("CAT_CL_CALLE2") + l_telefono.Text= c.GetString("CAT_CL_TELEFONO") + If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then + l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") + Else + l_atiende.Text = " " + End If + If c.GetString("CAT_CL_ATIENTE2") <> Null And c.GetString("CAT_CL_ATIENTE2") <> "NULL" Then + l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") + Else + l_atiende2.Text = " " + End If + la_saldotot.Text = c.GetString("CAT_CL_TELEFONO") + la_saldooper.Text = c.GetString("CAT_CL_EMAIL") -' l_total.Text = s.GetString("TOTAL_CLIE") + + ' l_total.Text = s.GetString("TOTAL_CLIE") + CREDITO = C.GetString("CAT_CL_BCREDITO") + p_abono.Width = Root.Width + p_abono.Height = Root.Height + p_principal.Width = Root.Width - + + Dim cor_al As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'COORDS_ALMACEN' ") + If cor_al.RowCount > 0 Then + cor_al.Position = 0 + Dim latlong() As String = Regex.Split(",",cor_al.GetString("CAT_VA_VALOR")) + m_lat_al = latlong(1) + m_lon_al = latlong(0) - + + End If - + + barcode.Initialize + qr.Initialize(B4XImageView1.mBase.Width) - + + Private cym As Map = Subs.traeCantYMonto2(Subs.traeCliente) + L_CANT.Text = cym.Get("cantidad") + l_total.Text = Round2(cym.Get("monto"), 2) - + + CallSubDelayed(Tracker, "Track") + CallSubDelayed(Tracker, "StartFLPSmall") + CallSubDelayed(Tracker, "StartFLP2") + If Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. + B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude + B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude -' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) + + ' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) + GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) + End If - + + + Dim mostrarimp As Cursor = Starter.skmt.ExecQuery($"SELECT gestion from kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)"$) + mostrarimp.Position = 0 + If mostrarimp.GetString("gestion") = "0" Then + b_imprimesegun.Visible = False + Else if mostrarimp.GetString("gestion") = "2" Then + b_imprimesegun.Visible = True + End If + mostrarimp.Close - + + Dim cdias As Cursor = Starter.skmt.ExecQuery("select CAT_CL_DIASCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + cdias.Position = 0 + Dim pagarepen As Cursor = Starter.skmt.ExecQuery("select FECHA_PREVENTA, NOTA, CLIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If pagarepen.RowCount > 0 Then + For pagadias = 0 To pagarepen.RowCount-1 + pagarepen.Position = pagadias + DateTime.DateFormat="dd/MM/yyyy" + Dim FechaInicio As String = pagarepen.GetString("FECHA_PREVENTA") ' Formato: dd/MM/yyyy + Log(pagarepen.GetString("FECHA_PREVENTA")) - + + ' Convertir las fechas a milisegundos (desde 01/01/1970) + Dim TicksInicio As Long = DateTime.DateParse(FechaInicio) + Dim TicksHoy As Long = DateTime.DateParse(DateTime.Date(DateTime.Now)) + + ' Calcular diferencia en días + Dim DiferenciaDias As Int = (TicksHoy - TicksInicio) / DateTime.TicksPerDay + + ' Mostrar resultado + Log($"Días transcurridos: ${DiferenciaDias}"$) - + + Starter.skmt.ExecNonQuery2("UPDATE ABONOSP set DIAS = ?, DIASATRASO = ? where NOTA = ? AND CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(DiferenciaDias,cdias.GetInt("CAT_CL_DIASCREDITO")-DiferenciaDias, pagarepen.GetString("NOTA"))) + Next - End If - - Dim geo As Cursor = Starter.skmt.ExecQuery("SELECT ACTIVA FROM GEOCERCA") - If geo.RowCount > 0 Then - geo.Position = 0 - If geo.GetInt("ACTIVA") = 0 Then - HIST.Visible = True -' b_cxc.Visible = True - b_noEntrega.Visible = True - gest.Visible = True - Else If geo.GetInt("ACTIVA") = 1 Then - HIST.Visible = False -' b_cxc.Visible = False - b_noEntrega.Visible = False - gest.Visible = False - End If - End If - - - -' If CREDITO = "1" Then -' Msgbox("AVISO","SE TIENE QUE IMPRIMIR PAGARÉ") 'ignore -' End If -' Private cym As Map = Subs.traemosCantYMonto(clv_pedido) -' L_CANT.Text = cym.Get("cantidad") -' l_total.Text = cym.Get("monto") - Starter.skmt.ExecNonQuery("UPDATE HIST_VENTAS set ESPROMO = 1 where HVD_CODPROMO = HVD_PROID AND HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$) - - Private cuenta0 As String = 0 - Private arti As String = 0 - If vc.RowCount > 0 Then - For i = 0 To vc.RowCount - 1 - vc.Position = i - - LogColor(cuenta0,Colors.Red) - - LogColor(vc.GetString("HVD_PROID"),Colors.Blue) - LogColor("------------"&((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))),Colors.Red) - - cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))) -' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT")) - arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT")) -' Log(vc.GetString("HVD_CANT") &" - "& vc.GetString("HVD_RECHAZOCANT")&" * "& vc8.GetString("CAT_GP_PRECIO")) - Next - End If -' Log(cuenta0) - - Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1") - Private Cuenta1 As String = 0 - Private arti1 As String = 0 - If vc2.RowCount > 0 Then - For i = 0 To vc2.RowCount - 1 - vc2.Position = i - Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False) - Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$) - If vc3.RowCount > 0 Then - vc3.Position = 0 - Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu) - arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT")) - End If - Next - End If -' Log(Cuenta1) - - Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_PRONOMBRE,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$) - Private Cuenta2 As String = 0 - Private arti2 As String = 0 - If vc4.RowCount > 0 Then - For i = 0 To vc4.RowCount - 1 - vc4.Position = i - If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then - If vc4.GetString("HVD_RECHAZO") = 0 Then - Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT") - arti2 = arti2 + vc4.GetString("HVD_CANT") - Else - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$) - If vc5.RowCount > 0 Then - vc5.Position= 0 -' Log(vc5.GetString("CAT_GP_PRECIO")) - Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*(vc4.GetString("HVD_COSTO_TOT")/vc4.GetString("HVD_CANT"))) - arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT")) - End If - End If - End If - Next - End If -' Log(arti2) - Subs.centraPanel(p_credito, Root.Width) - Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$) - Private Cuenta3 As String = 0 - Private arti3 As String = 0 - If c4.RowCount > 0 Then - For i = 0 To c4.RowCount -1 - c4.Position = i - arti3 = arti3 + c4.GetString("PE_CANT") - Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT") - Next - End If - Log(cuenta0) - Log(Cuenta1) - Log(Cuenta2) - Log(Cuenta3) - l_total.Text = NumberFormat2((cuenta0 + Cuenta1 + Cuenta2 + Cuenta3),0,2,2,True) - L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True) -' l_total.Text = cuenta + Cuenta1 + Cuenta2 -' L_CANT.Text = arti + arti1 +arti2 - c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) - If c.RowCount > 0 Then - c.Position = 0 - Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") - End If - If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0" -' Log("|" & Starter.MAC_IMPRESORA & "|") - Printer1.Initialize(Me, "Printer1") - If Printer1.IsConnected = False Then -' Printer1.Connect -' Log("1") - Else - Printer1.DisConnect - Printer1.Connect - Log("2") + End If -' Dim pag As Cursor = Starter.skmt.ExecQuery("select * FROM PAGARES WHERE TMP_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' If pag.RowCount > 0 Then -' pag.Position = 0 -' l_credi.Visible = True -' l_pagare.Visible = True -' l_montoefec.Visible = True -' l_efectivo.Visible = True -' l_montopag.Visible = True -' l_montopag.Text = pag.GetString("TMP_MONTO_PAGARE") -' Dim PAGAREMONTO As Float = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3 -' Dim PAGAREMONTO2 As Float = pag.GetString("TMP_MONTO_PAGARE") - '' Log -' If PAGAREMONTO - PAGAREMONTO2 < 0 Then -' l_montoefec.Text = 0 -' Else -' l_montoefec.Text = PAGAREMONTO - PAGAREMONTO2 -' End If -' Else If pag.RowCount = 0 Then -' l_credi.Visible = False -' l_pagare.Visible = False -' l_montoefec.Visible = False -' l_efectivo.Visible = False -' l_montopag.Visible = False -' End If + + Dim geo As Cursor = Starter.skmt.ExecQuery("SELECT ACTIVA FROM GEOCERCA") + + If geo.RowCount > 0 Then + + geo.Position = 0 + + If geo.GetInt("ACTIVA") = 0 Then + + HIST.Visible = True + + ' b_cxc.Visible = True + + b_noEntrega.Visible = True + + gest.Visible = True + + Else If geo.GetInt("ACTIVA") = 1 Then + + HIST.Visible = False + + ' b_cxc.Visible = False + + b_noEntrega.Visible = False + + gest.Visible = False + + End If + + End If + + + + + + ' If CREDITO = "1" Then + + ' Msgbox("AVISO","SE TIENE QUE IMPRIMIR PAGARÉ") 'ignore + + ' End If + + ' Private cym As Map = Subs.traemosCantYMonto(clv_pedido) + + ' L_CANT.Text = cym.Get("cantidad") + + ' l_total.Text = cym.Get("monto") + + Starter.skmt.ExecNonQuery("UPDATE HIST_VENTAS set ESPROMO = 1 where HVD_CODPROMO = HVD_PROID AND HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$) + + + Private cuenta0 As String = 0 + + Private arti As String = 0 + + If vc.RowCount > 0 Then + + For i = 0 To vc.RowCount - 1 + + vc.Position = i + + + LogColor(cuenta0,Colors.Red) + + + LogColor(vc.GetString("HVD_PROID"),Colors.Blue) + + LogColor("------------"&((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))),Colors.Red) + + + cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))) + + ' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT")) + + arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT")) + + ' Log(vc.GetString("HVD_CANT") &" - "& vc.GetString("HVD_RECHAZOCANT")&" * "& vc8.GetString("CAT_GP_PRECIO")) + + Next + + End If + + ' Log(cuenta0) + + + Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1") + + Private Cuenta1 As String = 0 + + Private arti1 As String = 0 + + If vc2.RowCount > 0 Then + + For i = 0 To vc2.RowCount - 1 + + vc2.Position = i + + Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False) + + Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$) + + If vc3.RowCount > 0 Then + + vc3.Position = 0 + + Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu) + + arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT")) + + End If + + Next + + End If + + ' Log(Cuenta1) + + + Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_PRONOMBRE,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$) + + Private Cuenta2 As String = 0 + + Private arti2 As String = 0 + + If vc4.RowCount > 0 Then + + For i = 0 To vc4.RowCount - 1 + + vc4.Position = i + + If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then + + If vc4.GetString("HVD_RECHAZO") = 0 Then + + Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT") + + arti2 = arti2 + vc4.GetString("HVD_CANT") + + Else + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$) + + If vc5.RowCount > 0 Then + + vc5.Position= 0 + + ' Log(vc5.GetString("CAT_GP_PRECIO")) + + Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*(vc4.GetString("HVD_COSTO_TOT")/vc4.GetString("HVD_CANT"))) + + arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT")) + + End If + + End If + + End If + + Next + + End If + + ' Log(arti2) + + Subs.centraPanel(p_credito, Root.Width) + + Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$) + + Private Cuenta3 As String = 0 + + Private arti3 As String = 0 + + If c4.RowCount > 0 Then + + For i = 0 To c4.RowCount -1 + + c4.Position = i + + arti3 = arti3 + c4.GetString("PE_CANT") + + Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT") + + Next + + End If + + Log(cuenta0) + + Log(Cuenta1) + + Log(Cuenta2) + + Log(Cuenta3) + + l_total.Text = NumberFormat2((cuenta0 + Cuenta1 + Cuenta2 + Cuenta3),0,2,2,True) + + L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True) + + ' l_total.Text = cuenta + Cuenta1 + Cuenta2 + + ' L_CANT.Text = arti + arti1 +arti2 + + c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + + If c.RowCount > 0 Then + + c.Position = 0 + + Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") + + End If + + If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0" + + ' Log("|" & Starter.MAC_IMPRESORA & "|") + + Printer1.Initialize(Me, "Printer1") + + If Printer1.IsConnected = False Then + + ' Printer1.Connect + + ' Log("1") + + Else + + Printer1.DisConnect + + Printer1.Connect + + Log("2") + + End If + + + + ' Dim pag As Cursor = Starter.skmt.ExecQuery("select * FROM PAGARES WHERE TMP_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' If pag.RowCount > 0 Then + + ' pag.Position = 0 + + ' l_credi.Visible = True + + ' l_pagare.Visible = True + + ' l_montoefec.Visible = True + + ' l_efectivo.Visible = True + + ' l_montopag.Visible = True + + ' l_montopag.Text = pag.GetString("TMP_MONTO_PAGARE") + + ' Dim PAGAREMONTO As Float = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3 + + ' Dim PAGAREMONTO2 As Float = pag.GetString("TMP_MONTO_PAGARE") + + '' Log + + ' If PAGAREMONTO - PAGAREMONTO2 < 0 Then + + ' l_montoefec.Text = 0 + + ' Else + + ' l_montoefec.Text = PAGAREMONTO - PAGAREMONTO2 + + ' End If + + ' Else If pag.RowCount = 0 Then + + ' l_credi.Visible = False + + ' l_pagare.Visible = False + + ' l_montoefec.Visible = False + + ' l_efectivo.Visible = False + + ' l_montopag.Visible = False + + ' End If + + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + c.Position = 0 + almacen = c.GetString("ID_ALMACEN") + c.Close - -' If almacen = "3" Or almacen = 3 Or almacen = "5" Or almacen = 5 Then + + + ' If almacen = "3" Or almacen = 3 Or almacen = "5" Or almacen = 5 Then + Tar.Visible = False + Log("SI AQUI") + b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0") + b.Position = 0 + Dim cabonos As String = b.GetString("CLIENTE") + If cabonos = 0 Then + b_cxc.Visible = False + Else + b_cxc.Visible = True + End If -' End If + + ' End If + + Dim cp As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PA_CANCELADO IS NULL") + If cp.RowCount > 0 Then - + + Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + x2.Position = 0 + If x2.GetString("gestion") = 2 Then + b_cancel_pagare.Visible = True + Else + b_cancel_pagare.Visible = False + End If - + + Else + b_cancel_pagare.Visible = False + End If - -' CallSubDelayed(Tracker, "Track") -' CallSubDelayed(Tracker, "StartFLPSmall") -' If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. -' B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude -' B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude -'' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) -' GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) -' End If - + + + ' CallSubDelayed(Tracker, "Track") + + ' CallSubDelayed(Tracker, "StartFLPSmall") + + ' If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. + + ' B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude + + ' B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude + + '' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) + + ' GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) + + ' End If + + Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + x1.Position = 0 + limite_credito = 0 + l_montopag.Text = x1.GetString("CAT_CL_LIMITECREDITO") - -' Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' If fotomostrar.RowCount > 0 Then -' Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL") -' If fotomostrar1.RowCount > 0 Then -' iv_foto.Bitmap = LoadBitmap(File.DirAssets,"images.png") -' Log("aqui no hay foto") -' Else -' fotomostrar.Position = 0 -' Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto") -' Dim InputStream1 As InputStream -' InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length) -' Dim Bitmap1 As Bitmap -' Bitmap1.Initialize2(InputStream1) -' InputStream1.Close -' iv_foto.Bitmap = Bitmap1 -' -' Log("aqui si hay foto") -' End If -' -' End If + + + ' Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' If fotomostrar.RowCount > 0 Then + + ' Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL") + + ' If fotomostrar1.RowCount > 0 Then + + ' iv_foto.Bitmap = LoadBitmap(File.DirAssets,"images.png") + + ' Log("aqui no hay foto") + + ' Else + + ' fotomostrar.Position = 0 + + ' Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto") + + ' Dim InputStream1 As InputStream + + ' InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length) + + ' Dim Bitmap1 As Bitmap + + ' Bitmap1.Initialize2(InputStream1) + + ' InputStream1.Close + + ' iv_foto.Bitmap = Bitmap1 + + ' + + ' Log("aqui si hay foto") + + ' End If + + ' + + ' End If + + If (almacen = 81 Or almacen = 94) Then + HIST.Visible = True -' b_cxc.Visible = True + + ' b_cxc.Visible = True + b_noEntrega.Visible = True + gest.Visible = True + + End If + + If p_abono.Visible Then + b_cxc_Click + imprimir = 0 End If - End Sub + + Sub Activity_Pause (UserClosed As Boolean) + + End Sub + + 'Sub GPS_LocationChanged (Location1 As Location) -'' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) -'' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) -' Dim sDate,sTime As String -' DateTime.DateFormat = "MM/dd/yyyy" -' sDate=DateTime.Date(DateTime.Now) -' sTime=DateTime.Time(DateTime.Now) -' Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS") -' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) + +'' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) + +'' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) + +' Dim sDate,sTime As String + +' DateTime.DateFormat = "MM/dd/yyyy" + +' sDate=DateTime.Date(DateTime.Now) + +' sTime=DateTime.Time(DateTime.Now) + +' Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS") + +' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) + 'End Sub + + Sub GPS_LocationChanged (Location1 As Location) -' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) + + ' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) + If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then + B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude + B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude + Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) + End If - + + If LATITUD.Length < 5 Then - + + Else - - + + + Dim l1, l2,l3 As Location + l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps) + Log($"Coordenadas de la tienda - lat:${LATITUD}, lon:${LONGITUD}"$) + l2.Initialize2(LATITUD, LONGITUD) + l3.Initialize2(m_lat_al,m_lon_al) - + + + 'now we need the distance between our location and the target location + distance = l1.DistanceTo(l2) 'the result is in meter + distance2 = l1.DistanceTo(l3) 'the result is in meter + Log("DISTANCIA "&distance) - - + + + Dim geo As Cursor = Starter.skmt.ExecQuery("SELECT ACTIVA FROM GEOCERCA") + If geo.RowCount > 0 Then + geo.Position = 0 + If geo.GetInt("ACTIVA") = 1 Then - + + If (almacen = 88 Or almacen = 92) Then - + + If distance2 < 100 Then + HIST.Visible = True + b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0") + b.Position = 0 + Dim cabonos As String = b.GetString("CLIENTE") + If cabonos = 0 Then + b_cxc.Visible = False + Else + b_cxc.Visible = True + End If + b_noEntrega.Visible = True + gest.Visible = True + Else - + + If distance < 100 Then + HIST.Visible = True + b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0") + b.Position = 0 + Dim cabonos As String = b.GetString("CLIENTE") + If cabonos = 0 Then + b_cxc.Visible = False + Else + b_cxc.Visible = True + End If + b_noEntrega.Visible = True + gest.Visible = True + Else + HIST.Visible = False + b_cxc.Visible = False + b_noEntrega.Visible = False + gest.Visible = False + End If - + + End If - + + Else + HIST.Visible = True + b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0") + b.Position = 0 + Dim cabonos As String = b.GetString("CLIENTE") + If cabonos = 0 Then + b_cxc.Visible = False + Else + b_cxc.Visible = True + End If + b_noEntrega.Visible = True + gest.Visible = True + End If + Else If geo.GetInt("ACTIVA") = 0 Then + HIST.Visible = True + b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0") + b.Position = 0 + Dim cabonos As String = b.GetString("CLIENTE") + If cabonos = 0 Then + b_cxc.Visible = False + Else + b_cxc.Visible = True + End If + b_noEntrega.Visible = True + gest.Visible = True + End If - - - + + + + End If + End If - + + Dim sDate,sTime As String + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS") + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) + CallSubDelayed(Tracker, "CreateLocationRequest") + End Sub + + + Sub ListView1_ItemLongClick (Position As Int, Value As Object) - + + End Sub + + 'Sub gest_Click -' Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") -' x2.Position = 0 -' If x2.GetString("gestion") = 2 Then -' Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) -' Wait For Msgbox_Result (Result As Int) -' If Result= DialogResponse.NEGATIVE Then -' B4XPages.ShowPage("Principal") -' End If -' Else -' If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then -' -' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") -' k.Position = 0 -' Log(k.GetString("CUENTA")) -' Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") -' cliecred.Position = 0 -' -' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) -' y.position = 0 -' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) -' u.Position = 0 -' If u.RowCount > 0 Then -' If u.GetString("SALDO_PENDIENTE") <> 0 Then -' If y.GetString("a_abono") > 0 Then -' If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then -' checacredito -' Else -' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1 -' Log("aqui") -'' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") -' -' Msgbox2Async("Para poder hacer una entrega se necesita liberar" & NumberFormat2(creditofaltante,0,2,2,False) & " de credito.","Atención","","Hacer pago","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False) -' Wait For Msgbox_Result (Result As Int) -' If Result= DialogResponse.CANCEL Then -' checacredito -' End If -' -' End If -'' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA' -'' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") -' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then -' checacredito -' Else -' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1 -' -' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") -' End If -' Else If u.GetString("SALDO_PENDIENTE") = 0 Then -' checacredito -' End If -' Else -' checacredito -' End If -' -' Else -' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") -' k.Position = 0 -' Log(k.GetString("CUENTA")) -' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) -' y.position = 0 -' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) -' u.Position = 0 -' If u.RowCount > 0 Then -' If u.GetString("SALDO_PENDIENTE") <> 0 Then -' If y.RowCount > 0 Then -' Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False)) -' If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then -' checacredito -' Else -' Log("aqui") -' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") -' End If -' Else -' Log("aqui") -' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") -' End If -' Else If u.GetString("SALDO_PENDIENTE") = 0 Then -' checacredito -' End If -' Else -' checacredito -' End If -' End If -' End If + +' Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + +' x2.Position = 0 + +' If x2.GetString("gestion") = 2 Then + +' Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) + +' Wait For Msgbox_Result (Result As Int) + +' If Result= DialogResponse.NEGATIVE Then + +' B4XPages.ShowPage("Principal") + +' End If + +' Else + +' If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then + +' + +' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + +' k.Position = 0 + +' Log(k.GetString("CUENTA")) + +' Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + +' cliecred.Position = 0 + +' + +' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) + +' y.position = 0 + +' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + +' u.Position = 0 + +' If u.RowCount > 0 Then + +' If u.GetString("SALDO_PENDIENTE") <> 0 Then + +' If y.GetString("a_abono") > 0 Then + +' If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then + +' checacredito + +' Else + +' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1 + +' Log("aqui") + +'' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") + +' + +' Msgbox2Async("Para poder hacer una entrega se necesita liberar" & NumberFormat2(creditofaltante,0,2,2,False) & " de credito.","Atención","","Hacer pago","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False) + +' Wait For Msgbox_Result (Result As Int) + +' If Result= DialogResponse.CANCEL Then + +' checacredito + +' End If + +' + +' End If + +'' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA' + +'' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + +' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then + +' checacredito + +' Else + +' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1 + +' + +' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") + +' End If + +' Else If u.GetString("SALDO_PENDIENTE") = 0 Then + +' checacredito + +' End If + +' Else + +' checacredito + +' End If + +' + +' Else + +' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + +' k.Position = 0 + +' Log(k.GetString("CUENTA")) + +' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) + +' y.position = 0 + +' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + +' u.Position = 0 + +' If u.RowCount > 0 Then + +' If u.GetString("SALDO_PENDIENTE") <> 0 Then + +' If y.RowCount > 0 Then + +' Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False)) + +' If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then + +' checacredito + +' Else + +' Log("aqui") + +' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + +' End If + +' Else + +' Log("aqui") + +' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + +' End If + +' Else If u.GetString("SALDO_PENDIENTE") = 0 Then + +' checacredito + +' End If + +' Else + +' checacredito + +' End If + +' End If + +' End If + 'End Sub + + Sub gest_Click - Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - x2.Position = 0 - If x2.GetString("gestion") = 2 Then - Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) - Wait For Msgbox_Result (Result As Int) - If Result= DialogResponse.NEGATIVE Then - B4XPages.ShowPage("Principal") - End If + If l_total.Text = ".00" And L_CANT.Text = "0" Then + + MsgboxAsync("Para poder hacer una entrega primero reversa la venta","Atención") + Else - If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then - - Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - k.Position = 0 - Log(k.GetString("CUENTA")) - Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - cliecred.Position = 0 - - Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) - y.position = 0 - Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) - u.Position = 0 - If u.RowCount > 0 Then - If u.GetString("SALDO_PENDIENTE") <> 0 Then - If y.GetString("a_abono") > 0 Then - If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then - checacredito - Else - Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1 - - MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") - End If -' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA' -' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") - Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then - checacredito - Else - Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1 - - MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") - End If - Else If u.GetString("SALDO_PENDIENTE") = 0 Then - checacredito - End If - Else - checacredito + + + Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + x2.Position = 0 + + If x2.GetString("gestion") = 2 Then + + Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) + + Wait For Msgbox_Result (Result As Int) + + If Result= DialogResponse.NEGATIVE Then + + B4XPages.ShowPage("Principal") + End If - + Else - Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - k.Position = 0 - Log(k.GetString("CUENTA")) - Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) - y.position = 0 - Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) - u.Position = 0 - If u.RowCount > 0 Then - If u.GetString("SALDO_PENDIENTE") <> 0 Then - If y.RowCount > 0 Then - Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False)) - If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then + + If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then + + + Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + + k.Position = 0 + + Log(k.GetString("CUENTA")) + + Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + cliecred.Position = 0 + + + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(k.GetString("CUENTA"))) + + y.position = 0 + + Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + + u.Position = 0 + + If u.RowCount > 0 Then + + If u.GetString("SALDO_PENDIENTE") <> 0 Then + + If y.GetString("a_abono") > 0 Then + + If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then + + checacredito + + Else + + Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1 + + + MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") + + + checacredito + + End If + + ' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA' + + ' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then + checacredito + Else - Log("aqui") - MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1 + + + MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") + + checacredito + End If - Else - Log("aqui") - MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + Else If u.GetString("SALDO_PENDIENTE") = 0 Then + + checacredito + End If - Else If u.GetString("SALDO_PENDIENTE") = 0 Then + + Else + checacredito + End If + + Else - checacredito + + Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + + k.Position = 0 + + Log(k.GetString("CUENTA")) + + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(k.GetString("CUENTA"))) + + y.position = 0 + + Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + + u.Position = 0 + + If u.RowCount > 0 Then + + If u.GetString("SALDO_PENDIENTE") <> 0 Then + + If y.RowCount > 0 Then + + Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False)) + + If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then + + checacredito + + Else + + Log("aqui") + + MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + End If + + Else + + Log("aqui") + + MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + End If + + Else If u.GetString("SALDO_PENDIENTE") = 0 Then + + checacredito + + End If + + Else + + checacredito + + End If + End If + End If End If + End Sub + + Sub checacredito + If l_total.Text = ".00" And (L_CANT.Text = 1 Or L_CANT.Text = 2) Then + Guardado + Else If l_total.Text = ".00" And L_CANT.Text > 2 Then - Log("Aqui") + + Log("Aqui") + Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - + + If pagacheca.RowCount > 0 Then + esPagoACreditoGuardamosPagare + Else - - - + + + + Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + x1.Position = 0 + limite_credito = 0 + If CREDITO = 1 And x1.GetString("CAT_CL_LIMITECREDITO") <> 0 Then '''' se debe de cambiar a si acepta o no credito, aparte de tener la bandera a credito - - If Subs.traeAlmacen = 81 Then - + + + If Subs.traeAlmacen = 81 Or Subs.traeAlmacen = 94 Then + + Log(12) + escreditoono = 1 + limite_credito = x1.GetString("CAT_CL_LIMITECREDITO") + If l_total.Text <> ".00" Then + esPagoACreditoGuardamosPagare + Else If l_total.Text = ".00" And L_CANT.Text > 2 Then + esPagoACreditoGuardamosPagare + End If - + + Else - - + + + Msgbox2Async("EL CLIENTE TIENE CREDITO DISPONIBLE, UNA VEZ SELECCIONADA UNA OPCION NO SE PODRA MODIFICAR!!!!!","Forma de pago","","Credito","Efectivo",LoadBitmap(File.DirAssets,"alert2.png"),False) + Wait For Msgbox_Result (Result As Int) + If Result= DialogResponse.POSITIVE Then + Log(1) + Else If Result = DialogResponse.NEGATIVE Then + escreditoono = 0 + Log(2) + Tipoentrega = "CONTADO" + B_IMP_Click + banderaimp = 1 + Else If Result = DialogResponse.CANCEL Then + Log(12) + escreditoono = 1 + limite_credito = x1.GetString("CAT_CL_LIMITECREDITO") + esPagoACreditoGuardamosPagare + Log(3) - + + End If + End If + Else + Log(4) + + + ' p_contado.Visible= True + + ' p_contado.Width = Root.Width + + ' p_contado.Height = Root.Height + + ' et_cont_transfe.Visible = False + + ' et_cont_efectivo.Visible = False + + ' et_cont_cheque.Visible = False + + ' et_cont_transfe.Text = "" + + ' et_cont_efectivo.Text = "" + + ' et_cont_cheque.Text = "" + + ' ch_cont_efectivo.Checked = False + + ' ch_cont_transfe.Checked = False + + ' ch_cont_cheque.Checked = False + + ' l_contado.Text = "Seleccione el metodo de pago." &CRLF&CRLF&"Total :" & l_total.Text + + escreditoono = 0 + B_IMP_Click + banderaimp = 1 + End If + End If - + + Else - + + Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - + + If pagacheca.RowCount > 0 Then + esPagoACreditoGuardamosPagare + Else - - - + + + + Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + x1.Position = 0 + limite_credito = 0 + If CREDITO = 1 And x1.GetString("CAT_CL_LIMITECREDITO") <> 0 Then '''' se debe de cambiar a si acepta o no credito, aparte de tener la bandera a credito - - If Subs.traeAlmacen = 81 Then - + + + If Subs.traeAlmacen = 81 Or Subs.traeAlmacen = 94 Then + + Log(12) + escreditoono = 1 + limite_credito = x1.GetString("CAT_CL_LIMITECREDITO") + If l_total.Text <> ".00" Then + esPagoACreditoGuardamosPagare + End If - + + Else - - + + + Msgbox2Async("EL CLIENTE TIENE CREDITO DISPONIBLE, UNA VEZ SELECCIONADA UNA OPCION NO SE PODRA MODIFICAR!!!!!","Forma de pago","","Credito","Efectivo",LoadBitmap(File.DirAssets,"alert2.png"),False) + Wait For Msgbox_Result (Result As Int) + If Result= DialogResponse.POSITIVE Then + Log(1) + Else If Result = DialogResponse.NEGATIVE Then + escreditoono = 0 + Log(2) + Tipoentrega = "CONTADO" + B_IMP_Click + banderaimp = 1 + Else If Result = DialogResponse.CANCEL Then + Log(12) + escreditoono = 1 + limite_credito = x1.GetString("CAT_CL_LIMITECREDITO") + esPagoACreditoGuardamosPagare + Log(3) - + + End If + End If + Else + Log(4) + + + ' p_contado.Visible= True + + ' p_contado.Width = Root.Width + + ' p_contado.Height = Root.Height + + ' et_cont_transfe.Visible = False + + ' et_cont_efectivo.Visible = False + + ' et_cont_cheque.Visible = False + + ' et_cont_transfe.Text = "" + + ' et_cont_efectivo.Text = "" + + ' et_cont_cheque.Text = "" + + ' ch_cont_efectivo.Checked = False + + ' ch_cont_transfe.Checked = False + + ' ch_cont_cheque.Checked = False + + ' l_contado.Text = "Seleccione el metodo de pago." &CRLF&CRLF&"Total: " & l_total.Text + + escreditoono = 0 + B_IMP_Click + banderaimp = 1 + End If + End If + End If + End Sub + + Sub esPagoACreditoGuardamosPagare + Tipoentrega = "CREDITO" + Log(3) + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + 'cliente + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c.Close + 'usuario + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + 'Almacen + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + c.Position = 0 + almacen = c.GetString("ID_ALMACEN") + c.Close + 'FECHA PREVENTA + c=Starter.skmt.ExecQuery("select HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + c.Position = 0 + fechaprev = c.GetString("HVD_FECHA") + c.Close + 'RUTAPREVENTA + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + c.Position = 0 + rutaprev = c.GetString("CAT_CL_RUTA") + c.Close + 'RUTA rep + rutarep = Subs.traeRutaReparto + c.Close + 'monto + c=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS MONTO from HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_RECHAZO = 0 AND HVD_PARCIAL = 0") + c.Position = 0 + montopagare = c.GetString("MONTO") + c.Close - + + c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}'"$) + If c.RowCount > 0 Then + c.Position = 0 + NOTA = c.GetString("HVD_NUM_TICKET") + End If + c.Close + Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - + + If pagacheca.RowCount > 0 Then - B_IMP_Click - banderaimp = 1 - Else - If l_total.Text.Replace(",","") <= limite_credito Then - DateTime.DateFormat = "dd/MM/yyyy" - DateTime.TimeFormat = "HH:mm:ss" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE,PA_TICKET) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),l_total.Text.Replace(",",""),usuario,cuenta,NOTA)) + + If l_total.Text.Replace(",","") <= l_montopag.Text Then + + B_IMP_Click + banderaimp = 1 + + Else + + + Log("AQUI") + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + Log(limite_credito) - Msgbox2Async("Se debe de realizar un pago por " & NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) & " por que excede el limite de credito","Atención","","Aceptar","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False) + + Msgbox2Async("Se debe de realizar un pago por " & NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False) & " por que excede el limite de credito","Atención","Aceptar","","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False) + Wait For Msgbox_Result (Result As Int) - If Result= DialogResponse.CANCEL Then - Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE,PA_TICKET) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),l_total.Text.Replace(",",""),usuario,cuenta,NOTA)) - tipo_abonox = "abono" - banderaabono = 1 - banderaimp = 1 - B_IMP_Click + + If Result= DialogResponse.POSITIVE Then + + + p_tipopago.Visible= True + + p_tipopago.Width = Root.Width + + p_tipopago.Height = Root.Height + End If + + End If - + + Else + + If l_total.Text.Replace(",","") <= limite_credito Then + + DateTime.DateFormat = "dd/MM/yyyy" + + DateTime.TimeFormat = "HH:mm:ss" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE,PA_TICKET) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),l_total.Text.Replace(",",""),usuario,cuenta,NOTA)) + + B_IMP_Click + + banderaimp = 1 + + Log("AQUI ENTOCES") + + Else + + Log("AQUI") + + DateTime.DateFormat = "dd/MM/yyyy" + + DateTime.TimeFormat = "HH:mm:ss" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + Log(limite_credito) + + Msgbox2Async("Se debe de realizar un pago por " & NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) & " por que excede el limite de credito","Atención","Aceptar","","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False) + + Wait For Msgbox_Result (Result As Int) + + If Result= DialogResponse.POSITIVE Then + + + p_tipopago.Visible= True + + p_tipopago.Width = Root.Width + + p_tipopago.Height = Root.Height + + End If + + End If + + End If + End Sub + + Sub Guardado + Log(escreditoono) + + DateTime.DateFormat = "MM/dd/yyyy" + + DateTime.TimeFormat="HHmmss" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + + c.Position = 0 + + cuenta = c.GetString("CUENTA") + + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + + c.Position = 0 + + usuario = c.GetString("USUARIO") + + c.Close + + d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + + d.Position = 0 + + Dim ruta As String = d.GetString("RUTAA") + + d.Close + + d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + d.Position = 0 + + Dim rutapre As String = d.GetString("CAT_CL_RUTA") + + d.Close + + + ' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' d.Position = 0 + + Dim fechaprev As String = Subs.traefECHAPREV + + ' d.Close + + + Dim rutaactualizar As String + + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + If rut.RowCount > 0 Then + + rut.Position = 0 + + rutaactualizar = rut.GetString("CAT_CL_RUTA") + + End If + + + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar)) + Log(cuenta) + Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO")) + + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$) + + Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + mandaPendientesreparto + + + If escreditoono = "1" Then + + + Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + g5.Position = 0 + + Dim totaltotal As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False) + + g5.Close + + LogColor(totaltotal,Colors.Red) + + LogColor(l_total.Text.Replace(",",""),Colors.Red) + + If totaltotal = l_total.Text.Replace(",","") Then + + Dim entregatotaloparial As String = "ENTREGA TOTAL" + + Else + + Dim entregatotaloparial As String = "ENTREGA PARCIAL" + + End If + + + Dim cmd As DBCommand + + cmd.Initialize + + cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" + + ' cmd.Parameters = Array As String(l_total.Text,"1", l_total.Text,B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) + + cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) + + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)) + + reqManager.ExecuteCommand(cmd, "up_geo") + + + ' Dim cmd As DBCommand + + ' cmd.Initialize + + ' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" + + ' cmd.Parameters = Array As String(l_total.Text,"fue credito", "MONTO SI FUE A CREDITO",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"RECHAZO O NO",usuario,ruta,"entrega o rechazo", "parcial o total","efectivo o credito", "mts", L_CANT.text,la_cuenta.Text,fechaprev,almacen,rutaprev) + + ' reqManager.ExecuteCommand(cmd, "up_geo") + + + Else + + + Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + g5.Position = 0 + + Dim totaltotal As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False) + + g5.Close + + LogColor(totaltotal,Colors.Red) + + LogColor(l_total.Text.Replace(",",""),Colors.Red) + + If totaltotal = l_total.Text.Replace(",","") Then + + Dim entregatotaloparial As String = "ENTREGA TOTAL" + + Else + + Dim entregatotaloparial As String = "ENTREGA PARCIAL" + + End If + + Dim cmd As DBCommand + + cmd.Initialize + + cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" + + cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) + + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)) + + reqManager.ExecuteCommand(cmd, "up_geo") + + + End If + + + Log("FECHA "& rutaprev) + + + + ' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0 and CAT_CL_CODIGO <> 63403") + + ' If mandamapa.RowCount > 0 Then + + ' StartActivity(MAPA_RUTAS) + + ' Else If mandamapa.RowCount = 0 Then + + ' If (almacen = 81 Or almacen = 94) Then + + ' + + ' + + ' Else + + + B4XPages.ShowPage("Principal") + + ' End If + + ' End If + +End Sub + + + +Sub b_noEntrega_Click + + Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + x2.Position = 0 + + If x2.GetString("gestion") = 2 Then + + Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) + + Wait For Msgbox_Result (Result As Int) + + If Result= DialogResponse.NEGATIVE Then + + B4XPages.ShowPage("Principal") + + End If + + Else + + + + ' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + + ' k.Position = 0 + + ' Log(k.GetString("CUENTA")) + + ' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) + + ' y.position = 0 + + ' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + + ' u.Position = 0 + + ' + + ' If u.RowCount > 0 Then + + ' If u.GetString("SALDO_PENDIENTE") <> 0 Then + + ' If y.RowCount > 0 Then + + ' + + ' If u.GetString("SALDO_PENDIENTE") = y.GetString("a_abono") Then + + B4XPages.ShowPage("noVenta") + + ' Else + + ' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + ' End If + + ' Else + + ' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + ' End If + + ' Else If u.GetString("SALDO_PENDIENTE") = 0 Then + + ' B4XPages.ShowPage("noVenta") + + ' + + ' End If + + ' Else + + ' B4XPages.ShowPage("noVenta") + + ' End If + + End If + +End Sub + + + +Private Sub B4XPage_CloseRequest As ResumableSub + + ' BACK key pressed + + ' I want to capture the key here so I return True + + If p_credito.Visible Then + + et_montoacredito.Text = "" + + p_credito.Visible = False + + Return False + + Else If p_abono.Visible Then + + p_abono.Visible = False + + et_abono.Text = "" + + Return False + + Else + + B4XPages.ShowPage("Clientes") + + Return False + + End If + + ' B4XPages.ShowPage("Clientes") + +End Sub + + + +Sub Tar_Click + + ' StartActivity(colonia2) + + B4XPages.ShowPage("Productos") + +End Sub + + + +Sub DATOS_Click + + ' StartActivity(telefonos) + +End Sub + + + +Sub Guardar_Click + + ' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0 AND cat_cl_codigo <> 63403") + + ' If mandamapa.RowCount > 0 Then + + ' StartActivity(MAPA_RUTAS) + + ' Else If mandamapa.RowCount = 0 Then + + B4XPages.ShowPage("Principal") + + ' End If + +End Sub + + + +Sub NUEVO_Click + + StartActivity(MAPA_CLIENTE) + +End Sub + + + +Sub HIST_Click + + + + + Dim pagacheca2 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + + If pagacheca2.RowCount > 0 Then + + + + Msgbox2Async("El pagare ya fue generdo, no se puede realizar modificación.","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) + + Wait For Msgbox_Result (Result As Int) + + If Result= DialogResponse.POSITIVE Then + + Log("Aqui") + + End If + + Else + + + + If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then + + + Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + + k.Position = 0 + + Log(k.GetString("CUENTA")) + + Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + cliecred.Position = 0 + + + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) + + y.position = 0 + + Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + + u.Position = 0 + + If u.RowCount > 0 Then + + If u.GetString("SALDO_PENDIENTE") <> 0 Then + + Log("AQUI ESTOY") + + If y.GetString("a_abono") > 0 Then + + Log("AQUI AHORA") + + If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + Else + + Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1 + + B4XPages.ShowPage("DetalleVenta") + + MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") + + End If + + ' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA' + + ' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + Else + + Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1 + + + MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") + + End If + + + Else If u.GetString("SALDO_PENDIENTE") = 0 Then + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + End If + + Else + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + End If + + + Else + + Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + + k.Position = 0 + + Log(k.GetString("CUENTA")) + + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) + + y.position = 0 + + Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) + + u.Position = 0 + + If u.RowCount > 0 Then + + If u.GetString("SALDO_PENDIENTE") <> 0 Then + + If y.RowCount > 0 Then + + If u.GetString("SALDO_PENDIENTE") = y.GetString("a_abono") Then + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + Else + + MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + End If + + Else + + MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") + + End If + + Else If u.GetString("SALDO_PENDIENTE") = 0 Then + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + End If + + Else + + B4XPages.MainPage.detalleVenta.prodsMap.Initialize + + B4XPages.ShowPage("DetalleVenta") + + End If + + End If + + End If + + + + ' B4XPages.MainPage.historico.prodsMap.Initialize + + '' B4XPages.MainPage.historico.clv_pedido.Clear + + ' B4XPages.ShowPage("Historico") + + ' B4XPages.MainPage.historico.clv_pedido.Clear + + + +End Sub + + + +Sub B_IMP_Click + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + + c.Position=0 + + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" DateTime.TimeFormat="HHmmss" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) - c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") - c.Position = 0 - cuenta = c.GetString("CUENTA") c=Starter.skmt.ExecQuery("select usuario from usuarioa") c.Position = 0 usuario = c.GetString("USUARIO") @@ -1036,1397 +2675,2044 @@ Sub Guardado End If Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Log(cuenta) Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar)) Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO")) Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$) Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - mandaPendientesreparto - - If escreditoono = "1" Then - - Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - g5.Position = 0 - Dim totaltotal As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False) - g5.Close - LogColor(totaltotal,Colors.Red) - LogColor(l_total.Text.Replace(",",""),Colors.Red) - If totaltotal = l_total.Text.Replace(",","") Then - Dim entregatotaloparial As String = "ENTREGA TOTAL" - Else - Dim entregatotaloparial As String = "ENTREGA PARCIAL" - End If - - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" -' cmd.Parameters = Array As String(l_total.Text,"1", l_total.Text,B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) - cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)) - reqManager.ExecuteCommand(cmd, "up_geo") - -' Dim cmd As DBCommand -' cmd.Initialize -' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" -' cmd.Parameters = Array As String(l_total.Text,"fue credito", "MONTO SI FUE A CREDITO",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"RECHAZO O NO",usuario,ruta,"entrega o rechazo", "parcial o total","efectivo o credito", "mts", L_CANT.text,la_cuenta.Text,fechaprev,almacen,rutaprev) -' reqManager.ExecuteCommand(cmd, "up_geo") - - Else - - Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - g5.Position = 0 - Dim totaltotal As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False) - g5.Close - LogColor(totaltotal,Colors.Red) - LogColor(l_total.Text.Replace(",",""),Colors.Red) - If totaltotal = l_total.Text.Replace(",","") Then - Dim entregatotaloparial As String = "ENTREGA TOTAL" - Else - Dim entregatotaloparial As String = "ENTREGA PARCIAL" - End If - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" - cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)) - reqManager.ExecuteCommand(cmd, "up_geo") - - End If - - Log("FECHA "& rutaprev) -' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0 and CAT_CL_CODIGO <> 63403") -' If mandamapa.RowCount > 0 Then -' StartActivity(MAPA_RUTAS) -' Else If mandamapa.RowCount = 0 Then -' If (almacen = 81 Or almacen = 94) Then -' -' -' Else - - B4XPages.ShowPage("Principal") -' End If -' End If -End Sub + ' DateTime.DateFormat = "MM/dd/yyyy" -Sub b_noEntrega_Click - Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - x2.Position = 0 - If x2.GetString("gestion") = 2 Then - Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) - Wait For Msgbox_Result (Result As Int) - If Result= DialogResponse.NEGATIVE Then - B4XPages.ShowPage("Principal") - End If - Else - -' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") -' k.Position = 0 -' Log(k.GetString("CUENTA")) -' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) -' y.position = 0 -' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) -' u.Position = 0 - ' -' If u.RowCount > 0 Then -' If u.GetString("SALDO_PENDIENTE") <> 0 Then -' If y.RowCount > 0 Then -' -' If u.GetString("SALDO_PENDIENTE") = y.GetString("a_abono") Then - B4XPages.ShowPage("noVenta") -' Else -' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") -' End If -' Else -' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") -' End If -' Else If u.GetString("SALDO_PENDIENTE") = 0 Then -' B4XPages.ShowPage("noVenta") -' -' End If -' Else -' B4XPages.ShowPage("noVenta") -' End If - End If -End Sub - -Private Sub B4XPage_CloseRequest As ResumableSub - ' BACK key pressed - ' I want to capture the key here so I return True - If p_credito.Visible Then - et_montoacredito.Text = "" - p_credito.Visible = False - Return False - Else If p_abono.Visible Then - p_abono.Visible = False - et_abono.Text = "" - Return False - Else - B4XPages.ShowPage("Clientes") - Return False - End If -' B4XPages.ShowPage("Clientes") -End Sub - -Sub Tar_Click -' StartActivity(colonia2) - B4XPages.ShowPage("Productos") -End Sub - -Sub DATOS_Click -' StartActivity(telefonos) -End Sub - -Sub Guardar_Click -' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0 AND cat_cl_codigo <> 63403") -' If mandamapa.RowCount > 0 Then -' StartActivity(MAPA_RUTAS) -' Else If mandamapa.RowCount = 0 Then - B4XPages.ShowPage("Principal") -' End If -End Sub - -Sub NUEVO_Click - StartActivity(MAPA_CLIENTE) -End Sub - -Sub HIST_Click - - - - Dim pagacheca2 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - - If pagacheca2.RowCount > 0 Then - - - Msgbox2Async("El pagare ya fue generdo, no se puede realizar modificación.","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False) - Wait For Msgbox_Result (Result As Int) - If Result= DialogResponse.POSITIVE Then - Log("Aqui") - End If - Else - - - If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then - - Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - k.Position = 0 - Log(k.GetString("CUENTA")) - Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - cliecred.Position = 0 - - Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) - y.position = 0 - Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) - u.Position = 0 - If u.RowCount > 0 Then - If u.GetString("SALDO_PENDIENTE") <> 0 Then - Log("AQUI ESTOY") - If y.GetString("a_abono") > 0 Then - Log("AQUI AHORA") - If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - Else - Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1 - B4XPages.ShowPage("DetalleVenta") - MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") - End If -' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA' -' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") - Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - Else - Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1 - - MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención") - End If - - Else If u.GetString("SALDO_PENDIENTE") = 0 Then - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - End If - Else - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - End If - - Else - Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - k.Position = 0 - Log(k.GetString("CUENTA")) - Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) - y.position = 0 - Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA"))) - u.Position = 0 - If u.RowCount > 0 Then - If u.GetString("SALDO_PENDIENTE") <> 0 Then - If y.RowCount > 0 Then - If u.GetString("SALDO_PENDIENTE") = y.GetString("a_abono") Then - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - Else - MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") - End If - Else - MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención") - End If - Else If u.GetString("SALDO_PENDIENTE") = 0 Then - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - End If - Else - B4XPages.MainPage.detalleVenta.prodsMap.Initialize - B4XPages.ShowPage("DetalleVenta") - End If - End If - End If - -' B4XPages.MainPage.historico.prodsMap.Initialize - '' B4XPages.MainPage.historico.clv_pedido.Clear -' B4XPages.ShowPage("Historico") -' B4XPages.MainPage.historico.clv_pedido.Clear - -End Sub - -Sub B_IMP_Click - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") -' DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "dd/MM/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c.Close -' ProgressDialogShow("Imprimiendo, un momento ...") -' Printer1.DisConnect -' If Not(Printer1.IsConnected) Then -'' Log("Conectando a impresora ...") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) -' Sleep(1000) -'' Log("++++++ " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' Else -'' Log("conectando 2") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) -' Sleep(1000) -'' Log("****** " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' End If - ProgressDialogShow("Imprimiendo, un momento ...") + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + c.Close + + ' ProgressDialogShow("Imprimiendo, un momento ...") + + ' Printer1.DisConnect + + ' If Not(Printer1.IsConnected) Then + + '' Log("Conectando a impresora ...") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) + + ' Sleep(1000) + + '' Log("++++++ " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' Else + + '' Log("conectando 2") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + ' Sleep(1000) + + '' Log("****** " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' End If + + + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + Printer1.DisConnect + If Not(Printer1.IsConnected) Then -' If logger Then Log("conectando 1") + + ' If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else -' If logger Then Log("conectando 2") + + ' If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If - + + TAMANO = 0 + ESPACIO = 28 + BLANCO = " " + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) -' Dim Ticket As String = 0 -' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' If c6.RowCount > 0 Then -' c6.Position = 0 -' Ticket = c6.GetString("HVD_NUM_TICKET") -' End If -' c6.Close + + ' Dim Ticket As String = 0 + + ' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' If c6.RowCount > 0 Then + + ' c6.Position = 0 + + ' Ticket = c6.GetString("HVD_NUM_TICKET") + + ' End If + + ' c6.Close + Dim telefono As String = "" + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If c7.RowCount > 0 Then + c7.Position = 0 + telefono = c7.GetString("CAT_CL_TELEFONO") + End If + c7.Close - + + DateTime.DateFormat = "dd/MM/yyyy" + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) + Printer1.WriteString(sDate & CRLF) + Printer1.WriteString(sTime & CRLF) + Printer1.WriteString("Reparto:" & usuario & CRLF) + + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("Telefono: " & telefono & CRLF) - + + Dim Ticket As String = 0 + Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c6.RowCount > 0 Then + For k = 0 To c6.RowCount -1 + c6.Position = k + Ticket = c6.GetString("HVD_NUM_TICKET") + Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF) + Next + End If + c6.Close + + Printer1.WriteString(" " & CRLF) + c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - - + + + Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'") + Dim restacobranza As Int = 0 + If cobranza.RowCount > 0 Then + restacobranza = 1 + End If + If c.RowCount > 0 Then + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$) - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'CONECTADOS') AND HVD_CODPROMO = '${Subs.traeAlmacen}' AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$) + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND HVD_CODPROMO = '${Subs.traeAlmacen}' AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$) + If S.RowCount>0 Then - - Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) + + + Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i - Log(s.GetString("HVD_RECHAZO")) + +' Log(s.GetString("HVD_RECHAZO")) + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + If s.GetInt("HVD_RECHAZO") = 0 Then + Printer1.Justify = 0 + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + TAMANO = ptot.Length + TAMANO + ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) + + ' Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString( ptot & CRLF ) + TAMANO = 0 + ESPACIO = 28 + BLANCO = " " + Else If s.GetInt("HVD_RECHAZO") > 0 Then + Printer1.Justify = 0 + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + vc5.Position = 0 + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + TAMANO = punit.Length + TAMANO + vc5.Close + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + TAMANO = ptot.Length + TAMANO + ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) + + ' Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString(ptot& CRLF ) + TAMANO = 0 + ESPACIO = 28 + BLANCO = " " + Printer1.Justify = 0 + End If + End If + Next + End If + End If + Printer1.Justify = 0 + s.Close + Printer1.WriteString(" " & CRLF) - - -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) - s=Starter.skmt.ExecQuery($"SELECT HVD_CODPROMO, HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, LENGTH(SUM(HVD_CANT)) AS L_CANT, SUM(HVD_COSTO_TOT) AS HVD_COSTO_TOT, LENGTH(SUM(HVD_COSTO_TOT)) AS L_COSTOU, HVD_PROID, SUM(IFNULL(HVD_RECHAZOCANT, 0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT', 'MIRETO', 'CONECTADOS') AND HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' GROUP BY HVD_PROID, HVD_CODPROMO"$) - + + + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"SELECT HVD_CODPROMO, HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, LENGTH(SUM(HVD_CANT)) AS L_CANT, SUM(HVD_COSTO_TOT) AS HVD_COSTO_TOT, LENGTH(SUM(HVD_COSTO_TOT)) AS L_COSTOU, HVD_PROID, SUM(IFNULL(HVD_RECHAZOCANT, 0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT', 'MIRETO', 'BIGCOMMERCE') AND HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' GROUP BY HVD_PROID, HVD_CODPROMO"$) + + + If S.RowCount>0 Then - Printer1.WriteString("------- BONIFIACIONES --------" & CRLF) + + Printer1.WriteString("------- BONIFICACIONES --------" & CRLF) + Printer1.WriteString("Cant. Precio Importe" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i - - - + + + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then -' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then - Printer1.Justify = 0 -' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then -'' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) -' -' Else - - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - - Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO - Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 - Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot & CRLF ) - TAMANO = 0 - ESPACIO = 29 - BLANCO = " " - Printer1.Justify = 0 -' End If -' Else -' End If + + ' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then + + Printer1.Justify = 0 + + ' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then + + '' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) + + ' + + ' Else + + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + + Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + +' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 29 + + BLANCO = " " + + Printer1.Justify = 0 + + ' End If + + ' Else + + ' End If + End If - + + Next + End If - -' Printer1.WriteString(" " & CRLF) -' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$) + + + ' Printer1.WriteString(" " & CRLF) + + ' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$) + ' -' If S.RowCount>0 Then -' Printer1.WriteString("-----------VENTA------------" & CRLF) -' Printer1.WriteString("Cant. Precio Importe" & CRLF) -' Printer1.WriteString("------------------------------" & CRLF) -' -' For i=0 To S.RowCount -1 -' S.Position=i + + ' If S.RowCount>0 Then + + ' Printer1.WriteString("-----------VENTA------------" & CRLF) + + ' Printer1.WriteString("Cant. Precio Importe" & CRLF) + + ' Printer1.WriteString("------------------------------" & CRLF) + ' -' Printer1.Justify = 0 -' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) -' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False) -' TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False) -' TAMANO = ptot.Length + TAMANO -' ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString( punit & BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(ptot & CRLF ) -' TAMANO = 0 -' ESPACIO = 29 -' BLANCO = " " -' Printer1.Justify = 0 -' Next -' End If -Printer1.WriteString(" " & CRLF) - - + + ' For i=0 To S.RowCount -1 + + ' S.Position=i + + ' + + ' Printer1.Justify = 0 + + ' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + ' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False) + + ' TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False) + + ' TAMANO = ptot.Length + TAMANO + + ' ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + ' For E=0 To ESPACIO -1 + + ' BLANCO = " " & BLANCO + + ' Next + + ' Printer1.Justify = 0 + + ' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO) + + ' Printer1.Justify = 1 + + ' Printer1.WriteString( punit & BLANCO) + + ' Printer1.Justify = 2 + + ' Printer1.WriteString(ptot & CRLF ) + + ' TAMANO = 0 + + ' ESPACIO = 29 + + ' BLANCO = " " + + ' Printer1.Justify = 0 + + ' Next + + ' End If + + Printer1.WriteString(" " & CRLF) + + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$) + If S.RowCount>0 Then + Printer1.WriteString("----------- MI RETO ------------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + Printer1.WriteString("Cant. Precio Importe" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i + Log(s.GetString("HVD_RECHAZO")) + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + If s.GetInt("HVD_RECHAZO") = 0 Then + Printer1.Justify = 0 + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + TAMANO = ptot.Length + TAMANO + ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) + + ' Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString( ptot & CRLF ) + TAMANO = 0 + ESPACIO = 28 + BLANCO = " " + Else If s.GetInt("HVD_RECHAZO") > 0 Then + Printer1.Justify = 0 + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + vc5.Position = 0 + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + TAMANO = punit.Length + TAMANO + vc5.Close + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + TAMANO = ptot.Length + TAMANO + ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot& CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If - Printer1.Justify = 0 - s.Close - - Printer1.WriteString(" " & CRLF) - - - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) - If S.RowCount>0 Then - Printer1.WriteString("---------- CONECTADOS ----------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetInt("HVD_RECHAZO") = 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString( ptot & CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Else If s.GetInt("HVD_RECHAZO") > 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) - vc5.Position = 0 - Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) - TAMANO = punit.Length + TAMANO - vc5.Close - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot& CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If - Printer1.Justify = 0 - s.Close - -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) - If S.RowCount>0 Then - Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetInt("HVD_RECHAZO") = 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString( ptot & CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Else If s.GetInt("HVD_RECHAZO") > 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) - vc5.Position = 0 - Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) - TAMANO = punit.Length + TAMANO - vc5.Close - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) + + ' Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString(ptot& CRLF ) + TAMANO = 0 + ESPACIO = 28 + BLANCO = " " + Printer1.Justify = 0 + End If + End If + Next + End If + Printer1.Justify = 0 + s.Close - + Printer1.WriteString(" " & CRLF) - - - - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF) - Printer1.WriteString("Total: $" & l_total.Text) - Printer1.WriteString(" " & CRLF) - - If almacen = "81" Then - Printer1.WriteString("Telefono de atencion:" & CRLF) - Printer1.WriteString("" & CRLF) - End If - - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) - Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) - Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - - - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Sleep(1000) - Printer1.DisConnect - ProgressDialogHide - If banderaimp = 1 Then - Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - B_IMP_Click - Else - If Tipoentrega = "CREDITO" Then - imprime_pagare - Else - Guardado + + + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'BIGCOMMERCE' GROUP by HVD_PROID"$) + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("---------- CONECTADOS ----------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + End If - End If -' printer.Flush - ' printer.Close - Else If banderaimp = 0 Then - Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - B_IMP_Click - End If + + Next + End If -' Guardado + + Printer1.Justify = 0 + + s.Close + + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + + + Printer1.WriteString(" " & CRLF) + + + + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF) + + Printer1.WriteString("Total: $" & l_total.Text) + + Printer1.WriteString(" " & CRLF) + + + If almacen = "81" Then + + Printer1.WriteString("Telefono de atencion:" & CRLF) + + Printer1.WriteString("" & CRLF) + + End If + + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Sleep(1000) + + Printer1.DisConnect + + ProgressDialogHide + + If banderaimp = 1 Then + + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + + Wait For Msgbox_Result (resultado As Int) + + If resultado = DialogResponse.POSITIVE Then + + B_IMP_Click + + Else + + If Tipoentrega = "CREDITO" Then + + imprime_pagare + + Else + + Guardado + + End If + + End If + + ' printer.Flush + + ' printer.Close + + Else If banderaimp = 0 Then + + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + + Wait For Msgbox_Result (resultado As Int) + + If resultado = DialogResponse.POSITIVE Then + + B_IMP_Click + + End If + + End If + + ' Guardado + End Sub + + Sub Printer1_Connected (Success As Boolean) -' If Logger Then Log("Printer1_Connected") + + ' If Logger Then Log("Printer1_Connected") + If Success Then + ToastMessageShow("Impresora conectada", False) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora)) -' If logger Then LogColor("Impresora conectada", Colors.Green) -' B_IMP2.Enabled = True + + ' If logger Then LogColor("Impresora conectada", Colors.Green) + + ' B_IMP2.Enabled = True + impresoraConectada = True + Else -' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore -' ToastMessageShow("Error conectando la impresora", False) + + ' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore + + ' ToastMessageShow("Error conectando la impresora", False) + LogColor("Error conectando la impresora", Colors.Red) + errorImpresora = errorImpresora + 1 + If errorImpresora > 1 Then + Starter.MAC_IMPRESORA = "0" + errorImpresora = 0 + End If + End If + End Sub + + Sub Printer1_Error + Log("error printer") + End Sub + + Sub Printer_Connected (Success As Boolean) + If Success Then -' B_IMP.Enabled = True -' PASA_IMP = "1" + + ' B_IMP.Enabled = True + + ' PASA_IMP = "1" + Else -' B_IMP.Enabled = False + + ' B_IMP.Enabled = False + If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore + StartPrinter + End If + End If + End Sub + + Sub StartPrinter + Dim PairedDevices As Map + Dim L1 As List + Dim resimp As Int + ToastMessageShow("Printing.....",True) + PairedDevices.Initialize + Try + PairedDevices = cmp20.GetPairedDevices + Catch + Msgbox("Getting Paired Devices","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + + If PairedDevices.Size = 0 Then + Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore + Return + End If + + If PairedDevices.Size = 1 Then + Try + cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0))) + Catch + Msgbox("Connecting","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + Else + L1.Initialize + For i = 0 To PairedDevices.Size - 1 + L1.Add(PairedDevices.GetKeyAt(i)) + Next + resimp = InputList(L1, "Choose device", -1) 'ignore + If resimp <> DialogResponse.CANCEL Then + cmp20.Connect(PairedDevices.Get(L1.Get(resimp))) + End If + End If + End Sub + + + Sub B_PASO2_Click + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, "PASO","PASO ESPERA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) -' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0") -' If mandamapa.RowCount > 0 Then -' StartActivity(MAPA_RUTAS) -' Else If mandamapa.RowCount = 0 Then + + ' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0") + + ' If mandamapa.RowCount > 0 Then + + ' StartActivity(MAPA_RUTAS) + + ' Else If mandamapa.RowCount = 0 Then + B4XPages.ShowPage("Principal") -' End If + + ' End If + End Sub + + + Sub mandaPendientesreparto -' c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1") -' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$) -' If c.RowCount>0 Then -' For i=0 To c.RowCount -1 -' c.Position=i -' Dim cmd As DBCommand -' cmd.Initialize -' cmd.Name = "insert_REPARTO_MARDS"'Ojala no Truene -' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) -' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) -' -' Next -' End If -' c.Close + + ' c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1") + + ' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$) + + ' If c.RowCount>0 Then + + ' For i=0 To c.RowCount -1 + + ' c.Position=i + + ' Dim cmd As DBCommand + + ' cmd.Initialize + + ' cmd.Name = "insert_REPARTO_MARDS"'Ojala no Truene + + ' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) + + ' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) + + ' + + ' Next + + ' End If + + ' c.Close + End Sub + + Sub JobDone(Job As HttpJob) + Log(Job.Success) + If Job.Success = False Then -' ToastMessageShow("Error: " & Job.ErrorMessage, True) + + ' ToastMessageShow("Error: " & Job.ErrorMessage, True) + Else + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027 + If Job.JobName = "DBRequest" Then + Dim resultado As DBResult = reqManager.HandleJob(Job) + If resultado.Tag.As(String).IndexOf("ins_REPARTOPendientes_head_") > -1 Then + Private cliente As String= resultado.Tag + cliente = cliente.SubString(cliente.IndexOf("_")+24) + Log($"Cliente1:${cliente}"$) + Starter.skmt.ExecNonQuery2("update REPARTO_GEO SET ENVIO = ? WHERE CLIENTE = ? AND ENVIO <> ?",Array As String ("1", cliente,"1")) + For Each records() As Object In resultado.Rows + For Each k As String In resultado.Columns.Keys + Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k))) + Next + Next + End If + If resultado.Tag.As(String).IndexOf("insertaPagare_") > -1 Then + ProgressDialogHide + Private NOTA As String= resultado.Tag + NOTA = NOTA.SubString(NOTA.IndexOf("_")+1) + Log(NOTA) + p_transPagare2.Visible = True + CrearQR(NOTA) + + + + + End If + If resultado.Tag.As(String).IndexOf("pagareConfirmado_") > -1 Then + ProgressDialogHide + Subs.logJobDoneResultados(resultado) + Private NOTA As String= resultado.Tag + NOTA = NOTA.SubString(NOTA.IndexOf("_")+1) -' Log(NOTA) -' Log(resultado.Rows.Size) + + ' Log(NOTA) + + ' Log(resultado.Rows.Size) + If resultado.Rows.Size > 0 Then + p_transPagare2.Visible = False -' guardaVenta + + ' guardaVenta + esPagoACreditoGuardamosPagare -' Msgbox("¡Pagare confirmado!", "AVISO") 'ignore + + ' Msgbox("¡Pagare confirmado!", "AVISO") 'ignore + Else + ToastMessageShow("El pagare NO ha sido confirmado por el cliente!", True) + + End If + + End If + + If resultado.Tag = "codigoAutorizacionimp" Then + If resultado.Rows.Size > 0 Then + Log("Si hay codigo de autorizaion") + For Each records() As Object In resultado.Rows + For Each k As String In resultado.Columns.Keys + Log(k & ": " & records(resultado.Columns.Get(k))) + Next + Next + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "delete_codigoAutorizacion_IMP_REP" + cmd.Parameters = Array As Object(et_passFinDia.Text.Trim, Subs.traeRutaReparto, Subs.traeAlmacen) + reqManager.ExecuteCommand(cmd , "delete_codigoAutorizacion_IMP_REP") + p_transFinDia.Visible = False + et_passFinDia.Text = "" + teclado.HideKeyboard + imp +' Starter.skmt.ExecNonQuery("DELETE FROM ABONOS where a_numpago = '2'") + + Else + ToastMessageShow("El codigo es incorrecto, por favor revise y vuelva a intentar!!", True) End If End If + + If resultado.Tag.As(String).IndexOf("mandaAbonosPendientes_") > -1 Then + Private NOTA As String= resultado.Tag + NOTA = NOTA.SubString(NOTA.IndexOf("_")+1) + Log("---> ABONO MANDADO: " & NOTA) + Starter.skmt.ExecNonQuery($"update ABONOS set a_enviado = 1 where a_cliente = '${NOTA}'"$) + End If + + End If + Job.Release + End If + End Sub + + Private Sub b_acred_Click + If et_montoacredito.Text > l_total.Text Then + MsgboxAsync("El monto del pagare no puede ser mayor a la venta","Atención") + Else + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + 'cliente + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c.Close + 'usuario + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + 'Almacen + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + c.Position = 0 + almacen = c.GetString("ID_ALMACEN") + c.Close + 'FECHA PREVENTA + c=Starter.skmt.ExecQuery("select HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + c.Position = 0 + fechaprev = c.GetString("HVD_FECHA") + c.Close + 'RUTAPREVENTA + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + c.Position = 0 + rutaprev = c.GetString("CAT_CL_RUTA") + c.Close + 'RUTA rep + c=Starter.skmt.ExecQuery("select RUTAA from RUTAA") + c.Position = 0 + rutarep = c.GetString("RUTAA") + c.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),et_montoacredito.Text,usuario,cuenta)) + et_montoacredito.Text = "" + p_credito.Visible = False + Guardado + End If + End Sub + + Private Sub b_cancred_Click + et_montoacredito.Text = "" + p_credito.Visible = False + End Sub + + Private Sub p_credito_Click - + + End Sub + + Private Sub cb_tipopago_SelectedIndexChanged (Index As Int) + itemselect = cb_tipopago.SelectedItem + End Sub + + Private Sub b_cxc_Click - b_abono.Enabled = True + tipo_abonox = "cxc" + Folio = "" + h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + h.Position = 0 + Log(h.GetString("CUENTA")) - + + Dim Items As List + Items.Initialize - + + Items.Add("SELECCIONA UNA OPCION") + Items.Add("TRANSFERENCIA") + Items.Add("EFECTIVO") + Items.Add("CHEQUE") - + + cb_tipopago.SetItems(Items) - + + itemselect= "SELECCIONA UNA OPCION" - + + j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) + j.position = 0 + Log(j.RowCount) + If j.RowCount = 0 Then + p_abono.Visible = True + et_abono.text = "" + Dim total As Double = 0 + f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") + f.Position = 0 + d = Starter.skmt.ExecQuery2("SELECT NOTA, SALDO_PENDIENTE,FECHA_PREVENTA FROM ABONOSP WHERE CLIENTE = ? AND SALDO_PENDIENTE <> 0 ORDER BY FECHA_PREVENTA DESC", Array As String (f.GetString("CUENTA"))) + clv_abonos.Clear + For i = 0 To d.RowCount - 1 + d.Position = i + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("NOTA"))) + Log(Folio) + y.position = 0 - + + clv_abonos.Add(CreateListItem(d.GetString("NOTA"),"$ " &NumberFormat2(d.GetString("SALDO_PENDIENTE")-y.GetString("a_abono"),0,2,2,False),d.GetString("FECHA_PREVENTA")),i) + Log(d.GetString("NOTA")) + Log(d.GetString("SALDO_PENDIENTE")) + total = total + d.GetString("SALDO_PENDIENTE") + Log(total) + Next + d.Close + d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null ORDER BY a_fecha DESC ", Array As String (f.GetString("CUENTA"))) + If d.RowCount > 0 Then + For i = 0 To d.RowCount - 1 + d.Position = i + clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i) + total = total - d.GetString("a_abono") + Log(total) + Next + End If + l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False) + d.Close + f.Close + Else If j.RowCount > 0 Then + p_abono.Visible = True + et_abono.text = "" + Dim total As Double = 0 + f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") + f.Position = 0 + d = Starter.skmt.ExecQuery2("SELECT NOTA, SALDO_PENDIENTE,FECHA_PREVENTA FROM ABONOSP WHERE CLIENTE = ? AND SALDO_PENDIENTE <> 0 ORDER BY FECHA_PREVENTA DESC", Array As String (f.GetString("CUENTA"))) + clv_abonos.Clear + For i = 0 To d.RowCount - 1 + d.Position = i + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("NOTA"))) + Log(Folio) + y.position = 0 - + + clv_abonos.Add(CreateListItem(d.GetString("NOTA"),"$ " & NumberFormat2(d.GetString("SALDO_PENDIENTE")-y.GetString("a_abono"),0,2,2,False),d.GetString("FECHA_PREVENTA")),i) + Log(d.GetString("NOTA")) + Log(d.GetString("SALDO_PENDIENTE")) + total = total + d.GetString("SALDO_PENDIENTE") + Log(total) + Next + d.Close + d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null ORDER BY a_fecha DESC", Array As String (f.GetString("CUENTA"))) + If d.RowCount > 0 Then + For i = 0 To d.RowCount - 1 + d.Position = i + clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i) + total = total - d.GetString("a_abono") + Log(total) + Next + End If + l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False) + d.Close + f.Close -' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención") + + ' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención") + End If + h.Close + j.Close + End Sub + + Private Sub p_abono_Click - + + End Sub -'Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel -' Dim p As B4XView = xui.CreatePanel("") -' p.SetLayoutAnimated(0, 0, 0, 1, 10) -' p.LoadLayout("folioabono") -' p.Height= 32dip -' p.Width = 80dip -'' p.Width = clv_orden.GetBase.Width -' l_folio.Text = mostrar -' l_saldo.Text = mostrar1 -' l_fecha.Text = mostrar2 -'' cxc.Text = mostrar3 - '' Log(p.Width) -' Return p -'End Sub + 'Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel -' Dim p As B4XView = xui.CreatePanel("") -' p.SetLayoutAnimated(0, 0, 0, 1, 10) -' p.LoadLayout("folioabono") -' p.Height= 32dip -' p.Width = 80dip -' -' l_folio.Text = mostrar -' l_saldo.Text = mostrar1 -' l_fecha.Text = mostrar2 -' -' CheckBox1.Checked = False -' p.Tag = mostrar -' Return p + +' Dim p As B4XView = xui.CreatePanel("") + +' p.SetLayoutAnimated(0, 0, 0, 1, 10) + +' p.LoadLayout("folioabono") + +' p.Height= 32dip + +' p.Width = 80dip + +'' p.Width = clv_orden.GetBase.Width + +' l_folio.Text = mostrar + +' l_saldo.Text = mostrar1 + +' l_fecha.Text = mostrar2 + +'' cxc.Text = mostrar3 + +'' Log(p.Width) + +' Return p + 'End Sub +'Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel + +' Dim p As B4XView = xui.CreatePanel("") + +' p.SetLayoutAnimated(0, 0, 0, 1, 10) + +' p.LoadLayout("folioabono") + +' p.Height= 32dip + +' p.Width = 80dip + +' + +' l_folio.Text = mostrar + +' l_saldo.Text = mostrar1 + +' l_fecha.Text = mostrar2 + +' + +' CheckBox1.Checked = False + +' p.Tag = mostrar + +' Return p + +'End Sub + + + + + + + ' Evento del checkbox + 'Sub CheckBox1_CheckedChange(Checked As Boolean) -' Dim chk As CheckBox = Sender -' -' If Checked Then -' For i = 0 To clv_abonos.Size - 1 -' Dim p As Panel = clv_abonos.GetPanel(i) -' Log("Folio: " & p.Tag) -' -' ' OBTENER EL TEXTO DIRECTAMENTE DEL TAG -' -' ' Buscar y desmarcar otros checkboxes... -' For Each v As View In p.GetAllViewsRecursive -' If v Is CheckBox Then -' Dim otherChk As CheckBox = v -' If otherChk <> chk Then -' otherChk.Checked = False -' End If -' Exit -' End If -' Next -' Next -' End If + +' Dim chk As CheckBox = Sender + +' + +' If Checked Then + +' For i = 0 To clv_abonos.Size - 1 + +' Dim p As Panel = clv_abonos.GetPanel(i) + +' Log("Folio: " & p.Tag) + +' + +' ' OBTENER EL TEXTO DIRECTAMENTE DEL TAG + +' + +' ' Buscar y desmarcar otros checkboxes... + +' For Each v As View In p.GetAllViewsRecursive + +' If v Is CheckBox Then + +' Dim otherChk As CheckBox = v + +' If otherChk <> chk Then + +' otherChk.Checked = False + +' End If + +' Exit + +' End If + +' Next + +' Next + +' End If + 'End Sub + + + Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel + Dim p As B4XView = xui.CreatePanel("") + p.SetLayoutAnimated(0, 0, 0, 1, 10) + p.LoadLayout("folioabono") + p.Height= 32dip + p.Width = 80dip + Folio = "" + l_folio.Text = mostrar + l_saldo.Text = mostrar1 + l_fecha.Text = mostrar2 + If mostrar = "ABONO" Then + CheckBox1.Visible = False + Else + CheckBox1.Visible = True + End If + ' Guardar referencia al label en el Tag del checkbox + CheckBox1.Tag = l_folio - - + + + Return p + End Sub + + Sub CheckBox1_CheckedChange(Checked As Boolean) + + + + If ChangingCheckboxesProgrammatically Then Return + + Dim chk As CheckBox = Sender + If chk.Checked = False Then - + + et_abono.Text = "" + End If - + + If Checked Then + ' Obtener directamente el label desde el Tag del checkbox + Dim l_folio As Label = chk.Tag - + + Log("Folio seleccionado: " & l_folio.Text) + Folio = l_folio.Text + ' Indicar que estamos cambiando checkboxes programáticamente + ChangingCheckboxesProgrammatically = True - + + If tipo_abonox = "cxc" Then + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio)) + Log(Folio) + y.position = 0 + Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?", Array As String(Folio)) + u.Position = 0 - + + et_abono.Text = u.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono") + Else If tipo_abonox = "abono" Then + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio)) + Log(Folio) + y.position = 0 + c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) + c.Position = 0 - + + et_abono.Text = c.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono") + End If - + + ' Desmarcar todos los demás checkboxes + For i = 0 To clv_abonos.Size - 1 + Dim p As Panel = clv_abonos.GetPanel(i) + Dim panelCheckbox As CheckBox = GetCheckboxFromPanel(p) - + + If panelCheckbox <> Null And panelCheckbox <> chk Then + panelCheckbox.Checked = False + End If + Next - + + ' Restaurar flag + ChangingCheckboxesProgrammatically = False + End If + + + End Sub + + Sub GetCheckboxFromPanel(p As Panel) As CheckBox + For Each v As View In p.GetAllViewsRecursive + If v Is CheckBox Then + Return v + End If + Next + Return Null + End Sub + + + + + + Private Sub b_cancelar_Click + et_abono.Text = "" + p_abono.Visible = False + ime.HideKeyboard + End Sub + + Private Sub b_abono_Click ' p_abono.Visible = False If et_abono.Text <> "" Then - b_abono.Enabled = False -' If almacen = 92 Then -' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio)) -' Log(Folio) -' y.position = 0 -' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?", Array As String(Folio)) -' u.Position = 0 -' If y.GetString("a_abono") > 0 Then -' Log((u.GetString("SALDO_PENDIENTE") + y.GetString("a_abono"))) -' If et_abono.text > (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono")) Then -' MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" ) -' Else -' If et_abono.Text <> "" And et_abono.Text > 0 Then -' If itemselect <> "SELECCIONA UNA OPCION" Then -' If Folio <> "" Then -' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) -' Wait For Msgbox_Result (resultado As Int) -' If resultado = DialogResponse.POSITIVE Then -' imprime_abonopagare -' End If -' Else -' MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") -' End If -' Else -' MsgboxAsync("Por favor selecciona un metodo de pago","Atención") -' End If -' End If -' End If -' Else -' Log("entramos aqui") -' If Folio <> "" Then -' If et_abono.text >= u.GetString("SALDO_PENDIENTE") Then -' MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" ) -' Else -' If et_abono.Text <> "" And et_abono.Text > 0 Then -' If itemselect <> "SELECCIONA UNA OPCION" Then -' -' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) -' Wait For Msgbox_Result (resultado As Int) -' If resultado = DialogResponse.POSITIVE Then -' imprime_abonopagare -' End If -' -' Else -' MsgboxAsync("Por favor selecciona un metodo de pago","Atención") -' End If -' End If -' End If -' Else -' MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") -' End If -' End If -' -' Else - -' If et_abono.text > l_montoabonostotal.text Then -' MsgboxAsync("El monto a abonar no puede ser mayor que el monto total","Atención" ) -' Else -' If et_abono.Text <> "" And et_abono.Text > 0 Then -' If itemselect <> "SELECCIONA UNA OPCION" Then -' If Folio <> "" Then -' - '' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - '' k.Position = 0 - '' Log(k.GetString("CUENTA")) - '' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA"))) - '' y.position = 0 - '' If y.RowCount = 0 Then -' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) -' Wait For Msgbox_Result (resultado As Int) -' If resultado = DialogResponse.POSITIVE Then -' imprime_abonopagare -' End If - '' Else If et_abono.Text > y.GetString("a_abono") Then - '' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) - '' Wait For Msgbox_Result (resultado As Int) - '' If resultado = DialogResponse.POSITIVE Then - '' imprime_abonopagare - '' End If - '' Else If et_abono.Text = y.GetString("a_abono") Then - '' p_abono.Visible = False - '' et_abono.Text = "" - '' Else If et_abono.Text < y.GetString("a_abono") Then - '' p_abono.Visible = False - '' MsgboxAsync("El pago no puede ser menor al monto capturado.","Atención") - '' et_abono.Text = "" - '' End If -' Else -' MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") -' End If -' Else -' MsgboxAsync("Por favor selecciona un metodo de pago","Atención") -' End If -' End If -' End If - + imprimir = 1 + textedit = et_abono.Text Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio)) Log(Folio) y.position = 0 Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?", Array As String(Folio)) u.Position = 0 + If y.GetDouble("a_abono") > 0 Then If tipo_abonox = "cxc" Then Log((u.GetDouble("SALDO_PENDIENTE") + y.GetDouble("a_abono"))) If et_abono.text > (u.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono")) Then Log("aqui") MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" ) - b_abono.Enabled = True Else If et_abono.Text <> "" And et_abono.Text > 0 Then If itemselect <> "SELECCIONA UNA OPCION" Then If Folio <> "" Then - Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) - b_abono.Enabled = True +' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) + Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then - b_abono.Enabled = False imprime_abonopagare + indicanum = 0 End If Else - b_abono.Enabled = True MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") - b_abono.Enabled = True End If Else MsgboxAsync("Por favor selecciona un metodo de pago","Atención") - b_abono.Enabled = True End If End If End If + Else If tipo_abonox = "abono" Then + If Folio <> "" Then c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) c.Position = 0 @@ -2434,54 +4720,61 @@ Private Sub b_abono_Click If et_abono.text > (c.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono")) Then Log("aqui") MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" ) - b_abono.Enabled = True Else If et_abono.Text <> "" And et_abono.Text > 0 Then If itemselect <> "SELECCIONA UNA OPCION" Then - Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) + +' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) + Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then + imprime_abonopagare End If + Else MsgboxAsync("Por favor selecciona un metodo de pago","Atención") - b_abono.Enabled = True End If End If End If Else MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") - b_abono.Enabled = True End If + End If + + Else + Log("entramos aqui") If tipo_abonox = "cxc" Then If Folio <> "" Then If et_abono.text > u.GetDouble("SALDO_PENDIENTE") Then Log("aqui") MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" ) - b_abono.Enabled = True Else If et_abono.Text <> "" And et_abono.Text > 0 Then If itemselect <> "SELECCIONA UNA OPCION" Then - Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) + +' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) + Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then imprime_abonopagare End If + Else MsgboxAsync("Por favor selecciona un metodo de pago","Atención") - b_abono.Enabled = True End If End If End If Else MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") - b_abono.Enabled = True End If Else If tipo_abonox = "abono" Then + '''checar + If Folio <> "" Then c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) c.Position = 0 @@ -2489,517 +4782,38 @@ Private Sub b_abono_Click If et_abono.text > c.GetDouble("SALDO_PENDIENTE") Then Log("aqui") MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" ) - b_abono.Enabled = True Else If et_abono.Text <> "" And et_abono.Text > 0 Then If itemselect <> "SELECCIONA UNA OPCION" Then - Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) + + Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then imprime_abonopagare End If + Else MsgboxAsync("Por favor selecciona un metodo de pago","Atención") - b_abono.Enabled = True End If End If End If Else MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención") - b_abono.Enabled = True End If End If + End If + + ' End If End If ime.HideKeyboard End Sub -Sub mandaAbonosPendientes - Log("--->>>> MANDAMOS ABONO MANDAPENDIENTES") - almacen = 99999999 - Private ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$) - Log(ab.RowCount) - If ab.RowCount > 0 Then - For i=0 To ab.RowCount -1 - ab.Position = i - Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$) - ab1.Position = 0 - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_abono_REP_GUNA_VN2" - cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"), almacen, "REPARTO", Subs.traeRuta(Subs.traeCliente), "", ab.GetString("TIPO_PAGO"), ab.GetString("a_ticket"), ab.GetString("a_numpago")) - reqManager.ExecuteCommand(cmd , $"mandaAbonosPendientes_${ab.GetString("a_cliente")}"$) - ab1.Close - Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) - Next - End If - ab.Close -End Sub - -Sub imprime_abonopagare2 - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") -' DateTime.DateFormat = "MM/dd/yyyy" - DateTime.DateFormat = "dd/MM/yyyy" - DateTime.TimeFormat = "HH:mm:ss" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c.Close -' ProgressDialogShow("Imprimiendo, un momento ...") -' Printer1.DisConnect -' If Not(Printer1.IsConnected) Then -' Log("Conectando a impresora ...") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) -' Sleep(1000) -' Log("++++++ " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' Else -' Log("conectando 2") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) -' Sleep(1000) -' Log("****** " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' End If - - ProgressDialogShow("Imprimiendo, un momento ...") - Printer1.DisConnect - If Not(Printer1.IsConnected) Then -' If logger Then Log("conectando 1") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) - Sleep(1000) - cont = cont + 1 - If cont = 7 Then Printer1.Connect 'Tratamos de reconectar - If cont > 15 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - Else -' If logger Then Log("conectando 2") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) - Sleep(1000) - cont = cont + 1 - If cont = 2 Then Printer1.Connect - If cont > 4 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - End If - TAMANO = 0 - ESPACIO = 22 - BLANCO = " " - - - Dim bmp As Bitmap - bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore - Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) - myimage = Printer1.DitherImage2D(myimage, 128) - myimage= Printer1.PackImage(myimage) - Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening - Printer1.WriteString(Printer1.REVERSE) - Printer1.PrintImage(myimage) - Printer1.WriteString(Printer1.UNREVERSE) - Dim telefono As String = "" - Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If c7.RowCount > 0 Then - c7.Position = 0 - telefono = c7.GetString("CAT_CL_TELEFONO") - End If - c7.Close - - - - Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) -' Printer1.WriteString(sucursal & CRLF) - Printer1.WriteString(sDate & CRLF) - Printer1.WriteString(sTime & CRLF) - Printer1.WriteString("Reparto:" & usuario & CRLF) - Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) - Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) - Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) - Printer1.WriteString("Colonia: " & la_col.Text & CRLF) - Printer1.WriteString("Telefono: " & telefono & CRLF) - Printer1.WriteString(" " & CRLF) +Sub Guardaabono(numpago As Int) Dim notaabono As String Dim saldopendiente As Double Dim saldopendiente2 As Double - - If tipo_abonox = "abono" Then - - - c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$) - If c.RowCount > 0 Then - c.Position = 0 - notaabono = c.GetString("HVD_NUM_TICKET") - End If - c.Close - - c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) - If c.RowCount > 0 Then - c.Position = 0 - saldopendiente = c.GetDouble("SALDO_PENDIENTE") - Log(c.GetString("SALDO_PENDIENTE")) - End If - c.Close - - - Dim saldopendiente1 As Double = 0 - Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") - If c4.RowCount > 0 Then - c4.Position = 0 - Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") - saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") - - - End If - c4.Close - - Else If tipo_abonox = "cxc" Then - c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - If c.RowCount > 0 Then - c.Position = 0 - notaabono = c.GetString("NOTA") - saldopendiente = c.GetDouble("SALDO_PENDIENTE") - End If - c.Close - - Dim saldopendiente1 As Double = 0 - Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") - If c4.RowCount > 0 Then - c4.Position = 0 - Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") - saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") - End If - c4.Close - - - c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio)) - If c.RowCount > 0 Then - c.Position = 0 - saldopendiente2 = c.GetDouble("SALDO_PENDIENTE") - End If - c.Close - - Dim saldopendiente3 As Double = 0 - Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio)) - If c4.RowCount > 0 Then - c4.Position = 0 -' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") - saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE") - End If - c4.Close - - End If - Dim numpago As Int = c5.RowCount + 1 - - Dim tipopagotick As String = "" - If itemselect = "TRANSFERENCIA" Then - tipopagotick = "T" - Else If itemselect = "EFECTIVO" Then - tipopagotick = "E" - Else If itemselect = "CHEQUE" Then - tipopagotick = "C" - End If - - '' codigo de barras -' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago) - '' codigo de qr - B4XImageView1.SetBitmap(qr.Create(notaabono&sDate&tipopagotick&numpago)) - - - Dim Dirp As String = File.DirInternal - Dim Dir As String - Dim Dir2 As String - Try - File.MakeDir(Dirp,"/md") - Dir = "/md" - Log("creado en promotoria " & Dirp & Dir) - Catch - Dir = "" - Log("creado en raiz") - End Try - - Try - File.MakeDir(Dirp & Dir,"/reduccion") - Dir2 = "/reduccion" - Log("creado en promotoria " & Dirp & Dir & Dir2) - Catch - Dir = "" - Log("creado en raiz") - End Try - - '' codigo de barras -' Dim Out As OutputStream -' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False) -' barcode.CODE128(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG") -' Out.Close - - '' codigo de qr - Dim Out As OutputStream - Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False) - qr.Create(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG") - Out.Close - - - -' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' If c.RowCount > 0 Then -' c.Position = 0 -' notaabono = c.GetString("NOTA") -' End If - - Log(notaabono) - Log(et_abono.Text) - Printer1.WriteString("Comprobante de pago del pagare" & CRLF) - Printer1.WriteString("Folio: " & NOTA &"-"&(numpago)& CRLF) - Printer1.WriteString("Monto deuda: " & (NumberFormat2(l_total.Text.Replace(",",""),0,2,2,False)) & CRLF) - Printer1.WriteString("Monto abono: " & (NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False)) & CRLF) - Printer1.WriteString("Restante "&NOTA&": " &(NumberFormat(limite_credito,0,2)) & CRLF) - Printer1.WriteString("Fecha Abono: " & sDate & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("-------------FIRMA------------" & CRLF) - - DateTime.DateFormat = "ddMMyyyy" - sDate=DateTime.Date(DateTime.Now) - itemselect = "EFECTIVO" - -' Items.Add("TRANSFERENCIA") -' Items.Add("EFECTIVO") -' Items.Add("CHEQUE") - - - - - -' Dim bmp As Bitmap - '' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore - - Dim bmp2 As Bitmap - bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore -' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore - Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2) - myimage2 = Printer1.DitherImage2D(myimage2, 128) - myimage2= Printer1.PackImage(myimage2) - Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening - Printer1.WriteString(Printer1.REVERSE) - Printer1.PrintImage(myimage2) - Printer1.WriteString(Printer1.UNREVERSE) - - -' Printer1.WriteBarCode("I",NOTA&sDate&tipopagotick&numpago) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Sleep(1000) - Printer1.DisConnect - ProgressDialogHide - - -' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) -' -' Wait For Msgbox_Result (resultado As Int) -' If resultado = DialogResponse.POSITIVE Then -' imprime_abonopagare -' Else -' p_abono.Visible = False -' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) -' ToastMessageShow("Abono guardado", False) -' End If - - If banderaimp = 1 Then - Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_abonopagare2 - Else - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'EFECTIVO','${NOTA}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - Guardado - End If -' printer.Flush - ' printer.Close - Else If banderaimp = 0 Then - Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_abonopagare2 - End If - End If - - - -End Sub - -'Sub hazpago -' h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") -' h.Position = 0 -' Log(h.GetString("CUENTA")) -' j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) -' j.position = 0 -' If j.RowCount = 0 Then -' p_abono.Visible = False -' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) -' ToastMessageShow("Abono guardado", False) -' et_abono.Text = "" -' Else -' p_abono.Visible = False -'' skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) -' Starter.skmt.ExecNonQuery($"UPDATE ABONOS set a_abono = '${et_abono.text}' where a_usuario = '${Subs.traeUsuarioDeBD}' and a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' and a_cliente In (select cuenta from cuentaa)"$) -' ToastMessageShow("Abono guardado", False) -' et_abono.Text = "" -' End If -'End Sub - -'Saves the data received from PictureTaken event -Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String) - Dim out As OutputStream = File.OpenOutput(Dir, FileName, False) - out.WriteBytes(Data, 0, Data.Length) - out.Close -End Sub - -Sub imprime_abonopagare - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") -' DateTime.DateFormat = "MM/dd/yyyy" - DateTime.DateFormat = "dd/MM/yyyy" - DateTime.TimeFormat = "HH:mm:ss" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c.Close -' ProgressDialogShow("Imprimiendo, un momento ...") -' Printer1.DisConnect -' If Not(Printer1.IsConnected) Then -' Log("Conectando a impresora ...") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) -' Sleep(1000) -' Log("++++++ " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' Else -' Log("conectando 2") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) -' Sleep(1000) -' Log("****** " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' End If - - ProgressDialogShow("Imprimiendo, un momento ...") - Printer1.DisConnect - If Not(Printer1.IsConnected) Then -' If logger Then Log("conectando 1") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) - Sleep(1000) - cont = cont + 1 - If cont = 7 Then Printer1.Connect 'Tratamos de reconectar - If cont > 15 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - Else -' If logger Then Log("conectando 2") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) - Sleep(1000) - Log("asasdas") - cont = cont + 1 - If cont = 7 Then Printer1.Connect - If cont > 15 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - End If - TAMANO = 0 - ESPACIO = 22 - BLANCO = " " - Printer1.Justify = 0 - Dim bmp As Bitmap - bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore - Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) - myimage = Printer1.DitherImage2D(myimage, 128) - myimage= Printer1.PackImage(myimage) - Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening - Printer1.WriteString(Printer1.REVERSE) - Printer1.PrintImage(myimage) - Printer1.WriteString(Printer1.UNREVERSE) - Dim telefono As String = "" - Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If c7.RowCount > 0 Then - c7.Position = 0 - telefono = c7.GetString("CAT_CL_TELEFONO") - End If - c7.Close - - - Printer1.WriteString(" " & CRLF) - Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) -' Printer1.WriteString(sucursal & CRLF) - Printer1.WriteString(sDate & CRLF) - Printer1.WriteString(sTime & CRLF) - Printer1.WriteString("Reparto:" & usuario & CRLF) - Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) - Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) - Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) - Printer1.WriteString("Colonia: " & la_col.Text & CRLF) - Printer1.WriteString("Telefono: " & telefono & CRLF) - Printer1.WriteString(" " & CRLF) - Dim notaabono As String - Dim saldopendiente As Double - Dim saldopendiente2 As Double -' Items.Add("TRANSFERENCIA") -' Items.Add("EFECTIVO") -' Items.Add("CHEQUE") - Dim tipopagotick As String = "" - If itemselect = "TRANSFERENCIA" Then - tipopagotick = "T" - Else If itemselect = "EFECTIVO" Then - tipopagotick = "E" - Else If itemselect = "CHEQUE" Then - tipopagotick = "C" - End If - If tipo_abonox = "abono" Then Log("AQUI ABONO") @@ -3076,7 +4890,255 @@ Sub imprime_abonopagare ' End If DateTime.DateFormat = "ddMMyyyy" sDate=DateTime.Date(DateTime.Now) - Dim numpago As Int = c5.RowCount + 1 + + + + ''aquitrabajar + + If Subs.traeAlmacen = "92" Then + + ''mayoreo + If tipo_abonox = "abono" Then + Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono = '1' AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$) + If checaabono.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) + ToastMessageShow("Abono guardado", False) + End If + + +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) +' ToastMessageShow("Abono guardado", False) + + Else If tipo_abonox = "cxc" Then + + Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono IS NULL AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$) + If checaabono.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) + ToastMessageShow("Abono guardado", False) + End If + End If + + ''mayoreo + + Else + If tipo_abonox = "abono" Then + + Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono = '1' AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$) + If checaabono.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) + ToastMessageShow("Abono guardado", False) + End If + + + Else If tipo_abonox = "cxc" Then + + Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono IS NULL AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$) + If checaabono.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) + ToastMessageShow("Abono guardado", False) + End If + +' Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono IS NULL AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' "$$) +' If checaabono.RowCount = 0 Then +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) +' End If +' ToastMessageShow("Abono guardado", False) + + End If + End If + mandaAbonosPendientes + mandaAbonosPANUEPendientes +End Sub + + +Sub imprime_abonopagare2 + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") +' DateTime.DateFormat = "MM/dd/yyyy" + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close +' ProgressDialogShow("Imprimiendo, un momento ...") +' Printer1.DisConnect +' If Not(Printer1.IsConnected) Then +' Log("Conectando a impresora ...") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) +' Sleep(1000) +' Log("++++++ " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' Else +' Log("conectando 2") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) +' Sleep(1000) +' Log("****** " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' End If + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + Printer1.DisConnect + If Not(Printer1.IsConnected) Then +' If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else +' If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + TAMANO = 0 + ESPACIO = 22 + BLANCO = " " + + + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + Dim telefono As String = "" + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If c7.RowCount > 0 Then + c7.Position = 0 + telefono = c7.GetString("CAT_CL_TELEFONO") + End If + c7.Close + + + + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) +' Printer1.WriteString(sucursal & CRLF) + Printer1.WriteString(sDate & CRLF) + Printer1.WriteString(sTime & CRLF) + Printer1.WriteString("Reparto:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("Telefono: " & telefono & CRLF) + Printer1.WriteString(" " & CRLF) + Dim notaabono As String + Dim saldopendiente As Double + Dim saldopendiente2 As Double + + If tipo_abonox = "abono" Then + + + c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$) + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("HVD_NUM_TICKET") + End If + c.Close + + c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + Log(c.GetString("SALDO_PENDIENTE")) + End If + c.Close + + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + + + End If + c4.Close + + Else If tipo_abonox = "cxc" Then + c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("NOTA") + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + End If + c.Close + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + End If + c4.Close + + + c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio)) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente2 = c.GetDouble("SALDO_PENDIENTE") + End If + c.Close + + Dim saldopendiente3 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio)) + If c4.RowCount > 0 Then + c4.Position = 0 +' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE") + End If + c4.Close + + End If + Dim numpago As Int = 1 + + + + + + Dim tipopagotick As String = "" + If metopago.ToUpperCase = "TRANSFERENCIA" Then + tipopagotick = "T" + Else If metopago.ToUpperCase = "EFECTIVO" Then + tipopagotick = "E" + Else If metopago.ToUpperCase = "CHEQUE" Then + tipopagotick = "C" + End If '' codigo de barras ' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago) @@ -3117,27 +5179,22 @@ Sub imprime_abonopagare qr.Create(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG") Out.Close + + +' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") +' If c.RowCount > 0 Then +' c.Position = 0 +' notaabono = c.GetString("NOTA") +' End If + Log(notaabono) Log(et_abono.Text) Printer1.WriteString("Comprobante de pago del pagare" & CRLF) - Printer1.WriteString("Folio: " & Folio &"-"&(numpago)& CRLF) - - If tipo_abonox = "abono" Then - Printer1.WriteString("Monto deuda: " & (NumberFormat(saldopendiente - saldopendiente1,0,2)) & CRLF) - Else - Printer1.WriteString("Monto deuda: " & (NumberFormat(saldopendiente2 - saldopendiente3,0,2)) & CRLF) - End If - - Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & CRLF) - - If tipo_abonox = "abono" Then - Printer1.WriteString("Restante "&Folio&": " &(NumberFormat(saldopendiente-et_abono.Text ,0,2)) & CRLF) - Else - Printer1.WriteString("Restante "&Folio&": " &(NumberFormat(saldopendiente2-et_abono.Text - saldopendiente3,0,2)) & CRLF) - End If - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - Printer1.WriteString("Restante pagares: " &(NumberFormat(saldopendiente-et_abono.Text - saldopendiente1,0,2)) & CRLF) + Printer1.WriteString("Folio: " & NOTA &"-"&(numpago)& CRLF) + Printer1.WriteString("Monto deuda: " & (NumberFormat2(l_total.Text.Replace(",",""),0,2,2,False)) & CRLF) + Printer1.WriteString("Monto abono: " & (NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)) & CRLF) + Printer1.WriteString("Tipo de pago: " & metopago & CRLF) + Printer1.WriteString("Restante "&NOTA&": " &(NumberFormat(l_montopag.Text,0,2)) & CRLF) Printer1.WriteString("Fecha Abono: " & sDate & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) @@ -3149,8 +5206,480 @@ Sub imprime_abonopagare Printer1.WriteString("------------------------------" & CRLF) Printer1.WriteString("-------------FIRMA------------" & CRLF) + DateTime.DateFormat = "ddMMyyyy" + sDate=DateTime.Date(DateTime.Now) + itemselect = "EFECTIVO" + +' Items.Add("TRANSFERENCIA") +' Items.Add("EFECTIVO") +' Items.Add("CHEQUE") + + + + + ' Dim bmp As Bitmap -'' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + '' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + + Dim bmp2 As Bitmap + bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore +' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore + Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2) + myimage2 = Printer1.DitherImage2D(myimage2, 128) + myimage2= Printer1.PackImage(myimage2) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage2) + Printer1.WriteString(Printer1.UNREVERSE) + + +' Printer1.WriteBarCode("I",NOTA&sDate&tipopagotick&numpago) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Sleep(1000) + Printer1.DisConnect + ProgressDialogHide + + +' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' imprime_abonopagare +' Else +' p_abono.Visible = False +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) +' ToastMessageShow("Abono guardado", False) +' End If + + If banderaimp = 1 Then + Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + imprime_abonopagare2 + Else + Guardado + End If +' printer.Flush + ' printer.Close + Else If banderaimp = 0 Then + Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + imprime_abonopagare2 + End If + End If + + mandaAbonosPANUEPendientes + +End Sub + +'Sub hazpago +' h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") +' h.Position = 0 +' Log(h.GetString("CUENTA")) +' j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) +' j.position = 0 +' If j.RowCount = 0 Then +' p_abono.Visible = False +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) +' ToastMessageShow("Abono guardado", False) +' et_abono.Text = "" +' Else +' p_abono.Visible = False +'' skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) +' Starter.skmt.ExecNonQuery($"UPDATE ABONOS set a_abono = '${et_abono.text}' where a_usuario = '${Subs.traeUsuarioDeBD}' and a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' and a_cliente In (select cuenta from cuentaa)"$) +' ToastMessageShow("Abono guardado", False) +' et_abono.Text = "" +' End If +'End Sub + +'Saves the data received from PictureTaken event +Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String) + Dim out As OutputStream = File.OpenOutput(Dir, FileName, False) + out.WriteBytes(Data, 0, Data.Length) + out.Close +End Sub + +Sub imprime_abonopagare + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") +' DateTime.DateFormat = "MM/dd/yyyy" + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close +' ProgressDialogShow("Imprimiendo, un momento ...") +' Printer1.DisConnect +' If Not(Printer1.IsConnected) Then +' Log("Conectando a impresora ...") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) +' Sleep(1000) +' Log("++++++ " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' Else +' Log("conectando 2") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) +' Sleep(1000) +' Log("****** " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' End If + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + Printer1.DisConnect + If Not(Printer1.IsConnected) Then +' If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + Log("asasdas") + impresoraConectada = False + Else +' If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + Log("asasdas") + cont = cont + 1 + If cont = 7 Then Printer1.Connect + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + TAMANO = 0 + ESPACIO = 22 + BLANCO = " " + Printer1.Justify = 0 + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + Dim telefono As String = "" + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If c7.RowCount > 0 Then + c7.Position = 0 + telefono = c7.GetString("CAT_CL_TELEFONO") + End If + c7.Close + + + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) +' Printer1.WriteString(sucursal & CRLF) + Printer1.WriteString(sDate & CRLF) + Printer1.WriteString(sTime & CRLF) + Printer1.WriteString("Reparto:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("Telefono: " & telefono & CRLF) + Printer1.WriteString(" " & CRLF) + Dim notaabono As String + Dim saldopendiente As Double + Dim saldopendiente2 As Double +' Items.Add("TRANSFERENCIA") +' Items.Add("EFECTIVO") +' Items.Add("CHEQUE") + Dim tipopagotick As String = "" + If itemselect = "TRANSFERENCIA" Then + tipopagotick = "T" + Else If itemselect = "EFECTIVO" Then + tipopagotick = "E" + Else If itemselect = "CHEQUE" Then + tipopagotick = "C" + End If + + LogColor("reimpresion es igual a " & reimpresion,Colors.Red) + If reimpresion = 0 Then + + If tipo_abonox = "abono" Then + Log("AQUI ABONO") + + c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$) + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("HVD_NUM_TICKET") + f1 = notaabono + End If + c.Close + + c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + Log(c.GetString("SALDO_PENDIENTE")) + f2 = saldopendiente + End If + c.Close + + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + + f3 = saldopendiente1 + End If + c4.Close + + Else If tipo_abonox = "cxc" Then + c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("NOTA") + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + f1 = notaabono + f2 = saldopendiente + End If + c.Close + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + f3 = saldopendiente1 + End If + c4.Close + + + c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio)) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente2 = c.GetDouble("SALDO_PENDIENTE") + f4 = saldopendiente2 + End If + c.Close + + Dim saldopendiente3 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio)) + If c4.RowCount > 0 Then + c4.Position = 0 +' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE") + f5 = saldopendiente3 + End If + c4.Close + + End If + Else + + If tipo_abonox = "abono" Then + Log("AQUI ABONO") + + c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$) + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("HVD_NUM_TICKET") +' f1 = notaabono + End If + c.Close + + c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + Log(c.GetString("SALDO_PENDIENTE")) +' f2 = saldopendiente + End If + c.Close + + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + +' f3 = saldopendiente1 + End If + c4.Close + + Else If tipo_abonox = "cxc" Then + c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("NOTA") + saldopendiente = c.GetDouble("SALDO_PENDIENTE") +' f1 = notaabono +' f2 = saldopendiente + End If + c.Close + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") +' f3 = saldopendiente1 + End If + c4.Close + + + c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio)) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente2 = c.GetDouble("SALDO_PENDIENTE") +' f4 = saldopendiente2 + End If + c.Close + + Dim saldopendiente3 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio)) + If c4.RowCount > 0 Then + c4.Position = 0 +' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE") +' f5 = saldopendiente3 + End If + c4.Close + + End If + + + End If + +' bc.Initialize + DateTime.DateFormat = "ddMMyyyy" + sDate=DateTime.Date(DateTime.Now) + Dim numpago As Int = c5.RowCount + 1 + If indicanum = 0 Then + numeropago = numpago + Else If indicanum = 1 Then + numeropago = numeropago + End If + +' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") +' If c.RowCount > 0 Then +' c.Position = 0 +' notaabono = c.GetString("NOTA") +' End If + Guardaabono(numeropago) + Log(f1) + Log(f2) + Log(f3) + Log(f4) + Log(f5) + '' codigo de barras +' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago) + '' codigo de qr + B4XImageView1.SetBitmap(qr.Create(f1&sDate&tipopagotick&numeropago)) + + + Dim Dirp As String = File.DirInternal + Dim Dir As String + Dim Dir2 As String + Try + File.MakeDir(Dirp,"/md") + Dir = "/md" + Log("creado en promotoria " & Dirp & Dir) + Catch + Dir = "" + Log("creado en raiz") + End Try + + Try + File.MakeDir(Dirp & Dir,"/reduccion") + Dir2 = "/reduccion" + Log("creado en promotoria " & Dirp & Dir & Dir2) + Catch + Dir = "" + Log("creado en raiz") + End Try + + '' codigo de barras +' Dim Out As OutputStream +' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False) +' barcode.CODE128(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG") +' Out.Close + + '' codigo de qr + Dim Out As OutputStream + Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False) + qr.Create(f1&sDate&tipopagotick&numeropago).WriteToStream(Out, 100, "PNG") + Out.Close + + Log(notaabono) + Log(et_abono.Text) + Printer1.WriteString("Comprobante de pago del pagare" & CRLF) + Printer1.WriteString("Folio: " & Folio &"-"&(numeropago)& CRLF) + + If tipo_abonox = "abono" Then + Printer1.WriteString("Monto deuda: " & (NumberFormat(f2 - f3,0,2)) & CRLF) + Else + If reimpresion = 1 Then + Printer1.WriteString("Monto deuda: " & (NumberFormat(f4 - f5,0,2)) & CRLF) + Else If reimpresion = 0 Then + Printer1.WriteString("Monto deuda: " & (NumberFormat(f4 - f5,0,2)) & CRLF) + End If + End If + + Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & CRLF) + + Printer1.WriteString("Tipo de pago: " & itemselect & CRLF) + + If tipo_abonox = "abono" Then + Printer1.WriteString("Restante "&Folio&": " &(NumberFormat(f2-f3-et_abono.Text ,0,2)) & CRLF) + Else + Printer1.WriteString("Restante "&Folio&": " &(NumberFormat(f4-f5-et_abono.Text - f5,0,2)) & CRLF) + End If + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + Printer1.WriteString("Restante pagares: " &(NumberFormat(f2-et_abono.Text - f3,0,2)) & CRLF) + Printer1.WriteString("Fecha Abono: " & sDate & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("-------------FIRMA------------" & CRLF) + + + + +' Dim bmp As Bitmap + '' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore Dim bmp2 As Bitmap bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore @@ -3171,294 +5700,259 @@ Sub imprime_abonopagare Sleep(2000) Printer1.DisConnect ProgressDialogHide - - If Subs.traeAlmacen = "92" Then + + If imprimir = 1 Then + + If Subs.traeAlmacen = "92" Then - ''mayoreo - If tipo_abonox = "abono" Then - Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + ''mayoreo + If tipo_abonox = "abono" Then + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_abonopagare - Else - p_abono.Visible = False - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - End If + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + indicanum = 1 + reimpresion = 1 + imprime_abonopagare + Else + p_abono.Visible = False + + + End If - Else If tipo_abonox = "cxc" Then - Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_abonopagare + Else If tipo_abonox = "cxc" Then + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + indicanum = 1 + reimpresion = 1 + imprime_abonopagare ' p_abono.Visible = False ' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) ' ToastMessageShow("Abono guardado", False) - Else - h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - h.Position = 0 - Log(h.GetString("CUENTA")) - j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) - j.position = 0 - If j.RowCount = 0 Then - p_abono.Visible = False - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If - Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) - Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) - Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") - If c3.RowCount = 0 Then - Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) - B4XPage_Appear - Else - MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") - End If - Dim textedit As Double = et_abono.Text - Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1 - Log(NumberFormat2(sumaresta,0,2,2,False)) - If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then - If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If -' Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) -' Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) -' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0)) -' Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) -' Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") -' d.Position = 0 -' Dim ruta As String = d.GetString("RUTAA") -' d.Close -' d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") -' d.Position = 0 -' Dim rutapre As String = d.GetString("CAT_CL_RUTA") -' d.Close -' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' d.Position = 0 -' Dim fechaprev As String = d.GetString("HVD_FECHA") -' d.Close -' d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") -' d.Position = 0 -' Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO")) -' B4XPages.ShowPage("Principal") - End If - End If Else - p_abono.Visible = False - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If - Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) - Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) - Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") - If c3.RowCount = 0 Then - Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) - B4XPage_Appear - Else - MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") - End If - Dim textedit As Double = et_abono.Text - Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1 -' Log(NumberFormat2(sumaresta,0,2,2,False)) - If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then - If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If -' Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) -' Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) -' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0)) -' Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) -' Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") -' d.Position = 0 -' Dim ruta As String = d.GetString("RUTAA") -' d.Close -' d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") -' d.Position = 0 -' Dim rutapre As String = d.GetString("CAT_CL_RUTA") -' d.Close -' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' d.Position = 0 -' Dim fechaprev As String = d.GetString("HVD_FECHA") -' d.Close -' d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") -' d.Position = 0 -' Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO")) -' B4XPages.ShowPage("Principal") + + h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + h.Position = 0 + Log(h.GetString("CUENTA")) + j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) + j.position = 0 + If j.RowCount = 0 Then + p_abono.Visible = False + + ToastMessageShow("Abono guardado", False) + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") End If - End If + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") + If c3.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) + B4XPage_Appear + Else + MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") + End If +' Dim textedit As Double = et_abono.Text + Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1 + Log(NumberFormat2(sumaresta,0,2,2,False)) + If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then + If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + End If + End If + Else + p_abono.Visible = False +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) + ToastMessageShow("Abono guardado", False) + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") + If c3.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) + B4XPage_Appear + Else + MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") + End If +' Dim textedit As Double = et_abono.Text + Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1 +' Log(NumberFormat2(sumaresta,0,2,2,False)) + If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then + If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + End If + End If + + End If End If End If - End If - ''mayoreo + ''mayoreo - Else - If tipo_abonox = "abono" Then - Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Else + If tipo_abonox = "abono" Then + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_abonopagare - Else - p_abono.Visible = False - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - End If + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + indicanum = 1 + reimpresion = 1 + imprime_abonopagare + Else + p_abono.Visible = False + + End If - Else If tipo_abonox = "cxc" Then - Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_abonopagare + Else If tipo_abonox = "cxc" Then + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + reimpresion = 1 + indicanum = 1 + imprime_abonopagare ' p_abono.Visible = False ' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) ' ToastMessageShow("Abono guardado", False) - Else - - h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - h.Position = 0 - Log(h.GetString("CUENTA")) - j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) - j.position = 0 - If j.RowCount = 0 Then - p_abono.Visible = False - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If - Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) - Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) - Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") - If c3.RowCount = 0 Then - Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) - B4XPage_Appear - Else - MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") - End If - Dim textedit As Double = et_abono.Text - Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1 - Log(NumberFormat2(sumaresta,0,2,2,False)) - If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then - If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If - Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) - Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) - Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0)) - Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) - Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") - d.Position = 0 - Dim ruta As String = d.GetString("RUTAA") - d.Close - d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - d.Position = 0 - Dim rutapre As String = d.GetString("CAT_CL_RUTA") - d.Close - d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - d.Position = 0 - Dim fechaprev As String = d.GetString("HVD_FECHA") - d.Close - d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") - d.Position = 0 - Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO")) - B4XPages.ShowPage("Principal") - End If - End If Else - p_abono.Visible = False - Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$) - ToastMessageShow("Abono guardado", False) - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If - Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) - Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) - Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") - If c3.RowCount = 0 Then - Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) - B4XPage_Appear - Else - MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") - End If - Dim textedit As Double = et_abono.Text - Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1 -' Log(NumberFormat2(sumaresta,0,2,2,False)) - If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then - If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then - Dim rutaactualizar As String - Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If rut.RowCount > 0 Then - rut.Position = 0 - rutaactualizar = rut.GetString("CAT_CL_RUTA") - End If - Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) - Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) - Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0)) - Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) - Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") - d.Position = 0 - Dim ruta As String = d.GetString("RUTAA") - d.Close - d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - d.Position = 0 - Dim rutapre As String = d.GetString("CAT_CL_RUTA") - d.Close - d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - d.Position = 0 - Dim fechaprev As String = d.GetString("HVD_FECHA") - d.Close - d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") - d.Position = 0 - Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO")) - B4XPages.ShowPage("Principal") + + h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + h.Position = 0 + Log(h.GetString("CUENTA")) + j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) + j.position = 0 + If j.RowCount = 0 Then + p_abono.Visible = False + ToastMessageShow("Abono guardado", False) + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") + If c3.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) + B4XPage_Appear + Else + MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") + End If + + Dim sumaresta As Double = f2-textedit-f3 + Log(NumberFormat2(sumaresta,0,2,2,False)) + If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then + If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0)) + Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) + Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + d.Position = 0 + Dim ruta As String = d.GetString("RUTAA") + d.Close + d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + d.Position = 0 + Dim rutapre As String = d.GetString("CAT_CL_RUTA") + d.Close + d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + d.Position = 0 + Dim fechaprev As String = d.GetString("HVD_FECHA") + d.Close + d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") + d.Position = 0 + Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO")) + B4XPages.ShowPage("Principal") + End If + End If + Else + p_abono.Visible = False + ToastMessageShow("Abono guardado", False) + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)") + If c3.RowCount = 0 Then + Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$) + B4XPage_Appear + Else + MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención") + End If +' Dim textedit As Double = et_abono.Text + Dim sumaresta As Double = f2-textedit-f3 +' Log(NumberFormat2(sumaresta,0,2,2,False)) + If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then + If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$) + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0)) + Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) + Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + d.Position = 0 + Dim ruta As String = d.GetString("RUTAA") + d.Close + d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + d.Position = 0 + Dim rutapre As String = d.GetString("CAT_CL_RUTA") + d.Close + d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + d.Position = 0 + Dim fechaprev As String = d.GetString("HVD_FECHA") + d.Close + d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") + d.Position = 0 + Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO")) + B4XPages.ShowPage("Principal") + End If End If - End If + End If End If End If End If + Else If imprimir = 0 Then End If -' Buscamos abonos sin enviar para enviarlos. - mandaAbonosPendientes End Sub Sub imprime_pagare @@ -3473,12 +5967,12 @@ Sub imprime_pagare ' ProgressDialogShow("Imprimiendo, un momento ...") ' Printer1.DisConnect ' If Not(Printer1.IsConnected) Then -'' Log("Conectando a impresora ...") + '' Log("Conectando a impresora ...") ' Printer1.Connect ' Private cont As Int = 0 ' Do While Not(impresoraConectada) ' Sleep(1000) -'' Log("++++++ " & cont) + '' Log("++++++ " & cont) ' cont = cont + 1 ' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar ' If cont > 3 Then impresoraConectada = True @@ -3486,12 +5980,12 @@ Sub imprime_pagare ' Sleep(500) ' impresoraConectada = False ' Else -'' Log("conectando 2") + '' Log("conectando 2") ' Printer1.Connect ' Private cont As Int = 0 ' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) ' Sleep(1000) -'' Log("****** " & cont) + '' Log("****** " & cont) ' cont = cont + 1 ' If cont = 2 Then Printer1.Connect ' If cont > 3 Then impresoraConectada = True @@ -3500,7 +5994,7 @@ Sub imprime_pagare ' impresoraConectada = False ' End If - ProgressDialogShow("Imprimiendo, un momento ...") + ProgressDialogShow2("Imprimiendo, un momento ...",False) Printer1.DisConnect If Not(Printer1.IsConnected) Then ' If logger Then Log("conectando 1") @@ -3566,6 +6060,4123 @@ Sub imprime_pagare Printer1.WriteString(sDate & CRLF) Printer1.WriteString(sTime & CRLF) Printer1.WriteString("Reparto:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("Telefono: " & telefono & CRLF) + Dim Ticket As String = 0 + Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PRONOMBRE <> 'Cobranza Pendiente'") + If c6.RowCount > 0 Then + For k = 0 To c6.RowCount -1 + c6.Position = k + Ticket = c6.GetString("HVD_NUM_TICKET") + Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF) + Next + End If + c6.Close + Printer1.WriteString("Fecha: " & sDate &" " & sTime & CRLF) + Printer1.WriteString(" " & CRLF) + c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount > 0 Then + Printer1.WriteString("------------PAGARE------------" & CRLF) + Printer1.WriteString("" & CRLF) + Printer1.WriteString("Pagare por los articulos" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + Log(s.GetString("HVD_RECHAZO")) + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then + Printer1.Justify = 0 +' Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") ) &" "&s.GetString("HVD_PRONOMBRE") & CRLF) + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + ' Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString( ptot & CRLF ) + TAMANO = 0 + ESPACIO = 29 + BLANCO = " " + Else If s.GetString("HVD_RECHAZO") = 1 Then + Printer1.Justify = 0 +' Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) &" "&s.GetString("HVD_PRONOMBRE") & CRLF) + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + vc5.Position = 0 + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + TAMANO = punit.Length + TAMANO + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + ' Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString(ptot& CRLF ) + TAMANO = 0 + ESPACIO = 29 + BLANCO = " " + Printer1.Justify = 0 + End If + End If + Next + End If + End If + Printer1.Justify = 0 + s.Close + Printer1.WriteString(" " & CRLF) + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 and HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) + If S.RowCount>0 Then + Printer1.WriteString("-------BONIFICACIONES--------" & CRLF) + Printer1.WriteString("Cant. Precio Importe" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then + Printer1.Justify = 0 + If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then +' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) + Else + If s.GetString("HVD_PRONOMBRE") <> "Cobranza Pendiente" Then + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) +' Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") ) &" "&s.GetString("HVD_PRONOMBRE") & CRLF) + End If + End If + Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + TAMANO = punit.Length + TAMANO + Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + TAMANO = ptot.Length + TAMANO + ESPACIO = (ESPACIO - TAMANO)/2 + Log(ESPACIO) + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( punit & BLANCO) + Printer1.Justify = 2 + Printer1.WriteString(ptot & CRLF ) + TAMANO = 0 + ESPACIO = 29 + BLANCO = " " + Printer1.Justify = 0 + Else + End If + End If + Next + End If + + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("Por monto de $" &l_total.Text& CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("Debo(mos) y pagare(mos) incon" & CRLF) + Printer1.WriteString("dicionalmente en _____________" & CRLF) + Printer1.WriteString("o en el lugar donde se me " & CRLF) + Printer1.WriteString("requiera por el presente pagare" & CRLF) + Printer1.WriteString("a GUNA la cantidad de $"&l_total.Text & CRLF) + Printer1.WriteString("valor recibido a entera " & CRLF) + Printer1.WriteString("satisfaccion. La falta de pago" & CRLF) + Printer1.WriteString("a la fecha indicada causara " & CRLF) + Printer1.WriteString("intereses moratorios a razon " & CRLF) + Printer1.WriteString("de ______% mensual a la fecha." & CRLF) + Printer1.WriteString("" & CRLF) + Printer1.WriteString("" & CRLF) + Printer1.WriteString(" Recibi " & CRLF) + Printer1.WriteString("" & CRLF) + Printer1.WriteString("" & CRLF) + Printer1.WriteString("______________________________" & CRLF) + + + DateTime.DateFormat = "ddMMyyyy" + sDate=DateTime.Date(DateTime.Now) +' Printer1.WriteString("JHGHGH " & CRLF) + + + + + + '' codigo de barras +' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago) + '' codigo de qr + B4XImageView1.SetBitmap(qr.Create(la_cuenta.Text&sDate)) + + + Dim Dirp As String = File.DirInternal + Dim Dir As String + Dim Dir2 As String + Try + File.MakeDir(Dirp,"/md") + Dir = "/md" + Log("creado en promotoria " & Dirp & Dir) + Catch + Dir = "" + Log("creado en raiz") + End Try + + Try + File.MakeDir(Dirp & Dir,"/reduccion") + Dir2 = "/reduccion" + Log("creado en promotoria " & Dirp & Dir & Dir2) + Catch + Dir = "" + Log("creado en raiz") + End Try + + '' codigo de barras +' Dim Out As OutputStream +' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False) +' barcode.CODE128(la_cuenta.Text&sDate).WriteToStream(Out, 100, "PNG") +' Out.Close + + '' codigo de qr + Dim Out As OutputStream + Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False) + qr.Create(la_cuenta.Text&sDate).WriteToStream(Out, 100, "PNG") + Out.Close + + + + + + Dim bmp2 As Bitmap + bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore +' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore + Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2) + myimage2 = Printer1.DitherImage2D(myimage2, 128) + myimage2= Printer1.PackImage(myimage2) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage2) + Printer1.WriteString(Printer1.UNREVERSE) + +' Printer1.WriteBarCode("I",la_cuenta.Text&sDate) + + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Sleep(1000) + Printer1.DisConnect + ProgressDialogHide + If banderaimp = 1 Then + + Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + imprime_pagare + Else + If banderaabono = 1 Then + imprime_abonopagare2 + Else + Guardado + End If + End If +' printer.Flush + ' printer.Close + Else If banderaimp = 0 Then + Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + imprime_pagare + End If + End If +' Guardado +End Sub + + + +Private Sub b_cancel_pagare_Click + + tipo_abonox = "abono" + + + Dim Items As List + + Items.Initialize + + + Items.Add("SELECCIONA UNA OPCION") + + Items.Add("TRANSFERENCIA") + + Items.Add("EFECTIVO") + + Items.Add("CHEQUE") + + + cb_tipopago.SetItems(Items) + + + itemselect= "SELECCIONA UNA OPCION" + + + ' Msgbox2Async($"¿Que deseas realizar?"$,"Atención", "","", "Abono pagare", Null, True) + + ' Wait For Msgbox_Result (resultado As Int) + + ' If resultado = DialogResponse.POSITIVE Then + + ' Msgbox2Async($"¿Seguro que quieres cancelar el pagare con monto de $${l_total.Text} para este cliente?"$,"Atención", "Aceptar","Cancelar", "", Null, True) + + ' Wait For Msgbox_Result (resultado As Int) + + ' If resultado = DialogResponse.POSITIVE Then + + ' Starter.skmt.ExecNonQuery("update PAGARES SET PA_CANCELADO = 2 WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' imprime_cancelarpagare + + ' + + ' d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + + ' d.Position = 0 + + ' Dim ruta As String = d.GetString("RUTAA") + + ' d.Close + + ' + + ' Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' g5.Position = 0 + + ' Dim totaltotal As String = g5.GetString("HVD_COSTO_TOT") + + ' g5.Close + + ' If totaltotal = l_total.Text.Replace(",","") Then + + ' Dim entregatotaloparial As String = "ENTREGA TOTAL" + + ' Else + + ' Dim entregatotaloparial As String = "ENTREGA PARCIAL" + + ' End If + + ' Dim cmd As DBCommand + + ' cmd.Initialize + + ' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" + + '' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) + + ' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) + + ' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)) + + ' reqManager.ExecuteCommand(cmd, "up_geo") + + ' banderaimp = 1 + + ' End If + + ' Else If resultado = DialogResponse.NEGATIVE Then + + + h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + + h.Position = 0 + + Log(h.GetString("CUENTA")) + + j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(h.GetString("CUENTA"))) + + j.position = 0 + + Log(j.RowCount) + + If j.RowCount = 0 Then + + p_abono.Visible = True + + et_abono.text = "" + + Dim total As Double = 0 + + f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") + + f.Position = 0 + + d = Starter.skmt.ExecQuery2("SELECT distinct PA_TICKET, PA_MONTO,PA_CAPTURA FROM PAGARES WHERE PA_CLIENTE = ? AND PA_CANCELADO IS NULL ORDER BY PA_CAPTURA", Array As String (f.GetString("CUENTA"))) + + clv_abonos.Clear + + For i = 0 To d.RowCount - 1 + + d.Position = i + + + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("PA_TICKET"))) + + Log(Folio) + + y.position = 0 + + + clv_abonos.Add(CreateListItem(d.GetString("PA_TICKET"),"$ " & NumberFormat2((d.GetString("PA_MONTO")-y.GetString("a_abono")),0,2,2,False),d.GetString("PA_CAPTURA")),i) + + + + + total = total + d.GetString("PA_MONTO") + + Log(total) + + Next + + d.Close + + d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is not null ORDER BY a_fecha", Array As String (f.GetString("CUENTA"))) + + If d.RowCount > 0 Then + + For i = 0 To d.RowCount - 1 + + d.Position = i + + clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i) + + total = total - d.GetString("a_abono") + + Log(total) + + Next + + End If + + l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False) + + d.Close + + f.Close + + Else If j.RowCount > 0 Then + + p_abono.Visible = True + + et_abono.text = "" + + Dim total As Double = 0 + + f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") + + f.Position = 0 + + d = Starter.skmt.ExecQuery2("SELECT distinct PA_TICKET, PA_MONTO,PA_CAPTURA FROM PAGARES WHERE PA_CLIENTE = ? AND PA_CANCELADO IS NULL ORDER BY PA_CAPTURA", Array As String (f.GetString("CUENTA"))) + + clv_abonos.Clear + + For i = 0 To d.RowCount - 1 + + d.Position = i + + Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("PA_TICKET"))) + + Log(Folio) + + y.position = 0 + + + clv_abonos.Add(CreateListItem(d.GetString("PA_TICKET"),"$ " &NumberFormat2((d.GetString("PA_MONTO")-y.GetString("a_abono")),0,2,2,False),d.GetString("PA_CAPTURA")),i) + + + total = total + d.GetString("PA_MONTO").Replace(",","") + + Log(total) + + Next + + d.Close + + d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is not null ORDER BY a_fecha", Array As String (f.GetString("CUENTA"))) + + If d.RowCount > 0 Then + + For i = 0 To d.RowCount - 1 + + d.Position = i + + clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i) + + total = total - d.GetString("a_abono") + + Log(total) + + Next + + End If + + l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False) + + d.Close + + f.Close + + ' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención") + + End If + + h.Close + + j.Close + + + ' End If + + + + + + +End Sub + + + +Sub imprime_cancelarpagare + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + + c.Position=0 + + usuario = c.GetString("USUARIO") + + ' DateTime.DateFormat = "MM/dd/yyyy" + + DateTime.DateFormat = "dd/MM/yyyy" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + c.Close + + ' ProgressDialogShow("Imprimiendo, un momento ...") + + ' Printer1.DisConnect + + ' If Not(Printer1.IsConnected) Then + + '' Log("Conectando a impresora ...") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) + + ' Sleep(1000) + + '' Log("++++++ " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' Else + + '' Log("conectando 2") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + ' Sleep(1000) + + '' Log("****** " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' End If + + + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + + Printer1.DisConnect + + If Not(Printer1.IsConnected) Then + + ' If logger Then Log("conectando 1") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) + + Sleep(1000) + + cont = cont + 1 + + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + + If cont > 15 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + Else + + ' If logger Then Log("conectando 2") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + Sleep(1000) + + cont = cont + 1 + + If cont = 2 Then Printer1.Connect + + If cont > 4 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + End If + + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Dim telefono As String = "" + + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + If c7.RowCount > 0 Then + + c7.Position = 0 + + telefono = c7.GetString("CAT_CL_TELEFONO") + + End If + + c7.Close + + Dim bmp As Bitmap + + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + + myimage = Printer1.DitherImage2D(myimage, 128) + + myimage= Printer1.PackImage(myimage) + + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + + Printer1.WriteString(Printer1.REVERSE) + + Printer1.PrintImage(myimage) + + Printer1.WriteString(Printer1.UNREVERSE) + + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) + + Printer1.WriteString(sDate & CRLF) + + Printer1.WriteString(sTime & CRLF) + + Printer1.WriteString("Reparto:" & usuario & CRLF) + + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + + Printer1.WriteString("Telefono: " & telefono & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString("-----CANCELACION DE PAGARE----" & CRLF) + + Printer1.WriteString("" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("Se cancela el pagare " & CRLF) + + Printer1.WriteString("Por monto de $" &l_total.Text& CRLF) + + Printer1.WriteString("por el cual se pagara el " & CRLF) + + Printer1.WriteString("total en efectivo" & CRLF) + + ' Printer1.WriteString("dicionalmente en _____________" & CRLF) + + ' Printer1.WriteString("o en el lugar donde se me " & CRLF) + + ' Printer1.WriteString("requiera por el presente pagare" & CRLF) + + ' Printer1.WriteString("a GUNA la cantidad de $"&l_total.Text & CRLF) + + ' Printer1.WriteString("valor recibido a entera " & CRLF) + + ' Printer1.WriteString("satisfacciOn. La falta de pago" & CRLF) + + ' Printer1.WriteString("a la fecha indicada causara " & CRLF) + + ' Printer1.WriteString("intereses moratorios a razOn " & CRLF) + + ' Printer1.WriteString("de ______% mensual a la fecha." & CRLF) + + Printer1.WriteString("" & CRLF) + + Printer1.WriteString("" & CRLF) + + Printer1.WriteString(" Recibi " & CRLF) + + Printer1.WriteString("" & CRLF) + + Printer1.WriteString("" & CRLF) + + Printer1.WriteString("______________________________" & CRLF) + + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Sleep(1000) + + Printer1.DisConnect + + ProgressDialogHide + + If banderaimp = 1 Then + + Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + + Wait For Msgbox_Result (resultado As Int) + + If resultado = DialogResponse.POSITIVE Then + + imprime_cancelarpagare + + Else + + Guardado + + End If + + ' printer.Flush + + ' printer.Close + + Else If banderaimp = 0 Then + + Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + + Wait For Msgbox_Result (resultado As Int) + + If resultado = DialogResponse.POSITIVE Then + + imprime_cancelarpagare + + End If + + End If + + ' Guardado + +End Sub + + + +Private Sub CrearQR(NOTA2 As String) + + ' Private texto As String = $"https://wa.me/5215637241894?text=PAGARE ${NOTA2}"$ 'Bow 2.0 G + + Private texto As String = $"https://wa.me/5215611769317?text=PAGARE_${NOTA2}"$ 'Bow2024 + + i_qr.Clear + + If texto.Length>0 Then + + i_qr.SetBitmap(qr.Create(texto)) + + Log("QR Creado ->"&texto) + + End If + +End Sub + + + +Private Sub b_confirmar_Click + + ProgressDialogShow("Un momento por favor!!") + + Dim cmd As DBCommand + + cmd.Initialize + + cmd.Name = "selectPagareConfirmado_Demo" + + ' cmd.Parameters = Array As Object(Subs.traeCliente, NOTA) + + cmd.Parameters = Array As Object(NOTA) + + reqManager.ExecuteQuery(cmd, 0, $"pagareConfirmado_${NOTA}"$) + +End Sub + + + +Private Sub p_transPagare2_Click + + +End Sub + + + +Private Sub b_cerrarqr_Click + + i_qr.Clear + + p_transPagare2.Visible = False + +End Sub + + + +Private Sub b_imprimesegun_Click + + + Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + + If pagacheca.RowCount > 0 Then + + Tipoentrega = "CREDITO" + + Else + + Tipoentrega = "CONTADO" + + End If + + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + + c.Position=0 + + usuario = c.GetString("USUARIO") + + DateTime.DateFormat = "MM/dd/yyyy" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + c.Close + + ' ProgressDialogShow("Imprimiendo, un momento ...") + + ' Printer1.DisConnect + + ' If Not(Printer1.IsConnected) Then + + '' Log("Conectando a impresora ...") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) + + ' Sleep(1000) + + '' Log("++++++ " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' Else + + '' Log("conectando 2") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + ' Sleep(1000) + + '' Log("****** " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' End If + + + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + + Printer1.DisConnect + + If Not(Printer1.IsConnected) Then + + ' If logger Then Log("conectando 1") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) + + Sleep(1000) + + cont = cont + 1 + + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + + If cont > 15 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + Else + + ' If logger Then Log("conectando 2") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + Sleep(1000) + + cont = cont + 1 + + If cont = 2 Then Printer1.Connect + + If cont > 4 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + End If + + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Dim bmp As Bitmap + + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + + myimage = Printer1.DitherImage2D(myimage, 128) + + myimage= Printer1.PackImage(myimage) + + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + + Printer1.WriteString(Printer1.REVERSE) + + Printer1.PrintImage(myimage) + + Printer1.WriteString(Printer1.UNREVERSE) + + ' Dim Ticket As String = 0 + + ' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' If c6.RowCount > 0 Then + + ' c6.Position = 0 + + ' Ticket = c6.GetString("HVD_NUM_TICKET") + + ' End If + + ' c6.Close + + Dim telefono As String = "" + + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + If c7.RowCount > 0 Then + + c7.Position = 0 + + telefono = c7.GetString("CAT_CL_TELEFONO") + + End If + + c7.Close + + + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) + + Printer1.WriteString(sDate & CRLF) + + Printer1.WriteString(sTime & CRLF) + + Printer1.WriteString("Reparto:" & usuario & CRLF) + + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + + Printer1.WriteString("Telefono: " & telefono & CRLF) + + + Dim Ticket As String = 0 + + Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + If c6.RowCount > 0 Then + + For k = 0 To c6.RowCount -1 + + c6.Position = k + + Ticket = c6.GetString("HVD_NUM_TICKET") + + Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF) + + Next + + End If + + c6.Close + + + + Printer1.WriteString(" " & CRLF) + + c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + + + Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'") + + Dim restacobranza As Int = 0 + + If cobranza.RowCount > 0 Then + + restacobranza = 1 + + End If + + If c.RowCount > 0 Then + + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + End If + + Printer1.Justify = 0 + + s.Close + + Printer1.WriteString(" " & CRLF) + + + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND (HVD_COSTO_TOT/HVD_CANT) = 0.01 GROUP by HVD_PROID"$) + + + + + If S.RowCount>0 Then + + Printer1.WriteString("------- BONIFICACIONES --------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + + + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + ' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then + + Printer1.Justify = 0 + + ' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then + + '' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) + + ' + + ' Else + + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + + Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + 3 + + ESPACIO = (ESPACIO - TAMANO)/2 + + Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 29 + + BLANCO = " " + + Printer1.Justify = 0 + + ' End If + + ' Else + + ' End If + + End If + + + Next + + End If + + + ' Printer1.WriteString(" " & CRLF) + + ' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$) + + ' + + ' If S.RowCount>0 Then + + ' Printer1.WriteString("-----------VENTA------------" & CRLF) + + ' Printer1.WriteString("Cant. Precio Importe" & CRLF) + + ' Printer1.WriteString("------------------------------" & CRLF) + + ' + + ' For i=0 To S.RowCount -1 + + ' S.Position=i + + ' + + ' Printer1.Justify = 0 + + ' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + ' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False) + + ' TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False) + + ' TAMANO = ptot.Length + TAMANO + + ' ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + ' For E=0 To ESPACIO -1 + + ' BLANCO = " " & BLANCO + + ' Next + + ' Printer1.Justify = 0 + + ' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO) + + ' Printer1.Justify = 1 + + ' Printer1.WriteString( punit & BLANCO) + + ' Printer1.Justify = 2 + + ' Printer1.WriteString(ptot & CRLF ) + + ' TAMANO = 0 + + ' ESPACIO = 29 + + ' BLANCO = " " + + ' Printer1.Justify = 0 + + ' Next + + ' End If + + Printer1.WriteString(" " & CRLF) + + + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("----------- MI RETO ------------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + Printer1.WriteString(" " & CRLF) + + + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'BIGCOMMERCE' GROUP by HVD_PROID"$) + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("---------- CONECTADOS ----------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + + + Printer1.WriteString(" " & CRLF) + + + + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF) + + Printer1.WriteString("Total: $" & l_total.Text) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Sleep(1000) + + Printer1.DisConnect + + ProgressDialogHide + +End Sub + + + + + + + +Private Sub l_telefono_LongClick As ResumableSub + + Dim numeroTel As String = l_telefono.Text + + + + numeroTel = numeroTel.Replace(" ", "").Replace("-", "").Replace("(", "").Replace(")", "") + + + + If numeroTel.Length > 0 Then + + Dim Intent1 As Intent + + Intent1.Initialize("android.intent.action.DIAL", "tel:" & numeroTel) + + StartActivity(Intent1) + + Else + + ToastMessageShow("Número no válido", False) + + End If + + + + Return True + +End Sub + + + +Private Sub HIST_LongClick + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + + c.Position=0 + + usuario = c.GetString("USUARIO") + + ' DateTime.DateFormat = "MM/dd/yyyy" + + DateTime.DateFormat = "dd/MM/yyyy" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + c.Close + + ' ProgressDialogShow("Imprimiendo, un momento ...") + + ' Printer1.DisConnect + + ' If Not(Printer1.IsConnected) Then + + '' Log("Conectando a impresora ...") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) + + ' Sleep(1000) + + '' Log("++++++ " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' Else + + '' Log("conectando 2") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + ' Sleep(1000) + + '' Log("****** " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' End If + + + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + + Printer1.DisConnect + + If Not(Printer1.IsConnected) Then + + ' If logger Then Log("conectando 1") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) + + Sleep(1000) + + cont = cont + 1 + + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + + If cont > 15 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + Else + + ' If logger Then Log("conectando 2") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + Sleep(1000) + + cont = cont + 1 + + If cont = 2 Then Printer1.Connect + + If cont > 4 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + End If + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Dim Ticket As String = 0 + + Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + If c6.RowCount > 0 Then + + c6.Position = 0 + + Ticket = c6.GetString("HVD_NUM_TICKET") + + End If + + c6.Close + + DateTime.DateFormat = "dd/MM/yyyy" + + DateTime.TimeFormat = "HH:mm:ss" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + Printer1.WriteString("Tienda: " & B4XPages.MainPage.cliente.La_nombre.Text & CRLF) + + Printer1.WriteString("ID.Cliente: " & B4XPages.MainPage.cliente.la_cuenta.Text & CRLF) + + Printer1.WriteString("Num. Ticket: " & Ticket & CRLF) + + Printer1.WriteString("Fecha: " & sDate &" " & sTime & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + If c.RowCount > 0 Then + + Printer1.WriteString("------------Picking------------" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("ESTE NO ES UN TICKET DE ENTREGA" & CRLF) + + Printer1.WriteString("SOLO ES INFORMATIVO" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString(" " & CRLF) + + + + + s=Starter.skmt.ExecQuery($"SELECT HVD_PRONOMBRE, SUM(HVD_CANT-IFNULL(HVD_RECHAZOCANT,0)) AS HVD_CANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID <> HVD_CODPROMO GROUP BY HVD_PRONOMBRE"$) + + If S.RowCount>0 Then + + For i=0 To S.RowCount -1 + + S.Position=i + + + + If s.GetString("HVD_CANT") > 0 Then + + ' + + Printer1.Justify = 0 + + + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Printer1.WriteString("Cantidad: " &(s.GetString("HVD_CANT")) & CRLF) + + + Printer1.WriteString(" " & CRLF) + + + + End If + + Next + + End If + + End If + + Printer1.Justify = 0 + + s.Close + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("ESTE NO ES UN TICKET DE ENTREGA" & CRLF) + + Printer1.WriteString("SOLO ES INFORMATIVO" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Sleep(1000) + + Printer1.DisConnect + + ProgressDialogHide + + ' Guardado + +End Sub + + + + + + + +Private Sub b_acept_tp_Click + + If rb_efectivo.Checked Or rb_tranfe.Checked Or rb_Cheque.Checked Then + + If rb_efectivo.Checked Then + metopago = "EFECTIVO" + Else If rb_tranfe.Checked Then + metopago = "TRANSFERENCIA" + Else If rb_Cheque.Checked Then + metopago = "CHEQUE" + End If + Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)}' AND a_tipoabono = '1' AND TIPO_PAGO = '${metopago}' AND a_ticket = '${NOTA}' and a_numpago = '1' "$$) + If checaabono.RowCount = 0 Then + Log(NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)) + ToastMessageShow("Abono guardado", False) + Log ("entre") + Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${metopago}','${NOTA}',1)"$) +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) + ToastMessageShow("Abono guardado", False) + End If + + +' Dim checaabono1 As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM pagares WHERE PA_ALMACEN ='${almacen}' and PA_RUTA_REP ='${rutarep}' and PA_RUTAPREV ='${rutaprev}' and PA_FECHA_PREV ='${(fechaprev)}' and PA_CAPTURA ='${sDate}' and PA_MONTO ='${l_total.Text.Replace(",","")}' and PA_USUARIO ='${usuario}' and PA_CLIENTE ='${cuenta}' and PA_TICKET ='${NOTA}' "$) +' Log($"SELECT * FROM pagares WHERE PA_ALMACEN ='${almacen}' and PA_RUTA_REP ='${rutarep}' and PA_RUTAPREV ='${rutaprev}' and PA_FECHA_PREV ='${(fechaprev)}' and PA_CAPTURA ='${sDate}' and PA_MONTO ='${l_total.Text.Replace(",","")}' and PA_USUARIO ='${usuario}' and PA_CLIENTE ='${cuenta}' and PA_TICKET ='${NOTA}' "$) +' If checaabono1.RowCount = 0 Then +' Log("AQUI") + Starter.skmt.ExecNonQuery("delete from PAGARES where PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE,PA_TICKET) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),l_total.Text.Replace(",",""),usuario,cuenta,NOTA)) + +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${metopago}','${NOTA}',1)"$) +' End If + + + tipo_abonox = "abono" + banderaabono = 1 + banderaimp = 1 + p_tipopago.Visible = False + rb_efectivo.Checked = False + rb_tranfe.Checked = False + rb_Cheque.Checked = False + mandaAbonosPANUEPendientes + mandaAbonosPendientes + B_IMP_Click + Else + MsgboxAsync("Selecciona un metodo de pago valido","Atención") + End If + + +End Sub + + + +Private Sub b_cancel_tp_Click + + p_tipopago.Visible = False + + rb_efectivo.Checked = False + + rb_tranfe.Checked = False + + rb_Cheque.Checked = False + +End Sub + + + +Private Sub p_tipopago_Click + + +End Sub + + + +Sub mandaAbonosPendientes + +' Log("--->>>> MANDAMOS ABONO MANDAPENDIENTES") +' +' ' almacen = 99999999 +' +' Private ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$) +' +' Log(ab.RowCount) +' +' If ab.RowCount > 0 Then +' +' For i=0 To ab.RowCount -1 +' +' ab.Position = i +' +' Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$) +' +' ab1.Position = 0 +' +' Dim cmd As DBCommand +' +' cmd.Initialize +' +' cmd.Name = "insert_abono_REP_GUNA_VN2" +' +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), NumberFormat2(ab.GetString("a_abono"),0,2,2,False), ab.GetString("a_fecha"), almacen, "REPARTO", Subs.traeRutareparto, "", ab.GetString("TIPO_PAGO"), ab.GetString("a_ticket"), ab.GetString("a_numpago")) +' +' reqManager.ExecuteCommand(cmd , $"mandaAbonosPendientes_${ab.GetString("a_cliente")}"$) +' +' ab1.Close +' +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' +' Next +' +' End If +' +' ab.Close + +End Sub + + + +Sub mandaAbonosPANUEPendientes + +' Log("--->>>> MANDAMOS ABONO MANDAPENDIENTES") +' +' ' almacen = 99999999 +' +' Private ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NOT NULL"$) +' +' Log(ab.RowCount) +' +' If ab.RowCount > 0 Then +' +' For i=0 To ab.RowCount -1 +' +' ab.Position = i +' +' Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$) +' +' ab1.Position = 0 +' +' Dim cmd As DBCommand +' +' cmd.Initialize +' +' cmd.Name = "insert_abono_REP_GUNA_VN2" +' +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), NumberFormat2(ab.GetString("a_abono"),0,2,2,False), ab.GetString("a_fecha"), almacen, "REPARTO", Subs.traeRutaReparto, "1", ab.GetString("TIPO_PAGO"), ab.GetString("a_ticket"), ab.GetString("a_numpago")) +' +' reqManager.ExecuteCommand(cmd , $"mandaAbonosPendientes_${ab.GetString("a_cliente")}"$) +' +' ab1.Close +' +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' +' Next +' +' End If +' +' ab.Close + +End Sub + + + +Private Sub iv_comentario_Click + + p_comentario.Visible = True + + p_comentario.Width = Root.Width + + p_comentario.Height = Root.Height + + + + p_comentario.Visible = True + + + Dim label1 As Label + + label1 = lv_comentarios.SingleLineLayout.Label + + label1.TextSize = 16 + + label1.TextColor = Colors.White + + + + + + + label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) + + + + + ' Subs.centraListView(lv_comentarios,Root.Width) + + + Private c As Cursor = Starter.skmt.ExecQuery("select COMENTARTIO FROM COMENTARIOS WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + lv_comentarios.SingleLineLayout.Label.TextColor = Colors.BlacK + + lv_comentarios.Clear + + If c.RowCount > 0 Then + + For i = 0 To c.RowCount - 1 + + c.Position = i + + Dim itemText As String + + + itemText = $"${c.GetString("COMENTARTIO")}"$ + + lv_comentarios.AddSingleLine(itemText) + + + Next + + Else + + lv_comentarios.AddSingleLine("No hay datos disponibles.") + + End If + + ' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)") + +End Sub + + + +Private Sub b_cerarcom_Click + + p_comentario.Visible =False + +End Sub + + + +Private Sub b_agregarcom_Click + + +End Sub + + + +Private Sub p_comentario_Click + + +End Sub + + + +Private Sub b_acep_contado_Click + + Starter.skmt.ExecNonQuery("DELETE FROM CONTADOS WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + DateTime.DateFormat = "dd/MM/yyyy" + + DateTime.TimeFormat = "HH:mm:ss" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + Dim foliocontado As String + + Dim numticket As Cursor = Starter.skmt.ExecQuery("SELECT DISTINCT HVD_NUM_TICKET as HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID <> 9999") + + If numticket.RowCount = 1 Then + + numticket.Position = 0 + + foliocontado = numticket.GetString("HVD_NUM_TICKET") + + Else + + For gdfg = 0 To numticket.RowCount -1 + + If foliocontado.Length = 0 Then + + foliocontado = numticket.GetString("HVD_NUM_TICKET") + + Else + + foliocontado = foliocontado &","& numticket.GetString("HVD_NUM_TICKET") + + End If + + Next + + End If + + If et_cont_efectivo.Visible Then + + If et_cont_transfe.Visible = True Then + + If et_cont_cheque.Visible = True Then + + If et_cont_efectivo.Text <> "" And et_cont_transfe.Text <> "" And et_cont_cheque.Text <> "" Then + + If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$) + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','3')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + Else + + If et_cont_efectivo.Text <> "" And et_cont_transfe.Text <> "" Then + + If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + End If + + Else + + If et_cont_cheque.Visible = True Then + + If et_cont_efectivo.Text <> "" And et_cont_cheque.Text <> "" Then + + If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + Else + + If et_cont_efectivo.Text <> "" Then + + If NumberFormat2((et_cont_efectivo.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + End If + + End If + + Else If et_cont_efectivo.Visible = False Then + + If et_cont_transfe.Visible = True Then + + If et_cont_cheque.Visible = True Then + + If et_cont_transfe.Text <> "" And et_cont_cheque.Text <> "" Then + + If NumberFormat2((et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + Else + + If et_cont_transfe.Text <> "" Then + + If NumberFormat2((et_cont_transfe.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_transfe.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_transfe.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + End If + + Else + + If et_cont_cheque.Visible = True Then + + If et_cont_cheque.Text <> "" Then + + If NumberFormat2((et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then + + '' aqui si insertar + + Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$) + + p_contado.Visible= False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + + B_IMP_Click + + Else If NumberFormat2((et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención") + + Else If NumberFormat2((et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then + + MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención") + + End If + + Else + + Log(1) + + MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención") + + End If + + Else + + MsgboxAsync("Seleccione al menos un metodo de pago","Atención") + + End If + + End If + + End If + +End Sub + + + +Private Sub b_cancel_contado_Click + + p_contado.Visible = False + + et_cont_transfe.Visible = False + + et_cont_efectivo.Visible = False + + et_cont_cheque.Visible = False + + et_cont_transfe.Text = "" + + et_cont_efectivo.Text = "" + + et_cont_cheque.Text = "" + + ch_cont_efectivo.Checked = False + + ch_cont_transfe.Checked = False + + ch_cont_cheque.Checked = False + +End Sub + + + +Private Sub p_contado_Click + + +End Sub + + + +Private Sub ch_cont_cheque_CheckedChange(Checked As Boolean) + + If ch_cont_cheque.Checked Then + + et_cont_cheque.Visible = True + + Else + + et_cont_cheque.Visible = False + + et_cont_cheque.Text = "" + + + End If + +End Sub + + + +Private Sub ch_cont_transfe_CheckedChange(Checked As Boolean) + + If ch_cont_transfe.Checked Then + + et_cont_transfe.Visible = True + + Else + + et_cont_transfe.Visible = False + + et_cont_transfe.Text = "" + + End If + +End Sub + + + +Private Sub ch_cont_efectivo_CheckedChange(Checked As Boolean) + + If ch_cont_efectivo.Checked Then + + et_cont_efectivo.Visible = True + + Else + + et_cont_efectivo.Visible = False + + et_cont_efectivo.Text = "" + + End If + +End Sub + +Private Sub b_imprimesegun_LongClick + Subs.panelVisible(p_transFinDia, 0, 0) +End Sub + +Private Sub p_transFinDia_Click + +End Sub + +Private Sub b_aceptarFD_Click + If et_passFinDia.Text <> "KMTS1BAT" Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_codigoAutorizacion_IMP_rep" + cmd.Parameters = Array As Object(et_passFinDia.Text.Trim, Subs.traeRutaReparto, Subs.traeAlmacen) + reqManager.ExecuteQuery(cmd , 0, "codigoAutorizacionimp") + Else + Starter.skmt.ExecNonQuery("UPDATE CAT_VARIABLES SET CAT_VA_VALOR = '' where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") + p_transFinDia.Visible = False + et_passFinDia.Text = "" + End If + teclado.HideKeyboard +End Sub + +Private Sub b_cancelarFD_Click + p_transFinDia.Visible = False +End Sub + +Sub imp + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + + c.Position=0 + + usuario = c.GetString("USUARIO") + + DateTime.DateFormat = "MM/dd/yyyy" + DateTime.TimeFormat="HHmmss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") + d.Position = 0 + Dim ruta As String = d.GetString("RUTAA") + d.Close + d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + d.Position = 0 + Dim rutapre As String = d.GetString("CAT_CL_RUTA") + d.Close + +' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") +' d.Position = 0 + Dim fechaprev As String = Subs.traefECHAPREV +' d.Close + + Dim rutaactualizar As String + Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If rut.RowCount > 0 Then + rut.Position = 0 + rutaactualizar = rut.GetString("CAT_CL_RUTA") + End If + + Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$) + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar)) + Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO")) + Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$) + Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' DateTime.DateFormat = "MM/dd/yyyy" + + DateTime.DateFormat = "dd/MM/yyyy" + + sDate=DateTime.Date(DateTime.Now) + + sTime=DateTime.Time(DateTime.Now) + + c.Close + + ' ProgressDialogShow("Imprimiendo, un momento ...") + + ' Printer1.DisConnect + + ' If Not(Printer1.IsConnected) Then + + '' Log("Conectando a impresora ...") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) + + ' Sleep(1000) + + '' Log("++++++ " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' Else + + '' Log("conectando 2") + + ' Printer1.Connect + + ' Private cont As Int = 0 + + ' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + ' Sleep(1000) + + '' Log("****** " & cont) + + ' cont = cont + 1 + + ' If cont = 2 Then Printer1.Connect + + ' If cont > 3 Then impresoraConectada = True + + ' Loop + + ' Sleep(500) + + ' impresoraConectada = False + + ' End If + + + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + + Printer1.DisConnect + + If Not(Printer1.IsConnected) Then + + ' If logger Then Log("conectando 1") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) + + Sleep(1000) + + cont = cont + 1 + + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + + If cont > 15 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + Else + + ' If logger Then Log("conectando 2") + + Printer1.Connect + + Private cont As Int = 0 + + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + + Sleep(1000) + + cont = cont + 1 + + If cont = 7 Then Printer1.Connect + + If cont > 15 Then impresoraConectada = True + + Loop + + Sleep(500) + + impresoraConectada = False + + End If + + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Dim bmp As Bitmap + + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + + myimage = Printer1.DitherImage2D(myimage, 128) + + myimage= Printer1.PackImage(myimage) + + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + + Printer1.WriteString(Printer1.REVERSE) + + Printer1.PrintImage(myimage) + + Printer1.WriteString(Printer1.UNREVERSE) + + ' Dim Ticket As String = 0 + + ' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + ' If c6.RowCount > 0 Then + + ' c6.Position = 0 + + ' Ticket = c6.GetString("HVD_NUM_TICKET") + + ' End If + + ' c6.Close + + Dim telefono As String = "" + + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + + If c7.RowCount > 0 Then + + c7.Position = 0 + + telefono = c7.GetString("CAT_CL_TELEFONO") + + End If + + c7.Close + + DateTime.DateFormat = "dd/MM/yyyy" + + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) + + Printer1.WriteString(sDate & CRLF) + + Printer1.WriteString(sTime & CRLF) + + Printer1.WriteString("Reparto:" & usuario & CRLF) + + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) + + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + + Printer1.WriteString("Telefono: " & telefono & CRLF) + + + Dim Ticket As String = 0 + + Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + If c6.RowCount > 0 Then + + For k = 0 To c6.RowCount -1 + + c6.Position = k + + Ticket = c6.GetString("HVD_NUM_TICKET") + + Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF) + + Next + + End If + + c6.Close + + + + Printer1.WriteString(" " & CRLF) + + c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + + + + Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'") + + Dim restacobranza As Int = 0 + + If cobranza.RowCount > 0 Then + + restacobranza = 1 + + End If + + Dim credtio As Cursor= Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ") + If credtio.RowCount > 0 Then + Tipoentrega = "CREDITO" + Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF) + Else If credtio.RowCount = 0 Then + Tipoentrega = "CONTADO" + Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF) + End If + + If c.RowCount > 0 Then + + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND HVD_CODPROMO = '${Subs.traeAlmacen}' AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + + + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + +' Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + End If + + Printer1.Justify = 0 + + s.Close + + Printer1.WriteString(" " & CRLF) + + + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"SELECT HVD_CODPROMO, HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, LENGTH(SUM(HVD_CANT)) AS L_CANT, SUM(HVD_COSTO_TOT) AS HVD_COSTO_TOT, LENGTH(SUM(HVD_COSTO_TOT)) AS L_COSTOU, HVD_PROID, SUM(IFNULL(HVD_RECHAZOCANT, 0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT', 'MIRETO', 'BIGCOMMERCE') AND HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' GROUP BY HVD_PROID, HVD_CODPROMO"$) + + + + + If S.RowCount>0 Then + + Printer1.WriteString("------- BONIFICACIONES --------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + + + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + ' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then + + Printer1.Justify = 0 + + ' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then + + '' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) + + ' + + ' Else + + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + + Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + +' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 29 + + BLANCO = " " + + Printer1.Justify = 0 + + ' End If + + ' Else + + ' End If + + End If + + + Next + + End If + + + ' Printer1.WriteString(" " & CRLF) + + ' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$) + + ' + + ' If S.RowCount>0 Then + + ' Printer1.WriteString("-----------VENTA------------" & CRLF) + + ' Printer1.WriteString("Cant. Precio Importe" & CRLF) + + ' Printer1.WriteString("------------------------------" & CRLF) + + ' + + ' For i=0 To S.RowCount -1 + + ' S.Position=i + + ' + + ' Printer1.Justify = 0 + + ' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + ' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False) + + ' TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False) + + ' TAMANO = ptot.Length + TAMANO + + ' ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + ' For E=0 To ESPACIO -1 + + ' BLANCO = " " & BLANCO + + ' Next + + ' Printer1.Justify = 0 + + ' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO) + + ' Printer1.Justify = 1 + + ' Printer1.WriteString( punit & BLANCO) + + ' Printer1.Justify = 2 + + ' Printer1.WriteString(ptot & CRLF ) + + ' TAMANO = 0 + + ' ESPACIO = 29 + + ' BLANCO = " " + + ' Printer1.Justify = 0 + + ' Next + + ' End If + + Printer1.WriteString(" " & CRLF) + + + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("----------- MI RETO ------------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + Printer1.WriteString(" " & CRLF) + + + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'BIGCOMMERCE' GROUP by HVD_PROID"$) + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("---------- CONECTADOS ----------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + ' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) + + s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) + + If S.RowCount>0 Then + + Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF) + + ' Printer1.WriteString("--------------------------------" & CRLF) + + Printer1.WriteString("Cant. Precio Importe" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + For i=0 To S.RowCount -1 + + S.Position=i + + Log(s.GetString("HVD_RECHAZO")) + + If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then + + If s.GetInt("HVD_RECHAZO") = 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + ' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString( ptot & CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Else If s.GetInt("HVD_RECHAZO") > 0 Then + + Printer1.Justify = 0 + + Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) + + Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) + + vc5.Position = 0 + + Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) + + TAMANO = punit.Length + TAMANO + + vc5.Close + + Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) + + TAMANO = ptot.Length + TAMANO + + ESPACIO = (ESPACIO - TAMANO)/2 + + ' Log(ESPACIO) + + For E=0 To ESPACIO -1 + + BLANCO = " " & BLANCO + + Next + + Printer1.Justify = 0 + + Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) + + Printer1.Justify = 1 + + Printer1.WriteString( punit & BLANCO) + + Printer1.Justify = 2 + + Printer1.WriteString(ptot& CRLF ) + + TAMANO = 0 + + ESPACIO = 28 + + BLANCO = " " + + Printer1.Justify = 0 + + End If + + End If + + Next + + End If + + Printer1.Justify = 0 + + s.Close + + + + + Printer1.WriteString(" " & CRLF) + + + + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF) + + Printer1.WriteString("Total: $" & l_total.Text) + + Printer1.WriteString(" " & CRLF) + + + If almacen = "81" Then + + Printer1.WriteString("Telefono de atencion:" & CRLF) + + Printer1.WriteString("" & CRLF) + + End If + + + Printer1.WriteString("------------------------------" & CRLF) + + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + + Printer1.WriteString("------------------------------" & CRLF) + + + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Printer1.WriteString(" " & CRLF) + + Sleep(1000) + + Printer1.DisConnect + + ProgressDialogHide + +' If banderaimp = 1 Then + + Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + + Wait For Msgbox_Result (resultado As Int) + + If resultado = DialogResponse.POSITIVE Then + + imp + + Else + + If Tipoentrega = "CREDITO" Then + + imprime_pagare2 + + + End If + + End If + + ' printer.Flush + + ' printer.Close + +' Else If banderaimp = 0 Then +' +' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' +' Wait For Msgbox_Result (resultado As Int) +' +' If resultado = DialogResponse.POSITIVE Then +' +' B_IMP_Click +' +' End If +' +' End If + + ' Guardado + +End Sub + +Sub imprime_pagare2 + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") +' DateTime.DateFormat = "MM/dd/yyyy" + DateTime.DateFormat = "dd/MM/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close +' ProgressDialogShow("Imprimiendo, un momento ...") +' Printer1.DisConnect +' If Not(Printer1.IsConnected) Then + '' Log("Conectando a impresora ...") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) +' Sleep(1000) + '' Log("++++++ " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' Else + '' Log("conectando 2") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) +' Sleep(1000) + '' Log("****** " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' End If + + ProgressDialogShow2("Imprimiendo, un momento ...",False) + Printer1.DisConnect + If Not(Printer1.IsConnected) Then +' If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else +' If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + + TAMANO = 0 + ESPACIO = 28 + BLANCO = " " + + Dim telefono As String = "" + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If c7.RowCount > 0 Then + c7.Position = 0 + telefono = c7.GetString("CAT_CL_TELEFONO") + End If + c7.Close + + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + +' Dim Ticket As String = 0 +' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") +' If c6.RowCount > 0 Then +' c6.Position = 0 +' Ticket = c6.GetString("HVD_NUM_TICKET") +' End If +' c6.Close + + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) + Printer1.WriteString(sDate & CRLF) + Printer1.WriteString(sTime & CRLF) + Printer1.WriteString("Reparto:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) @@ -3790,1082 +10401,374 @@ Sub imprime_pagare Sleep(1000) Printer1.DisConnect ProgressDialogHide - If banderaimp = 1 Then - Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_pagare - Else - If banderaabono = 1 Then - imprime_abonopagare2 - Else - Guardado +' If banderaimp = 1 Then + + Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + imprime_pagare2 + Else If resultado = DialogResponse.NEGATIVE Then + Log(Tipoentrega) + If Tipoentrega = "CREDITO" Then + Log("aQUI") + If l_total.Text.Replace(",","") > l_montopag.Text Then + Log("aQUI") + tipo_abonox = "abono" + imprime_abonopagare3 End If End If -' printer.Flush - ' printer.Close - Else If banderaimp = 0 Then - Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_pagare - End If End If -' Guardado -End Sub - -Private Sub b_cancel_pagare_Click - tipo_abonox = "abono" - - Dim Items As List - Items.Initialize - - Items.Add("SELECCIONA UNA OPCION") - Items.Add("TRANSFERENCIA") - Items.Add("EFECTIVO") - Items.Add("CHEQUE") - - cb_tipopago.SetItems(Items) - - itemselect= "SELECCIONA UNA OPCION" - -' Msgbox2Async($"¿Que deseas realizar?"$,"Atención", "","", "Abono pagare", Null, True) -' Wait For Msgbox_Result (resultado As Int) -' If resultado = DialogResponse.POSITIVE Then -' Msgbox2Async($"¿Seguro que quieres cancelar el pagare con monto de $${l_total.Text} para este cliente?"$,"Atención", "Aceptar","Cancelar", "", Null, True) +' printer.Flush + ' printer.Close +' Else If banderaimp = 0 Then +' Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) ' Wait For Msgbox_Result (resultado As Int) ' If resultado = DialogResponse.POSITIVE Then -' Starter.skmt.ExecNonQuery("update PAGARES SET PA_CANCELADO = 2 WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' imprime_cancelarpagare -' -' d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") -' d.Position = 0 -' Dim ruta As String = d.GetString("RUTAA") -' d.Close -' -' Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' g5.Position = 0 -' Dim totaltotal As String = g5.GetString("HVD_COSTO_TOT") -' g5.Close -' If totaltotal = l_total.Text.Replace(",","") Then -' Dim entregatotaloparial As String = "ENTREGA TOTAL" -' Else -' Dim entregatotaloparial As String = "ENTREGA PARCIAL" -' End If -' Dim cmd As DBCommand -' cmd.Initialize -' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN" -'' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) -' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV) -' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)) -' reqManager.ExecuteCommand(cmd, "up_geo") -' banderaimp = 1 +' imprime_pagare ' End If -' Else If resultado = DialogResponse.NEGATIVE Then - - h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - h.Position = 0 - Log(h.GetString("CUENTA")) - j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(h.GetString("CUENTA"))) - j.position = 0 - Log(j.RowCount) - If j.RowCount = 0 Then - p_abono.Visible = True - et_abono.text = "" - Dim total As Double = 0 - f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") - f.Position = 0 - d = Starter.skmt.ExecQuery2("SELECT distinct PA_TICKET, PA_MONTO,PA_CAPTURA FROM PAGARES WHERE PA_CLIENTE = ? AND PA_CANCELADO IS NULL ORDER BY PA_CAPTURA", Array As String (f.GetString("CUENTA"))) - clv_abonos.Clear - For i = 0 To d.RowCount - 1 - d.Position = i - - Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("PA_TICKET"))) - Log(Folio) - y.position = 0 - - clv_abonos.Add(CreateListItem(d.GetString("PA_TICKET"),"$ " & NumberFormat2((d.GetString("PA_MONTO")-y.GetString("a_abono")),0,2,2,False),d.GetString("PA_CAPTURA")),i) - - - - total = total + d.GetString("PA_MONTO") - Log(total) - Next - d.Close - d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is not null ORDER BY a_fecha", Array As String (f.GetString("CUENTA"))) - If d.RowCount > 0 Then - For i = 0 To d.RowCount - 1 - d.Position = i - clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i) - total = total - d.GetString("a_abono") - Log(total) - Next - End If - l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False) - d.Close - f.Close - Else If j.RowCount > 0 Then - p_abono.Visible = True - et_abono.text = "" - Dim total As Double = 0 - f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") - f.Position = 0 - d = Starter.skmt.ExecQuery2("SELECT distinct PA_TICKET, PA_MONTO,PA_CAPTURA FROM PAGARES WHERE PA_CLIENTE = ? AND PA_CANCELADO IS NULL ORDER BY PA_CAPTURA", Array As String (f.GetString("CUENTA"))) - clv_abonos.Clear - For i = 0 To d.RowCount - 1 - d.Position = i - Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("PA_TICKET"))) - Log(Folio) - y.position = 0 - - clv_abonos.Add(CreateListItem(d.GetString("PA_TICKET"),"$ " &NumberFormat2((d.GetString("PA_MONTO")-y.GetString("a_abono")),0,2,2,False),d.GetString("PA_CAPTURA")),i) - - total = total + d.GetString("PA_MONTO").Replace(",","") - Log(total) - Next - d.Close - d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is not null ORDER BY a_fecha", Array As String (f.GetString("CUENTA"))) - If d.RowCount > 0 Then - For i = 0 To d.RowCount - 1 - d.Position = i - clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i) - total = total - d.GetString("a_abono") - Log(total) - Next - End If - l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False) - d.Close - f.Close -' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención") - End If - h.Close - j.Close - ' End If - - - - -End Sub - -Sub imprime_cancelarpagare - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") -' DateTime.DateFormat = "MM/dd/yyyy" - DateTime.DateFormat = "dd/MM/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c.Close -' ProgressDialogShow("Imprimiendo, un momento ...") -' Printer1.DisConnect -' If Not(Printer1.IsConnected) Then -'' Log("Conectando a impresora ...") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) -' Sleep(1000) -'' Log("++++++ " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' Else -'' Log("conectando 2") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) -' Sleep(1000) -'' Log("****** " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' End If - - ProgressDialogShow("Imprimiendo, un momento ...") - Printer1.DisConnect - If Not(Printer1.IsConnected) Then -' If logger Then Log("conectando 1") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) - Sleep(1000) - cont = cont + 1 - If cont = 7 Then Printer1.Connect 'Tratamos de reconectar - If cont > 15 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - Else -' If logger Then Log("conectando 2") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) - Sleep(1000) - cont = cont + 1 - If cont = 2 Then Printer1.Connect - If cont > 4 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - End If - - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Dim telefono As String = "" - Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If c7.RowCount > 0 Then - c7.Position = 0 - telefono = c7.GetString("CAT_CL_TELEFONO") - End If - c7.Close - Dim bmp As Bitmap - bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore - Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) - myimage = Printer1.DitherImage2D(myimage, 128) - myimage= Printer1.PackImage(myimage) - Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening - Printer1.WriteString(Printer1.REVERSE) - Printer1.PrintImage(myimage) - Printer1.WriteString(Printer1.UNREVERSE) - Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) - Printer1.WriteString(sDate & CRLF) - Printer1.WriteString(sTime & CRLF) - Printer1.WriteString("Reparto:" & usuario & CRLF) - Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) - Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) - Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) - Printer1.WriteString("Colonia: " & la_col.Text & CRLF) - Printer1.WriteString("Telefono: " & telefono & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString("-----CANCELACION DE PAGARE----" & CRLF) - Printer1.WriteString("" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("Se cancela el pagare " & CRLF) - Printer1.WriteString("Por monto de $" &l_total.Text& CRLF) - Printer1.WriteString("por el cual se pagara el " & CRLF) - Printer1.WriteString("total en efectivo" & CRLF) -' Printer1.WriteString("dicionalmente en _____________" & CRLF) -' Printer1.WriteString("o en el lugar donde se me " & CRLF) -' Printer1.WriteString("requiera por el presente pagare" & CRLF) -' Printer1.WriteString("a GUNA la cantidad de $"&l_total.Text & CRLF) -' Printer1.WriteString("valor recibido a entera " & CRLF) -' Printer1.WriteString("satisfacciOn. La falta de pago" & CRLF) -' Printer1.WriteString("a la fecha indicada causara " & CRLF) -' Printer1.WriteString("intereses moratorios a razOn " & CRLF) -' Printer1.WriteString("de ______% mensual a la fecha." & CRLF) - Printer1.WriteString("" & CRLF) - Printer1.WriteString("" & CRLF) - Printer1.WriteString(" Recibi " & CRLF) - Printer1.WriteString("" & CRLF) - Printer1.WriteString("" & CRLF) - Printer1.WriteString("______________________________" & CRLF) - - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Sleep(1000) - Printer1.DisConnect - ProgressDialogHide - If banderaimp = 1 Then - Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_cancelarpagare - Else - Guardado - End If -' printer.Flush - ' printer.Close - Else If banderaimp = 0 Then - Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - imprime_cancelarpagare - End If - End If ' Guardado End Sub -Private Sub CrearQR(NOTA2 As String) -' Private texto As String = $"https://wa.me/5215637241894?text=PAGARE ${NOTA2}"$ 'Bow 2.0 G - Private texto As String = $"https://wa.me/5215611769317?text=PAGARE_${NOTA2}"$ 'Bow2024 - i_qr.Clear - If texto.Length>0 Then - i_qr.SetBitmap(qr.Create(texto)) - Log("QR Creado ->"&texto) - End If -End Sub -Private Sub b_confirmar_Click - ProgressDialogShow("Un momento por favor!!") - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "selectPagareConfirmado_Demo" -' cmd.Parameters = Array As Object(Subs.traeCliente, NOTA) - cmd.Parameters = Array As Object(NOTA) - reqManager.ExecuteQuery(cmd, 0, $"pagareConfirmado_${NOTA}"$) -End Sub - -Private Sub p_transPagare2_Click - -End Sub - -Private Sub b_cerrarqr_Click - i_qr.Clear - p_transPagare2.Visible = False -End Sub - -Private Sub b_imprimesegun_Click - - Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - - If pagacheca.RowCount > 0 Then - Tipoentrega = "CREDITO" - Else - Tipoentrega = "CONTADO" - End If - - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c.Close -' ProgressDialogShow("Imprimiendo, un momento ...") -' Printer1.DisConnect -' If Not(Printer1.IsConnected) Then -'' Log("Conectando a impresora ...") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) -' Sleep(1000) -'' Log("++++++ " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' Else -'' Log("conectando 2") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) -' Sleep(1000) -'' Log("****** " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' End If - - ProgressDialogShow("Imprimiendo, un momento ...") - Printer1.DisConnect - If Not(Printer1.IsConnected) Then -' If logger Then Log("conectando 1") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) - Sleep(1000) - cont = cont + 1 - If cont = 7 Then Printer1.Connect 'Tratamos de reconectar - If cont > 15 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - Else -' If logger Then Log("conectando 2") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) - Sleep(1000) - cont = cont + 1 - If cont = 2 Then Printer1.Connect - If cont > 4 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - End If - - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Dim bmp As Bitmap - bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore - Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) - myimage = Printer1.DitherImage2D(myimage, 128) - myimage= Printer1.PackImage(myimage) - Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening - Printer1.WriteString(Printer1.REVERSE) - Printer1.PrintImage(myimage) - Printer1.WriteString(Printer1.UNREVERSE) -' Dim Ticket As String = 0 -' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") -' If c6.RowCount > 0 Then -' c6.Position = 0 -' Ticket = c6.GetString("HVD_NUM_TICKET") -' End If -' c6.Close - Dim telefono As String = "" - Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If c7.RowCount > 0 Then - c7.Position = 0 - telefono = c7.GetString("CAT_CL_TELEFONO") - End If - c7.Close - - Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) - Printer1.WriteString(sDate & CRLF) - Printer1.WriteString(sTime & CRLF) - Printer1.WriteString("Reparto:" & usuario & CRLF) - Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) - Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) - Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) - Printer1.WriteString("Colonia: " & la_col.Text & CRLF) - Printer1.WriteString("Telefono: " & telefono & CRLF) - - Dim Ticket As String = 0 - Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - If c6.RowCount > 0 Then - For k = 0 To c6.RowCount -1 - c6.Position = k - Ticket = c6.GetString("HVD_NUM_TICKET") - Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF) - Next - End If - c6.Close - - Printer1.WriteString(" " & CRLF) - c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - - - Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'") - Dim restacobranza As Int = 0 - If cobranza.RowCount > 0 Then - restacobranza = 1 - End If - If c.RowCount > 0 Then - ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$) - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'CONECTADOS') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$) - If S.RowCount>0 Then - Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetInt("HVD_RECHAZO") = 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString( ptot & CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Else If s.GetInt("HVD_RECHAZO") > 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) - vc5.Position = 0 - Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) - TAMANO = punit.Length + TAMANO - vc5.Close - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot& CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If - End If - Printer1.Justify = 0 - s.Close - Printer1.WriteString(" " & CRLF) - - -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'CONECTADOS') AND (HVD_COSTO_TOT/HVD_CANT) = 0.01 GROUP by HVD_PROID"$) - - - If S.RowCount>0 Then - Printer1.WriteString("------- BONIFIACIONES --------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - - - - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then -' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then - Printer1.Justify = 0 -' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then - '' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) -' -' Else - - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - - Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO - Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 - Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot & CRLF ) - TAMANO = 0 - ESPACIO = 29 - BLANCO = " " - Printer1.Justify = 0 -' End If -' Else -' End If - End If - - Next - End If - -' Printer1.WriteString(" " & CRLF) -' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$) - ' -' If S.RowCount>0 Then -' Printer1.WriteString("-----------VENTA------------" & CRLF) -' Printer1.WriteString("Cant. Precio Importe" & CRLF) -' Printer1.WriteString("------------------------------" & CRLF) -' -' For i=0 To S.RowCount -1 -' S.Position=i - ' -' Printer1.Justify = 0 -' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) -' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False) -' TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False) -' TAMANO = ptot.Length + TAMANO -' ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString( punit & BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(ptot & CRLF ) -' TAMANO = 0 -' ESPACIO = 29 -' BLANCO = " " -' Printer1.Justify = 0 -' Next -' End If - Printer1.WriteString(" " & CRLF) - - - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$) - If S.RowCount>0 Then - Printer1.WriteString("----------- MI RETO ------------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetInt("HVD_RECHAZO") = 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString( ptot & CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Else If s.GetInt("HVD_RECHAZO") > 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) - vc5.Position = 0 - Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) - TAMANO = punit.Length + TAMANO - vc5.Close - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot& CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If - Printer1.Justify = 0 - s.Close - - Printer1.WriteString(" " & CRLF) - - - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) - If S.RowCount>0 Then - Printer1.WriteString("---------- CONECTADOS ----------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetInt("HVD_RECHAZO") = 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString( ptot & CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Else If s.GetInt("HVD_RECHAZO") > 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) - vc5.Position = 0 - Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) - TAMANO = punit.Length + TAMANO - vc5.Close - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot& CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If - Printer1.Justify = 0 - s.Close - -' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$) - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$) - If S.RowCount>0 Then - Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetInt("HVD_RECHAZO") = 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) - TAMANO = punit.Length + TAMANO -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString( ptot & CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Else If s.GetInt("HVD_RECHAZO") > 0 Then - Printer1.Justify = 0 - Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF) - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) - vc5.Position = 0 - Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) - TAMANO = punit.Length + TAMANO - vc5.Close - Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) - TAMANO = ptot.Length + TAMANO - ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - Printer1.Justify = 0 - Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) - Printer1.Justify = 1 - Printer1.WriteString( punit & BLANCO) - Printer1.Justify = 2 - Printer1.WriteString(ptot& CRLF ) - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If - Printer1.Justify = 0 - s.Close - - - Printer1.WriteString(" " & CRLF) - - - - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF) - Printer1.WriteString("Total: $" & l_total.Text) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) - Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) - Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Sleep(1000) - Printer1.DisConnect - ProgressDialogHide -End Sub - - - -Private Sub l_telefono_LongClick As ResumableSub - Dim numeroTel As String = l_telefono.Text - - numeroTel = numeroTel.Replace(" ", "").Replace("-", "").Replace("(", "").Replace(")", "") - - If numeroTel.Length > 0 Then - Dim Intent1 As Intent - Intent1.Initialize("android.intent.action.DIAL", "tel:" & numeroTel) - StartActivity(Intent1) - Else - ToastMessageShow("Número no válido", False) - End If - - Return True -End Sub - -Private Sub HIST_LongClick +Sub imprime_abonopagare3 c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") c.Position=0 usuario = c.GetString("USUARIO") ' DateTime.DateFormat = "MM/dd/yyyy" - DateTime.DateFormat = "dd/MM/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c.Close -' ProgressDialogShow("Imprimiendo, un momento ...") -' Printer1.DisConnect -' If Not(Printer1.IsConnected) Then - '' Log("Conectando a impresora ...") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) -' Sleep(1000) - '' Log("++++++ " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' Else - '' Log("conectando 2") -' Printer1.Connect -' Private cont As Int = 0 -' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) -' Sleep(1000) - '' Log("****** " & cont) -' cont = cont + 1 -' If cont = 2 Then Printer1.Connect -' If cont > 3 Then impresoraConectada = True -' Loop -' Sleep(500) -' impresoraConectada = False -' End If - - ProgressDialogShow("Imprimiendo, un momento ...") - Printer1.DisConnect - If Not(Printer1.IsConnected) Then -' If logger Then Log("conectando 1") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) - Sleep(1000) - cont = cont + 1 - If cont = 7 Then Printer1.Connect 'Tratamos de reconectar - If cont > 15 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - Else -' If logger Then Log("conectando 2") - Printer1.Connect - Private cont As Int = 0 - Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) - Sleep(1000) - cont = cont + 1 - If cont = 2 Then Printer1.Connect - If cont > 4 Then impresoraConectada = True - Loop - Sleep(500) - impresoraConectada = False - End If - TAMANO = 0 - ESPACIO = 28 - BLANCO = " " - Dim Ticket As String = 0 - Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - If c6.RowCount > 0 Then - c6.Position = 0 - Ticket = c6.GetString("HVD_NUM_TICKET") - End If - c6.Close DateTime.DateFormat = "dd/MM/yyyy" DateTime.TimeFormat = "HH:mm:ss" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) - Printer1.WriteString("Tienda: " & B4XPages.MainPage.cliente.La_nombre.Text & CRLF) - Printer1.WriteString("ID.Cliente: " & B4XPages.MainPage.cliente.la_cuenta.Text & CRLF) - Printer1.WriteString("Num. Ticket: " & Ticket & CRLF) - Printer1.WriteString("Fecha: " & sDate &" " & sTime & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - If c.RowCount > 0 Then - Printer1.WriteString("------------Picking------------" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("ESTE NO ES UN TICKET DE ENTREGA" & CRLF) - Printer1.WriteString("SOLO ES INFORMATIVO" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString(" " & CRLF) - ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$) - If S.RowCount>0 Then - For i=0 To S.RowCount -1 - S.Position=i - Log(s.GetString("HVD_RECHAZO")) - - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then - Printer1.Justify = 0 - Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") )&" "&s.GetString("HVD_PRONOMBRE") & CRLF) - Printer1.WriteString(" " & CRLF) + c.Close +' ProgressDialogShow("Imprimiendo, un momento ...") +' Printer1.DisConnect +' If Not(Printer1.IsConnected) Then +' Log("Conectando a impresora ...") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) +' Sleep(1000) +' Log("++++++ " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' Else +' Log("conectando 2") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) +' Sleep(1000) +' Log("****** " & cont) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect +' If cont > 3 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' End If -' Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) -' TAMANO = punit.Length + TAMANO - ' - '' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) -' Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) -' TAMANO = ptot.Length + TAMANO -' -' ESPACIO = (ESPACIO - TAMANO)/2 - '' Log(ESPACIO) -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString( punit & BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString( ptot & CRLF ) -' TAMANO = 0 -' ESPACIO = 29 -' BLANCO = " " - Else If s.GetString("HVD_RECHAZO") = 1 Then - Printer1.Justify = 0 - Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) &" "&s.GetString("HVD_PRONOMBRE") & CRLF) - Printer1.WriteString(" " & CRLF) -' Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$) -' vc5.Position = 0 -' Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False) -' TAMANO = punit.Length + TAMANO -' vc5.Close -' -' Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False) -' TAMANO = ptot.Length + TAMANO -' -' ESPACIO = (ESPACIO - TAMANO)/2 - '' Log(ESPACIO) -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString( punit & BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(ptot& CRLF ) -' TAMANO = 0 -' ESPACIO = 29 -' BLANCO = " " - Printer1.Justify = 0 - End If - End If - Next - End If + ProgressDialogShow2("Imprimiendo, un momento ...",False) + Printer1.DisConnect + If Not(Printer1.IsConnected) Then +' If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else +' If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False End If - Printer1.Justify = 0 - s.Close + TAMANO = 0 + ESPACIO = 22 + BLANCO = " " + + + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + Dim telefono As String = "" + Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If c7.RowCount > 0 Then + c7.Position = 0 + telefono = c7.GetString("CAT_CL_TELEFONO") + End If + c7.Close + + + + Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) +' Printer1.WriteString(sucursal & CRLF) + Printer1.WriteString(sDate & CRLF) + Printer1.WriteString(sTime & CRLF) + Printer1.WriteString("Reparto:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF) + Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("Telefono: " & telefono & CRLF) Printer1.WriteString(" " & CRLF) - s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' AND HVD_PRONOMBRE <> 'Cobranza Pendiente' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$) - - If S.RowCount>0 Then - Printer1.WriteString("-------PROMOS ENTREGA--------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) + Dim notaabono As String + Dim saldopendiente As Double + Dim saldopendiente2 As Double + + If tipo_abonox = "abono" Then + + + c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$) + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("HVD_NUM_TICKET") + End If + c.Close + + c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + Log(c.GetString("SALDO_PENDIENTE")) + End If + c.Close + + + Dim saldopendiente1 As Double = 0 + Dim TIPOPAGO As String = "" + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + + End If + c4.Close + + Else If tipo_abonox = "cxc" Then + c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount > 0 Then + c.Position = 0 + notaabono = c.GetString("NOTA") + saldopendiente = c.GetDouble("SALDO_PENDIENTE") + End If + c.Close + + Dim saldopendiente1 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + If c4.RowCount > 0 Then + c4.Position = 0 + Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE") + End If + c4.Close + + + c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio)) + If c.RowCount > 0 Then + c.Position = 0 + saldopendiente2 = c.GetDouble("SALDO_PENDIENTE") + End If + c.Close + + Dim saldopendiente3 As Double = 0 + Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio)) + If c4.RowCount > 0 Then + c4.Position = 0 +' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null") + saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE") + End If + c4.Close - For i=0 To S.RowCount -1 - S.Position=i - If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then - If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then - Printer1.Justify = 0 - If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then - Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF) - Else - Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))&" "&s.GetString("HVD_PRONOMBRE") & CRLF) - Printer1.WriteString(" " & CRLF) - End If -' Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False) -' TAMANO = punit.Length + TAMANO - ' -' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False) -' TAMANO = ptot.Length + TAMANO -' ESPACIO = (ESPACIO - TAMANO)/2 -' Log(ESPACIO) -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString( punit & BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(ptot & CRLF ) -' TAMANO = 0 -' ESPACIO = 29 -' BLANCO = " " - Printer1.Justify = 0 - Else - End If - End If - Next End If + Dim numpago As Int = 1 + + + Dim TIPOPAGO As String = "" + Dim c8 As Cursor= Starter.skmt.ExecQuery("SELECT TIPO_PAGO FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null and a_numpago = '1'") + Log(c8.RowCount) + If c8.RowCount > 0 Then + Log("SI ENTRE") + c8.Position = 0 + Log(c8.GetString("TIPO_PAGO")) + TIPOPAGO = c8.GetString("TIPO_PAGO") + + + End If + c8.Close + + + + Dim tipopagotick As String = "" + If TIPOPAGO.ToUpperCase = "TRANSFERENCIA" Then + tipopagotick = "T" + Else If TIPOPAGO.ToUpperCase = "EFECTIVO" Then + tipopagotick = "E" + Else If TIPOPAGO.ToUpperCase = "CHEQUE" Then + tipopagotick = "C" + End If + + '' codigo de barras +' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago) + '' codigo de qr + B4XImageView1.SetBitmap(qr.Create(notaabono&sDate&tipopagotick&numpago)) + + + Dim Dirp As String = File.DirInternal + Dim Dir As String + Dim Dir2 As String + Try + File.MakeDir(Dirp,"/md") + Dir = "/md" + Log("creado en promotoria " & Dirp & Dir) + Catch + Dir = "" + Log("creado en raiz") + End Try + + Try + File.MakeDir(Dirp & Dir,"/reduccion") + Dir2 = "/reduccion" + Log("creado en promotoria " & Dirp & Dir & Dir2) + Catch + Dir = "" + Log("creado en raiz") + End Try + + '' codigo de barras +' Dim Out As OutputStream +' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False) +' barcode.CODE128(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG") +' Out.Close + + '' codigo de qr + Dim Out As OutputStream + Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False) + qr.Create(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG") + Out.Close + + + +' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") +' If c.RowCount > 0 Then +' c.Position = 0 +' notaabono = c.GetString("NOTA") +' End If + + Log(notaabono) + Log(et_abono.Text) + Printer1.WriteString("Comprobante de pago del pagare" & CRLF) + Printer1.WriteString("Folio: " & notaabono &"-"&(numpago)& CRLF) + Printer1.WriteString("Monto deuda: " & (NumberFormat2(l_total.Text.Replace(",",""),0,2,2,False)) & CRLF) + Printer1.WriteString("Monto abono: " & (NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)) & CRLF) + Printer1.WriteString("Tipo de pago: " & TIPOPAGO & CRLF) + Printer1.WriteString("Restante "¬aabono&": " &(NumberFormat(l_montopag.Text,0,2)) & CRLF) + Printer1.WriteString("Fecha Abono: " & sDate & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("ESTE NO ES UN TICKET DE ENTREGA" & CRLF) - Printer1.WriteString("SOLO ES INFORMATIVO" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("-------------FIRMA------------" & CRLF) + + DateTime.DateFormat = "ddMMyyyy" + sDate=DateTime.Date(DateTime.Now) + itemselect = "EFECTIVO" + +' Items.Add("TRANSFERENCIA") +' Items.Add("EFECTIVO") +' Items.Add("CHEQUE") + + + + + +' Dim bmp As Bitmap + '' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore + + Dim bmp2 As Bitmap + bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore +' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore + Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2) + myimage2 = Printer1.DitherImage2D(myimage2, 128) + myimage2= Printer1.PackImage(myimage2) + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage2) + Printer1.WriteString(Printer1.UNREVERSE) + + +' Printer1.WriteBarCode("I",NOTA&sDate&tipopagotick&numpago) Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) Sleep(1000) Printer1.DisConnect ProgressDialogHide -' Guardado + + +' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' imprime_abonopagare +' Else +' p_abono.Visible = False +' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$) +' ToastMessageShow("Abono guardado", False) +' End If + +' If banderaimp = 1 Then +' Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' imprime_abonopagare2 +' Else +' Guardado +' End If +'' printer.Flush +' ' printer.Close +' Else If banderaimp = 0 Then + Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + tipo_abonox = "abono" + imprime_abonopagare3 + + End If +' End If + +' mandaAbonosPANUEPendientes + End Sub +'Private Sub b_cxc_LongClick +' Subs.panelVisible(p_transFinDia, 0, 0) +'End Sub \ No newline at end of file diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index 0c53832..07f9ce0 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -82,6 +82,8 @@ Sub B4XPage_Appear Else ListView1.Top = lv1Top + 100 End If + + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS WHERE HVD_CANT = 0") c=Starter.skmt.ExecQuery("select distinct codigo, indice, CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_NOEXT from waypoints inner join kmt_info on waypoints.codigo = kmt_info.CAT_CL_CODIGO where gestion = 0 AND CAT_CL_RUTA <> 1000 order by indice") diff --git a/B4A/C_DetalleVenta.bas b/B4A/C_DetalleVenta.bas index f1bac6c..9c09480 100644 --- a/B4A/C_DetalleVenta.bas +++ b/B4A/C_DetalleVenta.bas @@ -1203,7 +1203,7 @@ Private Sub B_IMP_Click ' impresoraConectada = False ' End If - ProgressDialogShow("Imprimiendo, un momento ...") + ProgressDialogShow2("Imprimiendo, un momento ...",False) Printer1.DisConnect If Not(Printer1.IsConnected) Then ' If logger Then Log("conectando 1") diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index ee41537..9c6976a 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -35,6 +35,7 @@ Sub Class_Globals Private teclado As IME Dim fototomada As String Private b_foto As Button + Private r_5 As RadioButton End Sub 'You can add more parameters here. @@ -59,6 +60,7 @@ Sub B4XPage_Appear r_2.Checked = False r_3.Checked = False r_4.Checked = False + r_5.Checked = False cb_reprogramar.Checked = False p_camara.Width = Root.Width @@ -120,7 +122,7 @@ Sub CANCELA_Click End Sub Sub GUARDA_Click - If r_1.Checked = False And r_2.Checked = False And r_3.Checked = False And r_4.Checked = False Then +If r_1.Checked = False And r_2.Checked = False And r_3.Checked = False And r_4.Checked = False And r_5 .Checked = False Then MsgboxAsync("Selecciona un motivo de rechazo","Atención") Else @@ -130,6 +132,8 @@ Sub GUARDA_Click motivo = "NO PIDIO" Else If r_3.Checked Then motivo = "CANCELA" + Else If r_5.Checked Then + motivo = "FALTA DE TIEMPO" Else motivo = "NO ESTA EL ENCARGADO" End If diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 25011b7..927a2f4 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -65,7 +65,7 @@ Sub Class_Globals Dim datos_iguales As String Dim p As PhoneId Dim imei As String - + Dim clieasing() As String Private inv As Button ' Private cambios As Label Private L_MONTOE As Label @@ -77,6 +77,7 @@ Sub Class_Globals Dim batterystatus(11) As Int Private bu As BatteryUtilities Dim RUTA_T As String + Dim compara As String Dim reqs As List '''''' MAPA RUTAS Private b_Ubicar_Ru As Button @@ -137,7 +138,14 @@ Sub Class_Globals Private l_carga2 As Label 'fin carga Private b_impresion_rec As Button - Dim linker As C_deviceLinker + + Private P_ENVIO As Panel + Private l_envio As Label + Private pgb_envio As ProgressBar + Private B_OK_ENVIO As Button + Dim tenvio As Timer + Dim cuantosenvio As Int + Dim recibidos As Int End Sub 'You can add more parameters here. @@ -205,6 +213,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN")) reqManager.ExecuteQuery(cmd , 0, "coords_almacen") End If + P_ENVIO.Width = Root.Width + P_ENVIO.Height = Root.Height B4XPages.MainPage.usuario=Subs.dameUsuarioDeDB btAdmin.Initialize("BlueTeeth") cmp20.Initialize("Printer") @@ -212,7 +222,8 @@ End Sub Sub B4XPage_Appear reqManager.Initialize(Me, B4XPages.MainPage.server) - linker.Initialize(Me, "Linker", True) + Starter.skmt.ExecNonQuery("DELETE FROM ABONOS where a_abono is null or a_abono = ''") + Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA where NV_CLIENTE is null or NV_CLIENTE = ''") p_principal.Width = Root.Width p_principal.Height = Root.Height *.80 Private c As Cursor = Starter.skmt.ExecQuery("SELECT * FROM NOVENTA") @@ -404,12 +415,9 @@ Sub B4XPage_Appear B4XPages.MainPage.rutaPreventa = RUTA_T c.Close reqs.Initialize - - c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA")) - If c.RowCount > 0 Then - c.Position = 0 - Starter.FECHA_HOY = c.GetString("CAT_VA_VALOR") - End If + + + Private rc As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_RECHAZO = "1" and REP_CANT > 0"$) ' Log($"RECHAZOS=${rc.RowCount}"$) @@ -814,27 +822,53 @@ Sub to_number_vb (valor As Object) As String End Sub Sub trabajar_Click - If b_check.Visible = True Then - MsgboxAsync("Favor de hacer el checklist.","Atención") - Else - B4XPages.ShowPage("Clientes") +' If b_check.Visible = True Then +' MsgboxAsync("Favor de hacer el checklist.","Atención") +' Else +' B4XPages.ShowPage("Clientes") +' End If + + If l_ctast.Text = "0" Then + cmd.Initialize + cmd.Name = "select_hvd_impreso_guna" + cmd.Parameters = Array As Object(Subs.traeRutaReparto, ALMACEN)',e_ruta.Text,ALMACEN + reqManager.ExecuteQuery(cmd , 0, "hvd_impreso2") + Else If l_ctast.Text <> "0" Then + If b_check.Visible = True Then + MsgboxAsync("Favor de hacer el checklist.","Atención") + Else + B4XPages.ShowPage("Clientes") + End If End If + + + End Sub Sub Subir_Click - If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") - c=Starter.skmt.ExecQuery("select usuario from usuarioa") - c.Position = 0 - usuario = c.GetString("USUARIO") - c.Close + + If e_ruta.Text = "FIN DIA" Then + MsgboxAsync("Para enviar escribe tu ruta y envia informacion.","Atención") + Else + + If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close ' c = Starter.skmt.ExecQuery("SELECT * FROM BLOCKENVIO") ' If c.RowCount = 0 Then ' Starter.skmt.ExecNonQuery2("INSERT INTO BLOCKENVIO(ENVIADO) VALUES (?)", Array As Object (1)) ' envioinfo ' Else - envioinfo - imp_LIQUIDACION + + P_ENVIO.Visible = True + envioinfo + tenvio.Initialize("tenvio",60000) + tenvio.Enabled = True + envioinfo + imp_LIQUIDACION ' End If ' c.Close @@ -842,6 +876,7 @@ Sub Subir_Click ' cmd.Name = "select_estatus_MAZAPA" ' cmd.Parameters = Array As Object(ALMACEN,e_ruta.text) ' reqManager.ExecuteQuery(cmd , 0, "estatus") + End If End Sub Sub envia_reparto @@ -865,6 +900,11 @@ Sub envia_reparto End Sub Sub envioinfo + + cuantosenvio = 0 + recibidos = 0 + l_envio.Text = "ENVIANDO" + pgb_envio.Progress = 0 ' NOVENTA c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO,NV_FOTO2, NV_REPROGRAMAR FROM NOVENTA") D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") @@ -910,9 +950,9 @@ Sub envioinfo Dim fechacapreal As String = fechacap(1)&"/"&fechacap(0)&"/"&fechacapano End If If pa.GetString("PA_CANCELADO") = "2" Then - cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),2) + cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),NumberFormat2(pa.GetString("PA_MONTO"),0,2,2,False),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),Subs.traeRutaReparto,fechareal,pa.GetString("PA_USUARIO"),2) Else - cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),"") + cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),Subs.traeRutaReparto,fechareal,pa.GetString("PA_USUARIO"),"") End If reqManager.ExecuteCommand(cmd , "ins_pagares") Next @@ -922,7 +962,7 @@ Sub envioinfo 'ABONOS d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") d.Position = 0 - Dim ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$) + Dim ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_tipoabono IS NULL"$) Log(ab.RowCount) If ab.RowCount > 0 Then For i=0 To ab.RowCount -1 @@ -934,7 +974,7 @@ Sub envioinfo Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_abono_REP_GUNA_VN2" - cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN,"REPARTO",d.GetString("RUTAA"), "", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago")) + cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), NumberFormat2(ab.GetString("a_abono"),0,2,2,False), ab.GetString("a_fecha"),ALMACEN,"REPARTO",d.GetString("RUTAA"), "", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago")) reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) ab1.Close Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) @@ -944,10 +984,23 @@ Sub envioinfo d.Close + c=Starter.skmt.ExecQuery("SELECT RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO FROM CONTADOS") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_CONTADO_GUNA_VN" + cmd.Parameters = Array As Object(c.GetString("RUTA_PREV"), c.GetString("RUTA_REP"), c.GetString("FECHA_PREV"), c.GetString("ALMACEN"), c.GetString("NUM_TICKET"),NumberFormat2(c.GetString("MONTO"),0,2,2,False) , c.GetString("METODO_PAGO"), c.GetString("USUARIO"), c.GetString("CLIENTE"), c.GetString("NUM_PAGO")) + reqManager.ExecuteCommand(cmd , "ins_CONTADOS") + Next + c.Close + End If + 'ABONOS NUEVOS d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") d.Position = 0 - Dim ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NOT NULL"$) + Dim ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_tipoabono IS NOT NULL"$) Log(ab.RowCount) If ab.RowCount > 0 Then For i=0 To ab.RowCount -1 @@ -959,7 +1012,7 @@ Sub envioinfo Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_abono_REP_GUNA_VN2" - cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN,"REPARTO",d.GetString("RUTAA"), "1", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago") ) + cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), NumberFormat2(ab.GetString("a_abono"),0,2,2,False), ab.GetString("a_fecha"),ALMACEN,"REPARTO",d.GetString("RUTAA"), "1", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago") ) reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) ab1.Close Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) @@ -1071,18 +1124,30 @@ Sub envioinfo cmd.Initialize cmd.Name = "update_HVD_GUNA_VN2" Log( c.GetString("CANTC")& c.GetString("HVD_CLIENTE")& c.GetString("HVD_PROID")&fecha3&" "&hora(0)& d4.GetString("CAT_CL_RUTA")&ALMACEN&l_ruta.Text&c.GetString("HVD_CODPROMO")&c.GetString("HVD_NUM_TICKET")& c.GetString("HVD_CANT")) - cmd.Parameters = Array As String("","","",Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) + cmd.Parameters = Array As String("","","0",Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT")) reqManager.ExecuteCommand(cmd, "update_hvd") End If d4.Close Next End If c.Close + + Dim ab2 As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS"$) + Dim ab3 As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_tipoabono IS NULL"$) + Dim ab3_1 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(SUM(a_abono),0) AS SUMABO from ABONOS where a_tipoabono IS NULL"$) + ab3_1.Position = 0 + + Dim ab4 As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_tipoabono IS NOT NULL"$) + Dim ab4_1 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(SUM(a_abono),0) AS SUMABO from ABONOS where a_tipoabono IS NOT NULL"$) + ab4_1.Position = 0 + + Dim pa2 As Cursor =Starter.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES") Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_drop_rep_GUNA_VN" - cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO") + cmd.Name = "insert_drop_rep_GUNA_VN2" + cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO",l_pagaresnuevos.Text, pa2.RowCount, l_pagarescobrados.Text,ab2.RowCount,NumberFormat2( ab3_1.GetDouble("SUMABO"),0,2,2,False), ab3.RowCount, NumberFormat2( ab4_1.GetDouble("SUMABO"),0,2,2,False), ab4.RowCount ) reqManager.ExecuteCommand(cmd , "inst_drop") + ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) End Sub @@ -1128,19 +1193,10 @@ Sub cargar_Click Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_drop_rep_GUNA_VN" - cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "CARGA") + cmd.Name = "insert_drop_rep_GUNA_VN2" + cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "CARGA",0,0,0,0,0,0,0,0) reqManager.ExecuteCommand(cmd , "inst_drop") -' reqs.Add("inst_noventa") - - cmd.Initialize 'Para traer la contraseña del candado de "FIN DIA" - cmd.Name = "SELECT_PASS_FIN_DIA" - reqManager.ExecuteQuery(cmd , 0, "pass_fin_dia") - - cmd.Initialize - cmd.Name = "select_fecha" -' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) - reqManager.ExecuteQuery(cmd , 0, "fecha") +' reqs.Add("inst_noventa") Starter.skmt.ExecNonQuery("delete from kmt_info") Starter.skmt.ExecNonQuery("delete from cod_result") @@ -1214,7 +1270,7 @@ Sub cargar_Click ' reqs.Add("inst_noventa") ' Next ' End If -' c.Close +'' c.Close D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") d.Position=0 cuantos_noventa = D.GetString("CUANTOS_NOVENTA") @@ -1277,6 +1333,11 @@ Sub cargaGeneral reqs.Add("kmt_datos") + cmd.Initialize + cmd.Name = "select_COMENTS_GUNA_VN" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN,e_ruta.text, ALMACEN,e_ruta.Text,ALMACEN,e_ruta.Text,ALMACEN,ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "coments") + ' cmd.Initialize ' cmd.Name = "select_cliente_fotos_re_REPG_GUNA_VN" ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN,e_ruta.text, ALMACEN,e_ruta.Text,ALMACEN,ALMACEN)',e_ruta.Text,ALMACEN @@ -1336,9 +1397,11 @@ Sub JobDone(Job As HttpJob) Dim CAT_CL_LIMITECREDITO As String = records(result.Columns.Get("CAT_CL_LIMITECREDITO")) Dim CAT_CL_SALDODISPONIBLE As String = records(result.Columns.Get("CAT_CL_SALDODISPONIBLE")) Dim CAT_CL_DIASCREDITO As String = records(result.Columns.Get("CAT_CL_DIASCREDITO")) + Dim CAT_CL_VCREDITO As String = records(result.Columns.Get("CAT_CL_CTA")) + Dim CAT_CL_VCODIGO As String = records(result.Columns.Get("CAT_CL_CLABE")) ' Dim CAT_CL_SECUENCIA As String = records(result.Columns.Get("CAT_CL_SECUENCIA")) ' Log(" ++ insert into kmt_info: "&ALMACEN&","&CAT_CL_CODIGO&","&CAT_CL_RUTA&","&CAT_CL_NOMBRE) - Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO, gestion,CAT_CL_LIMITECREDITO,CAT_CL_SALDODISPONIBLE,CAT_CL_DIASCREDITO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO,CAT_CL_LIMITECREDITO,CAT_CL_SALDODISPONIBLE,CAT_CL_DIASCREDITO)) + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO, gestion,CAT_CL_LIMITECREDITO,CAT_CL_SALDODISPONIBLE,CAT_CL_DIASCREDITO, CAT_CL_VCREDITO, CAT_CL_VCODIGO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO,CAT_CL_LIMITECREDITO,CAT_CL_SALDODISPONIBLE,CAT_CL_DIASCREDITO, CAT_CL_VCREDITO, CAT_CL_VCODIGO)) Next ' Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO, gestion,SECUENCIA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?)", Array As Object (63403,1000, "VENTA RECHAZO","","","","","","","","","","","","","","-98.8357694","19.6906052","0","1")) ' End If @@ -1365,6 +1428,170 @@ Sub JobDone(Job As HttpJob) End If End If + If result.Tag = "coments" Then 'query tag + Starter.skmt.ExecNonQuery("DELETE FROM COMENTARIOS WHERE DESCARGADO = 1") + For Each records() As Object In result.Rows + Dim COMENTARIO As String = records(result.Columns.Get("TMP_COM_COMENTARIO")) + Dim CLIENTECOM As String = records(result.Columns.Get("TMP_COM_CLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO COMENTARIOS(COMENTARTIO, CLIENTE, DESCARGADO) VALUES (?,?,?)", Array As Object (COMENTARIO, CLIENTECOM,1)) + Next + End If + + 'cuenta todos los que tengan envios + If result.Tag.As(String).Contains("envio_") Then + + recibidos = recibidos + 1 + Log(cuantosenvio) + LogColor("Recibidos: _________"&recibidos,Colors.Red) + + + End If + + If recibidos = cuantosenvio Then + tenvio.Enabled = False + tenvio_tick + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "hvd_impreso" Then 'query tag + For Each records() As Object In result.Rows + Dim HVD_IMPRESO_RECHAZO As String = records(result.Columns.Get("HVD_IMPRESO_RECHAZO")) + Log(HVD_IMPRESO_RECHAZO) +' HVD_IMPRESO_RECHAZO=0 + If HVD_IMPRESO_RECHAZO = 0 Then + LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) + If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") + If e_ruta.Text <> "" Then + imei = "" 'p.GetDeviceId + conn = "1" + ime.HideKeyboard + + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_ruta_re_REPG_GUNA_VN" + cmd.Parameters = Array As Object() + + reqManager.ExecuteQuery(cmd , 0, "ruta") + ToastMessageShow("Validando Conexión." , True) + Starter.skmt.ExecNonQuery("DELETE FROM RUTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT)) + B4XPages.MainPage.rutaPreventa = e_ruta.TEXT + + cmd.Name = "selectAgrupadorAlmacen" + cmd.Parameters = Array As Object(ALMACEN) + Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$) + reqManager.ExecuteQuery(cmd , 0, "agrupaAlmacen") + + End If + Else + MsgboxAsync("No se puede realizar ninguna modificación","Rechazo confirmado") + End If + + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "hvd_impreso2" Then 'query tag + For Each records() As Object In result.Rows + Dim HVD_IMPRESO_RECHAZO As String = records(result.Columns.Get("HVD_IMPRESO_RECHAZO")) + Log(HVD_IMPRESO_RECHAZO) +' HVD_IMPRESO_RECHAZO=0 + If HVD_IMPRESO_RECHAZO = 0 Then + LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) + If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") + If b_check.Visible = True Then + MsgboxAsync("Favor de hacer el checklist.","Atención") + Else + B4XPages.ShowPage("Clientes") + End If + Else + MsgboxAsync("No se puede realizar ninguna modificación","Rechazo confirmado") + End If + + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "hvd_impreso4" Then 'query tag + For Each records() As Object In result.Rows + Dim HVD_IMPRESO_RECHAZO As String = records(result.Columns.Get("HVD_IMPRESO_RECHAZO")) + Log(HVD_IMPRESO_RECHAZO) +' HVD_IMPRESO_RECHAZO=0 + If HVD_IMPRESO_RECHAZO = 0 Then + LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) + If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") + Dim compara1() As String = Regex.Split(CRLF,compara) + Log(compara1(0)) + Log(compara1(0).Replace("NOMBRE.: ","")) + Dim g7 As Cursor = Starter.skmt.ExecQuery2("SELECT CAT_CL_CODIGO from kmt_info WHERE CAT_CL_NOMBRE = ?", Array As String (compara1(0).Replace("NOMBRE.: ","").Trim)) + If g7.RowCount > 0 Then + g7.Position = 0 + Starter.skmt.ExecNonQuery("delete from CUENTAA") + + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(g7.GetString("CAT_CL_CODIGO"))) + P_PAGARES.Visible = False + B4XPages.ShowPage("Cliente") + End If + Else + MsgboxAsync("No se puede realizar ninguna modificación","Rechazo confirmado") + End If + + Next + End If + End If + + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "hvd_impreso5" Then 'query tag + For Each records() As Object In result.Rows + Dim HVD_IMPRESO_RECHAZO As String = records(result.Columns.Get("HVD_IMPRESO_RECHAZO")) + Log(HVD_IMPRESO_RECHAZO) +' HVD_IMPRESO_RECHAZO=0 + If HVD_IMPRESO_RECHAZO = 0 Then + LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) + If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") + If b_check.Visible = True Then + MsgboxAsync("Favor de hacer el checklist.","Atención") + Else + StartActivity(MAPA_RUTAS) + End If + Else + MsgboxAsync("No se puede realizar ninguna modificación","Rechazo confirmado") + End If + + Next + End If + End If + + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "hvd_impreso3" Then 'query tag + For Each records() As Object In result.Rows + Dim HVD_IMPRESO_RECHAZO As String = records(result.Columns.Get("HVD_IMPRESO_RECHAZO")) + Log(HVD_IMPRESO_RECHAZO) +' HVD_IMPRESO_RECHAZO=0 + If HVD_IMPRESO_RECHAZO = 0 Then + LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) + If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") + Log(clieasing(0)) + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(clieasing(0))) + B4XPages.ShowPage("Cliente") + Else + MsgboxAsync("No se puede realizar ninguna modificación","Rechazo confirmado") + End If + + Next + End If + End If + If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "select_abonosp" Then 'query tag @@ -1896,23 +2123,6 @@ Sub JobDone(Job As HttpJob) End If End If - - If result.Tag = "fecha" Then 'query tag - For Each records() As Object In result.Rows - Starter.FECHA_HOY = records(result.Columns.Get("FECHA")) - Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY)) - Next - End If - -' Candado Fin Dia - If result.Tag = "pass_fin_dia" Then 'query tag - For Each records() As Object In result.Rows - Dim nuevaContrasena As String = records(result.Columns.Get("CAR_VA_VALOR3")) - Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS")) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", nuevaContrasena)) - Next - End If Job.Release End If @@ -2003,37 +2213,12 @@ Private Sub B4XPage_CloseRequest As ResumableSub End Sub Sub connecta_Click - LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) - If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") - ' EL EVENTO DE CONECTAR AHORA SE DISPARA DESPUES DE REVISAR SI LA RUTA ESTA LIGADA O NO AL DISPOSITIVO (verifyDevice). - ' REVISAR EL SUB "Linker_Response" - linker.verifyDevice(Subs.traeAlmacen, e_ruta.text) + cmd.Initialize + cmd.Name = "select_hvd_impreso_guna" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)',e_ruta.Text,ALMACEN + reqManager.ExecuteQuery(cmd , 0, "hvd_impreso") - If e_ruta.Text <> "" Then - imei = "" 'p.GetDeviceId - conn = "1" - ime.HideKeyboard -' Dim cmd As DBCommand -' cmd.Initialize -' cmd.Name = "select_version_INTMEX" -' reqManager.ExecuteQuery(cmd , 0, "version") - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "select_ruta_re_REPG_GUNA_VN" - cmd.Parameters = Array As Object() -' Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$) - reqManager.ExecuteQuery(cmd , 0, "ruta") - ToastMessageShow("Validando Conexión." , True) - Starter.skmt.ExecNonQuery("DELETE FROM RUTAA") - Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT)) - B4XPages.MainPage.rutaPreventa = e_ruta.TEXT - - cmd.Name = "selectAgrupadorAlmacen" - cmd.Parameters = Array As Object(ALMACEN) - Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$) - reqManager.ExecuteQuery(cmd , 0, "agrupaAlmacen") - End If End Sub Sub BUSCA_Click @@ -2057,16 +2242,45 @@ Sub e_ruta_EnterPressed c.Position = 0 Private FINDIA_FECHA As String = 0 If c.GetString("CAT_VA_VALOR").Length > 4 Then FINDIA_FECHA = c.GetString("CAT_VA_VALOR") - Log(FINDIA_FECHA&"|"&Starter.FECHA_HOY) - If Not(FINDIA_FECHA < Starter.FECHA_HOY) Then 'Si el "FIN DIA" guardado NO es de ayer o anterior ... + + + Dim mescom As String = DateTime.GetMonth(DateTime.Now) + Dim mescom2 As String + If mescom.Length = 1 Then + mescom2 = "0"&DateTime.GetMonth(DateTime.Now) + Else + mescom2 = DateTime.GetMonth(DateTime.Now) + End If + + Dim diacom As String = DateTime.GetDayOfMonth(DateTime.Now) + Dim diacom2 As String + If diacom.Length = 1 Then + diacom2 = "0"&DateTime.GetDayOfMonth(DateTime.Now) + Else + diacom2 = DateTime.GetDayOfMonth(DateTime.Now) + End If + + + Dim dia2 As String = DateTime.GetYear(DateTime.Now)&mescom2&diacom2 + + If FINDIA_FECHA = dia2 Then 'Si el "FIN DIA" guardado NO es de ayer o anterior ... adelanteFinDia = False End If c.Close End If + If e_ruta.Text = "FIN DIA" And adelanteFinDia Then +' If e_ruta.Text = "FIN DIA" Then RES = Msgbox2("Seguro que desea hacer el cierre todos los datos se borraran?","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If RES = DialogResponse.POSITIVE Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_drop_rep_GUNA_VN2" + cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, 0, 0, 0, "FIN DIA",0,0,0,0,0,0,0,0) + reqManager.ExecuteCommand(cmd , "inst_drop") + e_ruta.Text = "" + Starter.skmt.ExecNonQuery("delete from COMENTARIOS") Starter.skmt.ExecNonQuery("delete from PICK_CIEGO") Starter.skmt.ExecNonQuery("delete from HIST_REPARTO_GEO") Starter.skmt.ExecNonQuery("delete from REPARTO_GEO") @@ -2091,17 +2305,24 @@ Sub e_ruta_EnterPressed Starter.skmt.ExecNonQuery("DELETE FROM ABONOS") Starter.skmt.ExecNonQuery("DELETE FROM BLOCKENVIO") Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA")) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("FINDIA_FECHA", Starter.FECHA_HOY)) + DateTime.DateFormat = "yyyyMMdd" + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("FINDIA_FECHA", DateTime.Date(DateTime.Now))) + DateTime.DateFormat = "dd/MM/yyyy" b_multiAlmacen.Visible = False p_multiAlmacen.Visible = False s_almacen2.SelectedIndex = 0 et_ruta2.Text = "" B4XPage_Appear + + +' reqs.Add("inst_noventa") End If ' Starter.waypointsOrdered.Clear Starter.skmt.ExecNonQuery("delete from waypoints") + Else if e_ruta.Text = "FIN DIA" Then Msgbox("Ya se hizo FIN DIA hoy, solo se puede hacer un FIN DIA cada día, por favor comuniquese con un supervisor.", "LIMITE DIARIO SUPERADO") 'ignore + End If End Sub @@ -2128,217 +2349,203 @@ Sub t1_tick t1.Enabled = False End Sub +'Sub B_CLIEPROD_Click +' If b_check.Visible = True Then +' MsgboxAsync("Favor de hacer el checklist.", "Atención") +' Else +' ' --- CONFIGURACIÓN ESTÉTICA --- +' ListView1.Width = Root.Width - (Root.Width * .10) +' ListView1.Height = Root.Height - (2 * (B_REGRESA.Height)) +' Subs.centraListView(ListView1, Root.Width) +' Panel1.SetLayoutAnimated(0, 0, 0, Root.Width, Root.Height) +' B_REGRESA.Left = (Panel1.Width - B_REGRESA.Width) / 2 +' B_REGRESA.Top = Panel1.Height - B_REGRESA.Height +' BUSCA.Visible = False +' connecta.Visible = False +' trabajar.Visible = False +' B_CLIEPROD.Visible = False +' Panel1.Visible = True +' Panel1.BringToFront +' b_Ubicar_Ru.Visible = False +' +' ' --- CONFIGURACIÓN DE DISEÑO DEL LISTVIEW --- +' ListView1.Clear +' Subs.SetDivider(ListView1, Colors.LightGray, 2) +' ListView1.TwoLinesLayout.ItemHeight = 150dip +' +' Dim lblTitle As Label = ListView1.TwoLinesLayout.Label +' lblTitle.TextSize = 20 +' lblTitle.TextColor = Colors.White +' lblTitle.Typeface = Typeface.DEFAULT_BOLD +' +' Dim lblDetail As Label = ListView1.TwoLinesLayout.SecondLabel +' lblDetail.TextSize = 18 +' lblDetail.TextColor = Colors.RGB(210, 210, 210) +' lblDetail.Typeface = Typeface.DEFAULT_BOLD +' +' ' --- PROCESAMIENTO DE DATOS --- +' c = Starter.skmt.ExecQuery("SELECT DISTINCT(CAT_CL_NOMBRE), CAT_CL_CODIGO, gestion FROM kmt_info WHERE gestion <> 0 ORDER BY HORAENT") +' +' If c.RowCount > 0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Dim idCliente As String = c.GetString("CAT_CL_CODIGO") +' Dim gestion As String = c.GetString("gestion") +' Dim estatusStr As String = IIf(gestion = "2", "ENTREGADO", "RECHAZADO") +' +' Dim totalMonto As Double = 0 +' Dim totalArticulosPiezas As Int = 0 ' Conteo unificado en piezas físicas +' +' ' 1. PRODUCTOS DE PREVENTA (HIST_VENTAS) +' ' Unificamos lógica para BCAJAS 0 y 1 sumando piezas reales +' Dim vc As Cursor = Starter.skmt.ExecQuery($" +' SELECT HVD_CANT, HVD_COSTO_TOT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT +' FROM HIST_VENTAS +' WHERE HVD_CLIENTE = '${idCliente}' AND HVD_CANT > 0"$) +' +' For a = 0 To vc.RowCount - 1 +' vc.Position = a +' Dim piezasCargadas As Int = vc.GetInt("HVD_CANT") +' Dim piezasRechazadas As Int = vc.GetInt("HVD_RECHAZOCANT") +' +' ' Cálculo de monto proporcional por pieza +' Dim precioPorPieza As Double = vc.GetDouble("HVD_COSTO_TOT") / piezasCargadas +' +' If estatusStr = "ENTREGADO" Then +' totalArticulosPiezas = totalArticulosPiezas + (piezasCargadas - piezasRechazadas) +' totalMonto = totalMonto + ((piezasCargadas - piezasRechazadas) * precioPorPieza) +' Else +' ' Si el estatus es RECHAZADO, mostramos lo que regresó al almacén +' totalArticulosPiezas = totalArticulosPiezas + piezasRechazadas +' totalMonto = totalMonto + (piezasRechazadas * precioPorPieza) +' End If +' Next +' vc.Close +' +'' ' 2. PEDIDOS NUEVOS (Tabla PEDIDO) +'' ' REGLA: Multiplicamos Cantidad por UMV para obtener piezas reales +'' Dim c4 As Cursor = Starter.skmt.ExecQuery($" +'' SELECT PE_CANT, PE_COSTO_TOT, IFNULL(PE_UVM, 1) as PE_UVM +'' FROM PEDIDO +'' WHERE PE_CLIENTE = '${idCliente}'"$) +'' +'' For po = 0 To c4.RowCount - 1 +'' c4.Position = po +'' Dim piezasPedido As Int = c4.GetInt("PE_CANT") * c4.GetInt("PE_UVM") +'' +'' ' En pedidos nuevos, si el cliente está gestionado, se suma al entregado +'' If estatusStr = "ENTREGADO" Then +'' totalArticulosPiezas = totalArticulosPiezas + piezasPedido +'' totalMonto = totalMonto + c4.GetDouble("PE_COSTO_TOT") +'' End If +'' Next +'' c4.Close +' +' ' --- AGREGAR A LA LISTA --- +' Dim infoDetalle As String = $"Piezas: ${totalArticulosPiezas} | Monto: $${NumberFormat2(totalMonto, 1, 2, 2, True)}${CRLF}Estatus: ${estatusStr}"$ +' ListView1.AddTwoLines(idCliente & " - " & c.GetString("CAT_CL_NOMBRE"), infoDetalle) +' Next +' End If +' c.Close +' End If +' +'End Sub + Sub B_CLIEPROD_Click If b_check.Visible = True Then - MsgboxAsync("Favor de hacer el checklist.","Atención") + MsgboxAsync("Favor de hacer el checklist.", "Atención") Else + ' --- CONFIGURACIÓN ESTÉTICA DEL PANEL --- ListView1.Width = Root.Width - (Root.Width * .10) ListView1.Height = Root.Height - (2 * (B_REGRESA.Height)) - Subs.centraListView(ListView1,Root.Width) - Panel1.Width = Root.Width - Panel1.Height = Root.Height -' ListView1. = Panel1.Width / 2 + Subs.centraListView(ListView1, Root.Width) + + Panel1.SetLayoutAnimated(0, 0, 0, Root.Width, Root.Height) B_REGRESA.Left = (Panel1.Width - B_REGRESA.Width) / 2 - B_REGRESA.Top = Panel1.Height - B_REGRESA.Height + B_REGRESA.Top = Panel1.Height - B_REGRESA.Height - 10dip + BUSCA.Visible = False connecta.Visible = False trabajar.Visible = False B_CLIEPROD.Visible = False Panel1.Visible = True Panel1.BringToFront - b_Ubicar_Ru.Visible=False - c=Starter.skmt.ExecQuery("select distinct(CAT_CL_NOMBRE), CAT_CL_CODIGO, gestion from kmt_info WHERE gestion <> 0 order by HORAENT") - Subs.SetDivider(ListView1, Colors.LightGray, 2) + b_Ubicar_Ru.Visible = False + + ' --- CONFIGURACIÓN DEL LISTVIEW (CORRECCIÓN DE AMONTONADO) --- ListView1.Clear + Subs.SetDivider(ListView1, Colors.LightGray, 1dip) + + ' 1. Definimos un alto de item generoso ListView1.TwoLinesLayout.ItemHeight = 120dip - Dim label1 As Label - label1 = ListView1.TwoLinesLayout.Label - label1.TextSize = 22 - label1.TextColor = Colors.White - label1.Height = 60dip - Dim label2 As Label - label2 = ListView1.TwoLinesLayout.SecondLabel - label2.TextSize = 22 - label2.TextColor = Colors.White - label2.Top = 60dip - label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) - label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - If c.GetString("gestion") = "2" Then - ESTATUS = "ENTREGADO" - Log("entrega") - ELSE IF c.GetString("gestion") = "3" Then - Log("no entrega") - ESTATUS = "RECHAZADO" - Else - ESTATUS = "SIN ESTATUS" - End If - If ESTATUS = "ENTREGADO" Then - Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$) - Private cuenta0 As String = 0 - Private arti As String = 0 - If vc.RowCount > 0 Then - For a = 0 To vc.RowCount - 1 - vc.Position = a -' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT")) - arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT")) - cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))) - Next + + ' 2. Ajustamos la Primera Línea (Título/Nombre) + Dim lblTitle As Label = ListView1.TwoLinesLayout.Label + lblTitle.Width = ListView1.Width - 20dip + lblTitle.Height = 50dip ' Le damos espacio fijo + lblTitle.Top = 5dip ' Margen superior + lblTitle.TextSize = 18 + lblTitle.TextColor = Colors.White + lblTitle.Gravity = Gravity.CENTER_VERTICAL + lblTitle.Typeface = Typeface.DEFAULT_BOLD + + ' 3. Ajustamos la Segunda Línea (Detalles) + Dim lblDetail As Label = ListView1.TwoLinesLayout.SecondLabel + lblDetail.Width = ListView1.Width - 20dip + lblDetail.Height = 60dip ' Espacio para las dos líneas de detalle + lblDetail.Top = 55dip ' Inicia justo debajo del título + lblDetail.TextSize = 15 +' lblDetail.TextColor = Colors.RGB(200, 200, 200) + lblDetail.TextColor = Colors.White + lblDetail.Gravity = Gravity.TOP ' Alineado arriba para que el CRLF se vea bien + lblDetail.Typeface = Typeface.DEFAULT_BOLD + + ' --- PROCESAMIENTO DE DATOS --- + Dim c As Cursor = Starter.skmt.ExecQuery("SELECT DISTINCT(CAT_CL_NOMBRE), CAT_CL_CODIGO, gestion FROM kmt_info WHERE gestion <> 0 ORDER BY HORAENT") + + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim idCliente As String = c.GetString("CAT_CL_CODIGO") + Dim gestion As String = c.GetString("gestion") + Dim estatusStr As String = IIf(gestion = "2", "ENTREGADO", "RECHAZADO") + + Dim totalMonto As Double = 0 + Dim totalArticulosPiezas As Int = 0 + + ' Subconsulta de ventas + Dim vc As Cursor = Starter.skmt.ExecQuery($" + SELECT HVD_CANT, HVD_COSTO_TOT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT + FROM HIST_VENTAS + WHERE HVD_CLIENTE = '${idCliente}' AND HVD_CANT > 0"$) + + For a = 0 To vc.RowCount - 1 + vc.Position = a + Dim piezasCargadas As Int = vc.GetInt("HVD_CANT") + Dim piezasRechazadas As Int = vc.GetInt("HVD_RECHAZOCANT") + + ' Evitar división por cero + Dim precioPorPieza As Double = 0 + If piezasCargadas > 0 Then precioPorPieza = vc.GetDouble("HVD_COSTO_TOT") / piezasCargadas + + If estatusStr = "ENTREGADO" Then + totalArticulosPiezas = totalArticulosPiezas + (piezasCargadas - piezasRechazadas) + totalMonto = totalMonto + ((piezasCargadas - piezasRechazadas) * precioPorPieza) + Else + totalArticulosPiezas = totalArticulosPiezas + piezasRechazadas + totalMonto = totalMonto + (piezasRechazadas * precioPorPieza) End If -' Log(cuenta0) - Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$) - Private Cuenta1 As String = 0 - Private arti1 As String = 0 - If vc2.RowCount > 0 Then - For h = 0 To vc2.RowCount - 1 - vc2.Position = h - Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False) - Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$) - If vc3.RowCount > 0 Then - vc3.Position = 0 - Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu) - arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT")) - End If - Next - End If -' Log(Cuenta1) - Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$) - Private Cuenta2 As String = 0 - Private arti2 As String = 0 - If vc4.RowCount > 0 Then - For k = 0 To vc4.RowCount - 1 - vc4.Position = k - If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then - If vc4.GetString("HVD_RECHAZO") = 0 Then - Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT") - arti2 = arti2 + vc4.GetString("HVD_CANT") - Else - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$) - If vc5.RowCount > 0 Then - vc5.Position= 0 -' Log(vc5.GetString("CAT_GP_PRECIO")) - Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO")) - arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT")) - End If - End If - End If - Next - End If -' Log(arti2) - Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$) - Private Cuenta3 As String = 0 - Private arti3 As String = 0 - If c4.RowCount > 0 Then - For x = 0 To c4.RowCount -1 - c4.Position = x - arti3 = arti3 + c4.GetString("PE_CANT") - Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT") - Next - End If - Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3 - Private TOTALcantidad As String = arti + arti1 +arti2 + arti3 - ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS ) - Log("si entre2") - Else If ESTATUS = "RECHAZADO" Then - Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO, HVD_COSTO_TOT from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$) - Private cuenta0 As String = 0 - Private arti As String = 0 - If vc.RowCount > 0 Then - For a = 0 To vc.RowCount - 1 - vc.Position = a - Dim preu As Float = NumberFormat2(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"),0,2,2,False) -' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT")) - arti = arti + (vc.GetString("HVD_RECHAZOCANT")) - cuenta0 = cuenta0 + ((vc.GetString("HVD_RECHAZOCANT"))*preu) - Next - End If -' Log(cuenta0) - Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$) - Private Cuenta1 As String = 0 - Private arti1 As String = 0 - If vc2.RowCount > 0 Then - For h = 0 To vc2.RowCount - 1 - vc2.Position = h - Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False) - Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$) - If vc3.RowCount > 0 Then - vc3.Position = 0 - Cuenta1 = Cuenta1 + ((vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION"))*preu) - arti1 = arti1 + (vc2.GetString("HVD_RECHAZOCANT")) - End If - Next - End If -' Log(Cuenta1) - Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$) - Private Cuenta2 As String = 0 - Private arti2 As String = 0 - If vc4.RowCount > 0 Then - For k = 0 To vc4.RowCount - 1 - vc4.Position = k - If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then - If vc4.GetString("HVD_RECHAZO") = 0 Then - Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT") - arti2 = arti2 + vc4.GetString("HVD_RECHAZOCANT") - Else - Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$) - If vc5.RowCount > 0 Then - vc5.Position= 0 -' Log(vc5.GetString("CAT_GP_PRECIO")) - Cuenta2 = Cuenta2 +(( vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO")) - arti2 = arti2 +(vc4.GetString("HVD_RECHAZOCANT")) - End If - End If - End If - Next - End If -' Log(arti2) - Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$) - Private Cuenta3 As String = 0 - Private arti3 As String = 0 - If c4.RowCount > 0 Then - For x = 0 To c4.RowCount -1 - c4.Position = x - arti3 = arti3 + c4.GetString("PE_CANT") - Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT") - Next - End If - Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3 - Private TOTALcantidad As String = arti + arti1 +arti2 + arti3 -' Log("si entre") - ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS ) - End If + Next + vc.Close + + ' --- AGREGAR A LA LISTA --- + ' Usamos un formato limpio para el detalle + Dim infoDetalle As String = $"Piezas: ${totalArticulosPiezas} | Monto: $${NumberFormat2(totalMonto, 1, 2, 2, True)}${CRLF}ESTATUS: ${estatusStr}"$ + + ListView1.AddTwoLines(idCliente & " - " & c.GetString("CAT_CL_NOMBRE"), infoDetalle) Next End If - -' c=skmt.ExecQuery("select HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_ESTATUS from HIST_VENTAS ORDER BY HVD_PRONOMBRE") -' -' ListView1.Clear -' Dim label1 As Label -' label1 = ListView1.TwoLinesLayout.Label -' label1.TextSize = 10 -' label1.TextColor = Colors.Black -' Dim label2 As Label -' label2 = ListView1.TwoLinesLayout.SecondLabel -' label2.TextSize = 10 -' label2.TextColor = Colors.Black -' -' If c.RowCount>0 Then -' For i=0 To c.RowCount -1 -' c.Position=i -' If c.GetString("HVD_ESTATUS") = "0" Then -' ESTATUS = "SIN ENTREGAR" -' ELSE IF c.GetString("HVD_ESTATUS") = "1" Then -' ESTATUS = "ENTREGADO" -' ELSE IF c.GetString("HVD_ESTATUS") = "2" Then -' ESTATUS = "RECHAZADO" -' Else -' ESTATUS = "SIN ESTATUS" -' End If -' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE") & " " & c.GetString("HVD_CLIENTE") , c.GetString("HVD_CANT") & " " & ESTATUS ) -' Next -' End If + c.Close End If End Sub @@ -2354,11 +2561,21 @@ End Sub ''''''''''''''''''''''''''''MAPA RUTAS Sub b_Ubicar_Ru_Click - If b_check.Visible = True Then - MsgboxAsync("Favor de hacer el checklist.","Atención") - Else - StartActivity(MAPA_RUTAS) + + If l_ctast.Text = "0" Then + cmd.Initialize + cmd.Name = "select_hvd_impreso_guna" + cmd.Parameters = Array As Object(Subs.traeRutaReparto, ALMACEN)',e_ruta.Text,ALMACEN + reqManager.ExecuteQuery(cmd , 0, "hvd_impreso5") + Else If l_ctast.Text <> "0" Then + If b_check.Visible = True Then + MsgboxAsync("Favor de hacer el checklist.","Atención") + Else + StartActivity(MAPA_RUTAS) + End If End If + + End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. @@ -2375,13 +2592,23 @@ Private Sub b_check_Click End Sub Private Sub ListView1_ItemClick (Position As Int, Value As Object) -' Log(Value) + Log(Value) B_REGRESA_Click - Dim clieasing() As String = Regex.Split(" ", Value) - Log(clieasing(0)) - Starter.skmt.ExecNonQuery("delete from CUENTAA") - Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(clieasing(0))) - B4XPages.ShowPage("Cliente") + clieasing = Regex.Split(" ", Value) + + + If l_ctast.Text = "0" Then + cmd.Initialize + cmd.Name = "select_hvd_impreso_guna" + cmd.Parameters = Array As Object(Subs.traeRutaReparto, ALMACEN)',e_ruta.Text,ALMACEN + reqManager.ExecuteQuery(cmd , 0, "hvd_impreso3") + Else If l_ctast.Text <> "0" Then + Log(clieasing(0)) + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(clieasing(0))) + B4XPages.ShowPage("Cliente") + End If + End Sub Private Sub b_rechazos_Click @@ -2656,20 +2883,32 @@ End Sub Private Sub ListView2_ItemClick (Position As Int, Value As Object) Log(Value) - Dim compara As String = Value + compara= Value Log(compara.Replace("NOMBRE.: ","")) - Dim compara1() As String = Regex.Split(CRLF,compara) - Log(compara1(0)) - Log(compara1(0).Replace("NOMBRE.: ","")) - Dim g7 As Cursor = Starter.skmt.ExecQuery2("SELECT CAT_CL_CODIGO from kmt_info WHERE CAT_CL_NOMBRE = ?", Array As String (compara1(0).Replace("NOMBRE.: ","").Trim)) - If g7.RowCount > 0 Then - g7.Position = 0 - Starter.skmt.ExecNonQuery("delete from CUENTAA") - Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(g7.GetString("CAT_CL_CODIGO"))) - P_PAGARES.Visible = False - B4XPages.ShowPage("Cliente") + + If l_ctast.Text = "0" Then + cmd.Initialize + cmd.Name = "select_hvd_impreso_guna" + cmd.Parameters = Array As Object(Subs.traeRutaReparto, ALMACEN)',e_ruta.Text,ALMACEN + reqManager.ExecuteQuery(cmd , 0, "hvd_impreso4") + Else If l_ctast.Text <> "0" Then + Dim compara1() As String = Regex.Split(CRLF,compara) + Log(compara1(0)) + Log(compara1(0).Replace("NOMBRE.: ","")) + Dim g7 As Cursor = Starter.skmt.ExecQuery2("SELECT CAT_CL_CODIGO from kmt_info WHERE CAT_CL_NOMBRE = ?", Array As String (compara1(0).Replace("NOMBRE.: ","").Trim)) + If g7.RowCount > 0 Then + g7.Position = 0 + Starter.skmt.ExecNonQuery("delete from CUENTAA") + + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(g7.GetString("CAT_CL_CODIGO"))) + P_PAGARES.Visible = False + B4XPages.ShowPage("Cliente") + End If End If + + + End Sub Private Sub et_ruta2_TextChanged (Old As String, New As String) @@ -2765,7 +3004,7 @@ Private Sub inventario_Click ' impresoraConectada = False ' End If - ProgressDialogShow("Imprimiendo, un momento ...") + ProgressDialogShow2("Imprimiendo, un momento ...",False) Printer1.DisConnect If Not(Printer1.IsConnected) Then ' If logger Then Log("conectando 1") @@ -2862,7 +3101,7 @@ Private Sub inventario_Click End If c.Close - Dim sumainv As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_CANT) AS CANTIDAD FROM HIST_VENTAS WHERE HVD_CODPROMO <> HVD_PROID") + Dim sumainv As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_CANT) AS CANTIDAD FROM HIST_VENTAS WHERE HVD_CODPROMO <> HVD_PROID and HVD_PRONOMBRE <> 'Cobranza Pendiente' ") sumainv.Position = 0 Printer1.WriteString("------------------------------" & CRLF) @@ -2876,6 +3115,7 @@ Private Sub inventario_Click Sleep(1000) Printer1.DisConnect ProgressDialogHide +' progr End Sub @@ -3033,7 +3273,7 @@ Private Sub b_impresion_rec_Click ' sucursal = c.GetString("CAT_VA_VALOR") ' c.Close - ProgressDialogShow("Imprimiendo, un momento ...") + ProgressDialogShow2("Imprimiendo, un momento ...",False) Printer1.DisConnect If Not(Printer1.IsConnected) Then ' Log("Conectando a impresora ...") @@ -3126,9 +3366,9 @@ Private Sub b_impresion_rec_Click ProgressDialogHide End Sub -Sub imp_LIQUIDACION - ProgressDialogShow("Imprimiendo, un momento ...") +Sub imp_LIQUIDACION + ProgressDialogShow2("Imprimiendo, un momento ...",False) Printer1.DisConnect If Not(Printer1.IsConnected) Then ' If logger Then Log("conectando 1") @@ -3171,23 +3411,35 @@ Sub imp_LIQUIDACION Printer1.WriteString("Usuario: " & Subs.dameUsuarioDeDB & CRLF) Printer1.WriteString("----------LIQUIDACION----------" & CRLF) Printer1.WriteString("--------------------------------" & CRLF) - + Printer1.WriteString("Monto avion: $" & NumberFormat2((L_MONTOE.Text+l_rechazo.Text),0,2,2,True) & CRLF) + Printer1.WriteString(" " & CRLF) Printer1.WriteString("Monto entregado: $" & NumberFormat2(L_MONTOE.Text,0,2,2,True) & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString("Monto rechazado: $" & NumberFormat2(l_rechazo.Text,0,2,2,True) & CRLF) Printer1.WriteString(" " & CRLF) - Printer1.WriteString("Pagares cobrados: $" & NumberFormat2(l_pagarescobrados.Text,0,2,2,True) & CRLF) + Dim ab2 As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_tipoabono is null"$) + Printer1.WriteString("--------------------------------" & CRLF) + Printer1.WriteString("Cant. cxc cobrados: " & NumberFormat2(ab2.RowCount,0,0,0,True) & CRLF) Printer1.WriteString(" " & CRLF) + Dim ab6 As Cursor = Starter.skmt.ExecQuery($"SELECT Ifnull(sum(a_abono),0) as a_abono from ABONOS where a_tipoabono is null"$) + If ab6.RowCount > 0 Then + ab6.Position = 0 + Printer1.WriteString("cxc cobrados: $" & NumberFormat2(ab6.GetString("a_abono"),0,2,2,True) & CRLF) + Else + Printer1.WriteString("cxc cobrados: $" & NumberFormat2(0,0,2,2,True) & CRLF) + End If + Printer1.WriteString(" " & CRLF) + If l_pagarescobrados.Text > 0 Then Printer1.WriteString("--------------------------------" & CRLF) Printer1.WriteString(" Cliente Abono" & CRLF) Printer1.WriteString("--------------------------------" & CRLF) ' Printer1.WriteString( CRLF) - Dim abonoscreditos As Cursor = Starter.skmt.ExecQuery("SELECT a_abono, length(a_abono) as L_abono , length(a_cliente) as L_cliente , a_cliente FROM ABONOS ORDER BY a_cliente") + Dim abonoscreditos As Cursor = Starter.skmt.ExecQuery("SELECT a_abono, length(a_abono) as L_abono , length(a_cliente) as L_cliente , a_cliente, TIPO_PAGO FROM ABONOS where a_tipoabono is null ORDER BY a_cliente") For g = 0 To abonoscreditos.RowCount -1 abonoscreditos.Position = g - TAMANO = abonoscreditos.GetInt("L_abono") + TAMANO + TAMANO = abonoscreditos.GetInt("L_abono") + TAMANO +3 ESPACIO = (ESPACIO - TAMANO)/2 ' Log(ESPACIO) For j =0 To ESPACIO -1 @@ -3196,7 +3448,15 @@ Sub imp_LIQUIDACION Printer1.Justify = 0 Printer1.WriteString( abonoscreditos.GetString("a_cliente") & BLANCO) Printer1.Justify = 1 - Printer1.WriteString( NumberFormat2(abonoscreditos.GetString("a_abono"),0,2,2,True)) + Dim LETRA As String + If abonoscreditos.GetString("TIPO_PAGO") = "EFECTIVO" Then + LETRA = "E" + Else If abonoscreditos.GetString("TIPO_PAGO") = "TRANSFERENCIA" Then + LETRA = "T" + Else If abonoscreditos.GetString("TIPO_PAGO") = "CHEQUE" Then + LETRA = "C" + End If + Printer1.WriteString( NumberFormat2(abonoscreditos.GetString("a_abono"),0,2,2,True)&"-"&LETRA) Printer1.WriteString( CRLF) TAMANO = 0 ESPACIO = 29 @@ -3206,6 +3466,61 @@ Sub imp_LIQUIDACION Printer1.WriteString("--------------------------------" & CRLF) Printer1.WriteString( CRLF) End If + + Dim ab5 As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_tipoabono is not null"$) + + Printer1.WriteString("Cant. pagares nuevos cobrados: " & NumberFormat2(ab5.RowCount,0,0,0,True) & CRLF) + Printer1.WriteString(" " & CRLF) + + Dim ab7 As Cursor = Starter.skmt.ExecQuery($"SELECT Ifnull(sum(a_abono),0) as a_abono from ABONOS where a_tipoabono is not null"$) + If ab7.RowCount > 0 Then + ab7.Position = 0 + Printer1.WriteString("Pagares nuevos cobrados: $" & NumberFormat2(ab7.GetString("a_abono"),0,2,2,True) & CRLF) + Else + Printer1.WriteString("Pagares nuevos cobrados: $" & NumberFormat2(0,0,2,2,True) & CRLF) + End If + Printer1.WriteString(" " & CRLF) + + If l_pagarescobrados.Text > 0 Then + Printer1.WriteString("--------------------------------" & CRLF) + Printer1.WriteString(" Cliente Abono" & CRLF) + Printer1.WriteString("--------------------------------" & CRLF) +' Printer1.WriteString( CRLF) + Dim abonoscreditos As Cursor = Starter.skmt.ExecQuery("SELECT a_abono, length(a_abono) as L_abono , length(a_cliente) as L_cliente , a_cliente, TIPO_PAGO FROM ABONOS where a_tipoabono is not null ORDER BY a_cliente") + For g = 0 To abonoscreditos.RowCount -1 + abonoscreditos.Position = g + + TAMANO = abonoscreditos.GetInt("L_abono") + TAMANO +3 + ESPACIO = (ESPACIO - TAMANO)/2 +' Log(ESPACIO) + For j =0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( abonoscreditos.GetString("a_cliente") & BLANCO) + Printer1.Justify = 1 + Dim LETRA As String + If abonoscreditos.GetString("TIPO_PAGO") = "EFECTIVO" Then + LETRA = "E" + Else If abonoscreditos.GetString("TIPO_PAGO") = "TRANSFERENCIA" Then + LETRA = "T" + Else If abonoscreditos.GetString("TIPO_PAGO") = "CHEQUE" Then + LETRA = "C" + End If + Printer1.WriteString( NumberFormat2(abonoscreditos.GetString("a_abono"),0,2,2,True)&"-"&LETRA) + Printer1.WriteString( CRLF) + TAMANO = 0 + ESPACIO = 29 + BLANCO = " " + Printer1.Justify = 0 + Next + Printer1.WriteString("--------------------------------" & CRLF) + Printer1.WriteString( CRLF) + End If + + Dim pa2 As Cursor =Starter.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES") + + Printer1.WriteString("Cant. pagares nuevos: " & NumberFormat2(pa2.RowCount,0,0,0,True) & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString("Pagares nuevos: $" & NumberFormat2(l_pagaresnuevos.Text,0,2,2,True) & CRLF) @@ -3237,7 +3552,77 @@ Sub imp_LIQUIDACION Printer1.WriteString("--------------------------------" & CRLF) Printer1.WriteString( CRLF) End If - Printer1.WriteString(" " & CRLF) + + + + Dim c As Cursor = Starter.skmt.ExecQuery("SELECT DISTINCT(CAT_CL_NOMBRE), CAT_CL_CODIGO, gestion FROM kmt_info WHERE gestion = 2 and CAT_CL_CODIGO NOT IN (SELECT PA_CLIENTE FROM PAGARES)") + + If c.RowCount > 0 Then + Printer1.WriteString("Clientes a contado: " & NumberFormat2(c.RowCount,0,0,0,False) & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("Monto a contado: $" & NumberFormat2((L_MONTOE.Text-l_pagaresnuevos.Text),0,0,0,True) & CRLF) + Printer1.WriteString("--------------------------------" & CRLF) + Printer1.WriteString(" Cliente Monto" & CRLF) + Printer1.WriteString("--------------------------------" & CRLF) + For i = 0 To c.RowCount - 1 + c.Position = i + Dim idCliente As String = c.GetString("CAT_CL_CODIGO") + Dim gestion As String = c.GetString("gestion") + Dim estatusStr As String = IIf(gestion = "2", "ENTREGADO", "RECHAZADO") + + Dim totalMonto As Double = 0 + Dim totalArticulosPiezas As Int = 0 + + ' Subconsulta de ventas + Dim vc As Cursor = Starter.skmt.ExecQuery($" + SELECT HVD_CANT, HVD_COSTO_TOT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT + FROM HIST_VENTAS + WHERE HVD_CLIENTE = '${idCliente}' AND HVD_CANT > 0 and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$) + + For a = 0 To vc.RowCount - 1 + vc.Position = a + + Dim piezasCargadas As Int = vc.GetInt("HVD_CANT") + Dim piezasRechazadas As Int = vc.GetInt("HVD_RECHAZOCANT") + + ' Evitar división por cero + Dim precioPorPieza As Double = 0 + If piezasCargadas > 0 Then precioPorPieza = vc.GetDouble("HVD_COSTO_TOT") / piezasCargadas + + If estatusStr = "ENTREGADO" Then + totalArticulosPiezas = totalArticulosPiezas + (piezasCargadas - piezasRechazadas) + totalMonto = totalMonto + ((piezasCargadas - piezasRechazadas) * precioPorPieza) + Else + totalArticulosPiezas = totalArticulosPiezas + piezasRechazadas + totalMonto = totalMonto + (piezasRechazadas * precioPorPieza) + End If + + + + Next + + TAMANO = totalMonto.As(String).Length + TAMANO + ESPACIO = (ESPACIO - TAMANO)/2 +' Log(ESPACIO) + For j =0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Printer1.Justify = 0 + Printer1.WriteString( idCliente & BLANCO) + Printer1.Justify = 1 + Printer1.WriteString( NumberFormat2(totalMonto,0,2,2,True)) + Printer1.WriteString( CRLF) + TAMANO = 0 + ESPACIO = 29 + BLANCO = " " + Printer1.Justify = 0 + vc.Close + Next + End If + + + Printer1.WriteString( CRLF) + Dim abonoscreditosefe As Cursor = Starter.skmt.ExecQuery("SELECT SUM(IFNULL(a_abono,0)) AS ABONO FROM ABONOS WHERE TIPO_PAGO = 'EFECTIVO' ORDER BY a_cliente") abonoscreditosefe.Position = 0 Dim abonoscreditostrans As Cursor = Starter.skmt.ExecQuery("SELECT SUM(IFNULL(a_abono,0)) AS ABONO FROM ABONOS WHERE TIPO_PAGO = 'TRANSFERENCIA' ORDER BY a_cliente") @@ -3255,6 +3640,8 @@ Sub imp_LIQUIDACION Printer1.WriteString("Monto a liquidar: $" & NumberFormat2(l_montoaliquidar.Text,0,2,2,True) & CRLF) + c.Close + ' Dim sumainv As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_CANT) AS CANTIDAD FROM HIST_VENTAS WHERE HVD_CODPROMO <> HVD_PROID") ' sumainv.Position = 0 @@ -3281,50 +3668,243 @@ Sub imp_LIQUIDACION End If End Sub +'Sub imp_LIQUIDACION +' +' ProgressDialogShow2("Imprimiendo, un momento ...",False) +' Printer1.DisConnect +' If Not(Printer1.IsConnected) Then +'' If logger Then Log("conectando 1") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) +' Sleep(1000) +' cont = cont + 1 +' If cont = 7 Then Printer1.Connect 'Tratamos de reconectar +' If cont > 15 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' Else +'' If logger Then Log("conectando 2") +' Printer1.Connect +' Private cont As Int = 0 +' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) +' Sleep(1000) +' cont = cont + 1 +' If cont = 2 Then Printer1.Connect +' If cont > 4 Then impresoraConectada = True +' Loop +' Sleep(500) +' impresoraConectada = False +' End If +' +' TAMANO = 0 +' ESPACIO = 29 +' BLANCO = " " +' Printer1.Justify = 0 +' Dim sDate, sTime As String +' DateTime.DateFormat = "dd/MM/yyyy" +' DateTime.TimeFormat = "HH:mm:ss" +' sDate = DateTime.Date(DateTime.Now) +' sTime = DateTime.Time(DateTime.Now) +' Printer1.WriteString("Fecha: " &sDate & CRLF) +' Printer1.WriteString("Hora: " &sTime & CRLF) +' Printer1.WriteString("Ruta: " & l_ruta.Text & CRLF) +' Printer1.WriteString("Usuario: " & Subs.dameUsuarioDeDB & CRLF) +' Printer1.WriteString("----------LIQUIDACION----------" & CRLF) +' Printer1.WriteString("--------------------------------" & CRLF) +' +' Printer1.WriteString("Monto entregado: $" & NumberFormat2(L_MONTOE.Text,0,2,2,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Monto rechazado: $" & NumberFormat2(l_rechazo.Text,0,2,2,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Dim ab2 As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS"$) +' +' Printer1.WriteString("Cant. pagares cobrados: " & NumberFormat2(ab2.RowCount,0,0,0,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Pagares cobrados: $" & NumberFormat2(l_pagarescobrados.Text,0,2,2,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' +' If l_pagarescobrados.Text > 0 Then +' Printer1.WriteString("--------------------------------" & CRLF) +' Printer1.WriteString(" Cliente Abono" & CRLF) +' Printer1.WriteString("--------------------------------" & CRLF) +'' Printer1.WriteString( CRLF) +' Dim abonoscreditos As Cursor = Starter.skmt.ExecQuery("SELECT a_abono, length(a_abono) as L_abono , length(a_cliente) as L_cliente , a_cliente, TIPO_PAGO FROM ABONOS ORDER BY a_cliente") +' For g = 0 To abonoscreditos.RowCount -1 +' abonoscreditos.Position = g +' +' TAMANO = abonoscreditos.GetInt("L_abono") + TAMANO +3 +' ESPACIO = (ESPACIO - TAMANO)/2 +'' Log(ESPACIO) +' For j =0 To ESPACIO -1 +' BLANCO = " " & BLANCO +' Next +' Printer1.Justify = 0 +' Printer1.WriteString( abonoscreditos.GetString("a_cliente") & BLANCO) +' Printer1.Justify = 1 +' Dim LETRA As String +' If abonoscreditos.GetString("TIPO_PAGO") = "EFECTIVO" Then +' LETRA = "E" +' Else If abonoscreditos.GetString("TIPO_PAGO") = "TRANSFERENCIA" Then +' LETRA = "T" +' Else If abonoscreditos.GetString("TIPO_PAGO") = "CHEQUE" Then +' LETRA = "C" +' End If +' Printer1.WriteString( NumberFormat2(abonoscreditos.GetString("a_abono"),0,2,2,True)&"-"&LETRA) +' Printer1.WriteString( CRLF) +' TAMANO = 0 +' ESPACIO = 29 +' BLANCO = " " +' Printer1.Justify = 0 +' Next +' Printer1.WriteString("--------------------------------" & CRLF) +' Printer1.WriteString( CRLF) +' End If +' +' Dim pa2 As Cursor =Starter.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES") +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Cant. pagares nuevos: " & NumberFormat2(pa2.RowCount,0,0,0,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Pagares nuevos: $" & NumberFormat2(l_pagaresnuevos.Text,0,2,2,True) & CRLF) +' +' If l_pagaresnuevos.Text > 0 Then +' Printer1.WriteString("--------------------------------" & CRLF) +' Printer1.WriteString(" Cliente Pagare" & CRLF) +' Printer1.WriteString("--------------------------------" & CRLF) +'' Printer1.WriteString( CRLF) +' Dim abonoscreditos As Cursor = Starter.skmt.ExecQuery("SELECT PA_MONTO, length(PA_MONTO) as L_PA_MONTO , length(PA_CLIENTE) as L_cliente , PA_CLIENTE FROM PAGARES ORDER BY PA_CLIENTE") +' For g = 0 To abonoscreditos.RowCount -1 +' abonoscreditos.Position = g +' +' TAMANO = abonoscreditos.GetInt("L_PA_MONTO") + TAMANO +' ESPACIO = (ESPACIO - TAMANO)/2 +'' Log(ESPACIO) +' For j =0 To ESPACIO -1 +' BLANCO = " " & BLANCO +' Next +' Printer1.Justify = 0 +' Printer1.WriteString( abonoscreditos.GetString("PA_CLIENTE") & BLANCO) +' Printer1.Justify = 1 +' Printer1.WriteString( NumberFormat2(abonoscreditos.GetString("PA_MONTO"),0,2,2,True)) +' Printer1.WriteString( CRLF) +' TAMANO = 0 +' ESPACIO = 29 +' BLANCO = " " +' Printer1.Justify = 0 +' Next +' Printer1.WriteString("--------------------------------" & CRLF) +' Printer1.WriteString( CRLF) +' End If +' Printer1.WriteString(" " & CRLF) +' Dim abonoscreditosefe As Cursor = Starter.skmt.ExecQuery("SELECT SUM(IFNULL(a_abono,0)) AS ABONO FROM ABONOS WHERE TIPO_PAGO = 'EFECTIVO' ORDER BY a_cliente") +' abonoscreditosefe.Position = 0 +' Dim abonoscreditostrans As Cursor = Starter.skmt.ExecQuery("SELECT SUM(IFNULL(a_abono,0)) AS ABONO FROM ABONOS WHERE TIPO_PAGO = 'TRANSFERENCIA' ORDER BY a_cliente") +' abonoscreditostrans.Position = 0 +' Dim abonoscreditosche As Cursor = Starter.skmt.ExecQuery("SELECT SUM(IFNULL(a_abono,0)) AS ABONO FROM ABONOS WHERE TIPO_PAGO = 'CHEQUE' ORDER BY a_cliente") +' abonoscreditosche.Position = 0 +' Log(NumberFormat2(abonoscreditosefe.GetDouble("ABONO"),0,2,2,False) ) +' +' Printer1.WriteString("Monto efectivo: $" & NumberFormat2((l_montoaliquidar.Text - abonoscreditosche.GetDouble("ABONO") - abonoscreditostrans.GetDouble("ABONO")),0,2,2,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Monto cheque: $" & NumberFormat2(abonoscreditosche.GetDouble("ABONO"),0,2,2,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Monto transferencia: $" & NumberFormat2(abonoscreditostrans.GetDouble("ABONO"),0,2,2,True) & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString("Monto a liquidar: $" & NumberFormat2(l_montoaliquidar.Text,0,2,2,True) & CRLF) +' +' +' +'' Dim sumainv As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_CANT) AS CANTIDAD FROM HIST_VENTAS WHERE HVD_CODPROMO <> HVD_PROID") +'' sumainv.Position = 0 +'' +'' Printer1.WriteString("------------------------------" & CRLF) +'' Printer1.WriteString("Total piezas: " & sumainv.GetString("CANTIDAD")& CRLF) +' Printer1.WriteString("------------------------------" & CRLF) +' Printer1.Justify = 0 +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString(" " & CRLF) +' Sleep(1000) +' Printer1.DisConnect +' ProgressDialogHide +' +' +' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' imp_LIQUIDACION +' Else +' +' End If +'End Sub + Private Sub connecta_LongClick - imp_LIQUIDACION + +' 'PAGARES. +' Dim pa As Cursor =Starter.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES") +' If pa.RowCount > 0 Then +' For pag = 0 To pa.RowCount - 1 +' pa.Position = pag +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_reparto_PAGARES_GUNA_VN" +' Dim fechaenvio() As String +' fechaenvio = Regex.Split(" ",pa.GetString("PA_FECHA_PREV")) +'' Log(fechaenvio(0)) +' Dim fechaenvio1() As String +' fechaenvio1 = Regex.Split("/",fechaenvio(0)) +' Dim fechaano As String = fechaenvio1(2).SubString(2) +' Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano +'' Log(fechareal) +' Dim fechacap() As String +' fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA")) +' Dim fechacapano As String = fechacap(2).SubString(2) +'' Dim mes As Int = DateTime.GetMonth(DateTime.Now) +' If DateTime.GetMonth(DateTime.Now) = fechacap(1) Then +' Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano +' Else +' Dim fechacapreal As String = fechacap(1)&"/"&fechacap(0)&"/"&fechacapano +' End If +' If pa.GetString("PA_CANCELADO") = "2" Then +' cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),NumberFormat2(pa.GetString("PA_MONTO"),0,2,2,False),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),Subs.traeRutaReparto,fechareal,pa.GetString("PA_USUARIO"),2) +' Else +' cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),Subs.traeRutaReparto,fechareal,pa.GetString("PA_USUARIO"),"") +' End If +' reqManager.ExecuteCommand(cmd , "ins_pagares") +' Next +' End If +' pa.Close + + If e_ruta.Text = "KMTS1BAT" Then + imp_LIQUIDACION + End If + End Sub -Sub Linker_Response(Status As String) ' << AÑADE ESTE SUB [New Query] - If Starter.Logger Then LogColor($"Respuesta de DeviceLinker para la verificación del dispositivo: ${Status}"$, Colors.Magenta) ' - Select Status - Case "UUID_ERROR" - Log("Error interno al obtener el identificador único del dispositivo.") - ToastMessageShow("Error interno al obtener el identificador único del dispositivo.", True) - Case "HTTP_ERROR" - LogColor("Error HTTP al verificar el dispositivo: " & linker.lastJobDoneError, Colors.Red) - ToastMessageShow("Error de conexión al servidor durante la verificación del dispositivo.", True) - Case "SERVER_LOGIC_ERROR" - Log("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.") - ToastMessageShow("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.", True) - Case "OK" - Log("########################################################") - Log("Dispositivo vinculado y verificado exitosamente.") - ToastMessageShow("Dispositivo verificado y vinculado correctamente.", False) - ' Aquí puedes añadir lógica adicional si la verificación es exitosa, por ejemplo, habilitar ciertos botones o continuar con el flujo normal. -' connecta2 - Case "REGISTRO_COMPLETO" - Log("########################################################") - Log("¡Registro completo!") - ToastMessageShow("¡Registro completo!", False) -' connecta2 - Case "SIN_REGISTRO" - Log("########################################################") - Log("Sin registro") - ToastMessageShow("¡Dispositivo sin registro!", False) - linker.linkDevice(Subs.traeAlmacen, e_ruta.text) - Case "REGISTRANDO" - Log("¡Registro en proceso!") - ToastMessageShow("¡Registro en proceso!", True) - Case "YA_REGISTRADO" - Log("########################################################") - Log("¡El dispositivo ya esta registrado con otra ruta!") - ToastMessageShow("¡¡El dispositivo ya esta registrado con otra ruta!!", True) - Msgbox2("Esa ruta ya esta registrada en otro dispositivo", "RUTA INCORRECTA","Aceptar", "", "",Null) 'ignore - Case Else ' Otros estados que tu servidor pueda devolver (ej. "UNAUTHORIZED", "PENDING_APPROVAL") - Log("########################################################") - Log($"Estado de verificación del dispositivo: ${Status}"$) - ToastMessageShow($"Verificación del dispositivo: ${Status}"$, True) - ' Puedes decidir si bloquear la funcionalidad o mostrar un mensaje específico según el estado. - End Select +Private Sub B_OK_ENVIO_Click + If l_envio.Text = "INFO OK" Then + imp_LIQUIDACION + P_ENVIO.Visible = False + Else + P_ENVIO.Visible = False + MsgboxAsync("Favor de mandar la informacion de nuevo","Atención") + End If + +End Sub + +Private Sub P_ENVIO_Click + +End Sub + +Sub tenvio_tick + tenvio.Enabled = False + If cuantosenvio = recibidos Then + l_envio.Text = "INFO OK" + pgb_envio.Progress = 100 + Else + l_envio.Text = "INFO INCOMPLETA" + pgb_envio.Progress = 50 + End If End Sub \ No newline at end of file diff --git a/B4A/DBRequestManager.bas b/B4A/DBRequestManager.bas index d0204b6..b3d83a1 100644 --- a/B4A/DBRequestManager.bas +++ b/B4A/DBRequestManager.bas @@ -4,7 +4,7 @@ ModulesStructureVersion=1 Type=Class Version=7.01 @EndOfDesignText@ -''Class module +'Class module Sub Class_Globals Private mTarget As Object Type DBResult (Tag As Object, Columns As Map, Rows As List) @@ -15,12 +15,7 @@ Sub Class_Globals ,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte Private VERSION As Float = 0.9 Private tempArray(1) As Object - Dim jobTagAnterior As String = "" 'Mod por CHV - 211109 - Dim reqsList, timesList As List - Dim inicioRequest As Long 'ignore - Dim inicioJobDone As Long 'ignore - Dim inicioRequestMap, inicioJobDoneMap As Map - Private logger As Boolean = False + Dim jobTagAnterior As String = "" 'Mod por CHV - 211023 End Sub 'Target - The module that handles JobDone (usually Me). @@ -35,34 +30,15 @@ End Sub 'Limit - Maximum rows to return or 0 for no limit. 'Tag - An object that will be returned in the result. Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object) - Dim j As HttpJob - Dim ms As OutputStream - Dim out2 As OutputStream = StartJob(j, ms, Tag) -' If reqsList.IsInitialized Then reqsList.Add(Tag) -' If timesList.IsInitialized Then timesList.Add(DateTime.now) - - WriteObject(Command.Name, out2) - WriteInt(Limit, out2) - WriteList(Command.Parameters, out2) - out2.Close - j.PostBytes(link & "?method=query", ms.ToBytesArray) -End Sub - -'Sends a query request. -'Command - Query name and parameters. -'Limit - Maximum rows to return or 0 for no limit. -'Tag - An object that will be returned in the result. -'Timeout - The http request timeout in ms, or 0 if default (30 secs) -Public Sub ExecuteQuery3(Command As DBCommand, Limit As Int, Tag As Object, Timeout As Int) 'Mod por CHV, agregué el parametro Timeout - 211229 Dim j As HttpJob Dim ms As OutputStream Dim out2 As OutputStream = StartJob(j,ms, Tag) + WriteObject(Command.Name, out2) WriteInt(Limit, out2) WriteList(Command.Parameters, out2) out2.Close j.PostBytes(link & "?method=query", ms.ToBytesArray) - If Timeout <> 0 Then j.GetRequest.Timeout = Timeout End Sub 'Executes a batch of (non-select) commands. @@ -71,7 +47,7 @@ End Sub Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object) Dim j As HttpJob Dim ms As OutputStream - Dim out2 As OutputStream = StartJob(j, ms, Tag) + Dim out2 As OutputStream = StartJob(j,ms, Tag) WriteInt(ListOfCommands.Size, out2) For Each Command As DBCommand In ListOfCommands WriteObject(Command.Name, out2) @@ -83,15 +59,10 @@ End Sub 'Similar to ExecuteBatch. Sends a single command. Public Sub ExecuteCommand(Command As DBCommand, Tag As Object) -' If reqsList.IsInitialized Then reqsList.Add(Tag) -' If timesList.IsInitialized Then timesList.Add(DateTime.now) ExecuteBatch(Array As DBCommand(Command), Tag) End Sub Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream -' inicioRequest = DateTime.now - If reqsList.IsInitialized Then reqsList.Add(Tag) - If timesList.IsInitialized Then timesList.Add(DateTime.now) j.Initialize("DBRequest", mTarget) j.Tag = Tag MemoryStream.InitializeToBytesArray(0) @@ -142,7 +113,7 @@ Private Sub WriteObject(o As Object, out As OutputStream) Else If GetType(tempArray(0)) = "[B" Then data = o out.WriteBytes(Array As Byte(T_BLOB), 0, 1) - WriteInt(data.Length, out) + WriteInt(data.Length, out) Else 'If o Is String Then (treat all other values as string) out.WriteBytes(Array As Byte(T_STRING), 0, 1) data = bc.StringToBytes(o, "UTF8") @@ -215,13 +186,7 @@ End Sub 'Handles the Job result and returns a DBResult. Public Sub HandleJob(Job As HttpJob) As DBResult - If jobTagAnterior <> Job.Tag Then -' inicioJobDone = DateTime.Now 'ignore - If inicioJobDoneMap.IsInitialized Then inicioJobDoneMap.Put(Job.Tag, DateTime.Now) -' tiempos.Put(Job.taskId, CreateMap("inicioJobDone":inicioJobDone)) -' Log(tiempos) -' Log("############# " & Job.taskId) - End If +' Dim start As Long = DateTime.Now Dim In As InputStream = Job.GetInputStream Dim cs As CompressedStreams In = cs.WrapInputStream(In, "gzip") @@ -232,6 +197,8 @@ Public Sub HandleJob(Job As HttpJob) As DBResult table.Columns.Initialize table.rows.Initialize table.Tag = Job.Tag + If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211023 + jobTagAnterior = Job.Tag 'Mod por CHV - 211023 If method = "query" Then Dim numberOfColumns As Int = ReadInt(In) For i = 0 To numberOfColumns - 1 @@ -253,11 +220,6 @@ Public Sub HandleJob(Job As HttpJob) As DBResult Next End If In.Close -' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112 - If jobTagAnterior <> table.Tag Then - LogColor("HandleJob: '"&table.Tag&"'" & " - Registros: " & table.Rows.Size, Colors.RGB(115, 0, 140)) 'Mod por CHV - 211109 - End If - jobTagAnterior = table.Tag 'Mod por CHV - 211109 Return table End Sub @@ -279,7 +241,6 @@ Public Sub ImageToBytes(Image As Bitmap) As Byte() out.Close Return out.ToBytesArray End Sub - 'Converts a bytes array to an image (for BLOB fields). Public Sub BytesToImage(bytes() As Byte) As Bitmap Dim In As InputStream @@ -304,60 +265,8 @@ Public Sub PrintTable(Table As DBResult) For Each record As Object In row sb.Append(record).Append(TAB) Next - Log(sb.ToString) + ToastMessageShow(sb.ToString, True) Next End Sub -Sub requestTimes(tag As String) As Map 'ignore - Private times As Map - times.Initialize -' Log("###### " & tag) -' Log(reqsList.IsInitialized) - If reqsList.IsInitialized Then -' Log(reqsList) -' Private pos As Int = reqsList.IndexOf(tag) - If inicioRequestMap.ContainsKey(tag) Then - inicioRequest = inicioRequestMap.Get(tag) -' Log(">>>>>>> From inicioRequestMap") - End If - If inicioJobDoneMap.ContainsKey(tag) Then - inicioJobDone = inicioJobDoneMap.Get(tag) -' Log(">>>>>>> From inicioJobDoneMap") - End If - End If -' Log($"${inicioJobDone} - ${inicioRequest}"$) - Private requestTime As String = NumberFormat2(((inicioJobDone - inicioRequest) / 1000),1,5,0,False) - Private JobDoneTime As String = NumberFormat2(((DateTime.Now - inicioJobDone) / 1000),1,5,0,False) - times.Put("request", tag) - times.Put("requestTime", requestTime) - times.Put("jobDoneTime", JobDoneTime) - times.Put("totalTime", NumberFormat2((JobDoneTime + requestTime),1,5,0,False)) - Return times -End Sub - -'Initializes request tracking -Sub trackInit 'ignore - If logger Then Log(">>>>>>>>> TRACKINIT ") - reqsList.Initialize - timesList.Initialize - inicioRequestMap.Initialize - inicioJobDoneMap.Initialize -End Sub - - -Sub trackNext(job As HttpJob) - If reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. - Private quitamos As String = "" - If reqsList.IndexOf(job.tag) <> -1 Then - Private pos As Int = reqsList.IndexOf(job.tag) - If pos <> -1 Then - inicioRequestMap.Put(job.Tag, timesList.Get(pos)) - reqsList.RemoveAt(pos) - timesList.RemoveAt(pos) - End If - quitamos = $"Quitamos ${job.tag} - "$ - End If - If logger Then LogColor(">>>>>> Requests: " & reqsList.Size & " - " & quitamos & reqsList, Colors.Blue) - If logger Then LogColor(">>>>>> inicioRequestMap:" & inicioRequestMap.Size & " - " & inicioRequestMap, Colors.Magenta) - End If -End Sub \ No newline at end of file + \ No newline at end of file diff --git a/B4A/EscPosPrinter.bas b/B4A/EscPosPrinter.bas index f0a9536..1d34e36 100644 --- a/B4A/EscPosPrinter.bas +++ b/B4A/EscPosPrinter.bas @@ -1141,7 +1141,7 @@ Private Sub AStream_NewData (Buffer() As Byte) If SubExists(CallBack, EventName & "_NewData") Then CallSub2(CallBack, EventName & "_NewData", Buffer) End If - Log("Data " & Buffer(0)) +' Log("Data " & Buffer(0)) End Sub Private Sub AStream_Error diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 1f9c7e9..876fc02 100644 Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ diff --git a/B4A/Files/comentario.png b/B4A/Files/comentario.png new file mode 100644 index 0000000..3b8eff9 Binary files /dev/null and b/B4A/Files/comentario.png differ diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal index 6a91936..48f0a37 100644 Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ diff --git a/B4A/Files/no_venta.bal b/B4A/Files/no_venta.bal index 9445d10..9a6e0fb 100644 Binary files a/B4A/Files/no_venta.bal and b/B4A/Files/no_venta.bal differ diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index c04ca71..0f22c61 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas index 7e64acb..3e4564e 100644 --- a/B4A/MAPA_RUTAS.bas +++ b/B4A/MAPA_RUTAS.bas @@ -166,29 +166,29 @@ Sub MapFragment1_Ready If pedidos.RowCount > 1 Then If esteAzul = 1 Then esteAzul2= "marker-azul.png" - If esteAzul = 2 Then esteAzul2= "marker-azul1.png" - If esteAzul = 3 Then esteAzul2= "marker-azul2.png" - If esteAzul = 4 Then esteAzul2= "marker-azul3.png" - If esteAzul = 5 Then esteAzul2= "marker-azul4.png" - If esteAzul = 6 Then esteAzul2= "marker-azul1.png" + If esteAzul = 2 Then esteAzul2= "marker-azul.png" + If esteAzul = 3 Then esteAzul2= "marker-azul.png" + If esteAzul = 4 Then esteAzul2= "marker-azul.png" + If esteAzul = 5 Then esteAzul2= "marker-azul.png" + If esteAzul = 6 Then esteAzul2= "marker-azul.png" Else If pedidos.RowCount = 1 Then pedidos.Position = 0 If pedidos.GetString("HVD_PRONOMBRE") = "Cobranza Pendiente" Then - If esteAzul = 1 Then esteAzul2= "marker-amarillo.png" - If esteAzul = 2 Then esteAzul2= "marker-amarillo.png" - If esteAzul = 3 Then esteAzul2= "marker-amarillo.png" - If esteAzul = 4 Then esteAzul2= "marker-amarillo.png" - If esteAzul = 5 Then esteAzul2= "marker-amarillo.png" - If esteAzul = 6 Then esteAzul2= "marker-amarillo.png" + If esteAzul = 1 Then esteAzul2= "marker-azul.png" + If esteAzul = 2 Then esteAzul2= "marker-azul.png" + If esteAzul = 3 Then esteAzul2= "marker-azul.png" + If esteAzul = 4 Then esteAzul2= "marker-azul.png" + If esteAzul = 5 Then esteAzul2= "marker-azul.png" + If esteAzul = 6 Then esteAzul2= "marker-azul.png" Else If esteAzul = 1 Then esteAzul2= "marker-azul.png" - If esteAzul = 2 Then esteAzul2= "marker-azul1.png" - If esteAzul = 3 Then esteAzul2= "marker-azul2.png" - If esteAzul = 4 Then esteAzul2= "marker-azul3.png" - If esteAzul = 5 Then esteAzul2= "marker-azul4.png" - If esteAzul = 6 Then esteAzul2= "marker-azul1.png" + If esteAzul = 2 Then esteAzul2= "marker-azul.png" + If esteAzul = 3 Then esteAzul2= "marker-azul.png" + If esteAzul = 4 Then esteAzul2= "marker-azul.png" + If esteAzul = 5 Then esteAzul2= "marker-azul.png" + If esteAzul = 6 Then esteAzul2= "marker-azul.png" End If End If diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 78e19ce..66ddd83 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -788,7 +788,7 @@ Sub traeCliente As String 'ignore cli.Position = 0 Private cl As String = cli.GetString("CUENTA") cli.Close - Log("Algo paso..."& cl) +' Log("Algo paso..."& cl) Return cl End Sub diff --git a/B4A/guna_reparto.b4a b/B4A/guna_reparto.b4a index 18f1308..1214033 100644 --- a/B4A/guna_reparto.b4a +++ b/B4A/guna_reparto.b4a @@ -5,96 +5,97 @@ File11=clienteblanco.png File12=clientes.bal File13=Clientes_visitados.jpg File14=Clientes_VISITADOS.png -File15=contrasena.png -File16=datoscliente.bal -File17=dbc.png -File18=derecha.png -File19=derecha1.png +File15=comentario.png +File16=contrasena.png +File17=datoscliente.bal +File18=dbc.png +File19=derecha.png File2=alert2.png -File20=detalle_promo.bal -File21=detalleVenta.bal -File22=DULCE.png -File23=durakelo1.png -File24=engrane.jpg -File25=engrane1.png -File26=folioabono.bal -File27=fondo_kmt.jpg -File28=foto.bal -File29=frintal.png +File20=derecha1.png +File21=detalle_promo.bal +File22=detalleVenta.bal +File23=DULCE.png +File24=durakelo1.png +File25=engrane.jpg +File26=engrane1.png +File27=folioabono.bal +File28=fondo_kmt.jpg +File29=foto.bal File3=alerta.jpg -File30=frontal1.gif -File31=frontal1.png -File32=guardagestion.bal -File33=guna_viejo.png -File34=guna_viejo2.png -File35=historico.bal -File36=images.png -File37=infonavit1.jpg -File38=intmex_logo_192x192.jpg -File39=intmex_logo_192x192.png +File30=frintal.png +File31=frontal1.gif +File32=frontal1.png +File33=guardagestion.bal +File34=guna_viejo.png +File35=guna_viejo2.png +File36=historico.bal +File37=images.png +File38=infonavit1.jpg +File39=intmex_logo_192x192.jpg File4=atras.png -File40=inventarios.jpg -File41=INVENTARIOS.png -File42=itembuttonblue.png -File43=izquierda.png -File44=izquierda1.png -File45=kelloggs.png -File46=keymon_logo.png -File47=kmt.db -File48=kmt2.db -File49=kmt3.db +File40=intmex_logo_192x192.png +File41=inventarios.jpg +File42=INVENTARIOS.png +File43=itembuttonblue.png +File44=izquierda.png +File45=izquierda1.png +File46=kelloggs.png +File47=keymon_logo.png +File48=kmt.db +File49=kmt2.db File5=atras1.png -File50=login.bal -File51=logo sanfer.jpg -File52=logo_exitus1.jpg -File53=logo_mariana.jpg -File54=logo-guna-18.jpg -File55=logo-guna-18.png -File56=logo-guna-blanco.png -File57=logo-guna-contorno.png -File58=MainPage.bal -File59=malo.jpg +File50=kmt3.db +File51=login.bal +File52=logo sanfer.jpg +File53=logo_exitus1.jpg +File54=logo_mariana.jpg +File55=logo-guna-18.jpg +File56=logo-guna-18.png +File57=logo-guna-blanco.png +File58=logo-guna-contorno.png +File59=MainPage.bal File6=buscar.bal -File60=mapa.bal -File61=mapa_cliente.bal -File62=mapa_rutas.bal -File63=mariana.jpg -File64=mariana_logo_192x192.jpg -File65=marker-amarillo.png -File66=MARQUEZ_logo_192x192.jpg -File67=no_venta.bal -File68=nuevocliente.bal -File69=panel_pick_ciego.bal +File60=malo.jpg +File61=mapa.bal +File62=mapa_cliente.bal +File63=mapa_rutas.bal +File64=mariana.jpg +File65=mariana_logo_192x192.jpg +File66=marker-amarillo.png +File67=MARQUEZ_logo_192x192.jpg +File68=no_venta.bal +File69=nuevocliente.bal File7=CALIFICARCLIENTE.png -File70=pedido.bal -File71=planfia_logo.png -File72=planfia_logo_old.png -File73=planfia_logo_old2.png -File74=principal.bal -File75=proditem.bal -File76=proditem2.bal -File77=productos.bal -File78=profina.jpg -File79=PROFINA.png +File70=panel_pick_ciego.bal +File71=pedido.bal +File72=planfia_logo.png +File73=planfia_logo_old.png +File74=planfia_logo_old2.png +File75=principal.bal +File76=proditem.bal +File77=proditem2.bal +File78=productos.bal +File79=profina.jpg File8=check.bal -File80=rechazos.jpg -File81=RECHAZOS.png -File82=rechazosblanco.png -File83=sync.png -File84=tabulador.bal -File85=Tabulador.jpg -File86=TABULADOR.png -File87=tabuladorblanco.png -File88=telefonos.bal -File89=ubicacionblanco.png +File80=PROFINA.png +File81=rechazos.jpg +File82=RECHAZOS.png +File83=rechazosblanco.png +File84=sync.png +File85=tabulador.bal +File86=Tabulador.jpg +File87=TABULADOR.png +File88=tabuladorblanco.png +File89=telefonos.bal File9=checklist.bal -File90=Ubicar_clientes.jpg -File91=UBICARCLIENTE.png -File92=usuario.png -File93=vecteezy_abstract-color-polygon-background-design-abstract-geometric_22231666.jpg -File94=visitaazul.png -File95=visitaazul1.png -File96=visitadosblanco.png +File90=ubicacionblanco.png +File91=Ubicar_clientes.jpg +File92=UBICARCLIENTE.png +File93=usuario.png +File94=vecteezy_abstract-color-polygon-background-design-abstract-geometric_22231666.jpg +File95=visitaazul.png +File96=visitaazul1.png +File97=visitadosblanco.png FileGroup1=Default Group FileGroup10=Default Group FileGroup11=Default Group @@ -191,6 +192,7 @@ FileGroup93=Default Group FileGroup94=Default Group FileGroup95=Default Group FileGroup96=Default Group +FileGroup97=Default Group Group=Default Group Library1=appupdating Library10=googlemaps @@ -212,7 +214,6 @@ Library24=xcustomlistview Library25=xui Library26=xui views Library27=zxing_scanner -Library28=keyvaluestore2 Library3=baqrcode Library4=byteconverter Library5=camera @@ -223,46 +224,45 @@ Library9=fusedlocationprovider ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~'AddManifestText(~\n~'~\n~')~\n~'SetApplicationAttribute(android:icon, "@drawable/icon")~\n~'SetApplicationAttribute(android:label, "$LABEL$")~\n~'CreateResourceFromFile(Macro, Themes.LightTheme)~\n~''End of default text.~\n~'~\n~'''''' CAMBIA LA CLAVE API~\n~'AddApplicationText(~\n~'~\n~' ~\n~')~\n~'~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~'SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~'AddManifestText()~\n~'AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~''AddManifestText()~\n~''AddManifestText()~\n~''AddManifestText() 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~'AddManifestText()~\n~''/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~''CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~''/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~'~\n~''Si al cargar un mapa de google mande este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~'AddApplicationText()~\n~'~\n~''/////////////////////// App Updating ////////////////~\n~' AddManifestText(~\n~' )~\n~' AddApplicationText(~\n~' ~\n~' ~\n~' ~\n~' )~\n~' CreateResource(xml, provider_paths,~\n~' ~\n~' ~\n~' ~\n~' ~\n~' ~\n~' )~\n~'AddManifestText()~\n~'AddManifestText()~\n~'AddManifestText()~\n~'AddManifestText()~\n~'~\n~'AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~'AddPermission(android.permission.INTERNET)~\n~'AddPermission(android.permission.INSTALL_PACKAGES)~\n~'AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.READ_PHONE_STATE)~\n~'AddPermission(android.permission.WAKE_LOCK)~\n~'CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~' ~\n~'SetApplicationAttribute(android:largeHeap, "true")~\n~'~\n~'AddManifestText(~\n~' ~\n~' )~\n~' AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)~\n~' SetApplicationAttribute(android:allowBackup, "false")~\n~' ~\n~' ~\n~' AddManifestText(~\n~' )~\n~' AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~~\n~~\n~~\n~~\n~~\n~~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~AddManifestText(~\n~ )~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ )~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~)~\n~CreateResource(xml, provider_paths,~\n~~\n~ ~\n~ ~\n~ ~\n~~\n~)~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddManifestText()~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~~\n~)~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~AddManifestText() Module1=appUpdater Module10=C_DetalleVenta -Module11=C_deviceLinker -Module12=C_Foto -Module13=C_Historico -Module14=C_Mapas -Module15=C_NoVenta -Module16=C_NuevoCliente -Module17=C_Pedidos -Module18=C_Principal -Module19=C_Productos +Module11=C_Foto +Module12=C_Historico +Module13=C_Mapas +Module14=C_NoVenta +Module15=C_NuevoCliente +Module16=C_Pedidos +Module17=C_Principal +Module18=C_Productos +Module19=C_tabulador Module2=B4XMainPage -Module20=C_tabulador -Module21=C_TicketsDia -Module22=C_UpdateAvailable -Module23=CameraExClass -Module24=DBRequestManager -Module25=EscPosPrinter -Module26=foto -Module27=ManageExternalStorage -Module28=MAPA_CLIENTE -Module29=MAPA_RUTAS +Module20=C_TicketsDia +Module21=C_UpdateAvailable +Module22=CameraExClass +Module23=DBRequestManager +Module24=EscPosPrinter +Module25=foto +Module26=ManageExternalStorage +Module27=MAPA_CLIENTE +Module28=MAPA_RUTAS +Module29=QRGenerator Module3=barcodeGenerator -Module30=QRGenerator -Module31=Starter -Module32=Subs -Module33=Tracker +Module30=Starter +Module31=Subs +Module32=Tracker Module4=BatteryUtilities Module5=C_Buscar Module6=C_Cheklist Module7=C_Cliente Module8=C_Clientes Module9=C_Detalle_Promo -NumberOfFiles=96 -NumberOfLibraries=28 -NumberOfModules=33 +NumberOfFiles=97 +NumberOfLibraries=27 +NumberOfModules=32 Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Guna Reparto #VersionCode: 1 - #VersionName: 6.01.11 + #VersionName: 6.02.09_01 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/guna_reparto.b4a.meta b/B4A/guna_reparto.b4a.meta index f8fd747..ac988f8 100644 --- a/B4A/guna_reparto.b4a.meta +++ b/B4A/guna_reparto.b4a.meta @@ -25,7 +25,6 @@ ModuleBookmarks3= ModuleBookmarks30= ModuleBookmarks31= ModuleBookmarks32= -ModuleBookmarks33= ModuleBookmarks4= ModuleBookmarks5= ModuleBookmarks6= @@ -59,7 +58,6 @@ ModuleBreakpoints3= ModuleBreakpoints30= ModuleBreakpoints31= ModuleBreakpoints32= -ModuleBreakpoints33= ModuleBreakpoints4= ModuleBreakpoints5= ModuleBreakpoints6= @@ -76,7 +74,7 @@ ModuleClosedNodes14= ModuleClosedNodes15= ModuleClosedNodes16= ModuleClosedNodes17= -ModuleClosedNodes18=1,3 +ModuleClosedNodes18= ModuleClosedNodes19= ModuleClosedNodes2= ModuleClosedNodes20= @@ -93,13 +91,12 @@ ModuleClosedNodes3= ModuleClosedNodes30= ModuleClosedNodes31= ModuleClosedNodes32= -ModuleClosedNodes33= ModuleClosedNodes4= ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=B4XMainPage,Class_Globals,1287,0,Diseñador Visual,login.bal,-100,6,B4XMainPage,b_borrarFinDia_Click,2312,0,B4XMainPage,p_finDia_Click,2307,0,B4XMainPage,b_cancelarFD_Click,2331,1,B4XMainPage,b_aceptarFD_Click,2320,6,C_DetalleVenta,B_IMP_Click,1162,0,C_DetalleVenta,StartPrinter,1160,0,Main,Process_Globals,17,0,B4XMainPage,p_transFinDia_Click,2317,0 +NavigationStack=C_Cliente,gest_Click,1562,0,C_Cliente,B_IMP_Click,2671,2,C_Principal,B4XPage_Appear,219,2,C_Cliente,imprime_pagare,6075,1,Subs,traeRutaReparto,1045,0,C_Principal,Class_Globals,0,0,C_Principal,connecta_LongClick,3838,0,C_Principal,Subir_Click,863,0,C_Principal,JobDone,1454,0,C_Principal,envioinfo,1083,3 SelectedBuild=0 -VisibleModules=31,2,18,11,7,8,10,32 +VisibleModules=2,17,5,6,8,10,31,30,28,7