B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=9.85 @EndOfDesignText@ #Region Shared Files '#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files" 'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True 'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip '########################################################################################################### '###################### PULL ############################################################# 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull '########################################################################################################### '###################### PULL FORZADO ############################################################# 'Ctrl + click Respaldar y Pull: ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=start&Args=powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\..\_sync_project.ps1 '########################################################################################################### '###################### PUSH ############################################################# 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\ '########################################################################################################### '###################### PUSH TORTOISE GIT ######################################################### 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2 '########################################################################################################### '###################### PUSH TORTOISE GIT CON TAG ################################################## 'Ctrl + clic para Git: ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\_git_tag.ps1&Args=%22%PROJECT%%22&Args=%22%PROJECT_NAME%%22 '########################################################################################################### #End Region 'Faltan: ' - Venta: Izca, Kelloggs, Profina, (Danvit y Salma no tienen forma de enviar la base de datos) ' - Reparto: Guna, Intmex, Durakelo, Profina, Marquez, Mazapa, Izca 'Reparto: 'HIST_VENTAS - Son los pedidos que el repartidor tiene que entregar. 'kmt_info - Cientes. 'NOVENTA - Cuantos entregados y cuantos no entregados. 'PAGARES - Pagares Nuevos. 'ABONOS_P - Pagares pendientes de cobro. 'ABONOS - Pagos realizados de pagares de ABONOS_P. 'PEDIDO - Ventas de rechazo (si hubo rechazo y se vendió, ahi aparece). 'PEDIDO_CLIENTE - Igual que pedido (solo encabezado de la venta). 'REPARTO - 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ Sub Class_Globals Dim Root As B4XView Dim xui As XUI ' Dim b_cargar As Button Dim b_enviar As Button Dim ime As IME Dim skmt As SQL Dim reqManager, thisReq As DBRequestManager Dim cmd As DBCommand Dim l_pedidos2 As Label Dim l_diasVenta As Label Dim l_totalVenta As Label Dim l_cantsEnCero As Label Dim l_clienteNoNumerico As Label Dim cuantos_pedido As String ' Dim datos_iguales As String Dim cuantos_pedidosc As String Dim cuantos_noventa As String Dim l_ruta2 As Label Dim ruta As String = "" Dim l_usuario2 As Label Dim usuario As String = "" Dim l_almacen2 As Label Dim almacen As String = "" Dim p_progressDialog As Panel Dim l_progressDialog As Label Dim p_editaRuta As Panel Dim p_editaAlmacen As Panel Dim b_cargarBD As Button Dim p_datos As Panel Dim p_principal As Panel Dim l_appInfo As Label Dim empresa, appVersion As String Dim et_nuevaRuta As EditText Dim et_nuevoAlmacen As EditText Dim p_clientes As Panel ' Dim lv_clientes As ListView Dim clv_clientes As CustomListView Dim p_item As Panel Dim l_item As Label Dim i_engrane As ImageView Dim lv_DBRServer As ListView Dim et_server As EditText Dim B_SERVER As Button Dim p_engrane As Panel Private sp_empresa As Spinner Private p_empresa As Panel Private p_editaUsuario As Panel Private et_nuevoUsuario As EditText Private b_guardaUsuario As Button Dim c, d As Cursor Dim foto1() As Byte Private b_valida As Button Private l_version As Label Dim p_validacion As Panel Dim l_vProds2 As Label Dim l_vPedidos2 As Label Dim l_vNoVenta2 As Label Dim i_progress As B4XGifView Dim Guna_Reparto As C_Guna_Reparto Dim Intmex_Reparto As C_Intmex_Reparto Dim Marquez_Reparto As C_Marquez_Reparto Dim Durakelo_Reparto As C_Durakelo_Reparto Dim Profina_Reparto As C_Profina_Reparto Dim Mazapa_Reparto As C_Mazapa_Reparto Dim Intmex As C_Intmex Dim Kelloggs As C_Kelloggs Dim Izca As C_Izca Dim Durakelo As C_Durakelo Dim Marquez As C_Marquez Dim Mazapa As C_Mazapa Dim Profina As C_Profina Private l_version0 As Label Private b_guardaRutaTodos As Button Private b_guardaRuta As Button Private p_datos_reparto As Panel Dim tipoApp As String Private l_ctast As Label Private l_porvisitar As Label Private Label9 As Label Private l_e As Label Private l_cuantosc As Label Private l_r As Label Private l_cuantosn As Label Private L_MONTOE As Label Private l_rechazo As Label Private l_pagarescobrados As Label Private l_pagaresnuevos As Label Private l_montoaliquidar As Label Private l_rutasP As Label Private l_rutaRep As Label Dim importador As C_ImportaBD End Sub Public Sub Initialize ' B4XPages.GetManager.LogEvents = True End Sub 'This event will be called once, before the page becomes visible. Sub B4XPage_Created (Root1 As B4XView) Root = Root1 Root.LoadLayout("MainPage") i_progress.SetGif(File.DirAssets, "progress.gif") l_version.Text = Application.VersionName l_version0.Text = Application.VersionName p_principal.Width = Root.Width : p_principal.Height = Root.Height l_version0.Top = Root.Height - 60dip Subs.centraPanel(p_datos, Root.Width) Subs.centraPanel(p_validacion, Root.Width) p_validacion.Top = l_diasVenta.Top reqManager.Initialize(Me, "http://keymon.net:1781") B4XPages.SetTitle(Me, "Revisión de BD") Subs.centraPanel(p_progressDialog, Root.Width) Subs.centraPanel(p_editaRuta, Root.Width) Subs.centraPanel(p_editaAlmacen, Root.Width) Subs.centraPanel(p_editaUsuario, Root.Width) Subs.centraPanel(p_clientes, Root.Width) ime.Initialize("ime") lv_DBRServer.AddSingleLine("http://keymon.net:1781") ' lv_DBRServer.AddSingleLine("http://keymon.net:1782") lv_DBRServer.AddSingleLine("http://keymon.net:1782") et_server.Text = "http://keymon.net:1781" B_SERVER.Left = (Root.Width / 2) - (B_SERVER.Width / 2) 'Centramos B_SERVER et_server.Left = (Root.Width / 2) - (et_server.Width / 2) 'Centramos et_server lv_DBRServer.Left = (Root.Width / 2) - (lv_DBRServer.Width / 2) 'Centramos lv_DBRServer sp_empresa.Add("------------") sp_empresa.Add("Durakelo") sp_empresa.Add("Guna") sp_empresa.Add("Guna_Reparto") sp_empresa.Add("Durakelo_Reparto") sp_empresa.Add("Intmex") sp_empresa.Add("Intmex_Reparto") sp_empresa.Add("Mazapa_Reparto") sp_empresa.Add("Marquez_Reparto") sp_empresa.Add("Profina_Reparto") sp_empresa.Add("Izca") sp_empresa.Add("Kelloggs") sp_empresa.Add("Mariana") sp_empresa.Add("Marquez") sp_empresa.Add("Mazapa") sp_empresa.Add("Profina") i_engrane.Left = Root.Width - i_engrane.Width - 5dip Intmex.Initialize Kelloggs.Initialize Guna_Reparto.Initialize Intmex_Reparto.Initialize Mazapa_Reparto.Initialize Marquez_Reparto.Initialize Durakelo_Reparto.Initialize Profina_Reparto.Initialize Izca.Initialize Durakelo.Initialize Marquez.Initialize Mazapa.Initialize Profina.Initialize importador.Initialize End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear Log("INICIO") ' CODIGO PARA INTENT DE IMPORTAR BD DESDE WHATSAPP ' 1. Obtener el Intent del activity padre (Esto SE QUEDA fuera de la clase) Dim in As Intent = B4XPages.GetNativeParent(Me).GetStartingIntent ' 2. Pasamos la bolita a la clase If importador.ProcesarIntent(in) Then ToastMessageShow("BD importada correctamente", False) If importador.EsDeWhatsapp(in) Then B4XPages.SetTitle(Me, "BD cargada desde Whatsapp") End If ' TERMINA CODIGO DE IMPORTACION ' Log($"Existe BD: ${File.Exists(File.DirInternal, "kmt.db") }"$) If File.Exists(File.DirInternal, "kmt.db") Then If Not(skmt.IsInitialized) Then skmt.Initialize(File.DirInternal,"kmt.db", True) Try Dim ai As Cursor = skmt.ExecQuery($"select CAT_VA_DESCRIPCION, CAT_VA_VALOR from cat_variables where CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_VERSION'"$) If ai.RowCount > 1 Then For i = 0 To ai.RowCount -1 ai.Position = i If ai.GetString("CAT_VA_DESCRIPCION") = "EMPRESA" Then empresa = ai.GetString("CAT_VA_VALOR") If ai.GetString("CAT_VA_DESCRIPCION") = "APP_NAME" Then empresa = ai.GetString("CAT_VA_VALOR") If ai.GetString("CAT_VA_DESCRIPCION") = "APP_VERSION" Then appVersion = ai.GetString("CAT_VA_VALOR") ' Log(ai.GetString("CAT_VA_DESCRIPCION")) Next l_appInfo.Text = $"${empresa} ${appVersion}"$ End If ai.Close Catch Log(LastException) LogColor("Error en CAT_VARIABLES", Colors.red) End Try If empresa.ToUpperCase.Contains("REPARTO") Then p_datos_reparto.Top = p_datos.Top p_datos_reparto.Left = p_datos.Left p_datos_reparto.BringToFront p_datos_reparto.Visible = True tipoApp = "REPARTO" Else tipoApp = "VENTA" p_datos_reparto.Visible = False End If If tipoApp = "VENTA" Then leeInfoVenta Else p_datos_reparto.Top = p_datos.Top + 20dip p_datos_reparto.Left = p_datos.Left p_datos_reparto.BringToFront p_datos_reparto.Visible = True i_engrane.BringToFront leeInfoReparto End If End If Try usuario = Subs.traeUsuarioDeBD almacen = Subs.traeAlmacen ruta = Subs.traeRuta Catch Log(LastException) End Try ' b_enviar.Enabled = False LogColor("#####################################################", Colors.red) LogColor($"########## ${empresa} ###############"$, Colors.red) LogColor("#####################################################", Colors.red) empresa = empresa.Replace(" ", "_") p_empresa.Visible = False If empresa.ToUpperCase.Contains("MARIANA") Then b_enviar.Text = "Enviar Mariana" b_valida.Text = "Validar Mariana" Log("Cargamos MARIANA") b_enviar.Enabled = True else if empresa.ToUpperCase.Contains("GUNA") Then b_enviar.Text = "Enviar Guna" b_valida.Text = "Validar Guna" b_enviar.Enabled = True Log("Cargamos GUNA") else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then b_enviar.Text = "Enviar Guna Reparto" b_valida.Text = "Validar Guna Reparto" b_enviar.Enabled = True Log("Cargamos Guna_Reparto") else if empresa.ToUpperCase.Contains("INTMEX_REPARTO") Then b_enviar.Text = "Enviar Intmex Reparto" b_valida.Text = "Validar Intmex Reparto" b_enviar.Enabled = True Log("Cargamos Intmex_Reparto") else if empresa.ToUpperCase.Contains("MARQUEZ_REPARTO") Then b_enviar.Text = "Enviar Marquez Reparto" b_valida.Text = "Validar Marquez Reparto" b_enviar.Enabled = True Log("Cargamos Marquez_Reparto") else if empresa.ToUpperCase.Contains("MAZAPA_REPARTO") Then b_enviar.Text = "Enviar Mazapa Reparto" b_valida.Text = "Validar Mazapa Reparto" b_enviar.Enabled = True Log("Cargamos Mazapa_Reparto") else if empresa.ToUpperCase.Contains("DURAKELO_REPARTO") Then b_enviar.Text = "Enviar Durakelo Reparto" b_valida.Text = "Validar Durakelo Reparto" b_enviar.Enabled = True Log("Cargamos Durakelo_Reparto") else if empresa.ToUpperCase.Contains("PROFINA_REPARTO") Then b_enviar.Text = "Enviar Profina Reparto" b_valida.Text = "Validar Profina Reparto" b_enviar.Enabled = True Log("Cargamos Profina_Reparto") else if empresa.ToUpperCase.Contains("INTMEX") Then b_enviar.Text = "Enviar Intmex" b_valida.Text = "Validar Intmex" b_enviar.Enabled = True Log("Cargamos INTMEX") else if empresa.ToUpperCase.Contains("KELLOGGS") Then b_enviar.Text = "Enviar Kelloggs" b_valida.Text = "Validar Kelloggs" b_enviar.Enabled = True Log("Cargamos KELLOGGS") else if empresa.ToUpperCase.Contains("IZCA") Then b_enviar.Text = "Enviar Izca" b_valida.Text = "Validar Izca" b_enviar.Enabled = True Log("Cargamos IZCA") else if empresa.ToUpperCase.Contains("DURAKELO") Then b_enviar.Text = "Enviar Durakelo" b_valida.Text = "Validar Durakelo" b_enviar.Enabled = True Log("Cargamos DURAKELO") else if empresa.ToUpperCase.Contains("MARQUEZ") Then b_enviar.Text = "Enviar Marquez" b_valida.Text = "Validar Marquez" b_enviar.Enabled = True Log("Cargamos MARQUEZ") else if empresa.ToUpperCase.Contains("MAZAPA") Then b_enviar.Text = "Enviar Mazapa" b_valida.Text = "Validar Mazapa" b_enviar.Enabled = True Log("Cargamos MAZAPA") else if empresa.ToUpperCase.Contains("PROFINA") Then b_enviar.Text = "Enviar Profina" b_valida.Text = "Validar Profina" b_enviar.Enabled = True Log("Cargamos PROFINA") Else p_empresa.Visible = True b_enviar.Enabled = False End If End Sub Sub leeInfoVenta Try Dim c As Cursor = skmt.ExecQuery($"select count(distinct pe_cliente) as pedidos, group_concat(distinct substr(pe_fecha, 4,2)) as diasVenta, sum(pe_costo_tot) as total, (select PE_CANT from pedido where PE_CANT = 0) as cantsEnCero, (select count(distinct PE_CLIENTE) from pedido where printf("%d", PE_CLIENTE) <> PE_CLIENTE ) as clienteNoNumerico from pedido"$) ' Log(c.RowCount) If c.RowCount > 0 Then c.Position = 0 l_pedidos2.Text = c.GetString("pedidos") l_diasVenta.Text = "N/A" If c.GetString("diasVenta") <> Null Then l_diasVenta.Text = c.GetString("diasVenta") If c.GetString("diasVenta").Length > 2 Then l_diasVenta.TextColor = Colors.Red Else l_diasVenta.TextColor = Colors.Black End If If c.GetString("total") <> Null Then l_totalVenta.Text = "$" & NumberFormat2(c.GetString("total"), 1, 2, 2, True) Else l_totalVenta.Text = "0" l_cantsEnCero.Text = "0" If c.GetString("cantsEnCero") <> Null Then l_cantsEnCero.Text = c.GetString("cantsEnCero") l_clienteNoNumerico.Text = c.GetString("clienteNoNumerico") End If c.Close Catch Log(LastException) LogColor("Error en PEDIDO", Colors.red) End Try Try Dim c As Cursor = skmt.ExecQuery("select pe_ruta from pedido") If c.RowCount > 0 Then c.Position = 0 ruta = c.GetString("PE_RUTA") l_ruta2.Text = ruta End If c.Close Catch Log(LastException) LogColor("Error en PEDIDO", Colors.red) End Try Try Dim c As Cursor = skmt.ExecQuery("select USUARIO from usuarioa") If c.RowCount > 0 Then c.Position = 0 usuario = c.GetString("USUARIO") l_usuario2.Text = usuario End If c.Close Catch Log(LastException) LogColor("Error en USUARIOA", Colors.red) End Try Try Dim c As Cursor = skmt.ExecQuery("select ID_ALMACEN from cat_almacen") If c.RowCount > 0 Then c.Position = 0 almacen = c.GetString("ID_ALMACEN") l_almacen2.Text = almacen End If c.Close Catch Log(LastException) LogColor("Error en CAT_ALMACEN", Colors.red) End Try End Sub Sub leeInfoReparto Private rescant As String Private totalcantped As String Private rescant2 As Double = 0 Dim f As Cursor = skmt.ExecQuery("select rutaa from rutaa") If f.RowCount > 0 Then f.Position = 0 l_rutaRep.Text = f.GetString("RUTAA") End If f = skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info WHERE CAT_CL_RUTA <> 1000 order by CAT_CL_RUTA") l_rutasP.Text = "" For i = 0 To f.RowCount - 1 f.Position = i If i = 0 Then l_rutasP.Text = f.GetString("CAT_CL_RUTA") Else l_rutasP.Text = l_rutasP.Text & ", " & f.GetString("CAT_CL_RUTA") End If Next f.Close ActualizarEtiquetasReparto End Sub ' Esta subrutina calcula y actualiza las etiquetas de totales en la página principal. Sub ActualizarEtiquetasReparto ' --- Declaraciones de variables para cálculos --- Private r5 As Cursor Private r6 As Cursor Private r55 As Cursor Private r5r As Cursor Private r6r As Cursor Private rescant As String = 0 Private rescant2 As Double = 0 Private rescant3 As Double = 0 Private rescant4 As Double = 0 Private rescant5 As Double = 0 Private rescant6 As Double = 0 Private rescant7 As Double = 0 Dim b As Cursor = skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente") b.Position=0 Private Cuantos As String = b.GetString("CUANTOS") Dim d As Cursor = skmt.ExecQuery("select count(distinct(CAT_CL_NOMBRE)) as TOTAL_VISITAR from kmt_info where gestion = 0 AND CAT_CL_RUTA <> 1000") D.Position=0 Dim e As Cursor = skmt.ExecQuery("select COUNT(distinct(CAT_CL_NOMBRE)) as POR_VISITAR from kmt_info WHERE CAT_CL_RUTA <> 1000") e.Position=0 Log(Cuantos) If Cuantos = 0 Then l_cuantosc.Text = 0 l_cuantosn.Text = 0 l_ctast.Text = d.GetString("TOTAL_VISITAR") l_porvisitar.Text = e.GetString("POR_VISITAR") End If b = skmt.ExecQuery("select count(DISTINCT NV_CLIENTE) as CUANTOS from noventa where nv_motivo <> 'ENTREGA' and NV_CLIENTE <> 63403") l_cuantosn.Text = 0 b.Position = 0 If b.RowCount > 0 Then l_cuantosn.Text = b.GetString("CUANTOS") b.Close Dim L As Cursor = skmt.ExecQuery("select count(DISTINCT NV_CLIENTE) as CLIENTES_DIA from noventa where nv_motivo = 'ENTREGA' and NV_CLIENTE <> 63403") L.Position = 0 If L.RowCount > 0 Then l_cuantosc.Text = L.GetString("CLIENTES_DIA") ' --- Cálculo de l_rechazo y L_MONTOE --- ' Cálculo de rescant (Rechazos Cajas=0) Try r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_PROID "$) rescant = 0 If r5.RowCount > 0 Then For j4 = 0 To r5.RowCount -1 r5.Position = j4 Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$) Dim totalcantped As String If r6.RowCount > 0 Then r6.Position = 0 totalcantped = r6.GetString("PE_CANT") Else totalcantped = 0 End If ' Log(r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped) rescant = rescant + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped))) r6.Close Next End If If rescant = "NaN" Then rescant = 0 r5.Close Catch ToastMessageShow("Falta columna HVD_RECHAZO_CANT", False) Log(LastException) End Try Try ' Cálculo de rescant2 (Rechazos Cajas=1) r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$) rescant2 = 0 If r5.RowCount > 0 Then For j5 = 0 To r5.RowCount -1 r5.Position = j5 Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}'"$) r6.Position = 0 rescant2 = rescant2 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("CANTC")))*((r5.GetString("HVD_RECHAZOCANT") - r6.GetString("PE_CANT"))/Subs.traeConversion(r5.GetString("HVD_PROID")))) rescant2 = NumberFormat2(rescant2, 0, 2, 2, False) r6.Close Next End If If rescant2 = "NaN" Then rescant2 = 0 Log(rescant2) r5.Close Catch ToastMessageShow("Falta columna CANTC", False) Log(LastException) End Try ' Asignación de l_rechazo l_rechazo.text = NumberFormat2((rescant + rescant2),0,2,2,False) Try ' Cálculo de rescant3 (Entregado Cajas=0) Private r55 As Cursor = skmt.ExecQuery($"select HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '0' "$) rescant3 = 0 If r55.RowCount > 0 Then For r75 = 0 To r55.RowCount -1 r55.Position = r75 rescant3 = rescant3 + r55.GetString("HVD_COSTO_TOT") rescant3 = NumberFormat2(rescant3, 0, 2, 2, False) Next End If r55.Close Catch Log(LastException) ToastMessageShow("Falta columna BCAJAS", False) End Try Try ' Cálculo de rescant4 (Entregado Cajas=1) r5 = skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '1' "$) rescant4 = 0 If r5.RowCount > 0 Then r5.Position = 0 rescant4 = r5.GetString("HVD_COSTO_TOT") End If ' Log(rescant4) r5.Close Catch Log(LastException) ToastMessageShow("Falta columna BCAJAS", False) End Try ' Cálculo de rescant5 (Venta nueva en PEDIDO) r5 = skmt.ExecQuery($"select IFNULL(SUM(PE_COSTO_TOT),0) AS PE_COSTO_TOT from PEDIDO "$) rescant5 = 0 If r5.RowCount > 0 Then r5.Position = 0 rescant5 = r5.GetString("PE_COSTO_TOT") End If Log(rescant5) r5.Close Try ' Cálculo de rescant6 (Entregado parcial Cajas=0) r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$) rescant6 = 0 If r5.RowCount > 0 Then For j4 = 0 To r5.RowCount -1 r5.Position = j4 Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$) r6.Position = 0 rescant6 = rescant6 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*(r5.GetString("HVD_CANT")- r5.GetString("HVD_RECHAZOCANT"))) r6.Close Next End If If rescant6 = "NaN" Then rescant6 = 0 LogColor(rescant6,Colors.Red) r5.Close Catch Log(LastException) ToastMessageShow("Falta columna HVD_CANT", False) End Try Try ' Cálculo de rescant7 (Entregado parcial Cajas=1) r5 = skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$) rescant7 = 0 If r5.RowCount > 0 Then For j5 = 0 To r5.RowCount -1 r5.Position = j5 Private r6 As Cursor = skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}'"$) r6.Position = 0 rescant7 = rescant7 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("CANTC")))*((r5.GetString("HVD_CANT") - r5.GetString("HVD_RECHAZOCANT") )/Subs.traeConversion(r5.GetString("HVD_PROID")))) r6.Close Next End If If rescant7 = "NaN" Then rescant7 = 0 Log(rescant7) r5.Close Catch Log(LastException) End Try ' Asignación de L_MONTOE (Monto Entregado) L_MONTOE.Text = NumberFormat2((rescant3 + rescant4 + rescant5 + rescant6 + rescant7),0,2,2,False) Try ' --- Cálculo de l_pagarescobrados --- Dim pagarescobrados As Cursor = skmt.ExecQuery("SELECT IfNull(SUM(a_abono),0) as a_abono FROM ABONOS") pagarescobrados.Position = 0 l_pagarescobrados.Text = NumberFormat2(pagarescobrados.GetDouble("a_abono"),0,2,2,False) pagarescobrados.Close Catch Log(LastException) ToastMessageShow("Falta tabla ABONOS", False) End Try Try ' --- Cálculo de l_pagaresnuevos --- Dim pagaresnuevos As Cursor = skmt.ExecQuery("SELECT IfNull(SUM(PA_MONTO),0) as PA_MONTO FROM PAGARES") pagaresnuevos.Position = 0 l_pagaresnuevos.Text = NumberFormat2(pagaresnuevos.GetDouble("PA_MONTO"),0,2,2,False) pagaresnuevos.Close Catch Log(LastException) ToastMessageShow("Falta columna PA_MONTO", False) End Try Try ' --- Cálculo de l_montoaliquidar --- l_montoaliquidar.Text = NumberFormat2((l_pagarescobrados.Text+ L_MONTOE.Text - l_pagaresnuevos.Text),0,2,2,False) Catch Log(LastException) ToastMessageShow("Campo de pagares en blanco", False) End Try End Sub Sub b_enviar_Click Dim resultado = Msgbox2("Se va a enviar la venta de la BD", "AVISO", "Continuar", "Cancelar", "", Null) 'ignore If resultado = DialogResponse.POSITIVE Then B4XPages.MainPage.l_progressDialog.Text = " Enviando información" B4XPages.MainPage.p_progressDialog.Top = l_pedidos2.Top B4XPages.MainPage.p_progressDialog.Visible = True B4XPages.MainPage.p_progressDialog.BringToFront reqManager.reqsList.Initialize 'inicializamos lista de requests. If empresa.ToUpperCase.Contains("MARIANA") Then envioMariana else if empresa.ToUpperCase.Contains("GUNA") Then envioGuna else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then ' envioGuna_Reparto Guna_Reparto.ConfigurarYEnviar("http://keymon.net:1782") else if empresa.ToUpperCase.Contains("INTMEX_REPARTO") Then ' envioGuna_Reparto Intmex_Reparto.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("MARQUEZ_REPARTO") Then ' envioGuna_Reparto Marquez_Reparto.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("MAZAPA_REPARTO") Then ' envioGuna_Reparto Mazapa_Reparto.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("DURAKELO_REPARTO") Then ' envioGuna_Reparto Durakelo_Reparto.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("INTMEX") Then Intmex.ConfigurarYEnviar("http://keymon.net:1781") ' envioIntmex else if empresa.ToUpperCase.Contains("KELLOGGS") Then Kelloggs.ConfigurarYEnviar("http://keymon.net:1781") ' envioKelloggs Kelloggs.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("IZCA") Then ' envioIzca Izca.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("DURAKELO") Then ' envioDurakelo Durakelo.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("MARQUEZ") Then ' envioMarquez Marquez.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("MAZAPA") Then ' envioMazapa Mazapa.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("PROFINA") Then ' envioProfina Profina.ConfigurarYEnviar("http://keymon.net:1781") else if empresa.ToUpperCase.Contains("PROFINA_REPARTO") Then ' envioProfina Profina_Reparto.ConfigurarYEnviar("http://keymon.net:1781") End If ' Sleep(5000) End If ToastMessageShow($"Se enviaran los datos, este proceso podria tardar hasta un minuto."$ , True) End Sub Sub JobDone(Job As HttpJob) Log("JOBDONE MAINPAGE") If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) End If LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) End If If Not(Job.Success) Then LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red) Else 'If Job Success then ... LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) Dim resultado As DBResult = reqManager.HandleJob(Job) If Job.JobName = "DBRequest" Then Dim resultado As DBResult = reqManager.HandleJob(Job) If resultado.Tag.As(String).IndexOf("ins_pedido_") > -1 Then Dim cliente As String= resultado.Tag Log($"Cliente1:${cliente}"$) 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("hist_encuesta") > -1 Then Dim cliente As String= resultado.Tag Log($"Cliente1:${cliente}"$) 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 = "valida_pedido" Then 'query tag For Each records() As Object In resultado.Rows Dim CUANTOSP As Int = records(resultado.Columns.Get("CUANTOSP")) l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$ If cuantos_pedido <= CUANTOSP Then ToastMessageShow("INFO OK", True) Else ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Envíe nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True) ToastMessageShow("ENVIAR DATOS (K-2)", True) Log("No se cargo bien la info de pedido. Envíe nuevamente: " & CUANTOSP & "/" & cuantos_pedido) End If Next End If If resultado.Tag = "valida_pedidoc" Then 'query tag For Each records() As Object In resultado.Rows Dim CUANTOSC As Int = records(resultado.Columns.Get("CUANTOSC")) l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$ If cuantos_pedidosc <= CUANTOSC Then Else ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Envíe nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True) Log("No se cargo bien la info de pedido_cliente. Envíe nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc) End If Next End If If resultado.Tag = "valida_noventa" Then 'query tag For Each records() As Object In resultado.Rows Dim CUANTOSN As Int = records(resultado.Columns.Get("CUANTOSN")) l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$ If cuantos_noventa <= CUANTOSN Then Else ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Envíe nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True) Log("No se cargo bien la info de NoVenta. Envíe nuevamente:" & CUANTOSN & "/" & cuantos_noventa) End If Next End If If resultado.Tag = "ins_pedido" Then 'query tag For Each records() As Object In resultado.Rows Next Log("5") End If If resultado.Tag = "ins_pedido" Then 'query tag For Each records() As Object In resultado.Rows ' PB2.Progress = PB2.Progress + 5 ' S_CP.Text = "SUBIENDO" Next End If End If End If Log(reqManager.reqsList) If reqManager.reqsList.size = 0 Then p_progressDialog.Visible = False Job.Release End Sub Sub B4XPage_CloseRequest As ResumableSub If p_engrane.Visible = True Then p_engrane.Visible = False Else ExitApplication End If Return False End Sub Sub b_cargarBD_Click Dim FH As FileHandler FH.Initialize l_appInfo.Text = "" Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar. Log("|" & Result.FileName & "|") If Result.FileName <> "" And Result.FileName <> Null Then p_clientes.Visible = False p_editaAlmacen.Visible = False p_editaRuta.Visible = False File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno. skmt.Initialize(File.DirInternal,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada. B4XPage_Appear ToastMessageShow("¡BD importada!", False) End If End Sub Sub l_ruta2_LongClick p_editaRuta.Top = l_ruta2.top b_guardaRuta.text = $"Cambiar en "${l_ruta2.text}""$ p_editaRuta.Visible = True End Sub Sub l_almacen2_LongClick p_editaAlmacen.Top = l_almacen2.top p_editaAlmacen.Visible = True End Sub Sub l_usuario2_LongClick p_editaUsuario.Top = l_usuario2.top p_editaUsuario.Visible = True Log("xxx") End Sub Sub l_clienteNoNumerico_LongClick Dim c As Cursor = skmt.ExecQuery($"select distinct pe_cliente as cliente from pedido"$) If c.RowCount > 0 Then clv_clientes.Clear For i = 0 To c.RowCount - 1 c.Position = i clv_clientes.Add(CreateListItem(c.GetString("cliente")),i) Next End If p_clientes.Top = l_totalVenta.top p_clientes.BringToFront p_clientes.Visible = True End Sub 'Cambiamos la ruta actual por la especificado. Sub b_guardaRuta_Click Log("Guardamos nueva ruta.") If et_nuevaRuta.Text <> "" Then skmt.ExecNonQuery($"update PEDIDO set PE_RUTA = '${et_nuevaRuta.Text}' where PE_RUTA = '${ruta}'"$) skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_RUTA = '${et_nuevaRuta.Text}' where PC_RUTA = '${ruta}'"$) skmt.ExecNonQuery($"update kmt_info set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) Try 'Si es Guna, se pone en kmt_info2 skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) Catch Log(LastException) End Try l_ruta2.Text = et_nuevaRuta.text End If p_editaRuta.Visible = False End Sub Private Sub b_guardaRutaTodos_Click Log("Guardamos nueva ruta.") If et_nuevaRuta.Text <> "" Then skmt.ExecNonQuery($"update PEDIDO set PE_RUTA = '${et_nuevaRuta.Text}'"$) skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_RUTA = '${et_nuevaRuta.Text}' where PC_RUTA = '${ruta}'"$) skmt.ExecNonQuery($"update kmt_info set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) Try 'Si es Guna, se pone en kmt_info2 skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$) Catch Log(LastException) End Try l_ruta2.Text = et_nuevaRuta.text End If p_editaRuta.Visible = False End Sub 'Cambiamos el almacen actual por el especificado. Sub b_guardaAlmacen_Click If et_nuevoAlmacen.Text <> "" Then skmt.ExecNonQuery($"delete from cat_almacen"$) skmt.ExecNonQuery($"insert into cat_almacen (id_almacen) values ('${et_nuevoAlmacen.Text}')"$) skmt.ExecNonQuery($"update PEDIDO set PE_CEDIS = '${et_nuevoAlmacen.Text}' where PE_CEDIS = '${l_almacen2.text}'"$) skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ALMACEN = '${et_nuevoAlmacen.Text}' where PC_ALMACEN = '${l_almacen2.text}'"$) l_almacen2.Text = et_nuevoAlmacen.text End If p_editaAlmacen.Visible = False End Sub 'Cambiamos el usuario actual por el especificado. Private Sub b_guardaUsuario_Click ' skmt.ExecNonQuery($"delete from usuarioa"$) If et_nuevoUsuario.Text <> "" Then skmt.ExecNonQuery($"update usuarioa set usuario = '${et_nuevoUsuario.Text}'"$) skmt.ExecNonQuery($"update NOVENTA set NV_USER = '${et_nuevoUsuario.Text}' where NV_USER = '${l_usuario2.text}'"$) skmt.ExecNonQuery($"update PEDIDO set PE_USUARIO = '${et_nuevoUsuario.Text}' where PE_USUARIO = '${l_usuario2.text}'"$) skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_USER = '${et_nuevoUsuario.Text}' where PC_USER = '${l_usuario2.text}'"$) l_usuario2.Text = et_nuevoUsuario.text End If p_editaUsuario.Visible = False End Sub Sub p_principal_Click p_editaAlmacen.Visible = False p_editaRuta.Visible = False p_clientes.Visible = False p_editaUsuario.Visible = False p_validacion.Visible = False ime.HideKeyboard End Sub Sub CreateListItem(mostrar As String) As Panel Dim p As B4XView = xui.CreatePanel("") p.SetLayoutAnimated(0, 0, 0, 1, 10) 'ignore p.LoadLayout("listItem") p.Height= 36dip p.Width = clv_clientes.GetBase.Width p_item.Height = p.Height p_item.Width = p.Width l_item.Height = p.Height l_item.Width = p.Width l_item.Text = mostrar ' cxc.Text = mostrar3 ' Log(p.Width) Return p End Sub Sub i_engrane_Click Subs.panelVisible(p_engrane, 0, 0) p_engrane.Width = Root.Width : p_engrane.Height = Root.Height End Sub Sub B_SERVER_Click p_engrane.Visible = False reqManager.Initialize(Me, et_server.text) End Sub Sub lv_DBRServer_ItemClick (Position As Int, Value As Object) et_server.Text = Value reqManager.Initialize(Me, Value) End Sub Private Sub lv_empresa_ItemClick (Position As Int, Value As Object) empresa = Value l_appInfo.Text = $"${empresa}"$ End Sub Private Sub sp_empresa_ItemClick (Position As Int, Value As Object) empresa = Value If empresa <> "------------" And empresa <> "" Then b_enviar.Enabled = True b_valida.Enabled = True b_enviar.Text = $"Enviar ${empresa} "$ b_valida.Text = $"Validar ${empresa} "$ Else b_enviar.Enabled = False b_valida.Enabled = False End If If Value.As(String).ToUpperCase.Contains("REPARTO") Then p_datos_reparto.Top = p_datos.Top + 20dip p_datos_reparto.Left = p_datos.Left p_datos_reparto.BringToFront p_datos_reparto.Visible = True i_engrane.BringToFront leeInfoReparto Else p_datos_reparto.Visible = False leeInfoVenta End If Log(Value) End Sub Sub envioMariana 'ignore reqManager.reqsList.Initialize 'inicializamos lista de requests. B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") ) B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") ' PEDIO_CLIENTE Dim c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") Dim d As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") If c.RowCount>0 Then For i=0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedidos_MARDS" cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, ruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_pedidos_${i}"$) Next End If c.Close d.Position=0 ' Dim cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") d.Close ' ENVIO DE LOS CODIGOS QR c = B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) If c.RowCount>0 Then For i=0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_QR_2_MARDS" cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen, ruta) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_QR_${i}"$) Next End If c.Close c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") If c.RowCount>0 Then For i=0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_encuesta_MARDS" cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_encuesta_${i}"$) Next End If c.Close c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") If c.RowCount>0 Then For i=0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_MARDS" cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_pedido_${i}"$) Next End If c.Close d.Position=0 B4XPages.MainPage.cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close ' NOVENTA c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_noventa_MARDS" cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, ruta,C.GetString("NV_NOMBRE"),C.GetString("NV_DIRECCION")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_noventa_${i}"$) Next End If c.Close d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") d.Position = 0 Dim cuantos_noventa As String = d.GetString("CUANTOS_NOVENTA") d.Close ' GEO CERCA c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_geocerca_MARDS" cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_geocerca") Next End If c.Close ' LO DEL LIKE c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_face_like_MARDS" cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_facelike") Next End If c.Close ' DROP ' Dim sDate,sTime As String ' DateTime.DateFormat = "MM/dd/yyyy" ' sDate=DateTime.Date(DateTime.Now) ' sTime=DateTime.Time(DateTime.Now) ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name ="insert_drop_MARDS_2" ' cmd.Parameters = Array As Object(usuario,ruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) ' reqManager.ExecuteCommand(cmd , "inst_noventa") End Sub Sub envioGuna_Reparto 'ignore Guna_Reparto.envia End Sub Sub envioIntmex 'ignore Intmex.envia End Sub Sub envioDurakeloReparto 'ignore Durakelo_Reparto.envia End Sub Sub envioIntmexReparto 'ignore Intmex_Reparto.envia End Sub Sub envioMarquezReparto 'ignore Marquez_Reparto.envia End Sub Sub envioMazapaReparto 'ignore Mazapa_Reparto.envia End Sub Sub envioKelloggs 'ignore Kelloggs.envia End Sub Sub envioIzca 'ignore Izca.envia End Sub Sub envioDurakelo 'ignore Durakelo.envia End Sub Sub envioMarquez 'ignore Marquez.envia End Sub Sub envioMazapa 'ignore Mazapa.envia End Sub Sub envioProfina 'ignore Profina.envia End Sub Sub envioProfinaReparto 'ignore Profina_Reparto.envia End Sub Sub envioGuna 'ignore Private PASO As Int = 1 reqManager.Initialize(Me, "http://keymon.net:1782") reqManager.reqsList.Initialize 'inicializamos lista de requests. If PASO = 1 Then B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") ' PEDIO_CLIENTE c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedidos_GV2" cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN") ) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos") Log("ins_pedidos") Next End If c.Close d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") d.Position=0 cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") d.Close ' ENVIO DE LOS CODIGOS QR 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_QR_2_GV2" cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"), C.GetString("CODIGOB"), C.GetString("LON"), C.GetString("LAT"), almacen, ruta) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") Next End If c.Close c = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) 's.Position =0 Private foto1() As Byte = c.GetBlob("CAT_CL_FOTO") Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_QR_GV2" cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"), C.GetString("CAT_CL_CODIGO"), C.GetString("CAT_CL_LONG"), C.GetString("CAT_CL_LAT"), almacen, ruta, foto1) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR") Next End If c.Close c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_encuesta" cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_GV2" cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) ' Log($"${C.GetString("PE_CEDIS")}, ${almacen}, ${C.GetString("PE_COSTO_TOT")}, ${C.GetString("PE_COSTOU")}, ${C.GetString("PE_CANT")}, C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), ${C.GetString("PE_CLIENTE")},${C.GetString("PE_FECHA")},${C.GetString("PE_USUARIO")},${C.GetString("PE_RUTA")}, C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")"$) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") Log("ins_pedido") Next End If c.Close d.Position=0 cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close If almacen = "88" Or almacen = "6" Then c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_GV2_06" cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") Log("ins_pedido") Next End If c.Close d.Position=0 cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close Else c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_GV2_06" cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") Log("ins_pedido") Next End If c.Close d.Position=0 cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close End If ' NOVENTA c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_noventa_GV2" cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, ruta) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") d.Position = 0 cuantos_noventa = D.GetString("CUANTOS_NOVENTA") d.Close ' DATOS DE KMTS PARA EL TIPO DE ABARROTE. '''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_GIROS_ENC" cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_GIRO")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close ' GEO CERCA c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_geocerca_GV2" cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close ' LO DEL LIKE c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_face_like_GV2" cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If c.Close ' DROP ' t1.Initialize("T1", 30000) ' 1000 = 1 second ' t1.Enabled = True ' Dim sDate,sTime As String ' DateTime.DateFormat = "MM/dd/yyyy" ' sDate=DateTime.Date(DateTime.Now) ' sTime=DateTime.Time(DateTime.Now) ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name ="insert_drop_GV2_2" ' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen) ' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") ' img2.Visible =True ' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) ' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) End If Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO1") If x.RowCount>0 Then For i=0 To x.RowCount -1 x.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_ENCUESTA_MODULO1" cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO1") Next End If x.Close Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6 from ENCUESTA_MODULO2") If x.RowCount>0 Then For i=0 To x.RowCount -1 x.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_ENCUESTA_MODULO2" cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO2") Next End If x.Close Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO3") If x.RowCount>0 Then For i=0 To x.RowCount -1 x.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_ENCUESTA_MODULO3" cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO3") Next End If x.Close Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8 from ENCUESTA_MODULO4") If x.RowCount>0 Then For i=0 To x.RowCount -1 x.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_ENCUESTA_MODULO4" cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO4") Next End If x.Close Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO5") If x.RowCount>0 Then For i=0 To x.RowCount -1 x.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_ENCUESTA_MODULO5" cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO5") Next End If x.Close End Sub 'Valida la venta contra web. 'Revisa que la NOVENTA, la cantidad de pedidos y los productos de PEDIDO sean los mismos en web y locales. Sub valida(identificador As String) Log("Validamos " & identificador) If empresa.ToUpperCase.Contains("GUNA") Then ' reqManager.Initialize(Me, "http://keymon.lat:1782") reqManager.Initialize(Me, "http://keymon.net:1782") Else ' reqManager.Initialize(Me, "http://keymon.lat:1781") reqManager.Initialize(Me, "http://keymon.net:1781") End If d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") d.Position = 0 Dim cuantos_noventa As String = d.GetString("CUANTOS_NOVENTA") d.Close cmd.Initialize cmd.Name = $"select_cuantos_noventa_${identificador}"$ cmd.Parameters = Array As Object(almacen, ruta) reqManager.ExecuteQuery(cmd , 0, "valida_noventa") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") d.Position = 0 cuantos_pedido = D.GetString("CUANTOS_PEDIDO") d.Close cmd.Initialize cmd.Name = $"select_cuantos_pedido_${identificador}"$ cmd.Parameters = Array As Object(almacen, ruta) reqManager.ExecuteQuery(cmd , 0, "valida_pedido") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") d.Position = 0 cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") d.Close cmd.Initialize cmd.Name = $"select_cuantos_pedidoc_${identificador}"$ cmd.Parameters = Array As Object(almacen, ruta) reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") End Sub Private Sub p_empresa_Click End Sub Private Sub b_valida_Click l_vPedidos2.Text = "" l_vProds2.Text = "" l_vNoVenta2.Text = "" p_validacion.Visible = True If empresa.ToUpperCase.Contains("MARIANA") Then valida("MARDS") else if empresa.ToUpperCase.Contains("GUNA") Then valida("GV2") else if empresa.ToUpperCase.Contains("INTMEX") Then Intmex.valida else if empresa.ToUpperCase.Contains("KELLOGGS") Then Kelloggs.valida else if empresa.ToUpperCase.Contains("IZCA") Then Izca.valida else if empresa.ToUpperCase.Contains("MAZAPA") Then Mazapa.valida else if empresa.ToUpperCase.Contains("DURAKELO") Then Durakelo.valida else if empresa.ToUpperCase.Contains("MARQUEZ") Then Marquez.valida else if empresa.ToUpperCase.Contains("PROFINA") Then Profina.valida End If End Sub Private Sub p_engrane_Click End Sub Private Sub p_validacion_Click p_validacion.Visible = False End Sub