Completa hasta hoy

This commit is contained in:
Javier
2025-11-06 11:26:24 -06:00
parent 03a38f908f
commit 76a26a92bb
10 changed files with 212 additions and 2451 deletions

View File

@@ -428,7 +428,7 @@ Sub B4XPage_Appear
Else
p_cbFactura.Visible = True
l_factura.Visible = True
b_ventaabordo.Visible = True
b_ventaabordo.Visible = False
End If
@@ -479,7 +479,7 @@ Sub B4XPage_Appear
b_venta_credito.Visible = False
Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then
Log("AQUI ESTOY SI VISIBLE BOTON")
b_venta_credito.Visible = True
b_venta_credito.Visible = False ''' AQUI ACTIVAR PARA CREDITOS
End If
Else
MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención")
@@ -487,7 +487,7 @@ Sub B4XPage_Appear
End If
credi3.Close
Else If credi2.GetString("SALDO_PENDIENTE") = 0 Then
b_venta_credito.Visible = True
b_venta_credito.Visible = False '' AQUI ACTIVAR
End If
Else
@@ -570,7 +570,7 @@ Sub GPS_LocationChanged (Location1 As Location)
Tels.Visible = True
gest.Visible = True
Else
If distance < 500000000000000000000000000000000000000000 Then
If distance < 50 Then
LA_GEO.TextColor = Colors.Blue
Tels.Visible = True
gest.Visible = True
@@ -721,29 +721,29 @@ Sub Guardar_Click
Dim costo As String = fg.GetString("COSTO")
If costo > 0 And costo < 1000 Then
' Msgbox2Async($"¿Desea continuar?${CRLF}Si acepta, el pedido a crédito se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False)
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' Subs.borraPedidoCredito
Msgbox2Async($"¿Desea continuar?${CRLF}Si acepta, el pedido a crédito se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
Subs.borraPedidoCredito
GuardaVenta
' End If
' End If
End If
Else If costo >= 1000 Then
' Dim cPagares As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) As REGISTRADO FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' cPagares.Position = 0
' If cPagares.GetString("REGISTRADO") = 0 Then
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA, PA_FECHA, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?) ", Array As Object (ALMACEN, LA_RUTA, (sDate &" "& sTime),(sDate &" "& sTime), costo, usuario, la_cuenta.Text))
' Log("Aqui inserto: " & "Almacen: " & ALMACEN & "Ruta " & LA_RUTA & "Fecha: " & (sDate &" "& sTime) & "Captura: " & (sDate &" "& sTime) & "Monto: " & costo & "Usuario: " & usuario & "Cliente: " & la_cuenta.Text & "<<<<<<<<<<<<<<<<<<<<<")
Dim cPagares As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) As REGISTRADO FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
cPagares.Position = 0
If cPagares.GetString("REGISTRADO") = 0 Then
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA, PA_FECHA, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?) ", Array As Object (ALMACEN, LA_RUTA, (sDate &" "& sTime),(sDate &" "& sTime), costo, usuario, la_cuenta.Text))
Log("Aqui inserto: " & "Almacen: " & ALMACEN & "Ruta " & LA_RUTA & "Fecha: " & (sDate &" "& sTime) & "Captura: " & (sDate &" "& sTime) & "Monto: " & costo & "Usuario: " & usuario & "Cliente: " & la_cuenta.Text & "<<<<<<<<<<<<<<<<<<<<<")
GuardaVenta
' p_credito.Visible = False
' Else
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PAGARES set PA_FECHA = ?, PA_CAPTURA = ?, PA_MONTO = ? where PA_CLIENTE In (select cuenta from cuentaa)", Array As Object ((sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text))
' Log("Aqui actualizo: " & "Almacen: " & ALMACEN & "Ruta " & LA_RUTA & "Fecha: " & (sDate &" "& sTime) & "Captura: " & (sDate &" "& sTime) & "Monto: " & costo & "Usuario: " & usuario & "Cliente: " & la_cuenta.Text & "<<<<<<<<<<<<<<<<<<<<<")
p_credito.Visible = False
Else
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PAGARES set PA_FECHA = ?, PA_CAPTURA = ?, PA_MONTO = ? where PA_CLIENTE In (select cuenta from cuentaa)", Array As Object ((sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text))
Log("Aqui actualizo: " & "Almacen: " & ALMACEN & "Ruta " & LA_RUTA & "Fecha: " & (sDate &" "& sTime) & "Captura: " & (sDate &" "& sTime) & "Monto: " & costo & "Usuario: " & usuario & "Cliente: " & la_cuenta.Text & "<<<<<<<<<<<<<<<<<<<<<")
GuardaVenta
' p_credito.Visible = False
' End If
' cPagares.Close
' GuardaVenta
p_credito.Visible = False
End If
cPagares.Close
GuardaVenta
End If
fg.Close
End If

View File

@@ -247,7 +247,7 @@ Sub GUARDA_Click
If giros <> "SELECCIONA UNA OPCIÓN" Or cb_giro.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then
' Verifica si el encargado que atiende el negocio está capturado
If ET_Atiende.Text <> "" Then
If et_colonia.Text <> "" Then
If et_telefono.Text <> "" Then
If et_colonia.Text <> "" Then
If et_cp.Text <> "" Then
@@ -302,7 +302,7 @@ Sub GUARDA_Click
MsgboxAsync("Por favor, debe capturar la colonia el negocio.","Atención")
End If
Else
MsgboxAsync("Por favor, debe capturar el telfono.","Atención")
MsgboxAsync("Por favor, debe capturar el telefono.","Atención")
End If
Else
' Mensaje de advertencia si ET_Atiende.Text está vacío
@@ -430,3 +430,15 @@ Private Sub cb_giro_SelectedIndexChanged (Index As Int)
giros = cb_giro.SelectedItem
End Sub
Private Sub et_cp_TextChanged (Old As String, New As String)
If New.Length > 5 Then
et_cp.Text = Old
Else If New.Length > 1 And New.Length <= 5 Then
If New.Contains(Chr(10)) Or New.Contains(Chr(13)) Or New.Contains(Chr(34)) Then
et_cp.Text = Old
End If
End If
End Sub

View File

@@ -632,24 +632,24 @@ Sub B4XPage_Appear
' d.Close
'-----------------------------
' Dim fg As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(SUM(CASE WHEN PE_FOLIO = 'PREVENTA_CREDITO' THEN PE_COSTO_TOT ELSE 0 END), 0) AS COSTO_CRED, IFNULL(SUM(CASE WHEN PE_FOLIO = 'PREVENTA_CONTADO' THEN PE_COSTO_TOT ELSE 0 END), 0) AS COSTO_CONTADO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO IN ('PREVENTA_CREDITO', 'PREVENTA_CONTADO')")
'
' fg.Position = 0
' Dim COSTO_CRED As Double = fg.GetDouble("COSTO_CRED")
' Dim COSTO_CONTADO As Double = fg.GetDouble("COSTO_CONTADO")
'
' Log("Costo Crédito: " & COSTO_CRED & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
' Log("Costo Contado: " & COSTO_CONTADO & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
'
' If COSTO_CRED > 0 And COSTO_CRED < 1000 Then
' Msgbox2Async($"Se ha detectado venta a crédito menor a $1000 pesos. ¿Desea borrarla?"$, "Venta Mínima de Crédito", "Sí", "", "", LoadBitmap(File.DirAssets, "alert2.png"), False)
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' Subs.borraPedidoCredito
' End If
' End If
'
' fg.Close
Dim fg As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(SUM(CASE WHEN PE_FOLIO = 'PREVENTA_CREDITO' THEN PE_COSTO_TOT ELSE 0 END), 0) AS COSTO_CRED, IFNULL(SUM(CASE WHEN PE_FOLIO = 'PREVENTA_CONTADO' THEN PE_COSTO_TOT ELSE 0 END), 0) AS COSTO_CONTADO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO IN ('PREVENTA_CREDITO', 'PREVENTA_CONTADO')")
fg.Position = 0
Dim COSTO_CRED As Double = fg.GetDouble("COSTO_CRED")
Dim COSTO_CONTADO As Double = fg.GetDouble("COSTO_CONTADO")
Log("Costo Crédito: " & COSTO_CRED & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
Log("Costo Contado: " & COSTO_CONTADO & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
If COSTO_CRED > 0 And COSTO_CRED < 1000 Then
Msgbox2Async($"Se ha detectado venta a crédito menor a $1000 pesos. ¿Desea borrarla?"$, "Venta Mínima de Crédito", "Sí", "", "", LoadBitmap(File.DirAssets, "alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
Subs.borraPedidoCredito
End If
End If
fg.Close
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
@@ -770,35 +770,35 @@ Sub Subir_Click
c.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_IZCA"
' cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text )
' reqManager.ExecuteCommand(cmd , "ins_QR")
' Next
' End If
' c.Close
'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_IZCA"
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text )
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
' foto1 = c.GetBlob("CAT_CL_FOTO")
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insert_QR_IZCA"
' 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,l_ruta.text )
' 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
foto1 = c.GetBlob("CAT_CL_FOTO")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_QR_IZCA"
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,l_ruta.text )
reqManager.ExecuteCommand(cmd , "ins_QR")
Next
End If
c.Close
' 'Envio de Pagares
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES")
@@ -859,7 +859,7 @@ Sub Subir_Click
cmd.Initialize
cmd.Name = "insert_clientesnuevos_IZCA4"
Log(c.GetString("CN_ID")&" ,"& c.GetString("CN_FECHA")&" ,"& c.GetString("CN_USER")&" ,"& c.GetString("CN_LAT")&" ,"& c.GetString("CN_LON")&" ,"& c.GetString("CN_NOMBRE")&" ,"& c.GetString("CN_DIRECCION")&" ,"&ALMACEN& c.GetString("CN_RUTA")&" ,"& "En espera"&c.GetString("CN_GIRO")&" ,"&dialetra& c.GetString("CN_SOLICITA")&" ,"& c.GetString("CN_COLONIA")&" ,"& c.GetString("CN_TELEFONO"))
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_CP").As(String).SubString2(0,5))
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_CP"))
reqManager.ExecuteCommand(cmd , "inst_clientesn")
Next
End If
@@ -909,18 +909,16 @@ Sub Subir_Click
c.Position = i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido5_IZCA" 'CON TOTALES INCLUIDOS
cmd.Name = "insert_pedido4_IZCA" 'CON TOTALES INCLUIDOS
' 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")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN)
If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Then
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",0)
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA")
Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",1)
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA")
Else If c.GetString("PE_FOLIO") = "ABORDO" Then
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO",0)
Else If c.GetString("PE_FOLIO") = "RECARGA" Then
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"RECARAGA",0)
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO")
Else
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA",0)
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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA")
End If
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
Next
@@ -1385,7 +1383,7 @@ Sub cargar_Click
inv.Visible = False
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias" , True)
Else
' Log("XXXX")
Log("XXXX")
MsgboxAsync("Para poder cargar día no puedes tener venta del día anterior. Por favor haz FIN DIA e intenta nuevamente.","Atención")
End If
End Sub
@@ -1401,12 +1399,12 @@ Sub JobDone(Job As HttpJob)
End If
If Job.Success = False Then
Log("ERROR")
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red)
Log("ex")
' Log(2)
Log(2)
' Job.Release
Else 'If Job Success then ...
' Log(3)
Log(3)
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027
'Verificamos que el usuario guardado en BD sea VALIDO.
If Job.JobName = "DBRequest" Then
@@ -2346,7 +2344,7 @@ Sub JobDone(Job As HttpJob)
End If
End If
If RESULT.Tag = "nom_user" Then
If resultado.Tag = "nom_user" Then
For Each records() As Object In resultado.Rows
Dim nombre_user As String = records(resultado.Columns.Get("CAT_LO_NOMBRE"))
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As Object ("nom_usuario"))
@@ -2489,6 +2487,13 @@ Sub e_ruta_EnterPressed
Starter.skmt.ExecNonQuery("DELETE FROM TABULADOR_MONEDAS")
Starter.skmt.ExecNonQuery("DELETE FROM TABULADOR_BILLETES")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENV_MONTO_LIQ")
cmd.Initialize
cmd.Name ="insert_drop_IZCA"
cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","FIN DIA",ALMACEN,Application.VersionName)
'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,Application.VersionName
reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPage_Appear
l_rutasuplencia.Visible = False
Label22.Visible = False
@@ -3279,7 +3284,7 @@ Private Sub b_productos_Click
p_prod.BringToFront
Private c As Cursor = Starter.skmt.ExecQuery("select CAT_GP_NOMBRE AS HVD_PRONOMBRE, IFNULL(CAT_GP_PRECIO, 0) AS HVD_RECHAZOCANT from CAT_GUNAPROD order by CAT_GP_NOMBRE asc")
Private c As Cursor = Starter.skmt.ExecQuery("select CAT_GP_NOMBRE AS HVD_PRONOMBRE, IFNULL(CAT_GP_PRECIO, 0) AS HVD_RECHAZOCANT from CAT_GUNAPROD WHERE CAT_GP_TIPO <> 'PROMOS' AND CAT_GP_SUBTIPO <> 'PROMOS' order by CAT_GP_NOMBRE asc")
lv_prod_Prin.SingleLineLayout.Label.TextColor = Colors.Black
lv_prod_Prin.Clear
@@ -3290,7 +3295,7 @@ Private Sub b_productos_Click
itemText = $"${c.GetString("HVD_PRONOMBRE")} ${CRLF}Precio: ${(c.GetDouble("HVD_RECHAZOCANT"))}"$
itemText = $"${c.GetString("HVD_PRONOMBRE")} ${CRLF} ${CRLF}Precio: ${(c.GetDouble("HVD_RECHAZOCANT"))}"$
lv_prod_Prin.AddSingleLine(itemText)

View File

@@ -1071,23 +1071,23 @@ Sub b_terminar1_Click
Subs.centraPanel(p_vistaPrevia, Root.Width)
' If Subs.pedidoGuardado Then b_rechazar.Enabled = False Else b_rechazar.Enabled = True
' Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'")
' fg.Position = 0
' Dim costo As String = fg.GetString("COSTO")
' If costo > 0 And costo < 1000 And fg.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then
' result = Msgbox2($"¿Desea continuar?${CRLF}Si acepta, el pedido se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
' If result = DialogResponse.POSITIVE Then
' Subs.borraPedidoCredito
'' B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("Cliente")
' Else
' lv_catalogos.Visible = True
' End If
' Else
' p_vistaPrevia.Visible=True
' p_vistaPreviaTrans.Visible=True
' End If
' fg.Close
Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'")
fg.Position = 0
Dim costo As String = fg.GetString("COSTO")
If costo > 0 And costo < 1000 And fg.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then
result = Msgbox2($"¿Desea continuar?${CRLF}Si acepta, el pedido se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
If result = DialogResponse.POSITIVE Then
Subs.borraPedidoCredito
' B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("Cliente")
Else
lv_catalogos.Visible = True
End If
Else
p_vistaPrevia.Visible=True
p_vistaPreviaTrans.Visible=True
End If
fg.Close
End Sub
Private Sub b_continuar_Click
@@ -1112,21 +1112,21 @@ Private Sub b_continuar_Click
prodsPedidoActual = m.Get("productos")
montoPedidoActual = m.Get("monto")
' Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'")
' fg.Position = 0
' Dim costo As String = fg.GetString("COSTO")
'
' If costo > 0 And costo < 1000 Then
' result = Msgbox2($"¿Desea continuar?${CRLF}Si acepta, el pedido se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
' If result = DialogResponse.POSITIVE Then
' Subs.borraPedidoCredito
' B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("Cliente")
' Else
' lv_catalogos.Visible = True
' End If
' End If
' fg.Close
Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'")
fg.Position = 0
Dim costo As String = fg.GetString("COSTO")
If costo > 0 And costo < 1000 Then
result = Msgbox2($"¿Desea continuar?${CRLF}Si acepta, el pedido se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"))
If result = DialogResponse.POSITIVE Then
Subs.borraPedidoCredito
B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("Cliente")
Else
lv_catalogos.Visible = True
End If
End If
fg.Close
End Sub
Private Sub l_prodX_LongClick

View File

@@ -4,608 +4,6 @@ ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
'Sub Class_Globals
' Private Root As B4XView 'ignore
' Private xui As XUI
' Private l_promoDesc As Label
' Private lv_prodsFijos As ListView
' Private clv_prodsVariabes, clv_prodsVariabes2 As CustomListView
' Private l_prodsFijos As Label
' Private l_prodsVariables, l_prodsVariables2 As Label
' Private i_prod As ImageView
' Private l_prodX As Label
' Private p_prods As Panel
' Private b_prodMenos, b_prodMenos2 As Button
' Private et_pCant As EditText
' Private b_prodMas, b_prodMas2 As Button
' Private l_pCant As Label
' Dim totalProds As Int = 0
' Dim prodsVar1 As Int = 0
' Dim prodsVar2 As Int = 0
' Dim prodsVarReq As Int = 0
' Dim prodsVarReq_ As Int = 0
' Dim prodsVarReq2 As Int = 0
' Dim prodsVarReq2_ As Int = 0
' Dim totalCompra As Float = 0
' Dim prodsFijosTot As Float = 0
' Dim tpf As Int = 0
' Dim tpf2 As Int = 0
' Dim maxCantPromos As Int = 1
' Private l_totProds As Label
' Private l_total As Label
' Private b_terminar1 As Button
' Private p_promociones As Panel
' Dim prodsIds, prodsCants, prodsPrecios, prodsIds2, prodsCants2, prodsPrecios2 As List
' Dim estaPromo, esteCliente As String
' Private b_promoMas As Button
' Private b_promoMenos As Button
' Private et_promoCant As EditText
' Private l_promosCant As Label
' Private b_continuar As Button
' Private p_prodsVariables, p_prodsVariables2 As Panel
' Dim laPromo = "", elCliente = "" As String
' Dim prodsPedidoActual As String
' Dim montoPedidoActual As String
' Dim promosMap As Map
' Dim su As StringUtils
'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
' Root.LoadLayout("promociones")
'
' p_promociones.Height= Root.Height
' p_promociones.Width= Root.Width
'
' promosMap.Initialize
' p_promociones.Top=0
' p_promociones.Left=0
' b_terminar1.Left = Root.Width - (b_terminar1.Width + 10)
' b_continuar.Left = Root.Width - b_terminar1.Width - (b_continuar.Width + 20)
'End Sub
'
'Sub B4XPage_Appear
'' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.blue)
' prodsIds.Initialize
' prodsCants.Initialize
' prodsPrecios.Initialize
' prodsIds2.Initialize
' prodsCants2.Initialize
' prodsPrecios2.Initialize
' Dim m As Map = Subs.traeTotalesClienteActual
' prodsPedidoActual = m.Get("productos")
' montoPedidoActual = m.Get("monto")
'' Log($"laPromo=${laPromo}, el cliente=${elCliente}"$)
' If laPromo <> "" Then muestraPromo(laPromo, elCliente)
'End Sub
''You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
'
'Sub muestraPromo(promo As String, cliente As String)
' Private thisLog As Boolean = False
'' If thisLog Then Log(promo)
' estaPromo = promo
' esteCliente = cliente
' Private mp As Map = Subs.traePromo(promo, cliente)
' Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción.
' Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo)
'' If thisLog Then Log($"invDispPromo=${invDispPromo}"$)
' If thisLog Then Log("Max promos por inv de prods FIJOS: " & Subs.revisaMaxPromosProdsFijosPorInventario(mp))
' If thisLog Then Log("Max promos por inv de prods VARIABLES: " & Subs.revisaMaxPromosProdsVariablesPorInventario(mp))
' maxCantPromos = Subs.revisaMaxPromosProdsVariablesPorInventario(mp)
' et_promoCant.Text = 1
' l_promosCant.text = "Max promos: " & maxCantPromos
' Private cs As CSBuilder
' cs.Initialize
' If thisLog Then Log(mp)
' If thisLog Then Log(prodsPromo)
' Private listaPV As List = mp.Get("prodsVariables")
' Private listaPreciosPV As List = mp.Get("prodsVariablesPrecios")
' Private listaPV2 As List = mp.Get("prodsVariables2")
' Private listaPreciosPV2 As List = mp.Get("prodsVariablesPrecios2")
'' Log("============ " & CRLF & listaPV)
' 'Ponemos la promo y descripción.
'' Dim desc As String = $"Promoción: ${promo}${CRLF}${mp.Get("descripcion")}"$
'' Dim desc As String = cs.append("Promocion: ").Color(Colors.RGB(100,149,237)).Append(promo).pop.append(CRLF).Append(mp.Get("descripcion")).Popall
' l_promoDesc.Text = cs.Color(Colors.RGB(100,149,237)).append("Promocion: ").pop.append(CRLF).Append(promo).append(CRLF).Append(mp.Get("descripcion")).Popall
' prodsFijosTot = 0
' 'Ponemos el texto en las etiquetas de la cantidad de productos.
'' Dim pf As List = mp.Get("prodsFijos")
' Dim pv As List = mp.Get("prodsVariables")
' Dim pv2 As List = mp.Get("prodsVariables2")
' If thisLog Then Log(mp)
' tpf = 0
' For Each pfp As Int In mp.Get("prodsFijosPiezas").As(List)
' tpf = tpf + pfp
' Next
' tpf2 = tpf
'' tpf = tpf * maxCantPromos
' l_prodsFijos.Text = $"Productos fijos (${tpf})"$
' prodsVarReq = mp.Get("prodsVariablesRequeridos")
' prodsVarReq_ = prodsVarReq
' prodsVarReq2 = mp.Get("prodsVariables2Requeridos")
' prodsVarReq2_ = prodsVarReq2
'' Log("========= " & prodsVarReq2)
' l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq}"$
' l_prodsVariables2.Text = $"Productos variables2 requeridos: ${prodsVarReq2}"$
' If prodsVarReq = 0 Then
' p_prodsVariables.Visible = False
' Else
' p_prodsVariables.Visible = True
' End If
' 'Llenamos el listview con los productos fijos.
' Dim label1 As Label
' label1 = lv_prodsFijos.SingleLineLayout.Label
' label1.TextSize = 13
' label1.TextColor = Colors.black
' lv_prodsFijos.SingleLineLayout.ItemHeight = 30dip
' lv_prodsFijos.Clear
'' If pf.Size < 1 Then pf.Add("Sin productos fijos.")
' lv_prodsFijos.Clear
' agregaFijosALista(mp, True)
' If thisLog Then Log("Total prods fijos = " & prodsFijosTot)
'' If thisLog Then Log("======="&prodsMap)
' l_totProds.text = $"Productos: ${tpf}"$
' l_total.Text = $"Total: $$1.2{prodsFijosTot}"$
'' Dim ins As InputStream
'' Dim bmp As Bitmap
'' Dim jpeg() As Byte
'
' 'Llenamos el listview con los productos variables.
' If thisLog Then Log($"PV1: ${pv.Size}, ${pv}"$)
' If thisLog Then Log($"PV2: ${pv2.Size}, ${pv2}"$)
' If thisLog Then Log("invDisp=" & invDispPromo)
' clv_prodsVariabes.Clear
' clv_prodsVariabes2.Clear
' For Each p As String In pv
' If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
' Private indicePV = listaPV.IndexOf(p)
'' Log(p & "|" & indicePV & "|" & listaPreciosPV.Get(indicePV))
' Private estePrecio = listaPreciosPV.Get(indicePV)
'' c2.Position=i
'' jpeg = c2.GetBlob("CAT_GP_IMG")
'' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
'' bmp.Initialize2(ins)
' Private thisProd As Map = prodsPromo.Get(p)
' If thisLog Then Log(thisProd)
' clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & estePrecio, estePrecio, invDispPromo.Get(p), clv_prodsVariabes.AsView.Width, 50dip, Null, p), p)
' End If
' Next
' For Each p As String In pv2
' If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
'' Log(p)
'' Log($"${invDispPromo}$"$)
'' Log($"${listaPV2}"$)
'' Log("listaPrecios:"&listaPreciosPV2)
' Private indicePV2 = listaPV2.IndexOf(p)
'' Log($"${indicePV2}"$)
'' Log(p & "|" & indicePV & "|" & listaPreciosPV2.Get(indicePV2))
' Private estePrecio = listaPreciosPV2.Get(indicePV2)
'' c2.Position=i
'' jpeg = c2.GetBlob("CAT_GP_IMG")
'' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
'' bmp.Initialize2(ins)
' Private thisProd As Map = prodsPromo.Get(p)
' If thisLog Then Log(thisProd)
' clv_prodsVariabes2.Add(CreateListItem2(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & estePrecio, estePrecio, invDispPromo.Get(p), clv_prodsVariabes2.AsView.Width, 50dip, Null, p), p)
' End If
' Next
' If pv2.Size = 0 Then
'' Log("PV2 = 0")
' l_prodsVariables2.Visible = False
' p_prodsVariables2.Visible = False
'
' p_prodsVariables.Height = 410dip
' clv_prodsVariabes.GetBase.Height = p_prodsVariables.Height - 20
'' p_prodsVariables.Height = 380dip
'' clv_prodsVariabes.GetBase.Height = 380dip 'Cambiamos el tamaño y posición de la lista de productos
''' clv_prodsVariabes.GetBase.Width =
' clv_prodsVariabes.Base_Resize(clv_prodsVariabes.GetBase.Width, p_prodsVariables.Height - 20) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño.
' Else
' l_prodsVariables2.Visible = True
' p_prodsVariables2.Visible = True
' p_prodsVariables.Height = 210dip
' clv_prodsVariabes.GetBase.Height = p_prodsVariables.Height - 20
' End If
' b_terminar1.Visible = False
' b_continuar.Visible = False
' cuentaProds
'End Sub
'
''Agregamos los productos fijos a una lista para despues meterlos en el pedido.
'Sub agregaFijosALista(mp As Map, addListItem As Boolean)
' Private thisLog As Boolean = False
' Private cont As Int = 0
' prodsFijosTot = 0
' Dim pf As List = mp.Get("prodsFijos")
' If pf.Size < 1 Then pf.Add("Sin productos fijos.")
'' Private m As Map
'' prodsMap.Put(estaPromo, CreateMap("cant":1, "precio":0))
'' prodsIds.Add(estaPromo)
' prodsIds.clear
' prodsCants.clear
' prodsPrecios.clear
' prodsIds.Add(estaPromo)
' prodsCants.Add(et_promoCant.text.As(Int))
' prodsPrecios.Add(0)
' For Each p As String In pf
'' Log($"cont=${cont}, mp=${mp}"$)
' If mp.Get("prodsFijosPiezas").As(List).Size > 0 Then
' Private tpi As String = mp.Get("prodsFijosPiezas").As(List).Get(cont)
' Else
' Private tpi As String = 0
' End If
' If mp.Get("prodsFijosPrecios").As(List).Size > 0 Then
' Private tpr As String = mp.Get("prodsFijosPrecios").As(List).Get(cont)
' Else
' Private tpr As String = 0
' End If
' prodsFijosTot = prodsFijosTot + (tpi * tpr)
' If thisLog Then Log("|"&tpi&"|"&p)
' Private ntpi As Int = tpi * et_promoCant.text
' If addListItem And tpi > 0 Then lv_prodsFijos.AddSingleLine(ntpi & " " & Subs.traeProdNombre(p) & " - $" & tpr)
' cont = cont+1
'' m=CreateMap("cant":tpi, "precio":tpr)
'' prodsMap.Put(p, m)
' prodsIds.Add(p)
' prodsCants.Add(tpi.As(Int)*et_promoCant.text.As(Int))
' prodsPrecios.Add(tpr) '*et_promoCant.text.As(Int)
' Next
'End Sub
'
'Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
' Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, Width, Height)
' p.LoadLayout("prodItem1")
' l_prodX.TextSize = 15
' l_prodX.Text = Text
' l_prodX.TextSize = 15
'' p_prods.Height = Height + 70
'' l_prodX.Height = Height
' p_prods.height = su.MeasureMultilineTextHeight(l_prodX, l_prodX.Text) + 20 'Calculamos la altura del panel de acuerdo al texto contenido.
' If p_prods.Height < Height Then p_prods.Height = Height
' l_prodX.Height = p_prods.Height
' l_pCant.Tag = precioU&"|"&inv&"|"&prodId
' et_pCant.Tag = precioU&"|"&inv&"|"&prodId
' et_pCant.BringToFront
'' i_prod.Bitmap = img
' p.Height = p_prods.Height
' Return p
'End Sub
'
'Sub CreateListItem2(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
' Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, Width, Height)
' p.LoadLayout("prodItem2")
' l_prodX.TextSize = 15
' l_prodX.Text = Text
' l_prodX.TextSize = 15
'' p_prods.Height = Height
'' l_prodX.Height = Height
' p_prods.height = su.MeasureMultilineTextHeight(l_prodX, l_prodX.Text) + 20 'Calculamos la altura del panel de acuerdo al texto contenido.
' If p_prods.Height < Height Then p_prods.Height = Height
' l_prodX.Height = p_prods.Height
'' l_pCant.Text = 0
' l_pCant.Tag = precioU&"|"&inv&"|"&prodId
' et_pCant.Tag = precioU&"|"&inv&"|"&prodId
' et_pCant.BringToFront
'' i_prod.Bitmap = img
' p.Height = p_prods.Height
' Return p
'End Sub
'
'Sub b_prodMenos_Click
' Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
' Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
' Dim pnl As B4XView = pnl0.GetView(0)
'' Dim laCant As B4XView = pnl.GetView(5)
' Dim laCant As B4XView = pnl.GetView(2).GetView(4)
'' Log($"precio|stock:${laCant.tag}"$)
' laCant.Text = $"$1.0{laCant.Text-1}"$
' If laCant.Text < 0 Then laCant.Text = 0
'
'' Log(Regex.Split("\|", laCant.tag)(0))
' Private precio As String = Regex.Split("\|", laCant.tag)(0)
'' Private inv As String = Regex.Split("\|", laCant.tag)(1)
' Private prodId As String = Regex.Split("\|", laCant.tag)(2)
' Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
'' Log(tmpMap)
' promosMap.Put(prodId, tmpMap)
' If laCant.Text = 0 Then promosMap.Remove(prodId)
'' LogColor(promosMap, Colors.Magenta)
' cuentaProds
'' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
'' l_totProds.text = $"Total Productos: ${totalProds}"$
'End Sub
'
'Sub b_prodMas_Click
' If prodsVar1 < prodsVarReq Then
' Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
' Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
' Dim pnl As B4XView = pnl0.GetView(0)
'' Dim laCant As B4XView = pnl.GetView(5)
' Dim laCant As B4XView = pnl.GetView(2).GetView(4)
'' Log($"precio|stock:${laCant.tag}"$)
'' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
' Dim esteTag As List = Regex.Split("\|", laCant.Tag)
'' Log(esteTag)
' If laCant.Text + 1 <= esteTag.get(1) Then
' laCant.Text = $"$1.0{laCant.Text+1}"$
' cuentaProds
' End If
'
'' Log(Regex.Split("\|", laCant.tag)(0))
' Private precio As String = Regex.Split("\|", laCant.tag)(0)
'' Private inv As String = Regex.Split("\|", laCant.tag)(1)
' Private prodId As String = Regex.Split("\|", laCant.tag)(2)
' Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
'' Log(tmpMap)
' promosMap.Put(prodId, tmpMap)
'' LogColor(promosMap, Colors.Magenta)
' End If
'' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
'' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
'' l_totProds.text = $"Total Productos: ${totalProds}"$
'End Sub
'
'
'Sub b_prodMenos2_Click
' Dim index As Int = clv_prodsVariabes2.GetItemFromView(Sender)
' Dim pnl0 As B4XView = clv_prodsVariabes2.GetPanel(index)
' Dim pnl As B4XView = pnl0.GetView(0)
'' Dim laCant As B4XView = pnl.GetView(5)
' Dim laCant As B4XView = pnl.GetView(2).GetView(4)
'' Log($"precio|stock:${laCant.tag}"$)
' laCant.Text = $"$1.0{laCant.Text-1}"$
' If laCant.Text < 0 Then laCant.Text = 0
'
'' Log(Regex.Split("\|", laCant.tag)(0))
' Private precio As String = Regex.Split("\|", laCant.tag)(0)
'' Private inv As String = Regex.Split("\|", laCant.tag)(1)
' Private prodId As String = Regex.Split("\|", laCant.tag)(2)
' Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
'' Log(tmpMap)
' promosMap.Put(prodId, tmpMap)
' If laCant.Text = 0 Then promosMap.Remove(prodId)
'' LogColor(promosMap, Colors.Magenta)
' cuentaProds
'' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
'' l_totProds.text = $"Total Productos: ${totalProds}"$
'End Sub
'
'Sub b_prodMas2_Click
'' Log(prodsVarReq & "|" & prodsVarReq2 & "|" & tpf & "|" & prodsVar2)
' If prodsVar2 < prodsVarReq2 Then
' Dim index As Int = clv_prodsVariabes2.GetItemFromView(Sender)
' Dim pnl0 As B4XView = clv_prodsVariabes2.GetPanel(index)
' Dim pnl As B4XView = pnl0.GetView(0)
'' Dim laCant As B4XView = pnl.GetView(5)
' Dim laCant As B4XView = pnl.GetView(2).GetView(4)
'' Log($"precio|stock:${laCant.tag}"$)
'' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
' Dim esteTag As List = Regex.Split("\|", laCant.Tag)
'' Log(esteTag)
' If laCant.Text + 1 <= esteTag.get(1) Then
' laCant.Text = $"$1.0{laCant.Text+1}"$
' cuentaProds
' End If
'
'' Log(Regex.Split("\|", laCant.tag)(0))
' Private precio As String = Regex.Split("\|", laCant.tag)(0)
'' Private inv As String = Regex.Split("\|", laCant.tag)(1)
' Private prodId As String = Regex.Split("\|", laCant.tag)(2)
' Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
'' Log(tmpMap)
' promosMap.Put(prodId, tmpMap)
'' LogColor(promosMap, Colors.Magenta)
' End If
'' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
'' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
'' l_totProds.text = $"Total Productos: ${totalProds}"$
'End Sub
'
'
'Private Sub et_pCant_TextChanged (Old As String, New As String)
'' LogColor("txt changed",Colors.Magenta)
' cuentaProds
'End Sub
'
'Sub cuentaProds
'' Log("=====================================================")
'' Log("Inicia cuentaProds")
' Private thisLog As Boolean = False
'' LogColor($"ProdsFijos=${tpf}, totalProds=${totalProds}, totalCompra=${totalCompra}"$, Colors.Red)
' prodsIds2.Clear
' prodsCants2.Clear
' prodsPrecios2.Clear
' lv_prodsFijos.Clear
' prodsVar1 = 0
' prodsVar2 = 0
' agregaFijosALista(Subs.traePromo(estaPromo, esteCliente), True)
'' Log(prodsIds)
' Private tcpf As Float = 0 'Total de compra de productos fijos.
' For pf = 0 To prodsIds.Size - 1
' If thisLog Then Log($"${tcpf} + ${prodsCants.Get(pf)} * ${prodsPrecios.Get(pf)} = ${(prodsPrecios.Get(pf) * prodsCants.Get(pf))}"$)
' tcpf = tcpf + (prodsPrecios.Get(pf) * prodsCants.Get(pf))
' Next
'' Log("Total compra prodsFijos = " & tcpf)
' totalCompra = tcpf
' totalProds = tpf 'Cantidad total de productos fijos.
' 'Variables1
' For i = 0 To clv_prodsVariabes.GetSize - 1
' Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
' Private p As B4XView = p0.GetView(0)
' Private cant1 As B4XView = p.GetView(2).GetView(4)
' If cant1.Text = "" Then cant1.Text = 0
' totalProds = totalProds + cant1.Text
' prodsVar1 = prodsVar1 + cant1.Text
' Private esteTag As List = Regex.Split("\|", cant1.Tag)
' If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
' If cant1.Text > 0 Then
'' Log(esteTag.Get(2) & "|" & cant1.Text)
' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
' If thisLog Then Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
' prodsIds2.Add(esteTag.Get(2))
' prodsCants2.Add(cant1.Text)
' prodsPrecios2.Add(esteTag.get(0))
' End If
' l_total.Text = $"Total: $$1.2{totalCompra}"$
' l_totProds.text = $"Productos: ${totalProds}"$
' Next
' 'Variables2
' For i = 0 To clv_prodsVariabes2.GetSize - 1
' Private p0 As B4XView = clv_prodsVariabes2.GetPanel(i)
' Private p As B4XView = p0.GetView(0)
' Private cant2 As B4XView = p.GetView(2).GetView(4)
' totalProds = totalProds + cant2.Text
' prodsVar2 = prodsVar2 + cant2.Text
' Private esteTag As List = Regex.Split("\|", cant2.Tag)
' If cant2.Text > esteTag.Get(1) Then cant2.Text = esteTag.Get(1)
' If cant2.Text > 0 Then
'' Log(esteTag.Get(2) & "|" & cant2.Text)
' totalCompra = totalCompra + (esteTag.get(0) * cant2.text)
' If thisLog Then Log($"Cant: ${cant2.Text}, Suma: ${totalCompra}"$)
' prodsIds2.Add(esteTag.Get(2))
' prodsCants2.Add(cant2.Text)
' prodsPrecios2.Add(esteTag.get(0))
' End If
' l_total.Text = $"Total: $$1.2{totalCompra}"$
' l_totProds.text = $"Productos: ${totalProds}"$
' Next
'
' If thisLog Then Log($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$)
' l_total.Text = $"Total: $$1.2{totalCompra}"$
' l_totProds.text = $"Productos: ${totalProds}"$
' If totalProds < prodsVarReq + prodsVarReq2 + tpf Or totalProds > prodsVarReq + prodsVarReq2 + tpf Then
'' Log("INCOMPLETA")
' b_terminar1.Visible = False
' b_continuar.Visible = False
' Else
'' Log("COMPLETA")
' b_terminar1.Visible = True
' b_continuar.Visible = True
' End If
' If thisLog Then LogColor($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$, Colors.blue)
' If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta)
'' LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue)
'End Sub
'
'Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
' LogColor("focus changed", Colors.Magenta)
' cuentaProds
'End Sub
'
'Private Sub b_promoMenos_Click
' If et_promoCant.Text > 1 Then
' et_promoCant.Text = et_promoCant.Text.As(Int) - 1
' End If
' l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
' l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq_ * et_promoCant.Text.As(Int)}"$
' l_prodsVariables2.Text = $"Productos variables2 requeridos: ${prodsVarReq2_ * et_promoCant.Text.As(Int)}"$
' tpf = tpf2 * et_promoCant.Text.As(Int)
' prodsVarReq = prodsVarReq_ * et_promoCant.Text.As(Int)
' prodsVarReq2 = prodsVarReq2_ * et_promoCant.Text.As(Int)
' Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
' cuentaProds
'End Sub
'
'Private Sub b_promoMas_Click
' If et_promoCant.Text < maxCantPromos Then
' et_promoCant.Text = et_promoCant.Text.As(Int) + 1
' l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
' l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq_ * et_promoCant.Text.As(Int)}"$
' l_prodsVariables2.Text = $"Productos variables2 requeridos: ${prodsVarReq2_ * et_promoCant.Text.As(Int)}"$
' tpf = tpf2 * et_promoCant.Text.As(Int)
' prodsVarReq = prodsVarReq_ * et_promoCant.Text.As(Int)
' prodsVarReq2 = prodsVarReq2_ * et_promoCant.Text.As(Int)
' Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
' End If
' If et_promoCant.text > maxCantPromos Then et_promoCant.Text = maxCantPromos
' cuentaProds
'End Sub
'
'Private Sub b_terminar1_Click
' cuentaProds
' Log("====================================================================")
' For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
' Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
' If prodsCants.Get(t) > 0 Then Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta(Subs.traeCliente), 0, B4XPages.MainPage.tipo_venta,0,0)
' Next
' For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
' Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
' Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta(Subs.traeCliente), 0, B4XPages.MainPage.tipo_venta,0,0)
' Next
'' Log(B4XPages.MainPage.productos.prodsMap)
'' For o=0 To prodsIds.Size - 1 'Ponemos los productos fijos en el mapa de la compra.
'' Private tmpMap As Map = CreateMap("precio":prodsPrecios.Get(o), "cant":prodsCants.Get(o), "almacen":estaPromo)
''' Log(tmpMap)
'' If prodsCants.Get(o) > 0 Then B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds.Get(o), tmpMap)
'' Next
'' For o=0 To prodsIds2.Size - 1 'Ponemos los productos variables en el mapa de la compra.
'' Private tmpMap As Map = CreateMap("precio":prodsPrecios2.Get(o), "cant":prodsCants2.Get(o), "almacen":estaPromo)
''' Log(tmpMap)
'' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
'' Next
'' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
' lv_prodsFijos.Clear
' B4XPages.MainPage.bTerminarClicked = True
' B4XPages.ShowPage("productos")
' B4XPages.MainPage.productos.b_terminar1_Click
'End Sub
'
'Private Sub b_continuar_Click
' cuentaProds
' Log("====================================================================")
' For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
' Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
' Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta(Subs.traeCliente), 0, B4XPages.MainPage.tipo_venta,0,0)
' Next
' For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
' Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
' Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta(Subs.traeCliente), 0, B4XPages.MainPage.tipo_venta,0,0)
' Next
'' Log(B4XPages.MainPage.productos.prodsMap)
'' For o=0 To prodsIds.Size - 1 'Ponemos los productos fijos en el mapa de la compra.
'' Private tmpMap As Map = CreateMap("precio":prodsPrecios.Get(o), "cant":prodsCants.Get(o), "almacen":estaPromo)
''' Log(tmpMap)
'' If prodsCants.Get(o) > 0 Then B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds.Get(o), tmpMap)
'' Next
'' For o=0 To prodsIds2.Size - 1 'Ponemos los productos variables en el mapa de la compra.
'' Private tmpMap As Map = CreateMap("precio":prodsPrecios2.Get(o), "cant":prodsCants2.Get(o), "almacen":estaPromo)
''' Log(tmpMap)
'' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
'' Next
'' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
' lv_prodsFijos.Clear
'' Activity_KeyPress(KeyCodes.KEYCODE_BACK)
'' CallSubDelayed2(productos, "Activity_KeyPress", KeyCodes.KEYCODE_BACK)
' Private prodspage As C_Productos
' If prodspage.IsInitialized Then
' prodspage.lv_catalogos.Visible = True
' prodspage.lv_promos.Visible = False
' prodspage.clv_productos.AsView.Visible = False
' End If
' B4XPages.MainPage.bTerminarClicked = True
' B4XPages.ShowPage("productos")
'End Sub
'
''Sub Activity_KeyPress (key As Int) As Boolean 'ignore
'' ' BACK key pressed
'' Log("Keypress")
'' If key=KeyCodes.KEYCODE_BACK Then
'' Log("BACK")
'' Return False
'' End If
'' Return False
'' ' Returning False signals the system to handle the key
''End Sub
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI
@@ -807,7 +205,7 @@ Sub muestraPromo(promo As String, cliente As String)
clv_prodsVariabes.GetBase.Height = p_prodsVariables.Height - 20
' p_prodsVariables.Height = 380dip
' clv_prodsVariabes.GetBase.Height = 380dip 'Cambiamos el tamaño y posición de la lista de productos
'' clv_prodsVariabes.GetBase.Width =
'' clv_prodsVariabes.GetBase.Width =
clv_prodsVariabes.Base_Resize(clv_prodsVariabes.GetBase.Width, p_prodsVariables.Height - 20) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño.
Else
l_prodsVariables2.Visible = True
@@ -1146,12 +544,12 @@ Private Sub b_terminar1_Click
' Log(B4XPages.MainPage.productos.prodsMap)
' For o=0 To prodsIds.Size - 1 'Ponemos los productos fijos en el mapa de la compra.
' Private tmpMap As Map = CreateMap("precio":prodsPrecios.Get(o), "cant":prodsCants.Get(o), "almacen":estaPromo)
'' Log(tmpMap)
'' Log(tmpMap)
' If prodsCants.Get(o) > 0 Then B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds.Get(o), tmpMap)
' Next
' For o=0 To prodsIds2.Size - 1 'Ponemos los productos variables en el mapa de la compra.
' Private tmpMap As Map = CreateMap("precio":prodsPrecios2.Get(o), "cant":prodsCants2.Get(o), "almacen":estaPromo)
'' Log(tmpMap)
'' Log(tmpMap)
' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
' Next
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
@@ -1175,12 +573,12 @@ Private Sub b_continuar_Click
' Log(B4XPages.MainPage.productos.prodsMap)
' For o=0 To prodsIds.Size - 1 'Ponemos los productos fijos en el mapa de la compra.
' Private tmpMap As Map = CreateMap("precio":prodsPrecios.Get(o), "cant":prodsCants.Get(o), "almacen":estaPromo)
'' Log(tmpMap)
'' Log(tmpMap)
' If prodsCants.Get(o) > 0 Then B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds.Get(o), tmpMap)
' Next
' For o=0 To prodsIds2.Size - 1 'Ponemos los productos variables en el mapa de la compra.
' Private tmpMap As Map = CreateMap("precio":prodsPrecios2.Get(o), "cant":prodsCants2.Get(o), "almacen":estaPromo)
'' Log(tmpMap)
'' Log(tmpMap)
' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
' Next
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)

Binary file not shown.

Binary file not shown.

View File

@@ -199,7 +199,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: IZCA
#VersionCode: 1
#VersionName: 5.09.01
#VersionName: 5.08.11
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -94,6 +94,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Productos,LlenaProdsLL,3493,0,C_Productos,Class_Globals,0,0,C_Productos,et_pCantc_TextChanged,1956,0,C_Cliente,Guardar_Click,735,0,C_Cliente,GUADAVENTA2,919,0,C_Cliente,GuardaVenta,918,0,C_Principal,Subir_Click,859,6,C_Principal,B4XPage_CloseRequest,2359,0,C_Principal,connecta_Click,2401,0,C_Principal,JobDone,1399,0,C_Principal,cargar_Click,1381,0
NavigationStack=Tracker,StartFLPSmall,103,0,C_NuevoCliente,B4XPage_Appear,117,0,C_NuevoCliente,cb_giro_SelectedIndexChanged,438,0,C_NuevoCliente,PointInPolygon,216,0,C_NuevoCliente,p_nuevoCliente_Click,392,0,Diseñador Visual,nuevocliente.bal,-100,6,C_NuevoCliente,et_cp_TextChanged,433,6,C_Cliente,GPS_LocationChanged,566,0,C_NuevoCliente,GUARDA_Click,243,2,C_Principal,Class_Globals,0,0,C_Principal,connecta_Click,2399,0
SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,13

File diff suppressed because it is too large Load Diff