Files
Kelloggs_v4/B4A/C_Cliente.bas
Jose Alberto Guerra Ugalde 048deef8c1 VERSION 6.03.30
- Cambios en DBRequestManagerW para evitar un error cuando no hay internet
2026-04-01 17:07:51 -06:00

4623 lines
199 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
'// Process Globals
Dim g As GPS
Dim kh As kms_helperSubs
Dim reqManager As DBRequestManager
Dim cmd As DBCommand
Dim ruta As String
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String = ""
Dim total_cliente As String
Dim m_lat As String
Dim m_lon As String
Dim cmp20 As Serial
Dim printer As TextWriter
Dim PairedDevices As Map
Dim L As List
Dim TAMANO As Int
Dim ESPACIO As Int
Dim BLANCO As String
Dim cuenta As String
Dim Printer1 As EscPosPrinter
Dim MAC_IMPRESORA As String
Dim LONGITUD As String = "0"
Dim LATITUD As String = "0"
Dim NOMBRE As String
Dim ruta_tienda As String
Dim id_encuesta As String
Dim LLAMAR_FOTO As String
Dim CURSOR_FOTO As Int
Dim TOMAR_FOTO As String
Dim YA_IMPRIMIO2 As String
Dim CREDITO_DISPONIBLE As String
'//Globals
Dim c As Cursor
Dim s As Cursor
Dim c2 As Cursor
Dim S1 As Cursor
Dim S2 As Cursor
Dim S3 As Cursor
Dim C1 As Cursor
Dim C3 As Cursor
Dim C4, C5, C6, C8 As Cursor
Dim c2 As Cursor
Dim S2 As Cursor
Dim RMI As String
Dim ListView1 As ListView
Dim la_cuenta As Label
Dim La_nombre As Label
Dim la_Calle As Label
Dim la_numero As Label
Dim la_nint As Label
Dim la_edo As Label
Dim la_pob As Label
Dim la_col As Label
Dim la_cp As Label
Dim la_zona As Label
' Dim gest As Button
Dim la_saldotot As Label
Dim la_saldooper As Label
Dim b_noVenta As Button
Dim Label10 As Label
Dim Label11 As Label
Dim Tar As Button
Dim la_comm As Label
Dim la_actdte As Label
Dim la_usuario As Label
Dim la_resultado As Label
Dim l_entre1 As Label
Dim l_entre2 As Label
Dim l_atiende As Label
Dim l_atiende2 As Label
' Dim DATOS As Button
Dim Guardar As Button
' Dim NUEVO As Button
Dim l_total As Label
Dim res As String
Private HIST As Button
Private MONTO_COMPRA As String
Private META As String
Private META2 As String
Private VERIFICA As String
' Private L_QR As Label
Private BT_QR As Button
Private qr As QRCode
Dim sc As Zxing_scanner
Dim CODIGO As String
Private b_mapa As Button
Dim CUANTOS As String
Private B_IMP As Button
Dim Toggla As Toggle
Dim B_VENTA As Button
Dim PASA_IMP As String
Dim sucursal As String
Dim FACTURA As String
Dim CREDITO As String
' Private b_factura As Button
Dim perfil As String
Private CH_TA As CheckBox
Private CH_TC As CheckBox
Private CH_TB As CheckBox
Private CH_TD As CheckBox
Private E_CUANTOS_E As EditText
Private B_GUARDAR As Button
Private TIPOEX As String
' Private B_EXIBI As Button
Private Panel1 As Panel
Dim t3 As Timer
'--***---- BOLETA DE LIQUIDACION
Private P_BOLETA As Panel
'------ BILLETES
Private LBL_TMIL As Label
Private LBL_TQUIN As Label
Private LBL_TDOS As Label
Private LBL_TCIEN As Label
Private LBL_TCIN As Label
Private LBL_TVEIN As Label
Private LBL_MIL As Label
Private LBL_QUIN As Label
Private LBL_DOSC As Label
Private LBL_CIEN As Label
Private LBL_CINCUEN As Label
Private LBL_VEINTE As Label
Private EDT_CANVEIN As EditText
Private EDT_CANCIN As EditText
Private EDT_CANCIEN As EditText
Private EDT_CANDOS As EditText
Private EDT_CANQUIN As EditText
Private EDT_CANMIL As EditText
Private Btn_TOTALBILLETE As Button
Private Pnl_Billete As Panel
Private Pnl_Moneda As Panel
Private L_CALCULA_BILLE As Label
'------ BOTONES MAS Y MENOS
Private B_MENMIL As Button
Private B_SUMIL As Button
Private B_MENQUI As Button
Private B_SUQUI As Button
Private B_MENDOS As Button
Private B_SUDOS As Button
Private B_MENCIE As Button
Private B_SUCIEN As Button
Private B_MENCIN As Button
Private B_SUCIN As Button
Private B_MENVEI As Button
Private B_SUVEI As Button
'------ MONEDAS
Private L_DIEZ As Label
Private L_CINCO As Label
Private L_DOS As Label
Private L_UNO As Label
Private L_CENTAVO As Label
Private LBL_TDIEZ As Label
Private LBL_TCI As Label
Private LBL_TDO As Label
Private LBL_TUN As Label
Private LBL_TCEN As Label
Private EDT_CANCEN As EditText
Private EDT_CANUN As EditText
Private EDT_CANDO As EditText
Private EDT_CANCI As EditText
Private EDT_CANDIEZ As EditText
Private L_CALCULA_MONEDA As Label
Private B_TOTALMONEDA As Button
'------ BOTONES MAS Y MENOS
Private B_MENCENT As Button
Private B_MENUN As Button
Private B_MENDO As Button
Private B_MENCI As Button
Private B_MENDIEZ As Button
Private B_SUMDIEZ As Button
Private B_SUMCIN As Button
Private B_SUMDO As Button
Private B_SUMUN As Button
Private B_SUMCENT As Button
'------ SUMA TOTALES
Private Edt_FH As EditText
Private B_AGREGAMONE As Button
Private B_AGREGABILL As Button
Private TOTALES As Label
Private B_SUM_TOTAL As Button
Private TOTALBILLETES As Button
Private TOTALMONEDA As Button
Private PNL_TOTALES As Panel
Private LBL_RETURN As Label
Private IMG_IMPRESORA As Label
Private LBL_REGRESA As Label
'--***---- FIN BOLETA
Private P_INF_GENERAL As Panel
Private B_Regresar As Button
Private ABORDO As String
Private a_inicial As String
Private a_total As String
Private a_venta As String
Private a_final As String
Private a_VENTA_F As String
Private a_inicial_5 As String
Private L_INVA As ListView
Private B_IMP_INV As Button
Private B_CERRAR_I As Button
Private Panel_INV_A As Panel
Private LBL_TVEINTE As Label
Private B_SUMVEINTE As Button
Private EDT_CANVEINTE As EditText
Private B_MENVEINTE As Button
Private L_VEINTE As Label
Dim RutaBoleta As String
Dim Id_Almacen As String
Dim cursorBoleta As Cursor
Private Bt_GuardarBoleta As Button
Private CUANTOS1 As String
Private Panel9 As Panel
Private t_tenc As Label
Private E_RES_E As EditText
Private B_E_NEXT As Button
Private Label26 As Label
Private l_chk_e As Label
Private Chk_1 As CheckBox
Private chk_2 As CheckBox
Private chk_3 As CheckBox
Private b_chk_e As Button
Private Panel10 As Panel
Private chk_1_valor As String
Private chk_2_valor As String
Private chk_3_valor As String
Private p_encuesta As Panel
Private b_encuesta_1 As Button
Private b_encuesta_2 As Button
Private b_encuesta_3 As Button
Private l_titEncuesta As Label
Private l_txtEncuesta As Label
Private encuestaRes As String
Private botonPresionado As Int
Private B_IMP2 As Button
Dim impresoraConectada As Boolean = False
Private l_categoria2 As Label
Private l_exhibidor2 As Label
Private p_exhibidores As Panel
Private Button1 As Button
Private b_exhibidor As Button
Private l_exhibidores3 As Label
Private l_segmento2 As Label
Private et_encuesta As EditText
Private b_encuesta_continuar As Button
Dim muestraBoleta As Boolean = False
Private Panel4 As Panel
Private Panel6 As Panel
Private l_ubicacion As Label
Dim l_ubicacion2 As Label
Dim b_ubicacion As Button
Dim logger As Boolean = False
Private b_whats As Button
Private b_aceptarrpomo As Button
Private b_rechazapromo As Button
Private p_promowhats As Panel
Private l_promowhats As Label
Private l_doe As Label
Private gps_boton_doe As String
Private p_pideGeoPass As Panel
Private et_geopass As EditText
Private b_geopass As Button
Private P_DOE As Panel
Private LP_DOE As ListView
Private BP_DOE_A As Button
Private BP_DOE_R As Button
Private L_DOE_TOTAL As Label
Private BP_DOE_R1 As Button
Private ime As IME
Dim laDist As Float
Private p_rechazoDOE As Panel
Dim RMI_VALOR As String
Dim errorImpresora As Int = 0
Private b_inicioFinVenta As Button
Dim dentroDeGeocerca As Boolean = False
Dim motivoNoVenta, motivoNoVisita As String
Private motivo As String
Dim precision As Int = 0
Dim clienteDeudor As Boolean = False
Dim usarGeocerca As Boolean = False
Dim clienteId As String
Private clienteConPromo As String = ""
Private r_1 As RadioButton
Private r_2 As RadioButton
Private r_3 As RadioButton
Private r_4 As RadioButton
Private R_5 As RadioButton
Private e_comm As EditText
Private p_infoGral2 As Panel
Dim indicePregunta As Int
Private p_transparenciaNoti As Panel
Private p_Notificacion As Panel
Private l_notificacionTexto As Label
Private l_notificacionTitulo As Label
Private b_notificacion As Button
Dim reqManagerW As DBRequestManagerW
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
kh.Initialize(Me, "kh", Starter.skmt)
kh.RD_Init
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
If Not(Starter.Logger) Then logger = False
Root = Root1
' reqManager.Initialize(Me, Starter.server)
'load the layout to Root
Root.LoadLayout("cliente")
ruta = File.DirInternal
Panel6.Width = Root.Width
p_promowhats.Width = Root.Width
p_promowhats.visible = False
kh.centraPanel(p_infoGral2, Root.Width)
If Starter.boleta = 0 Then
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_ATIENDE1, CAT_CL_ATIENTE2,"& _
"CAT_CL_TELEFONO, CAT_CL_EMAIL, CAT_CL_CALLE, CAT_CL_NOEXT, CAT_CL_NOINT, CAT_CL_CALLE1, CAT_CL_CALLE2, "& _
"CAT_CL_COLONIA, CAT_CL_MUNI, CAT_CL_EDO, CAT_CL_CP, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_MTOCOMPRA, "& _
"CAT_CL_BFACTURA, CAT_CL_BCREDITO, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
If c.RowCount > 0 Then
c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
cuenta = c.GetString("CAT_CL_CODIGO")
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
NOMBRE = c.GetString("CAT_CL_NOMBRE")
la_Calle.Text = "N/A"
' Log("|"&c.GetString("CAT_CL_CALLE")&"|")
If c.GetString("CAT_CL_CALLE") <> Null Then la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
la_col.Text = "N/A"
If c.GetString("CAT_CL_COLONIA") <> Null Then la_col.Text = c.GetString("CAT_CL_COLONIA")
la_edo.Text = "N/A"
If c.GetString("CAT_CL_EDO") <> Null Then la_edo.Text = c.GetString("CAT_CL_EDO")
la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = "N/A"
If c.GetString("CAT_CL_CALLE1") <> Null Then l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = "N/A"
If c.GetString("CAT_CL_CALLE2") <> Null Then l_entre2.Text = c.GetString("CAT_CL_CALLE2")
l_atiende.Text = "N/A"
If c.GetString("CAT_CL_ATIENDE1") <> Null Then l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
''' ESTO SE AGREGA PARA QUE SE VEA LOS CLIENTES DOE
' If c.GetString("CAT_CL_EMAIL") = "1" Then
' l_doe.Visible = True
' Else
' l_doe.Visible = False
' End If
If kh.clienteConDOE And l_doe.IsInitialized Then
l_doe.Visible = True
Else
If l_doe.IsInitialized Then l_doe.Visible = False
End If
'''FIN CLIENTES DOE
l_total.Text = s.GetString("TOTAL_CLIE")
total_cliente = s.GetString("TOTAL_CLIE")
MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA")
FACTURA = c.GetString("CAT_CL_BFACTURA")
CREDITO = c.GetString("CAT_CL_BCREDITO")
LONGITUD = 0
If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG")
LATITUD = 0
If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT")
l_categoria2.text = "N/A"
If c.GetString("CAT_CL_CATEGORIA") <> Null Then l_categoria2.text = c.GetString("CAT_CL_CATEGORIA")
l_segmento2.text = "N/A"
If c.GetString("CAT_CL_SEGMENTO") <> Null Then l_segmento2.text = c.GetString("CAT_CL_SEGMENTO")
If logger Then Log($"Lon: ${LONGITUD}, Lat: ${LATITUD}"$)
Else
RutaBoleta=Starter.rutaV
End If
If s.IsInitialized Then s.Close
End If
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
c.Position = 0
If c.RowCount > 0 Then
MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
Else
MAC_IMPRESORA = 0
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
End If
Starter.MAC_IMPRESORA = MAC_IMPRESORA
Printer1.Initialize(Me, "Printer1")
TOMAR_FOTO = 0
c.Close
Panel_INV_A.Left = 0 : Panel_INV_A.top = 0
Panel10.Left = 0 : Panel10.top = 0
' Log("################# PERMISOS BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
' Log("Permisos BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
' Log("REVISAMOS PERMISOS DE BT")
' Starter.rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
' If Result Then Log("Tenemos permisos de bluetooth.")
' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
B4XPages.MainPage.aud.guarda($"Entrada a Cliente"$)
indicePregunta = 0
b_noVenta.Enabled = False
Log("NoVenta False")
' Log(kh.traeTotalCliente)
If kh.traeTotalCliente = 0 Then b_noVenta.Enabled = True
clienteId = kh.traeCliente
P_DOE.Visible = False
dentroDeGeocerca = False
' Log($"TOTAL VENTA: ${kh.traeTotalCliente}"$)
B_VENTA.Visible = False
b_noVenta.Visible = False
Log("NoVenta False")
If clienteId.StartsWith("N") Then b_noVenta.Visible = False
l_doe.Text = "HAY PEDIDO DOE"
' Log(Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
reqManager.Initialize(Me, Starter.DBReqServer)
reqManagerW.Initialize
usarGeocerca = kh.traeUsarGeocerca
'Para el almacen 12 (GDL) no se usa la geocerca
' If kh.traeAlmacen = 12 Then usarGeocerca = False
' Log(Subs.traeUltimaActividadBD)
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
c.Position = 0
If c.RowCount > 0 Then
MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
Else
MAC_IMPRESORA = 0
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
End If
Starter.MAC_IMPRESORA = MAC_IMPRESORA
et_geopass.Text = ""
If Subs.traeUltimaActividadBD <> "Cliente" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
' Log($"MUESTRA BOLETA ${muestraBoleta}"$)
If Not(muestraBoleta) Then Subs.panelVisibleCompleto(P_INF_GENERAL, Root)
p_pideGeoPass.Visible = False
' If Logger Then Log(muestraBoleta)
usuario = Subs.traeUsuarioDeBD
Id_Almacen = Subs.traeAlmacen
CallSubDelayed(Tracker, "StartFLP2")
b_ubicacion.Text = "SIN GPS"
b_ubicacion.TextColor = Colors.Red
If Not(Starter.GPS.GPSEnabled) Then
ToastMessageShow("Debe Activar el GPS del Equipo.", True)
StartActivity(Starter.GPS.LocationSettingsIntent)
Else
Starter.GPS.Start(0, 0)
If Starter.ubicacionActual.IsInitialized And Starter.ubicacionActual.Latitude <> 0 Then GPS_LocationChanged(Starter.ubicacionActual)
End If
If muestraBoleta Then
LLAMA_BOLETA
Else
If kh.motivoNoVisitaActivo Then
ToastMessageShow("Ruta CERRADA por NO VISITA", True)
Subs.iniciaActividad("Principal")
End If
End If
BT_QR.Enabled = False
' b_factura.Visible = False
Panel_INV_A.Visible = False
CREDITO_DISPONIBLE = 0
If Starter.boleta = 0 Then
c=Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
If c.RowCount > 0 Then c.Position = 1
If TOMAR_FOTO = 0 Then
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_SEGMENTO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO, IMPRESION from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
S1=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
S1.Position=0
c.Position=0
If c.RowCount > 0 Then
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
la_Calle.Text = "N/A"
' Log("|"&c.GetString("CAT_CL_CALLE")&"|")
If c.GetString("CAT_CL_CALLE") <> Null And c.GetString("CAT_CL_CALLE") <> "null" Then la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
la_col.Text = "N/A"
If c.GetString("CAT_CL_COLONIA") <> Null And c.GetString("CAT_CL_COLONIA") <> "null" Then la_col.Text = c.GetString("CAT_CL_COLONIA")
la_edo.Text = "N/A"
If c.GetString("CAT_CL_EDO") <> Null And c.GetString("CAT_CL_EDO") <>"null" Then la_edo.Text = c.GetString("CAT_CL_EDO")
la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = "N/A"
If c.GetString("CAT_CL_CALLE1") <> Null And c.GetString("CAT_CL_CALLE1") <>"null" Then l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = "N/A"
If c.GetString("CAT_CL_CALLE2") <> Null And c.GetString("CAT_CL_CALLE2") <> "null" Then l_entre2.Text = c.GetString("CAT_CL_CALLE2")
l_atiende.Text = "N/A"
If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
l_segmento2.text = "N/A"
If c.GetString("CAT_CL_SEGMENTO") <> Null Then l_segmento2.text = c.GetString("CAT_CL_SEGMENTO")
b_inicioFinVenta.Text = "INICIAR VENTA"
b_inicioFinVenta.BringToFront
' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red)
If Not(Starter.enVenta) And la_cuenta.Text <> "0" Then
b_inicioFinVenta.Visible = True
' Log("EnVenta Visible")
Else
' Log("EnVenta NO Visible")
b_inicioFinVenta.Visible = False
End If
' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red)
' LONGITUD = 0
' If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG")
' LATITUD = 0
' If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT")
' If c.GetString("CAT_CL_CATEGORIA") <> Null Then l_categoria2.text = c.GetString("CAT_CL_CATEGORIA")
' l_categoria2.text = "N/A"
l_total.Text = kh.traeTotalCliente
total_cliente = s.GetString("TOTAL_CLIE")
' Log(Subs.sumaPedido(Subs.traeCliente) & " - " & total_cliente)
m_lat =c.GetString("CAT_CL_LAT")
m_lon =c.GetString("CAT_CL_LONG")
CREDITO_DISPONIBLE = c.GetString("CAT_CL_BFACTURA")
CREDITO = c.GetString("CAT_CL_BCREDITO")
ruta_tienda = c.GetString("CAT_CL_RUTA")
YA_IMPRIMIO2 = c.GetString("IMPRESION")
' If c.GetString("CAT_CL_EMAIL") = "1" Then
' l_doe.Visible = True
' Else
' l_doe.Visible = False
' End If
If kh.clienteConDOE And l_doe.IsInitialized Then
l_doe.Visible = True
Else
If l_doe.IsInitialized Then l_doe.Visible = False
End If
LONGITUD = 0
If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG")
LATITUD = 0
If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT")
' LogColor($"${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}"$, Colors.red)
If logger Then Log($"Lat: ${LATITUD}, Lon: ${LONGITUD}"$)
NOMBRE = c.GetString("CAT_CL_NOMBRE")
' Log($"TOTAL DE LA VENTA: ${kh.traeTotalCliente}"$)
End If
If kh.traeTotalCliente < 0.01 And kh.traeTotalClienteDOE < 0.01 Then
If Not(clienteId.StartsWith("N")) And la_cuenta.Text <> "0" Then
' b_noVenta.Visible = True 'Ni cliente nuevo, ni abordo. ... Si apagan el GPS, y este esta habilitado, les da tiempo de meter NoVenta aun estando fuera de la geocerca.
' Log("NoVenta True")
End If
Else
b_noVenta.Visible = False
Log("NoVenta False")
If la_cuenta.text = 0 Then
CREDITO_DISPONIBLE = 10000000
CREDITO = 0
b_inicioFinVenta.Visible = False
End If
End If
' If S1.GetString("CUANTOS") = 0 Then
'' b_noVenta.Visible = True
' Else 'Si ya hay venta, ocultamos el boton de "NO VENTA"
' b_noVenta.Visible = False
' End If
If CREDITO = "1" Then
Msgbox("A este cliente no se le puede vender ya que tienen adeudo en su crédito", "ALTO") 'ignore
B_VENTA.Visible = False
clienteDeudor = True
' gest.Visible = False
Else
' B_VENTA.Visible = True
clienteDeudor = False
' gest.Visible = True
End If
' Msgbox(c.GetString("CAT_CL_NUM_SERIEFISICO"),"AVISO")
' If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then
' L_QR.Visible = True
' Else
' L_QR.Visible = False
' End If
S2=Starter.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
S2.Position =0
CUANTOS = S2.GetString("CUANTOS")
S2.Close
If CUANTOS > 0 Then
c2=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
c2.Position =0
MONTO_COMPRA = c2.GetString("TOTAL")
c2.Close
Else
MONTO_COMPRA = "0"
End If
la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then
META2 = NumberFormat2((300 - MONTO_COMPRA), 0, 4, 2, False)
Else
META2 = 300
End If
If META2 < 1 Then
META2 = "CUBIERTO"
End If
la_saldooper.Text = META2
c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa)")
c.Position = 0
If c.GetString("CUANTOS") > 0 Then
C1 = Starter.skmt.ExecQuery("SELECT HCCP_PROMO FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) ")
C1.Position = 0
C3 = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO")))
C3.Position = 0
If Not(B4XPages.MainPage.cliente.muestraBoleta) And Subs.traeCliente <> "0" Then 'Si vamos a mostrar boleta entonces no mandamos aviso.
If C3.GetString("CUANTOS") > 0 Then
c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_NOMBRE FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO")))
c2.Position = 0
If Not(Subs.hayPedido) Then
' ############### PROMOCIONES SEGMENTADAS ###############
' Revisamos si la promo esta en la lista, y tiene promos disponibles segun las ventas anteriores.
Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${C1.GetString("HCCP_PROMO")}' and HCCP_CLIENTE = '${Subs.traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
Log($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${C1.GetString("HCCP_PROMO")}' and HCCP_CLIENTE = '${Subs.traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
Log($"registros:${ps2.RowCount}"$)
If ps2.RowCount > 0 Then
ps2.Position = 0
Log($"registros:${ps2.RowCount}, cant:${ps2.GetString("HCCP_CANT")}"$)
MsgboxAsync("El cliente tiene derecho a una promo especial "& c2.GetString("CAT_GP_NOMBRE"),"Aviso") 'ignore
End If
' ############### TERMINA PROMOS SEGMENTADAS ###############
End If
c2.Close
Else
If Not(Subs.hayPedido) Then MsgboxAsync("El cliente tiene derecho a una promo especial ","Aviso") 'ignore
End If
End If
C3.Close
C1.Close
End If
' B_VENTA.Visible = True
If CREDITO = "1" Then
Msgbox("El cliente tiene credito excedido","Aviso") 'ignore
Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal")
End If
Else
Cuestionario
End If
' Log("IMPRESO: " & Subs.revisaImpresa)
If YA_IMPRIMIO2 = 0 Then
Guardar.Visible = False
Else
Guardar.Visible = True
End If
If l_total.Text = "" Or l_total.Text = "null" Then l_total.Text = "0"
If Not(l_total.Text > 0) Then Guardar.Visible = True ' And Not(kh.traeTotalClienteDOE > 0
' If la_cuenta.text = "0" Then Guardar.Visible = True 'Abordo
' Log($"L_TOTAL = ${l_total.text}"$)
If l_total.Text = Null Or l_total.Text = "null" Or l_total.text = "0" Then Guardar.Visible = True 'Si no hay venta entonces "Guardar" es visible.
'Promo Especial
' If Logger Then LogColor($"Ultima actividad BD=${Subs.traeUltimaActividadBD}"$, Colors.Magenta)
Dim mPromoEspecial As Map = revisaPromoEspecial
' If Logger Then Log(mPromoEspecial.Get("esValida"))
If Subs.traeUltimaActividadBD = "Productos" Then 'Venimos de "Productos"
If logger Then Log("Venimos de Productos")
If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null And _
l_total.Text > ((mPromoEspecial.Get("montoPromo") * (100 - mPromoEspecial.Get("rangoPromo")))/100) And _ 'El total es el porcentaje de rango MENOR al total de la venta
l_total.Text <= mPromoEspecial.Get("montoPromo") Then 'El monto de la venta esta dentro del rango para la promo.
If logger Then Log("Promo dentro del rango")
Msgbox($"Si la venta sobrepasa los $${mPromoEspecial.Get("montoPromo")} se activa la promoción '${mPromoEspecial.Get("descrPromo")}'"$, "CASI EN RANGO DE PROMO ESPECIAL") 'ignore
Else
If logger Then Log("Promo fuera de rango")
End If
If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null And l_total.text >= mPromoEspecial.Get("montoPromo") Then
If logger Then Log("Promo Autorizada")
res = Msgbox2("Promocion '" & mPromoEspecial.Get("descrPromo") & "' disponible.\nSi se otorga la promoción ya NO será posible modificar la venta.", "PROMO DISPONIBLE", "Si", "", "No", Null) 'ignore
If res = DialogResponse.POSITIVE Then
If logger Then Log("Promocion aceptada.")
If logger Then Log($"${mPromoEspecial.Get("idProd")}, ${mPromoEspecial.Get("idPromo")}, ${mPromoEspecial.Get("cantProd")}, ${mPromoEspecial.Get("nombreProd")}, ${mPromoEspecial.Get("descrPromo")}, ${la_cuenta.Text}, ${usuario}, ${ruta_tienda}"$)
metePromoEspecial(mPromoEspecial.Get("idProd"), mPromoEspecial.Get("idPromo"), mPromoEspecial.Get("cantProd"), mPromoEspecial.Get("nombreProd"), mPromoEspecial.Get("descrPromo"), la_cuenta.Text, usuario, ruta_tienda)
Log(">>>> Vamos a poner impreso")
Subs.ponImpreso(la_cuenta.Text)
End If
End If
If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null Then Log($"Monto venta = ${l_total.Text}, rango para promo = ${(mPromoEspecial.Get("montoPromo") * (100 - mPromoEspecial.Get("rangoPromo"))/100)}"$)
End If
c = Starter.skmt.ExecQuery("select count(*) as conNoVenta FROM NOVENTA WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position = 0
If c.GetString("conNoVenta") = 1 Then
b_noVenta.Visible = False 'Si ya tiene NoVenta, ocultamos el boton.
Log("NoVenta False")
End If
c.Close
Else
RutaBoleta=Starter.rutaV
End If
If c.IsInitialized Then c.Close
If s.IsInitialized Then s.Close
If S1.IsInitialized Then S1.Close
If logger Then Log("===================== Traemos EXHIBIDORES " & la_cuenta.Text & " =================" )
c=Starter.skmt.ExecQuery2("select * FROM HIST_EXHIBIDORES2 where hist_ex_id_cliente = ?", Array As String (la_cuenta.Text))
If c.RowCount > 0 Then
Private exhibs As String = ""
Private separador As String = ""
For i=0 To c.RowCount -1
c.Position=i
If i < c.RowCount And i <> 0 Then separador = " - " Else separador = ""
exhibs = exhibs & separador & c.GetString("HIST_EX_TIPO")
Next
' If Logger Then LogColor(exhibs, Colors.Blue)
c.Close
l_exhibidor2.Text = exhibs
l_exhibidores3.Text = exhibs
End If
'PARA LA PROMO DOE
b_whats.Visible = False
gps_boton_doe = "0"
C1=Starter.skmt.ExecQuery("select IMPRESION FROM kmt_info where CAT_CL_CODIGO In (select cuenta from cuentaa)")
If C1.RowCount > 0 Then
C1.Position = 0
If C1.GetString("IMPRESION") <> "1" Then
S=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PROID = ?", Array As String("PROMODOE") )
s.Position = 0
If s.GetString("CUANTOS") = 0 Then
c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO = ?", Array As String("PROMODOE"))
c.Position =0
If c.GetString("CUANTOS") > 0 Then
C3=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223"))
C3.Position = 0
If C3.GetString("CUANTOS") > 0 Then
c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_ALMACEN FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223"))
c2.Position = 0
If c2.GetString("CAT_GP_ALMACEN") > 0 Then
b_whats.Visible = False
' gps_boton_doe = "1"
End If
c2.Close
End If
C3.Close
End If
c.Close
End If
s.Close
End If
End If
C1.Close
gps_boton_doe = "0"
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
' Log(Subs.revisaImpresa)
If l_total.text <> "null" And l_total.text <> "" And l_total.text <> Null Then
B_IMP2.Enabled = True
Else
B_IMP2.Enabled = False
End If
If kh.traeTotalClienteDOE > 0 Then
Private cs As CSBuilder
cs.Initialize
l_doe.Text = cs.append($"Pedido DOE: $${kh.traeTotalClienteDOE}"$).color(Colors.red).append(CRLF).Append($"TOTAL PEDIDO: $${(kh.traeTotalCliente+kh.traeTotalClienteDOE)}"$).Popall
' l_doe.Text = $"Pedido DOE: $${kh.traeTotalClienteDOE}${CRLF}TOTAL PEDIDO: $${(kh.traeTotalCliente+kh.traeTotalClienteDOE)}"$
End If
If Subs.revisaImpresa Then Guardar.Visible = True
'PROMOS POR MONTO
Private mPromoXMonto As Map = Subs.revisaPromoPorMonto
Private elMontoTSDeLaVenta As String = 0
' LogColor("PROMOXMONTO:" & mPromoXMonto, Colors.Blue)
If mPromoXMonto.Size > 0 And clienteId <> 0 Then ' El "clienteId <> 0" es para que no de la promo cuando sea ABORDO
If l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then
Log("Eres candidato a una promocion")
MsgboxAsync($"Si agregas venta para que supere los $${mPromoXMonto.Get("precio1")}, la promoción "${Subs.traeProdNombre(mPromoXMonto.Get("id"))}" se agregará automáticamente."$, "AGREGA VENTA")
else if l_total.Text >= mPromoXMonto.Get("precio1") Then
'Agregamos la promocion y sus productos FIJOS.
Private dp As Cursor = Starter.skmt.ExecQuery($"select * from cat_detalles_paq where cat_dp_id = '${mPromoXMonto.Get("id")}'"$)
If dp.RowCount > 0 Then
Log(">>>> GUARDAMOS PROMOXMONTO HEADER")
Subs.guardaProductoSinGestion(mPromoXMonto.Get("id"), 0, 1, Subs.traeProdNombre(mPromoXMonto.Get("id")), mPromoXMonto.Get("id"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
For i = 0 To dp.RowCount - 1
dp.Position = i
If dp.GetString("CAT_DP_TIPO") = "0" Then
Log(">>>> GUARDAMOS PROMOXMONTO PRODS")
Subs.guardaProductoSinGestion(mPromoXMonto.Get("id"), dp.GetString("CAT_DP_PRECIO"), dp.GetString("CAT_DP_PZAS"), Subs.traeProdNombre(dp.GetString("CAT_DP_IDPROD")), dp.GetString("CAT_DP_IDPROD"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
' Traemos el monto de las bonificacionos a guardar. -- Trade Spending
Log("Monto Bonificacion -->> " & B4XPages.MainPage.promos.ts.traeMontoBonificacion(dp.GetString("CAT_DP_IDPROD"), dp.GetString("CAT_DP_PRECIO"), mPromoXMonto.Get("id"),"LOG_APPEAR1"))
elMontoTSDeLaVenta = elMontoTSDeLaVenta + (B4XPages.MainPage.promos.ts.traeMontoBonificacion(dp.GetString("CAT_DP_IDPROD"), dp.GetString("CAT_DP_PRECIO"), mPromoXMonto.Get("id"), "APPEAR2") * dp.GetString("CAT_DP_PZAS"))
End If
Next
B4XPages.MainPage.promos.ts.modTrendSpending("RESTA", "BONIFICACIONES", elMontoTSDeLaVenta)
Log($"### modTrendSpending("RESTA", "BONIFICACIONES", ${elMontoTSDeLaVenta})"$)
MsgboxAsync($"Promo por monto "${Subs.traeProdNombre(mPromoXMonto.Get("id"))}" agregada."$,"AVISO")
B4XPage_Appear
End If
dp.Close
End If
End If
Private ppm As Cursor = Starter.skmt.ExecQuery($"select (select ifnull(sum(PE_COSTO_TOT),0) from pedido where CAT_PA_ID <> pe_cedis) as CT, ifnull((select pe_cedis from pedido where pe_cedis = CAT_PA_ID), 0) as existe, * from PROMOS_COMP where CAT_PA_TIPO_PROMONTO = '1' and CT < cast(cat_pa_precio1 as integer)"$) 'Traemos las promos por monto donde la venta es menor al precio1 para borrarlas.
Log("REGISTROS DE PPM: " & ppm.RowCount)
If ppm.RowCount > 0 Then
Private existe As String = 0
For i = 0 To ppm.RowCount - 1
ppm.Position = i
Log(ppm.GetString("existe"))
existe = ppm.GetString("existe")
Log($"BORRAMOS PROMO ${ppm.GetString("CAT_PA_ID")} or monto menor a ${ppm.GetString("CAT_PA_PRECIO1")}"$)
Starter.skmt.ExecNonQuery($"delete from pedido where pe_cedis = '${ppm.GetString("CAT_PA_ID")}' and pe_cliente = '${Subs.traeCliente}'"$)
Next
If existe <> "0" Then
MsgboxAsync($"Promoción "${Subs.traeProdNombre(ppm.GetString("CAT_PA_ID"))}" eliminada por no cumplir con el monto mínimo."$, "AVISO")
B4XPage_Appear
End If
End If
ppm.Close
If Not(Subs.revisaHora) Then
Log("***************** HORA INCORRECTA")
MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE")
End If
c = Starter.skmt.ExecQuery($"select * from cat_notificaciones where CN_CLIENTE = '${Subs.traeCliente}'"$)
Log("###############################################################")
Log(c.RowCount)
Log("###############################################################")
If c.RowCount > 0 Then
c.Position = 0
l_notificacionTexto.Text = c.GetString("CN_NOTIFICACION")
p_transparenciaNoti.Top = 0 : p_transparenciaNoti.Left = 0
p_transparenciaNoti.Height = Root.Height
p_transparenciaNoti.Width = Root.Width
Subs.centraPanel(p_Notificacion, Root.Width)
p_transparenciaNoti.Visible = True
Log(c.GetString("CN_ID") & "|" & c.GetString("CN_CODIGO"))
b_notificacion.Tag = c.GetString("CN_ID") & "|" & c.GetString("CN_CODIGO")
p_transparenciaNoti.BringToFront
End If
c.Close
' Este codigo es para hacer que el Label de las notificaciones tenga SCROLLVERTICAL.
Dim labeljo, scrollerjo As JavaObject
labeljo = l_notificacionTexto
scrollerjo.InitializeNewInstance("android.text.method.ScrollingMovementMethod", Null)
labeljo.RunMethod("setMovementMethod", Array(scrollerjo)) ' Asigna el método de movimiento para permitir scroll
labeljo.RunMethod("setHorizontallyScrolling", Array(False)) ' CAMBIO: Para scroll vertical, esto DEBE ser False
labeljo.RunMethod("setVerticalScrollBarEnabled", Array(True)) ' Opcional: Forzar a que el scroll sea vertical explícitamente si el contenido es grande
' Forzar el scroll al inicio (0,0)
Sleep(0)
' El primer 0 es la posición X (horizontal), el segundo es la posición Y (vertical)
labeljo.RunMethod("scrollTo", Array(0, 0))
'Termina codigo de label horzontal
End Sub
Sub Printer1_Connected (Success As Boolean)
' If Logger Then Log("Printer1_Connected")
If Success Then
ToastMessageShow("Impresora conectada", False)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora))
If logger Then LogColor("Impresora conectada", Colors.Green)
' B_IMP2.Enabled = True
impresoraConectada = True
Else
' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore
' ToastMessageShow("Error conectando la impresora", False)
LogColor("Error conectando la impresora", Colors.Red)
errorImpresora = errorImpresora + 1
If errorImpresora > 1 Then
Starter.MAC_IMPRESORA = "0"
errorImpresora = 0
End If
End If
End Sub
Sub Printer1_Error
Log("error printer")
End Sub
Sub GPS_LocationChanged (Location1 As Location)
'Este codigo se corre desde Tracker/flp_LocationChanged
b_ubicacion.TextColor = Colors.Gray
' Sleep(200)
b_ubicacion.TextColor = Colors.White
If logger Then Log($"${Location1.Latitude}, ${Location1.Longitude}, ${Location1.Accuracy}"$)
If m_lat = Null Or m_lat = "null" Or m_lat = "" Then m_lat = 0
If m_lon = Null Or m_lon = "null" Or m_lon = "" Then m_lon = 0
Private ubicacionTienda As Location
ubicacionTienda.Initialize
ubicacionTienda.Latitude = m_lat
ubicacionTienda.Longitude = m_lon
If logger Then Log($"Tienda:${ubicacionTienda.Latitude}, ${ubicacionTienda.Longitude}"$)
b_ubicacion.TextSize = 13
b_ubicacion.Text = $"Precisión GPS $1.0{Location1.Accuracy} m"$
If Location1.Accuracy > 200 Then
b_ubicacion.TextColor = Colors.Red
b_ubicacion.TextSize = 16
b_ubicacion.Text = $"Mala señal $1.0{Location1.Accuracy} m"$
End If
laDist= Location1.DistanceTo(ubicacionTienda)
l_ubicacion2.Text = $"Dist: $1.0{laDist} mts."$
If laDist > 50 Then ' Antes 300
l_ubicacion2.TextColor = Colors.Red
dentroDeGeocerca = False
Else
l_ubicacion2.TextColor = Colors.Black
dentroDeGeocerca = True
' Log("dentro de geocerca")
End If
'''' GEO CERCA
'''' esto es para la geocerca validar tambien el las variables del whats y del no venta que las borra si existe venta
' Dim l1, l2 As Location
' Log($"${Starter.lat_gps}, ${Starter.lon_gps}"$)
If Starter.lat_gps = "null" Or Starter.lat_gps = Null Or Starter.lat_gps = "" Then 'Zocalo
Starter.lat_gps = "19.432568527069805"
Starter.lon_gps = "-99.13335030112772"
End If
'Revisamos si el cliente es candidato a la promo DOE
c=Starter.skmt.ExecQuery("select CAT_CL_EMAIL from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position = 0
If c.RowCount > 0 Then
gps_boton_doe = c.GetString("CAT_CL_EMAIL")
End If
c.Close
' gest.Visible = True
' gps_boton_doe ="1"
' LogColor($"Distancia actual: ${distance}"$, Colors.Blue)
'Si no estamos usando la geocerca o ya estanos dentro de la geocerca o el usuario es KMTS1 o es abordo ...
If Not(usarGeocerca) Or dentroDeGeocerca Or usuario = "KMTSKLL1" Or la_cuenta.Text = "0" Then
Private x As Cursor = Starter.skmt.ExecQuery("select count(HIST_CLIENTE) as clienteConPromo from HIST_PROMO_WHATS where HIST_CLIENTE in (Select CUENTA from cuentaa)")
If x.RowCount > 0 Then
x.Position = 0
clienteConPromo = x.GetString("clienteConPromo")
' Log($"${x.GetString("clienteConPromo")}"$)
End If
x.Close
' If pgs_boton_noventa = "1" Then b_noVenta.Visible = True
' If gps_boton_doe ="1" Then b_whats.Visible = True
' Log($"${gps_boton_doe}|${clienteConPromo}"$)
' If gps_boton_doe = "1" And clienteConPromo = "0" And revisaExistenciasDOE Then b_whats.Visible = True
If Not(clienteDeudor) Then B_VENTA.Visible = True 'Si el cliente no tiene adeudo, habilitamos el boton de venta
If Not(clienteId.StartsWith("N")) And la_cuenta.Text <> "0" Then
b_noVenta.Visible = True 'Ni cliente nuevo, ni abordo.
' Log("NoVenta False")
End If
If Not(p_rechazoDOE.Visible) Then pedido_doe_muestra
Else
b_noVenta.Visible = False
' Log("NoVenta False")
B_VENTA.Visible = False
b_whats.Visible = False
End If
''' fin de la geocerca
End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
Starter.tipov = "PREVENTA"
' Subs.iniciaActividad("Productos")
End Sub
Sub b_noVenta_Click
Subs.iniciaActividad("noventa")
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
'Return True to close, False to cancel
muestraBoleta = False
If PNL_TOTALES.Visible Then
PNL_TOTALES.Visible = False
P_BOLETA.Visible = False
P_INF_GENERAL.Visible = True
Log("Panel general="&P_INF_GENERAL.Visible)
Subs.iniciaActividad("Principal")
else if p_pideGeoPass.Visible Then
p_pideGeoPass.Visible = False
else if Panel_INV_A.Visible Then
Panel_INV_A.Visible = False
P_INF_GENERAL.Visible = True
If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
else if p_promowhats.Visible Then
P_INF_GENERAL.Visible = True
p_promowhats.Visible = False
else if p_rechazoDOE.Visible Then
p_rechazoDOE.Visible = False
BP_DOE_A.Visible = True
BP_DOE_R.Visible = True
Else
Msgbox("Presione Imprimir y Guardar para continuar","Aviso") 'ignore
End If
Return False
End Sub
Sub Tar_Click
B_VENTA.Visible = False
Subs.iniciaActividad("nota")
End Sub
Sub DATOS_Click
Subs.iniciaActividad("telefonos")
End Sub
Sub Guardar_Click
B4XPages.MainPage.aud.guarda($"Guarda Venta Cliente"$)
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then
Private coords As List = Subs.traeCoordsDeBD
Starter.lat_gps = coords.Get(0)
Starter.lon_gps = coords.Get(1)
End If
c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position = 0
clie_id = c.GetString("CUENTA")
usuario = Subs.traeUsuarioDeBD
If l_total.Text <> Null And l_total.Text <> "null" And l_total.Text <> "0.0" Then Subs.ponImpreso(clie_id) 'Solo lo marcamos com impreso si tiene venta (total > 0).
c = Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position = 0
If c.GetString("CUANTOS") > 0 Then
Log("###### delete from pedido_cliente")
Starter.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_RUTA, PC_ALMACEN, PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(Subs.traeAlmacen, Subs.traeRuta, clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
Log("Actualizamos gestion")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
s = Starter.skmt.ExecQuery("SELECT count(*) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position = 0
If s.GetString("FOLIO") > 0 Then
c = Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position = 0
End If
s.Close
Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_ENVIADO) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO, PE_ENVIADO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_ENVIADO")
c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_ENVIADO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS")))
Next
End If
c.Close
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO2))
Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime))
Starter.skmt.ExecNonQuery("delete from PEDIDO where PE_CANT = 0") 'Mod por CHV para que borre los productos que esten con cantidad 0 - 211228
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO"))
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "seleccion"))
' Activity.Finish
CallSubDelayed(Tracker, "StartFLP")
If logger Then Log("Cerramos Cliente, iniciamos Principal")
' B4XPages.ShowPage("Principal")
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
' Subs.iniciaActividad("principal")
' B4XPages.ShowPageAndRemovePreviousPages("Principal")
Guardar.SendToBack
b_inicioFinVenta.Text = "TERMINAR VENTA"
Log("RESPALDO")
kh.RD_respaldoBatch
' Subir_Pedido_Con_Integridad(clie_id)
mandaPendientes
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
Else
b_inicioFinVenta.Visible = False
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, "", "")
Subs.iniciaActividad("principal")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
End Sub
Sub mandaPendientes
' B4XPages.MainPage.principal.enviaPedido(Null)
' B4XPages.MainPage.principal.enviaPedidoCliente(Null)
B4XPages.MainPage.principal.enviaPedidoBatch(Null)
End Sub
Sub NUEVO_Click
' Subs.iniciaActividad("nuevocliente")
End Sub
Sub HIST_Click
Subs.iniciaActividad("Historico")
End Sub
Sub BT_QR_Click
Dim scan_width As Int
Dim scan_height As Int
scan_width = 400
scan_height = 400
sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height)
End Sub
Sub sc_result(atype As String,Values As String)
'Log("Type : " & atype)
'Log("Value : " & Values)
CODIGO = Values
Starter.skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Starter.lon_gps, Starter.lat_gps))
End Sub
Sub sc_noScan
If logger Then Log("nothing returned from the scan !!!!!")
End Sub
Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes
Dim i As Int
Dim cO As Char
Dim soma As Int
Dim n As Int
Dim digit As Float
soma = 0
For i=0 To number.Length - 1
digit = number.SubString2(i,i+1)
n= digit * ((i Mod 2) * 2 + 1)
soma=soma+n
Next
Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
End Sub
Sub b_mapa_Click
Subs.iniciaActividad("mapas")
End Sub
Sub B_IMP_Click
' Buscamos los clientes que tienen pedido y NO estan impresos.
' Private t As Cursor = Starter.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)")
' If t.RowCount > 0 Then
' For i = 0 To t.RowCount - 1
' t.Position = i ' Y los BORRAMOS.
' Log(t.GetString("CAT_CL_CODIGO"))
' Starter.skmt.ExecNonQuery($"update CUENTAA set CUENTA = '${t.GetString("CAT_CL_CODIGO")}'"$)
' Subs.borraPedidoClienteActual
'' Msgbox2Async($"El pedido del cliente ${t.GetString("CAT_CL_CODIGO")} no está impreso, se va a borrar"$, "PEDIDO NO IMPRESO", "Aceptar", "", "", Null, True)
' Next
' End If
Sleep(1000)
Starter.skmt.Close : Log("Cerramos BD") : Starter.revisaBD
Subs.panelAnchoAlto(Panel_INV_A, Root.Width, Root.Height)
Panel_INV_A.Visible = True
P_INF_GENERAL.Visible = False
If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
L_INVA.Left = 5dip
L_INVA.Width = Root.Width * 0.98
L_INVA.Clear
Dim label1 As Label
label1 = L_INVA.TwoLinesLayout.Label
label1.TextSize = 14
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = L_INVA.TwoLinesLayout.SecondLabel
label2.TextSize = 14
label2.TextColor = Colors.Black
' Aqui es donde esta el pedo de julieta de los descuentos, quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))
If s.RowCount > 0 Then
For i = 0 To S.RowCount - 1
s.Position=i
S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID")))
S1.Position=0
S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
S3.Position=0
If S3.GetString("CUANTOS") > 0 Then
S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
S2.Position=0
a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT")
Else
a_inicial = S1.GetString("CAT_GP_ALMACEN")
End If
a_inicial_5 = S1.GetString("CAT_GP_ALMACEN")
If S3.GetString("CUANTOS") > 0 Then
ABORDO = S2.GetString("HIST_CANT")
Else
ABORDO = 0
End If
a_total = S1.GetString("CAT_GP_ALMACEN")
C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_PROID = ? AND PE_TIPO = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"), "VENTA"))
C4.Position=0
If C4.GetString("CUANTOS") > 0 Then
C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE, sum(PE_COSTO_TOT) AS TOTAL from pedido where substr(pe_pronombre,1,6) <> ? AND PE_PROID = ? AND PE_TIPO = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"), "VENTA"))
C3.Position=0
a_venta = C3.GetString("CANTIDAD")
a_VENTA_F = C3.GetString("TOTAL")
C3.Close
Else
a_venta = 0
a_VENTA_F = 0
End If
C4.Close
C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID")))
C4.Position=0
If C4.GetString("CUANTOS") > 0 Then
C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID")))
C1.Position=0
RMI = C1.GetString("CANTIDAD")
C1.Close
Else
RMI = 0
End If
C4.Close
a_final = a_inicial_5 - a_venta ' - RMI
L_INVA.AddTwoLines(s.GetString("CAT_GP_NOMBRE"), "II-" & a_inicial & ".CD." & ABORDO & ".IIT." & a_total & ".VT." & a_venta & "..$" & a_VENTA_F & ".IF." & a_final & ".RMI." & RMI)
Next
End If
s.Close
If S1.IsInitialized Then S1.Close
If S3.IsInitialized Then S3.Close
If S2.IsInitialized Then S2.Close
If C4.IsInitialized Then C4.Close
End Sub
Sub B_IMP2_Click
' LogColor(kh.traeDisponibleAbordo,Colors.Green)
If kh.traeDisponibleAbordo < 0 And la_cuenta.Text = "0" Then
Msgbox2Async("No tienes venta suficiente","Atención", "Modificar pedido", "", "Borrar pedido",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (result As Int)
If result = DialogResponse.POSITIVE Then
' ToastMessageShow("Positivo",True)
B4XPages.ShowPage("Productos")
Else If result = DialogResponse.NEGATIVE Then
' ToastMessageShow("Negativo",True)
Subs.borraPedidoClienteActual
ToastMessageShow("Abordo BORRADO!", True)
B4XPage_Appear
End If
Else
Imprime_ticket
End If
End Sub
Sub Imprime_ticket
Log("INICIA Imprime_ticket")
B_IMP2.Enabled = False
If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0).
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
Log($"Impresora Conectada: ${Printer1.IsConnected}"$)
If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA"))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")''
End If
Guardar.Visible = True
Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ")
c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If c.RowCount > 0 Then
For i = 0 To c.RowCount -1
c.Position = i
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? AND PE_FOLIO = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"), c.GetString("PE_FOLIO")))
Next
End If
Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CUANTOS")
c.Close
If perfil > 0 Then
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CAT_VA_VALOR")
c.Close
End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
c.Position = 0
sucursal = c.GetString("CAT_VA_VALOR")
c.Close
TAMANO = 0
ESPACIO = 14
BLANCO = " "
'esto para las impresoras nuevas
'printer.Initialize(cmp20.OutputStream)
Printer1.Reset
Printer1.Reset
Sleep(300)
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "kellanova_borde.png", 376, 129, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Dim bmp As Bitmap
' bmp.InitializeResize(File.DirAssets, "cacahuates_original2.jpg", 376, 129, True) 'ignore
' Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
' myimage = Printer1.DitherImage2D(myimage, 128)
' myimage= Printer1.PackImage(myimage)
' Printer1.PrintImage(myimage)
Sleep(1000)
Private cr As Cursor = Starter.skmt.ExecQuery("select CREDITO from kmt_info where CAT_CL_CODIGO in (select cuenta from cuentaa)")
Private formaPago As String = "Efectivo"
If cr.RowCount > 0 Then
cr.Position = 0
If cr.GetInt("CREDITO") = 1 Then formaPago = "Crédito"
End If
cr.Close
If la_cuenta.Text = "0" Then
LogColor(123, Colors.red)
Try
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
Printer1.WriteString(sDate &" " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & ruta_tienda & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
' Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
' LogColor("Forma de pago: " & formaPago, Colors.red)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("PEDIDO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Sleep(100)
Next
End If
s.Close
Printer1.WriteString(CRLF)
Printer1.WriteString("------------RMI---------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO"))
If S.RowCount > 0 Then
For i=0 To S.RowCount -1
TAMANO = 0
ESPACIO = 14
BLANCO = " "
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
Sleep(100)
Next
End If
s.Close
Printer1.WriteString(CRLF)
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO"))
s.Position =0
Private sTotal1 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
sTotal1 = s.GetString("TOTAL")
Else
sTotal1 = 0
End If
Printer1.WriteString( "Total entrega: $" & NumberFormat2(sTotal1, 1, 2, 2, False) & CRLF)
Printer1.WriteString("===============================" & CRLF)
''bold para las nuevas impresoras
Private total3 As String = 0
If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total3 = s.GETSTRING("TOTAL")
Printer1.WriteString( Printer1.BOLD & "Total pedido: $" & NumberFormat2(total3, 1, 2, 2, False) & CRLF)
s.Close
s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO"))
s.Position =0
Private total4 As String = "0"
Log("|" & s.GetString("TOTAL") & "|")
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL")
Sleep(400)
Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF)
Printer1.WriteString("===============================" & CRLF)
s.Close
Printer1.WriteString(Printer1.DEFAULTS)
' printer.WriteLine("------------VENTA-------------")
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString( "Nombre y Firma del cliente" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString("__________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
'printer.Close
Sleep(1000)
Printer1.DisConnect
Catch
ToastMessageShow("Error en la impresion 1.", True)
Printer1.Disconnect
B4XPages.ShowPage("Principal")
End Try
Else
Try
' LogColor(456, Colors.red)
DateTime.DateFormat = "yyyymmdd"
sDate=DateTime.Date(DateTime.Now)
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
Printer1.WriteString("No. Ticket: " & sDate & la_cuenta.Text & CRLF)
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
Printer1.WriteString(sDate &" " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & ruta_tienda & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
' LogColor("Entre Calle2: " & l_entre2.Text, Colors.red)
Printer1.WriteString("Forma de pago: " & formaPago & CRLF)
' LogColor("Forma de pago: " & formaPago, Colors.red)
Printer1.WriteString(" " & CRLF)
''''''' PEDIDOS DOE
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("DOE"))
' s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO"))
If S.RowCount>0 Then
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("PEDIDO DON TOÑO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Private strT As String = ""
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Sleep(100)
Next
End If
s.Close
s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE"))
s.Position = 0
Private sTotal2 As Double
Log(sTotal2)
LogColor(s.GetString("TOTAL"),Colors.Magenta)
If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
sTotal2 = s.GetString("TOTAL")
' sTotal2 = Subs.sumaPedido(Subs.traeCliente)
Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF)
Else
sTotal2 = 0
End If
Log(sTotal2)
Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then
cantidad1 = s.GetString("CANTIDAD")
Log("|" & cantidad1 & "|")
Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
End If
' Printer1.WriteString(CRLF)
s.Close
''''SE MODIFCA EL QUERY POR LOS PEDIDOS DOE
S=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO","DOE"))
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("VENTA" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
''s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo <> ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Private strT As String = ""
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Sleep(100)
Next
End If
s.Close
s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO","DOE"))
s.Position = 0
Private sTotal2 As Double
' If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
' sTotal2 = s.GetString("TOTAL")
' Else
' sTotal2 = 0
' End If
sTotal2 = kh.traeTotalCliente
Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD")
s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
s.Position = 0
Private cant5 As String = s.GetString("CANTIDAD")
Private sTotal3 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then
sTotal3 = s.GetString("TOTAL")
Else
sTotal3 = 0
End If
Sleep(200)
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & $"Sub Total Venta: $${NumberFormat2((sTotal2+(sTotal3 * -1)), 1, 2, 2, False)}"$ & CRLF)
Log("|" & s.GetString("CANTIDAD") & "|" & cantidad1 & "|")
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad1 & CRLF)
Printer1.WriteString(CRLF)
Sleep(200)
s.Close
Printer1.WriteString("------------RMI---------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Sleep(100)
Next
End If
s.Close
s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
s.Position = 0
Private sTotal3 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then
sTotal3 = s.GetString("TOTAL")
Else
sTotal3 = 0
End If
Sleep(200)
' Log(111)
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF)
Private cantidad2 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD")
' Log("|" & cantidad1 & "|")
' Log("|" & s.GetString("CANTIDAD") & "|" & cantidad1 & "|")
Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad2 & CRLF)
Printer1.WriteString(CRLF)
s.Close
Printer1.WriteString(CRLF)
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
s.Position = 0
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
Sleep(200)
Private total2 As String = 0
' If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL")
total2 = kh.traeTotalCliente
Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & NumberFormat2(total2, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & s.GetString("TOTAL") & CRLF)
' Printer1.WriteString("===============================" & CRLF)
'
' Printer1.WriteString( "Total venta: $" & s.GetString("TOTAL") & CRLF)
s.Close
s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
s.Position =0
Private total5 As String = "0"
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total5 = s.GetString("TOTAL")
Printer1.WriteString(Printer1.BOLD & "No. Productos vendidos: " & (total5 - cantidad2) & CRLF)
Printer1.WriteString(Printer1.BOLD & "Productos devueltos : " & cantidad2 & CRLF)
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
' Printer1.WriteString( "No. Productos: " & s.GetString("TOTAL") & CRLF)
' Printer1.WriteString( "===============================" & CRLF)
s.Close
Printer1.WriteString(Printer1.UNREVERSE)
Printer1.WriteString(Printer1.NOBOLD)
' printer.WriteLine("------------VENTA-------------")
' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente)
' Printer1.WriteString(Printer1.DEFAULTS & CRLF)
Printer1.WriteString(CRLF)
' Printer1.WriteString(Printer1.SINGLE)
'Printer1.WriteString("------------------------------")
' Printer1.WriteString(Printer1.HIGH)
' Printer1.Justify = 1
Printer1.WriteString( "Nombre y Firma del cliente" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(Printer1.DEFAULTS)
Printer1.WriteString(Printer1.SINGLE)
Printer1.WriteString("__________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Sleep(400)
' Log(222)
' Dim bmp As Bitmap
' bmp.InitializeResize(File.DirAssets, "cacahuates_original2.jpg", 376, 129, True) 'ignore
' Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
' myimage = Printer1.DitherImage2D(myimage, 128)
' myimage= Printer1.PackImage(myimage)
' Printer1.PrintImage(myimage)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Sleep(1000)
' Log(333)
' Printer1.DisConnect
Catch
Log("ERROR CATCH")
ToastMessageShow("Error en la impresion 2.", True)
Printer1.Disconnect
B4XPages.ShowPage("Principal")
End Try
End If
Sleep(1000)
' Log(666)
Printer1.Reset
Sleep(1000)
Printer1.DisConnect
' Log(6666)
B_IMP2.Enabled = True
ProgressDialogHide
' If Logger Then Log("Habilitamos boton")
' Log(">>>>> " & Printer1.IsConnected)
End Sub
Sub B_IMP2BAK_Click
Log("inicia B_IMP2_Click")
'Comente las siguientes lineas porque como ahora los RMIs entran en negativo y se restan del total de la venta, ya no son validas.
' Private t As Cursor = Starter.skmt.ExecQuery("select sum(PE_PRECIO2) as totalRMI from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (Select cuenta from cuentaa)")
' t.Position = 0
' Private rmiTotal As String = "0"
' If t.GetString("totalRMI") <> Null Then rmiTotal = t.GetString("totalRMI")
' Log("RMI TOTAL=" & rmiTotal)
' If l_total.Text <> Null And l_total.Text <> "null" And l_total.Text < rmiTotal Then
' Msgbox("El total de RMIs es mayor que la venta, por favor quitar RMIs", "No hay suficiente venta") 'ignore
' Return
' End If
B_IMP2.Enabled = False
If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0).
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
' If Logger Then Log($"Impresora Conectada: ${Printer1.IsConnected}"$)
If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA"))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")''
Guardar.Visible = True
End If
Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ")
c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? AND PE_FOLIO = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"), c.GetString("PE_FOLIO")))
Next
End If
Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3")
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CUANTOS")
c.Close
If perfil > 0 Then
c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
c.Position =0
perfil = c.GetString("CAT_VA_VALOR")
c.Close
End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
c.Position = 0
sucursal = c.GetString("CAT_VA_VALOR")
c.Close
TAMANO = 0
ESPACIO = 14
BLANCO = " "
'esto para las impresoras nuevas
'printer.Initialize(cmp20.OutputStream)
Printer1.Reset
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "kelloggs.png", 376, 129, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Printer1.Justify = 1
If la_cuenta.Text = "0" Then
Try
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
Printer1.WriteString(sDate &" " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & ruta_tienda & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("PEDIDO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Next
End If
s.Close
Printer1.WriteString(CRLF)
Printer1.WriteString("------------RMI---------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
TAMANO = 0
ESPACIO = 14
BLANCO = " "
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
Next
End If
s.Close
Printer1.WriteString(CRLF)
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO"))
s.Position =0
Private sTotal1 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
sTotal1 = s.GetString("TOTAL")
Else
sTotal1 = 0
End If
Printer1.WriteString( "Total entrega: $" & NumberFormat2(sTotal1, 1, 2, 2, False) & CRLF)
Printer1.WriteString("===============================" & CRLF)
''bold para las nuevas impresoras
Private total3 As String = 0
If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total3 = s.GETSTRING("TOTAL")
Printer1.WriteString( Printer1.BOLD & "Total pedido: $" & NumberFormat2(total3, 1, 2, 2, False) & CRLF)
s.Close
s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO"))
s.Position =0
Private total4 As String = "0"
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL")
Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF)
Printer1.WriteString("===============================" & CRLF)
s.Close
Printer1.WriteString(Printer1.DEFAULTS)
' printer.WriteLine("------------VENTA-------------")
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString( "Nombre y Firma del cliente" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString("______________________________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
'printer.Close
Sleep(1000)
Printer1.DisConnect
Catch
ToastMessageShow("Error en la impresion 1.", True)
Printer1.Disconnect
Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal")
End Try
Else
Try
DateTime.DateFormat = "yyyymmdd"
sDate=DateTime.Date(DateTime.Now)
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
Printer1.WriteString("No. Ticket: " & sDate & la_cuenta.Text & CRLF)
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
Printer1.WriteString(sDate &" " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & ruta_tienda & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
Printer1.WriteString(" " & CRLF)
''''''' PEDIDOS DOE
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("PEDIDO DON TOÑO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
s = Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("DOE"))
'' s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Private strT As String = ""
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Next
End If
s.Close
s = Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE"))
s.Position = 0
Private sTotal2 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
sTotal2 = s.GetString("TOTAL")
Else
sTotal2 = 0
End If
Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF)
Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD")
Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF)
' Printer1.WriteString(CRLF)
s.Close
''''SE MODIFCA EL QUERY POR LOS PEDIDOS DOE
S=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO","DOE"))
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("VENTA" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
''s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo <> ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO"))
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("VENTA" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
' printer.WriteLine("-----------ENTREGA------------")
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Private strT As String = ""
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Next
End If
s.Close
s = Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
s.Position = 0
Private sTotal2 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
sTotal2 = s.GetString("TOTAL")
Else
sTotal2 = 0
End If
Printer1.WriteString( $"Sub Total Venta: $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF)
Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD")
Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF)
Printer1.WriteString(CRLF)
s.Close
Printer1.WriteString("------------RMI---------------" & CRLF)
s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
Private strT As String = ""
strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT")
TAMANO = strT.Length
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Private pecostou As String = 0
If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU")
Private pecostotot As String = 0
If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT")
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF)
If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$)
TAMANO = 0
ESPACIO = 14
BLANCO = " "
End If
Next
End If
s.Close
s = Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO"))
s.Position = 0
Private sTotal3 As Double
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then
sTotal3 = s.GetString("TOTAL")
Else
sTotal3 = 0
End If
Printer1.WriteString( "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF)
Private cantidad2 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD")
Printer1.WriteString( "No. Productos: " & cantidad2 & CRLF)
Printer1.WriteString(CRLF)
s.Close
Printer1.WriteString(CRLF)
s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
s.Position =0
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
Private total2 As String = 0
If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL")
Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & NumberFormat2(total2, 1, 2, 2, False) & CRLF)
' Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & s.GetString("TOTAL") & CRLF)
' Printer1.WriteString("===============================" & CRLF)
'
' Printer1.WriteString( "Total venta: $" & s.GetString("TOTAL") & CRLF)
s.Close
s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
s.Position =0
Private total5 As String = "0"
If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total5 = s.GetString("TOTAL")
Printer1.WriteString(Printer1.BOLD & "No. Productos: " & total5 & CRLF)
Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF)
' Printer1.WriteString( "No. Productos: " & s.GetString("TOTAL") & CRLF)
' Printer1.WriteString( "===============================" & CRLF)
s.Close
Printer1.WriteString(Printer1.UNREVERSE)
Printer1.WriteString(Printer1.NOBOLD)
' printer.WriteLine("------------VENTA-------------")
' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente)
' Printer1.WriteString(Printer1.DEFAULTS & CRLF)
Printer1.WriteString(CRLF)
' Printer1.WriteString(Printer1.SINGLE)
'Printer1.WriteString("------------------------------")
' Printer1.WriteString(Printer1.HIGH)
' Printer1.Justify = 1
Printer1.WriteString( "Nombre y Firma del cliente" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
' Printer1.WriteString(Printer1.DEFAULTS)
' Printer1.WriteString(Printer1.SINGLE)
Printer1.WriteString("______________________________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Sleep(1000)
Printer1.DisConnect
Catch
ToastMessageShow("Error en la impresion 2.", True)
Printer1.Disconnect
Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal")
End Try
End If
Sleep(1000)
B_IMP2.Enabled = True
ProgressDialogHide
' If Logger Then Log("Habilitamos boton")
End Sub
Sub Printer_Connected (Success As Boolean)
If Success Then
B_IMP.Enabled = True
PASA_IMP = "1"
Else
B_IMP.Enabled = False
If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore
StartPrinter
End If
End If
End Sub
Sub StartPrinter
Dim PairedDevices As Map
Dim L As List
Dim resimp As Int
ToastMessageShow("Printing.....",True)
PairedDevices.Initialize
Try
PairedDevices = cmp20.GetPairedDevices
Catch
Msgbox("Getting Paired Devices","Printer Error") 'ignore
printer.Close
cmp20.Disconnect
End Try
If PairedDevices.Size = 0 Then
Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
Return
End If
If PairedDevices.Size = 1 Then
Try
cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
Catch
Msgbox("Connecting","Printer Error") 'ignore
printer.Close
cmp20.Disconnect
End Try
Else
L.Initialize
For i = 0 To PairedDevices.Size - 1
L.Add(PairedDevices.GetKeyAt(i))
Next
resimp = InputList(L, "Choose device", -1) 'ignore
If resimp <> DialogResponse.CANCEL Then
cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
End If
End If
End Sub
Sub B_VENTA_Click
If la_cuenta.Text = "0" Then
Starter.tipov = "ABORDO"
Subs.iniciaActividad("Productos")
Else
Cuestionario
End If
End Sub
'Muestra un boton con las dimensiones, posicion y texto especificados.
Sub muestraBoton (thisButton As Button, theText As String, Left As Int, Top As Int, width As Int, height As Int)
thisButton.Text = theText
thisButton.Tag = theText
thisButton.Left = Left
thisButton.Top = Top
thisButton.Width = width
thisButton.Height = height
thisButton.Visible = True
End Sub
'Muestra un boton con las dimensiones, posicion y texto especificados.
Sub muestraBotonCentrado (thisButton As Button, theText As String, Top As Int, width As Int, height As Int) 'ignore
Private anchoPantalla As Int
thisButton.Text = theText
thisButton.Tag = theText
anchoPantalla = GetDeviceLayoutValues.Width
thisButton.Left = (anchoPantalla/2) - (width/2)
thisButton.Top = Top
thisButton.Width = width
thisButton.Height = height
thisButton.Visible = True
End Sub
'Esta subrutina muestra las encuestas.
Sub Cuestionario
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
CUANTOS = 0
' Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then
s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
s.Position= 0
CUANTOS = s.GetString("CUANTOS")
Private CUANTOS2 As Int = 0
s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS2 from HIST_ENCUESTA2 where HE_CLIENTE In (Select cuenta from cuentaa)")
s.Position = 0
CUANTOS2 = s.GetString("CUANTOS2")
If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta)
End If
LogColor("----> HISTORICO ENCUESTA: " & CUANTOS & "|" & CUANTOS2, Colors.red)
If CUANTOS = 0 And CUANTOS2 = 0 Then
Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)")
If enc.RowCount > 0 Then
enc.position = 0
ToastMessageShow($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}"$, False)
Private listaPreguntas As List
listaPreguntas.Initialize
For j = 0 To enc.RowCount - 1 'Ponemos en una lista los ID de las preguntas.
enc.Position = j
listaPreguntas.Add(enc.GetString("CAT_EP_ID"))
Next
enc.position = 0
For i = 0 To enc.RowCount - 1
Log($"ROWCOUNT: ${enc.RowCount}"$)
Log($"tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}"$)
Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$)
If indicePregunta <> 0 Then i = indicePregunta
Log("indicePregunta: " & indicePregunta)
Log(TOMAR_FOTO)
If TOMAR_FOTO = 1 Then
If CURSOR_FOTO + 1 > enc.RowCount -1 Then
TOMAR_FOTO = 0
Exit
Else
i = CURSOR_FOTO + 1
End If
'Msgbox(i,"a")
TOMAR_FOTO = 0
End If
enc.Position = i
Log($"POSICION = ${enc.Position}"$)
' Dim tipoPregunta As String = enc.GetString("CAT_EP_IDTIPOPREGUNTA")
' If Logger Then Log("=================== "&tipoPregunta)
' If Logger Then Log($"Pregunta tipo: ${tipoPregunta}"$)
' Msgbox("paso1","a")
If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then
id_encuesta = enc.GetString("CAT_EP_ID")
TOMAR_FOTO = 1
CURSOR_FOTO = i
Subs.iniciaActividad("foto")
' Msgbox("paso2","a")
Exit
ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then ' Tipo SI/NO
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
Subs.centraEtiqueta(l_txtEncuesta, Root.Width)
muestraBoton(b_encuesta_1,"SI", centroPantalla-350, 580, 300, 160)
muestraBoton(b_encuesta_2, "NO", centroPantalla+50, 580, 300, 160)
muestraEncuesta
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0)
Loop
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID")))
ocultaPanelEncuesta
ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then
Log("Entramos a 4")
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
Subs.centraEtiqueta(l_txtEncuesta, Root.Width)
muestraBoton(b_encuesta_1,"SI", centroPantalla-350, 580, 300, 160)
muestraBoton(b_encuesta_2, "NO", centroPantalla+50, 580, 300, 160)
muestraEncuesta
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0)
Loop
Log("encuestaRes: " & encuestaRes)
If encuestaRes = "SI" Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI", sDate & sTime, enc.GetString("CAT_EP_ID")))
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED"))
Log($"IndicePreg = ${indicePregunta}"$)
i = indicePregunta
else if encuestaRes = "NO" Then
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO", sDate & sTime, enc.GetString("CAT_EP_ID")))
indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED"))
Log($"IndicePreg = ${indicePregunta}"$)
i = indicePregunta
Log($"I = ${i}"$)
End If
If i = enc.RowCount - 1 Then
i = i - 1
End If
' res = Msgbox2(enc.GetString("CAT_EP_PREGUNTA"),enc.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
' If res = DialogResponse.POSITIVE Then
' Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,enc.GetString("CAT_EP_ID")))
' Log($"POSITIVO: ${enc.GetString("CAT_EP_RES1_PRED")}"$)
' Log($"${listaPreguntas} - ${listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED"))}"$)
' indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED"))
' Log($"IndicePreg = ${indicePregunta}"$)
' i = indicePregunta
' If i = enc.RowCount - 1 Then
' i = i - 1
' End If
' Log($"I = ${i}"$)
' Else IF res = DialogResponse.NEGATIVE Then
' Log($"NEGATIVO: ${enc.GetString("CAT_EP_RES2_PRED")}"$)
' Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,enc.GetString("CAT_EP_ID")))
'' i = enc.GetInt("CAT_EP_RES2_PRED") - 2
' Log($"i -> ${enc.GetInt("CAT_EP_RES2_PRED")} - 2 = ${i} "$)
' Log($"${listaPreguntas} -> ${listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED"))}"$)
' indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED"))
' Log($"IndicePreg = ${indicePregunta}"$)
' i = indicePregunta
' Log($"I = ${i}"$)
' Else IF res = DialogResponse.CANCEL Then
' Log("CANCEL")
' i = i - 1
' End If
' Msgbox("paso3","a")
ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo 3 opciones.
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta.
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
muestraBoton(b_encuesta_1, enc.GetString("CAT_EP_RES2_PRED"), centroPantalla-250, 580, 500, 160)
muestraBoton(b_encuesta_2, enc.GetString("CAT_EP_RES3_PRED"), centroPantalla-250, 740, 500, 160)
muestraBoton(b_encuesta_3, enc.GetString("CAT_EP_RES1_PRED"), centroPantalla-250, 900, 500, 160)
muestraEncuesta
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta.
Sleep(0)
Loop
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID")))
ocultaPanelEncuesta
ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then
Panel10.Visible = True
l_chk_e.Text = enc.GetString("CAT_EP_PREGUNTA")
Chk_1.Checked = False
chk_2.Checked = False
chk_3.Checked = False
Chk_1.Text = enc.GetString("CAT_EP_RES1_PRED")
chk_2.Text = enc.GetString("CAT_EP_RES2_PRED")
chk_3.Text = enc.GetString("CAT_EP_RES3_PRED")
chk_1_valor = enc.GetString("CAT_EP_RES1_PRED")
chk_2_valor = enc.GetString("CAT_EP_RES2_PRED")
chk_3_valor = enc.GetString("CAT_EP_RES3_PRED")
Chk_1.Tag = enc.GetString("CAT_EP_ID")
chk_2.Tag = enc.GetString("CAT_EP_ID")
chk_3.Tag = enc.GetString("CAT_EP_ID")
TOMAR_FOTO = 1
CURSOR_FOTO = i
Exit
ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then
botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta
l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION")
l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA")
Subs.centraEditText(et_encuesta, Root.Width)
et_encuesta.Visible = True
b_encuesta_continuar.Enabled = False
Private bTop = et_encuesta.Top + 130
muestraBoton(b_encuesta_continuar,"Continuar", centroPantalla-250, bTop, 500, 160)
muestraEncuesta
Do Until botonPresionado = 1 'Esperamos que respondan la pregunta
Sleep(0)
Loop
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID")))
ocultaPanelEncuesta
Else
Starter.tipov = "VENTA"
Subs.iniciaActividad("Productos")
End If
Next
enc.Close
Else
Starter.tipov = "VENTA"
Subs.iniciaActividad("Productos")
End If
Else
Starter.tipov = "VENTA"
Subs.iniciaActividad("Productos")
End If
End Sub
Sub b1_Click
Log("B1 clicked")
End Sub
Sub b2_Click
If logger Then Log("B2 clicked")
End Sub
Sub b_factura_Click
End Sub
Sub CH_TA_CheckedChange(Checked As Boolean)
End Sub
Sub CH_TC_CheckedChange(Checked As Boolean)
End Sub
Sub CH_TB_CheckedChange(Checked As Boolean)
End Sub
Sub CH_TD_CheckedChange(Checked As Boolean)
End Sub
Sub B_GUARDAR_Click
If logger Then Log("Guardar clic")
B_IMP2.Enabled = True
If CH_TA.Checked = True Then
TIPOEX = "TIPO A"
ELSE If CH_TB.Checked = True Then
TIPOEX = "TIPO B"
ELSE If CH_TC.Checked = True Then
TIPOEX = "TIPO C"
ELSE If CH_TD.Checked = True Then
TIPOEX = "TIPO D"
End If
' Panel1.Visible = False
' B_EXIBI.Visible = True
' b_factura.Visible = True
HIST.Visible = True
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text))
End Sub
Sub B_EXIBI_Click
' Panel1.Visible = True
' B_EXIBI.Visible = False
' b_factura.Visible = False
' HIST.Visible = False
End Sub
'''''''''''''''''''''''''''''''''''''' BOLETA DE LIQUIDACION
Sub LLAMA_BOLETA
'' FECHA DE TELEFONO
If Subs.clienteActual = "" Then Starter.skmt.ExecNonQuery("insert into cuentaa (cuenta) values (0)")
DateTime.DateFormat="dd/MM/yyyy"
Edt_FH.Text=DateTime.Date(DateTime.Now)
Subs.panelAnchoAlto(PNL_TOTALES, Root.Width, Root.Height)
PNL_TOTALES.Visible=True
Pnl_Billete.Visible=True
Pnl_Moneda.visible=True
LBL_RETURN.Visible=False
LBL_REGRESA.Visible=False
Subs.panelAnchoAlto(P_BOLETA, Root.Width, Root.Height)
P_BOLETA.Visible=True
P_INF_GENERAL.Visible=False
If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
LBL_REGRESA.Visible=True
Private c As Cursor = Starter.skmt.ExecQuery("select * from TMP_CAT_BILLETE join TMP_CAT_MONEDAS")
If c.RowCount > 0 Then
c.Position = 0
If logger Then Log("==================== CALCULADORA "&c.ColumnCount)
' Traemos billetes
EDT_CANMIL.Text = "0"
If IsNumber(c.GetString("TMP_BILLE_MIL")) Then EDT_CANMIL.Text = c.GetString("TMP_BILLE_MIL")
EDT_CANQUIN.Text = "0"
If c.GetString("TMP_BILLE_QUINIENTOS")<> Null Then EDT_CANQUIN.Text = c.GetString("TMP_BILLE_QUINIENTOS")
EDT_CANDOS.Text = "0"
If c.GetString("TMP_BILLE_DOSCIENTOS") <>Null Then EDT_CANDOS.Text = c.GetString("TMP_BILLE_DOSCIENTOS")
EDT_CANCIEN.Text = "0"
If c.GetString("TMP_BILLE_CIEN")<> Null Then EDT_CANCIEN.Text = c.GetString("TMP_BILLE_CIEN")
EDT_CANCIN.Text = "0"
If c.GetString("TMP_BILLE_CINCUENTA")<> Null Then EDT_CANCIN.Text = c.GetString("TMP_BILLE_CINCUENTA")
EDT_CANVEIN.Text = "0"
If c.GetString("TMP_BILLE_VEINTE")<> Null Then EDT_CANVEIN.Text = c.GetString("TMP_BILLE_VEINTE")
' Traemos monedas
EDT_CANVEINTE.Text = "0"
If c.GetString("TMP_MON_VEINTE")<> Null Then EDT_CANVEINTE.Text = c.GetString("TMP_MON_VEINTE")
EDT_CANDIEZ.Text = "0"
If c.GetString("TMP_MON_DIEZ")<> Null Then EDT_CANDIEZ.Text = c.GetString("TMP_MON_DIEZ")
EDT_CANCI.Text = "0"
If c.GetString("TMP_MON_CINCO")<> Null Then EDT_CANCI.Text = c.GetString("TMP_MON_CINCO")
EDT_CANDO.Text = "0"
If c.GetString("TMP_MON_DOS")<> Null Then EDT_CANDO.Text = c.GetString("TMP_MON_DOS")
EDT_CANUN.Text = "0"
If c.GetString("TMP_MON_UN")<> Null Then EDT_CANUN.Text = c.GetString("TMP_MON_UN")
EDT_CANCEN.Text = "0"
If c.GetString("TMP_MON_CENTAVOS")<> Null Then EDT_CANCEN.Text = c.GetString("TMP_MON_CENTAVOS")
L_CALCULA_BILLE_CLICK
L_CALCULA_MONEDA_Click
B_SUM_TOTAL.Text = TOTALBILLETES.Text + TOTALMONEDA.text
End If
Starter.boleta = 0
c.Close
End Sub
'''BILLETES
Sub L_CALCULA_BILLE_CLICK
If EDT_CANMIL.Text="" Or EDT_CANQUIN.Text="" Or EDT_CANDOS.Text="" Or EDT_CANCIEN.Text="" Or EDT_CANCIN.Text="" Or EDT_CANVEIN.Text="" Then
Pnl_Billete.RequestFocus
Msgbox("Por favor llena todas las cantidades","") 'ignore
Else
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'20
Private Sub EDT_CANVEIN_FocusChanged (HasFocus As Boolean)
If EDT_CANVEIN.Text = "" Then EDT_CANVEIN.Text = "0"
EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text)
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End Sub
Sub B_SUVEI_Click
If EDT_CANVEIN.Text = "" Then
EDT_CANVEIN.Text=0
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
Else
EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text + 1)
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
Sub B_MENVEI_Click
If EDT_CANVEIN.Text = "" Then
EDT_CANVEIN.Text=0
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
Else IF EDT_CANVEIN.Text > 0 Then
EDT_CANVEIN.Text = Round(EDT_CANVEIN.Text -1)
LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'50
Private Sub EDT_CANCIN_FocusChanged (HasFocus As Boolean)
If EDT_CANCIN.Text = "" Then EDT_CANCIN.Text = "0"
EDT_CANCIN.Text = Round (EDT_CANCIN.Text)
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End Sub
Sub B_SUCIN_Click
If EDT_CANCIN.Text = "" Then
EDT_CANCIN.Text =0
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
Else
EDT_CANCIN.Text = Round (EDT_CANCIN.Text + 1)
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
Sub B_MENCIN_Click
If EDT_CANCIN.Text = "" Then
EDT_CANCIN.Text =0
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
Else IF EDT_CANCIN.Text > 0 Then
EDT_CANCIN.Text = Round(EDT_CANCIN.Text -1)
LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'100
Private Sub EDT_CANCIEN_FocusChanged (HasFocus As Boolean)
If EDT_CANCIEN.Text = "" Then EDT_CANCIEN.Text = "0"
EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text)
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End Sub
Sub B_SUCIEN_Click
If EDT_CANCIEN.Text = "" Then
EDT_CANCIEN.Text = 0
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
Else
EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text + 1)
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
Sub B_MENCIE_Click
If EDT_CANCIEN.Text = "" Then
EDT_CANCIEN.Text = 0
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
Else IF EDT_CANCIEN.Text > 0 Then
EDT_CANCIEN.Text = Round(EDT_CANCIEN.Text -1)
LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'200
Private Sub EDT_CANDOS_FocusChanged (HasFocus As Boolean)
If EDT_CANDOS.Text = "" Then EDT_CANDOS.Text = "0"
EDT_CANDOS.Text = Round (EDT_CANDOS.Text)
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End Sub
Sub B_SUDOS_Click
If EDT_CANDOS.Text = "" Then
EDT_CANDOS.Text = 0
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
Else
EDT_CANDOS.Text = Round (EDT_CANDOS.Text + 1)
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
Sub B_MENDOS_Click
If EDT_CANDOS.Text = "" Then
EDT_CANDOS.Text = 0
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
Else IF EDT_CANDOS.Text > 0 Then
EDT_CANDOS.Text = Round(EDT_CANDOS.Text -1)
LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'500
Private Sub EDT_CANQUIN_FocusChanged (HasFocus As Boolean)
If EDT_CANQUIN.Text = "" Then EDT_CANQUIN.Text = "0"
EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text)
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End Sub
Sub B_SUQUI_Click
If EDT_CANQUIN.Text = "" Then
EDT_CANQUIN.Text =0
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
Else
EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text + 1)
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
Sub B_MENQUI_Click
If EDT_CANQUIN.Text = "" Then
EDT_CANQUIN.Text =0
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
Else IF EDT_CANQUIN.Text > 0 Then
EDT_CANQUIN.Text = Round(EDT_CANQUIN.Text -1)
LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'1000
Private Sub EDT_CANMIL_FocusChanged (HasFocus As Boolean)
If EDT_CANMIL.Text = "" Then EDT_CANMIL.Text = "0"
EDT_CANMIL.Text = Round (EDT_CANMIL.Text )
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End Sub
Sub B_SUMIL_Click
If EDT_CANMIL.Text = "" Then
EDT_CANMIL.Text = 0
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
Else
EDT_CANMIL.Text = Round (EDT_CANMIL.Text + 1)
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
Sub B_MENMIL_Click
If EDT_CANMIL.Text = "" Then
EDT_CANMIL.Text = 1
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
Else IF EDT_CANMIL.Text > 0 Then
EDT_CANMIL.Text = Round(EDT_CANMIL.Text -1)
LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text
Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text)
TOTALBILLETES.Text=Btn_TOTALBILLETE.Text
End If
End Sub
'''' MONEDAS
Sub L_CALCULA_MONEDA_Click
If EDT_CANDIEZ.Text="" Or EDT_CANCI.Text="" Or EDT_CANDO.Text="" Or EDT_CANUN.Text="" Or EDT_CANCEN.Text="" Or EDT_CANVEINTE.Text="" Then
Msgbox("Por favor llena todas las cantidades","") 'ignore
Pnl_Billete.RequestFocus
Else
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
LBL_TVEINTE.Text=L_VEINTE.Tag * EDT_CANVEINTE.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
'0.50
Private Sub EDT_CANCEN_FocusChanged (HasFocus As Boolean)
If EDT_CANCEN.Text = "" Then EDT_CANCEN.Text = "0"
EDT_CANCEN.Text = Round (EDT_CANCEN.Text)
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End Sub
Sub B_SUMCENT_Click
If EDT_CANCEN.Text = "" Then
EDT_CANCEN.Text = 0
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
Else
EDT_CANCEN.Text = Round (EDT_CANCEN.Text + 1)
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
Sub B_MENCENT_Click
If EDT_CANCEN.Text = "" Then
EDT_CANCEN.Text =0
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
Else IF EDT_CANCEN.Text > 0 Then
EDT_CANCEN.Text = Round(EDT_CANCEN.Text -1)
LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
'1
Private Sub EDT_CANUN_FocusChanged (HasFocus As Boolean)
If EDT_CANUN.Text = "" Then EDT_CANUN.Text = "0"
EDT_CANUN.Text = Round (EDT_CANUN.Text)
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End Sub
Sub B_SUMUN_Click
If EDT_CANUN.Text = "" Then
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
Else
EDT_CANUN.Text = Round (EDT_CANUN.Text + 1)
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
Sub B_MENUN_Click
If EDT_CANUN.Text = "" Then
EDT_CANUN.Text = 0
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
Else IF EDT_CANUN.Text > 0 Then
EDT_CANUN.Text = Round(EDT_CANUN.Text -1)
LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
'2
Private Sub EDT_CANDO_FocusChanged (HasFocus As Boolean)
If EDT_CANDO.Text = "" Then EDT_CANDO.Text = "0"
EDT_CANDO.Text = Round (EDT_CANDO.Text)
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End Sub
Sub B_SUMDO_Click
If EDT_CANDO.Text = "" Then
EDT_CANDO.Text =0
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
Else
EDT_CANDO.Text = Round (EDT_CANDO.Text + 1)
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
Sub B_MENDO_Click
If EDT_CANDO.Text = "" Then
EDT_CANDO.Text=0
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
Else IF EDT_CANDO.Text > 0 Then
EDT_CANDO.Text = Round(EDT_CANDO.Text -1)
LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
'5
Private Sub EDT_CANCI_FocusChanged (HasFocus As Boolean)
If EDT_CANCI.Text = "" Then EDT_CANCI.Text = "0"
EDT_CANCI.Text = Round (EDT_CANCI.Text)
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End Sub
Sub B_SUMCIN_Click
If EDT_CANCI.Text = "" Then
EDT_CANCI.Text =0
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
Else
EDT_CANCI.Text = Round (EDT_CANCI.Text + 1)
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
Sub B_MENCI_Click
If EDT_CANCI.Text = "" Then
EDT_CANCI.Text =0
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
Else IF EDT_CANCI.Text > 0 Then
EDT_CANCI.Text = Round(EDT_CANCI.Text -1)
LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
'10
Private Sub EDT_CANDIEZ_FocusChanged (HasFocus As Boolean)
If EDT_CANDIEZ.Text = "" Then EDT_CANDIEZ.Text = "0"
EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text)
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End Sub
Sub B_SUMDIEZ_Click
If EDT_CANDIEZ.Text = "" Then
EDT_CANDIEZ.Text =0
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
Else
EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text + 1)
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
Sub B_MENDIEZ_Click
If EDT_CANDIEZ.Text = "" Then
EDT_CANDIEZ.Text = 0
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
Else IF EDT_CANDIEZ.Text > 0 Then
EDT_CANDIEZ.Text = Round(EDT_CANDIEZ.Text -1)
LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
'20
Private Sub EDT_CANVEINTE_FocusChanged (HasFocus As Boolean)
If EDT_CANVEINTE.Text = "" Then EDT_CANVEINTE.Text = "0"
EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text)
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End Sub
Sub B_MENVEINTE_Click
If EDT_CANVEINTE.Text = "" Then
EDT_CANVEINTE.Text = 0
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
Else IF EDT_CANVEINTE.Text > 0 Then
EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text -1)
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text )
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
Sub B_SUMVEINTE_Click
If EDT_CANVEINTE.Text = "" Then
EDT_CANVEINTE.Text =0
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
Else
EDT_CANVEINTE.Text = Round (EDT_CANVEINTE.Text + 1)
LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text
B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text)
TOTALMONEDA.Text=B_TOTALMONEDA.Text
End If
End Sub
''''''TOTALES
Sub TOTALES_Click
If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then
TOTALMONEDA.Text=0
TOTALBILLETES.Text=0
B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text)
Else
B_SUM_TOTAL.Text= "$"&(TOTALMONEDA.Text + TOTALBILLETES.Text)
End If
End Sub
Sub B_AGREGABILL_Click
Pnl_Billete.Visible=True
Pnl_Moneda.Visible=False
PNL_TOTALES.Visible=False
LBL_RETURN.Visible=True
LBL_REGRESA.Visible=True
End Sub
Sub B_AGREGAMONE_Click
Pnl_Billete.Visible=False
Pnl_Moneda.Visible=True
PNL_TOTALES.Visible=False
LBL_RETURN.Visible=True
LBL_REGRESA.Visible=True
End Sub
Sub LBL_RETURN_Click
Pnl_Billete.Visible=False
Pnl_Moneda.Visible=False
PNL_TOTALES.Visible=True
LBL_RETURN.Visible=False
LBL_REGRESA.Visible=False
''' CALCULO FINAL
If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then
TOTALMONEDA.Text=0
TOTALBILLETES.Text=0
B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text)
Else
B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text)
End If
End Sub
Sub LBL_REGRESA_Click
Pnl_Billete.Visible=False
Pnl_Moneda.Visible=False
LBL_RETURN.Visible=False
LBL_REGRESA.Visible=False
PNL_TOTALES.Visible=True
LBL_REGRESA.Visible=True
End Sub
Sub B_Regresar_Click
muestraBoleta = False
' StartActivity("SELECCION")
Subs.iniciaActividad("principal")
' B4XPages.ShowPage("Principal")
' Activity.Finish
PNL_TOTALES.Visible=False
Pnl_Billete.Visible=False
Pnl_Moneda.visible=False
PNL_TOTALES.Visible=False
LBL_RETURN.Visible=False
LBL_REGRESA.Visible=False
P_BOLETA.Visible=False
P_INF_GENERAL.Visible=True
If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
LBL_REGRESA.Visible=False
End Sub
Sub IMG_IMPRESORA_Click
' Printer1.DisConnect : Log("Desconectando impresora")
' impresoraConectada = False
' Private cont As Int = 0
' ToastMessageShow("Conectando impresora", False)
' Do While Not(impresoraConectada) And cont < 9
' Printer1.Connect
' If Logger Then Log("Conectando impresora")
' Sleep(1000)
' If Logger Then Log(impresoraConectada)
' cont = cont + 1
' Loop
' If Logger Then Log("connected")
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF)
Printer1.WriteString(sDate &" " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("BILLETES" & CRLF)
Printer1.WriteString("$1,000 X " & EDT_CANMIL.TEXT & " = " & LBL_TMIL.TEXT & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$500 X " & EDT_CANQUIN.TEXT & " = " & LBL_TQUIN.TEXT &CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$200 X " & EDT_CANDOS.TEXT & " = " & LBL_TDOS.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$100 X " & EDT_CANCIEN.TEXT & " = " & LBL_TCIEN.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$50 X " & EDT_CANCIN.TEXT & " = " & LBL_TCIN.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$20 X " & EDT_CANVEIN.TEXT & " = " & LBL_TVEIN.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("TOTAL BILLETES...... " & Btn_TOTALBILLETE.TEXT & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("MONEDAS" & CRLF)
Printer1.WriteString("$20 X " & EDT_CANVEINTE.TEXT & " = " & LBL_TVEINTE.TEXT &CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$10 X " & EDT_CANDIEZ.TEXT & " = " & LBL_TDIEZ.TEXT &CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$5 X " & EDT_CANCI.TEXT & " = " & LBL_TCI.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$2 X " & EDT_CANDO.TEXT & " = " & LBL_TDO.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$1 X " & EDT_CANUN.TEXT & " = " & LBL_TUN.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("$.50 X " & EDT_CANCEN.TEXT & " = " & LBL_TCEN.Text & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("TOTAL MONEDAS....... " & B_TOTALMONEDA.TEXT & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("TOTAL .........." & B_SUM_TOTAL.TEXT & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Nombre y Firma" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString("______________________________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
ProgressDialogHide
End Sub
Sub B_IMP_INVBAK_Click
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
TAMANO = 5
ESPACIO = 14
BLANCO = " "
Printer1.WriteString("KELLOG COMPANY MEXICO" & CRLF)
Printer1.WriteString("RESUMEN DIA" & CRLF)
Printer1.WriteString(sDate & " " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("-------INVENTARIO ABORDO----------" & CRLF)
Printer1.WriteString("---II---CD---IIT---VT---RMI---IF---" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s = Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))
Log($"Reglones: ${s.RowCount}"$)
If s.RowCount > 0 Then
For i = 0 To S.RowCount - 1
Log(i)
Try
s.Position = i
Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF)
Log("p"&i)
Catch
Log(LastException)
If logger Then Log("Saliendo con Try/Catch")
Exit
End Try
S1 = Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID")))
S1.Position = 0
S3 = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
S3.Position = 0
If S3.GetString("CUANTOS") > 0 Then
S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
S2.Position=0
a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT")
Else
a_inicial = S1.GetString("CAT_GP_ALMACEN")
End If
a_inicial_5 = S1.GetString("CAT_GP_ALMACEN")
'Printer1.WriteString("INICIAL: " & ABORDO & CRLF)
If S3.GetString("CUANTOS") > 0 Then
'Printer1.WriteString("CARGA DIA : " & S2.GetString("HIST_CANT") & CRLF)
ABORDO = S2.GetString("HIST_CANT")
Else
'Printer1.WriteString("CARGA DIA : 0" & CRLF)
ABORDO = 0
End If
'Printer1.WriteString("CARGA TOTAL : " & S1.GetString("CAT_GP_ALMACEN") & CRLF)
a_total = S1.GetString("CAT_GP_ALMACEN")
C4 = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? and PE_PROID = ? ", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID")))
C4.Position = 0
If C4.GetString("CUANTOS") > 0 Then
C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID")))
C3.Position=0
'Printer1.WriteString("VENTA: " & C3.GetString("CANTIDAD") & CRLF)
a_venta = C3.GetString("CANTIDAD")
Else
'Printer1.WriteString("VENTA: 0" & CRLF)
a_venta = 0
End If
C4.Close
C4 = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID")))
C4.Position = 0
If C4.GetString("CUANTOS") > 0 Then
C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID")))
C1.Position=0
RMI = C1.GetString("CANTIDAD")
Else
RMI = 0
End If
'Printer1.WriteString("INV. ACT.: " & s.GetString("CAT_GP_ALMACEN") & CRLF)
'a_final =s.GetString("CAT_GP_ALMACEN")
a_final = a_inicial_5 - a_venta ' - RMI
'Printer1.WriteString("RMI: " & RMI & CRLF)
Private sep1 As String
Private sep2 As String
Private sep3 As String
Private sep4 As String
Private sep5 As String
Private sep6 As String
sep1 = a_inicial.Length
If sep1 = 1 Then
a_inicial = "----" & a_inicial
else if sep1 = 2 Then
a_inicial = "---" & a_inicial
else if sep1 = 3 Then
a_inicial = "--" & a_inicial
else if sep1 = 4 Then
a_inicial = "-" & a_inicial
else if sep1 = 5 Then
a_inicial = a_inicial
End If
sep2 = ABORDO.Length
If sep2 = 1 Then
ABORDO = "----" & ABORDO
else if sep2 = 2 Then
ABORDO = "---" & ABORDO
else if sep2 = 3 Then
ABORDO = "--" & ABORDO
else if sep2 = 4 Then
ABORDO = "-" & ABORDO
else if sep2 = 5 Then
ABORDO = ABORDO
End If
sep3 = a_total.Length
If sep3 = 1 Then
a_total = "----" & a_total
else if sep3 = 2 Then
a_total = "---" & a_total
else if sep3 = 3 Then
a_total = "--" & a_total
else if sep3 = 4 Then
a_total = "-" & a_total
else if sep3 = 5 Then
a_total = a_total
End If
sep4 = a_venta.Length
If sep4 = 1 Then
a_venta = "----" & a_venta
else if sep4 = 2 Then
a_venta = "---" & a_venta
else if sep4 = 3 Then
a_venta = "--" & a_venta
else if sep4 = 4 Then
a_venta = "-" & a_venta
else if sep4 = 5 Then
a_venta = a_venta
End If
sep5 = a_final.Length
If sep5 = 1 Then
a_final = "----" & a_final
else if sep5 = 2 Then
a_final = "---" & a_final
else if sep5 = 3 Then
a_final = "--" & a_final
else if sep5 = 4 Then
a_final = "-" & a_final
else if sep5 = 5 Then
a_final = a_final
End If
sep6 = RMI.Length
If sep6 = 1 Then
RMI = "----" & RMI
else if sep6 = 2 Then
RMI = "---" & RMI
else if sep6 = 3 Then
RMI = "--" & RMI
else if sep6 = 4 Then
RMI = "-" & RMI
else if sep6 = 5 Then
RMI = RMI
End If
Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & RMI & a_final & CRLF)
TAMANO = TAMANO + 1
If TAMANO > 40 Then
t3.Initialize("T3", 4000) ' 1000 = 1 second
t3.Enabled = True
Wait For t3_tick
TAMANO = 0
End If
Next
End If
s.Close
If S3.IsInitialized Then S3.Close
Try
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from pedido")
c.Position =0
CUANTOS = c.GetString("CUANTOS")
c.Close
Catch
CUANTOS = 0
End Try
Try
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
If c.RowCount > 0 Then
c.Position =0
CUANTOS1 = c.GetString("CUANTOS")
Else
CUANTOS1 = 0
End If
c.Close
Catch
CUANTOS1 = 0
End Try
If CUANTOS <> CUANTOS1 Then
Try
c=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
Printer1.WriteString(CRLF)
Printer1.WriteString("-----------RMI----------------" & CRLF)
Printer1.WriteString(CRLF)
If C.RowCount>0 Then
For i=0 To C.RowCount -1
C.Position=i
Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF)
Next
End If
c.Close
Catch
Printer1.WriteString(CRLF)
End Try
End If
' TOTALES DE LOS ARCHIVOS
s.Close
S=Starter.skmt.ExecQuery2("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod2 WHERE CAT_GP_CLASIF <> ? ", Array As String("PROMOS"))
S.Position=0
a_final =s.GetString("CAT_GP_ALMACEN")
S1.Close
S1=Starter.skmt.ExecQuery("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod5 ")
S1.Position=0
a_total = S1.GetString("CAT_GP_ALMACEN")
a_inicial = S1.GetString("CAT_GP_ALMACEN")
S1.Close
ABORDO =0
C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE <> ?", Array As String("CAMBIO", "0"))
If C3.RowCount > 0 Then
C3.Position=0
a_venta = C3.GetString("CANTIDAD")
Else
a_venta = 0
End If
If a_venta = Null Then a_venta = 0
If CUANTOS <> CUANTOS1 Then
C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD from pedido where substr(pe_pronombre,1,6) = ? ", Array As String("CAMBIO"))
C1.Position=0
RMI = C1.GetString("CANTIDAD")
C1.Close
Else
RMI = 0
End If
If RMI = Null Then RMI = 0
If logger Then Log($"a_total=${a_total}, a_venta=${a_venta}, rmi=${RMI}"$)
a_final = a_total - a_venta ' - RMI
Printer1.WriteString("TOTAL----------------- " & CRLF)
Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & RMI & CRLF)
Printer1.WriteString("TOTAL " & C3.GetString("PE_TOTAL") & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Nombre y Firma" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString("______________________________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
If C3.IsInitialized Then C3.Close
ProgressDialogHide
End Sub
Sub B_IMP_INV_Click
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
TAMANO = 5
ESPACIO = 14
BLANCO = " "
Printer1.WriteString("KELLOG COMPANY MEXICO" & CRLF)
Printer1.WriteString("RESUMEN DIA" & CRLF)
Printer1.WriteString(sDate & " " & sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("-------INVENTARIO ABORDO----------" & CRLF)
''' se cambia este Printer1.WriteString("---II---CD---IIT---VT---RMI---IF---" & CRLF) ------- sin RMI
Printer1.WriteString("---II---CD---IIT---VT---------IF---" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s = Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS"))
Log($"Reglones: ${s.RowCount}"$)
If s.RowCount > 0 Then
For i = 0 To S.RowCount - 1
' Log(i)
Try
s.Position = i
Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF)
' Log("p"&i)
Catch
Log(LastException)
If logger Then Log("Saliendo con Try/Catch")
Exit
End Try
S1 = Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID")))
S1.Position = 0
S3 = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
S3.Position = 0
If S3.GetString("CUANTOS") > 0 Then
S2 = Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
S2.Position = 0
a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT")
Else
a_inicial = S1.GetString("CAT_GP_ALMACEN")
End If
a_inicial_5 = S1.GetString("CAT_GP_ALMACEN")
'Printer1.WriteString("INICIAL: " & ABORDO & CRLF)
If S3.GetString("CUANTOS") > 0 Then
'Printer1.WriteString("CARGA DIA : " & S2.GetString("HIST_CANT") & CRLF)
ABORDO = S2.GetString("HIST_CANT")
Else
'Printer1.WriteString("CARGA DIA : 0" & CRLF)
ABORDO = 0
End If
'Printer1.WriteString("CARGA TOTAL : " & S1.GetString("CAT_GP_ALMACEN") & CRLF)
a_total = S1.GetString("CAT_GP_ALMACEN")
C4 = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? and PE_PROID = ? ", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID")))
C4.Position = 0
If C4.GetString("CUANTOS") > 0 Then
C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID")))
C3.Position=0
'Printer1.WriteString("VENTA: " & C3.GetString("CANTIDAD") & CRLF)
a_venta = C3.GetString("CANTIDAD")
Else
'Printer1.WriteString("VENTA: 0" & CRLF)
a_venta = 0
End If
C4.Close
''' se conenta esto para el cambio de RMI
C4 = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID")))
C4.Position = 0
If C4.GetString("CUANTOS") > 0 Then
C1 = Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID")))
C1.Position = 0
RMI = C1.GetString("CANTIDAD")
Else
RMI = 0
End If
'Printer1.WriteString("INV. ACT.: " & s.GetString("CAT_GP_ALMACEN") & CRLF)
'a_final =s.GetString("CAT_GP_ALMACEN")
''' se cammbi a este a_final = a_inicial_5 - a_venta - RMI por el sin RMI cambiuo de rmi
a_final = a_inicial_5 - a_venta
'Printer1.WriteString("RMI: " & RMI & CRLF)
Private sep1 As String
Private sep2 As String
Private sep3 As String
Private sep4 As String
Private sep5 As String
Private sep6 As String
sep1 = a_inicial.Length
If sep1 = 1 Then
a_inicial = "----" & a_inicial
else if sep1 = 2 Then
a_inicial = "---" & a_inicial
else if sep1 = 3 Then
a_inicial = "--" & a_inicial
else if sep1 = 4 Then
a_inicial = "-" & a_inicial
else if sep1 = 5 Then
a_inicial = a_inicial
End If
sep2 = ABORDO.Length
If sep2 = 1 Then
ABORDO = "----" & ABORDO
else if sep2 = 2 Then
ABORDO = "---" & ABORDO
else if sep2 = 3 Then
ABORDO = "--" & ABORDO
else if sep2 = 4 Then
ABORDO = "-" & ABORDO
else if sep2 = 5 Then
ABORDO = ABORDO
End If
sep3 = a_total.Length
If sep3 = 1 Then
a_total = "----" & a_total
else if sep3 = 2 Then
a_total = "---" & a_total
else if sep3 = 3 Then
a_total = "--" & a_total
else if sep3 = 4 Then
a_total = "-" & a_total
else if sep3 = 5 Then
a_total = a_total
End If
sep4 = a_venta.Length
If sep4 = 1 Then
a_venta = "----" & a_venta
else if sep4 = 2 Then
a_venta = "---" & a_venta
else if sep4 = 3 Then
a_venta = "--" & a_venta
else if sep4 = 4 Then
a_venta = "-" & a_venta
else if sep4 = 5 Then
a_venta = a_venta
End If
sep5 = a_final.Length
If sep5 = 1 Then
a_final = "----" & a_final
else if sep5 = 2 Then
a_final = "---" & a_final
else if sep5 = 3 Then
a_final = "--" & a_final
else if sep5 = 4 Then
a_final = "-" & a_final
else if sep5 = 5 Then
a_final = a_final
End If
''''se cambia por lo de RMI
'' sep6 = RMI.Length
'' If sep6 = 1 Then
'' RMI = "----" & RMI
'' else if sep6 = 2 Then
'' RMI = "---" & RMI
'' else if sep6 = 3 Then
'' RMI = "--" & RMI
'' else if sep6 = 4 Then
'' RMI = "-" & RMI
'' else if sep6 = 5 Then
'' RMI = RMI
'' End If
'' se cambia este Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & RMI & a_final & CRLF) --- por este sin RMI
Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & a_final & CRLF)
TAMANO = TAMANO + 1
If TAMANO > 40 Then
t3.Initialize("T3", 4000) ' 1000 = 1 second
t3.Enabled = True
Wait For t3_tick
TAMANO = 0
End If
Next
End If
s.Close
If S3.IsInitialized Then S3.Close
Try
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from pedido")
c.Position =0
CUANTOS = c.GetString("CUANTOS")
c.Close
Catch
CUANTOS = 0
End Try
''' se quita por el RMI
Try
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
If c.RowCount > 0 Then
c.Position =0
CUANTOS1 = c.GetString("CUANTOS")
Else
CUANTOS1 = 0
End If
c.Close
Catch
CUANTOS1 = 0
End Try
If CUANTOS <> CUANTOS1 Then
Try
c = Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO"))
Printer1.WriteString(CRLF)
Printer1.WriteString("-----------RMI----------------" & CRLF)
Printer1.WriteString(CRLF)
If C.RowCount > 0 Then
For i = 0 To C.RowCount - 1
C.Position = i
Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF)
Next
End If
c.Close
Catch
Printer1.WriteString(CRLF)
End Try
End If
' TOTALES DE LOS ARCHIVOS
s.Close
S = Starter.skmt.ExecQuery2("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod2 WHERE CAT_GP_CLASIF <> ? ", Array As String("PROMOS"))
S.Position = 0
a_final =s.GetString("CAT_GP_ALMACEN")
S1.Close
S1 = Starter.skmt.ExecQuery("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod5 ")
S1.Position = 0
a_total = S1.GetString("CAT_GP_ALMACEN")
a_inicial = S1.GetString("CAT_GP_ALMACEN")
S1.Close
ABORDO = 0
C3 = Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE <> ?", Array As String("CAMBIO", "0"))
' C8 = Starter.skmt.ExecQuery("select sum(pc_monto) as PE_TOTAL, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente ")
' C8.Position=0
If C3.RowCount > 0 Then
C3.Position = 0
a_venta = C3.GetString("CANTIDAD")
Else
a_venta = 0
End If
If a_venta = Null Then a_venta = 0
If CUANTOS <> CUANTOS1 Then
C1 = Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL from pedido where substr(pe_pronombre,1,6) = ? ", Array As String("CAMBIO"))
C1.Position = 0
RMI = C1.GetString("CANTIDAD")
RMI_VALOR = C1.GetString("TOTAL")
C1.Close
Else
RMI = 0
End If
If RMI = Null Then RMI = 0
If logger Then Log($"a_total=${a_total}, a_venta=${a_venta}, rmi=${RMI}"$)
a_final = a_total - a_venta
Printer1.WriteString(Printer1.BOLD & "Piezas en RMI : " & RMI & CRLF)
Printer1.WriteString(Printer1.BOLD & "TOTAL RMI : " & RMI_VALOR & CRLF)
Printer1.WriteString(Printer1.BOLD & "----RESUMEN TOTAL---- " & CRLF)
'' se cambia por lo del rmi Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & RMI & CRLF)
Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & CRLF)
Log("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & CRLF)
Printer1.WriteString(Printer1.BOLD & "TOTAL VENTA " & Subs.sumaPedido(Subs.traeCliente) & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Nombre y Firma" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString("__________" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(CRLF)
Printer1.WriteString(CRLF)
If C3.IsInitialized Then C3.Close
ProgressDialogHide
End Sub
Sub B_CERRAR_I_Click
Panel_INV_A.Visible = False
P_INF_GENERAL.Visible = True
If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
End Sub
Sub Bt_GuardarBoleta_Click
muestraBoleta = False
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
' Id_Almacen = Subs.traeAlmacen
Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS")
Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_BILLETE (TMP_BILLE_RUTA, TMP_BILLE_IDALMACEN, TMP_BILLE_FECHA, TMP_BILLE_MIL, TMP_BILLE_QUINIENTOS, TMP_BILLE_DOSCIENTOS, TMP_BILLE_CIEN, TMP_BILLE_CINCUENTA, TMP_BILLE_VEINTE) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANMIL.Text,EDT_CANQUIN.Text,EDT_CANDOS.Text,EDT_CANCIEN.Text,EDT_CANCIN.Text,EDT_CANVEIN.Text))
Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_MONEDAS (TMP_MON_RUTA, TMP_MON_IDALMACEN, TMP_MON_FECHA, TMP_MON_VEINTE, TMP_MON_DIEZ, TMP_MON_CINCO, TMP_MON_DOS, TMP_MON_UN, TMP_MON_CENTAVOS) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANVEINTE.Text,EDT_CANDIEZ.Text,EDT_CANCI.Text,EDT_CANDO.Text,EDT_CANUN.Text,EDT_CANCEN.Text))
' If Logger Then Log($"${RutaBoleta},${Id_Almacen},${EDT_CANMIL.Text},${EDT_CANQUIN.Text},${EDT_CANDOS.Text},${EDT_CANCIEN.Text},${EDT_CANCIN.Text},${EDT_CANVEIN.Text}"$)
' If Logger Then Log($"${RutaBoleta},${Id_Almacen},${EDT_CANVEINTE.Text},${EDT_CANDIEZ.Text},${EDT_CANCI.Text},${EDT_CANDO.Text},${EDT_CANUN.Text},${EDT_CANCEN.Text}"$)
Msgbox("Datos Guardados ","Listo") 'ignore
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Llega a almacen", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "")
End Sub
Sub B_E_NEXT_Click
Panel9.Visible = False
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID")))
Starter.tipov = "VENTA"
Cuestionario
End Sub
Sub b_chk_e_Click
Panel10.Visible = False
Private resp As String = ""
If Chk_1.Checked = True Then resp = chk_1_valor
If chk_2.Checked = True Then resp = resp & " / " & chk_2_valor
If chk_3.Checked = True Then resp = resp & " / " & chk_3_valor
If resp.StartsWith(",") Then resp = resp.SubString(2) 'Quitamos la coma si existe al principio.
Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, resp, sDate & sTime, Chk_1.Tag))
Starter.tipov = "VENTA"
Cuestionario
End Sub
'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0
Sub muestraEncuesta
' If Logger Then Log("Muestra Encuesta")
p_encuesta.Top = 0
p_encuesta.left = 0
p_encuesta.Height = GetDeviceLayoutValues.Height
p_encuesta.Width = GetDeviceLayoutValues.Width
p_encuesta.SetVisibleAnimated(200, True)
p_encuesta.Elevation = 90 'ignore
p_encuesta.BringToFront
P_INF_GENERAL.Visible = False
Log("Panel general="&P_INF_GENERAL.Visible)
End Sub
' Oculta el panel de la encuesta y los botones de la misma.
Sub ocultaPanelEncuesta
' Log("Oculta Encuesta")
b_encuesta_1.Visible = False
b_encuesta_2.Visible = False
b_encuesta_3.Visible = False
p_encuesta.Visible = False
P_INF_GENERAL.Visible = True
If logger Then Log("Panel general="&P_INF_GENERAL.Visible)
End Sub
'Regresa el valor de "left" para el centro de la pantalla
Sub centroPantalla As Int
Private anchoPantalla As Int = GetDeviceLayoutValues.Width
Private anchoPantalla As Int = Root.Width
Return anchoPantalla/2
End Sub
Private Sub b_encuesta_1_Click
Dim btn As Button = Sender
Log(btn.Tag & " clicked - " & btn.Text)
encuestaRes = btn.Text
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub b_encuesta_2_Click
Dim btn As Button = Sender
Log(btn.Tag & " clicked - " & btn.Text)
encuestaRes = btn.Text
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub b_encuesta_3_Click
Dim btn As Button = Sender
If logger Then Log(btn.Tag & " clicked - " & btn.Text)
encuestaRes = btn.Text
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub b_encuesta_continuar_Click
encuestaRes = et_encuesta.Text
et_encuesta.Text = ""
et_encuesta.Visible = False
b_encuesta_continuar.Visible = False
ocultaPanelEncuesta
botonPresionado = 1
End Sub
Private Sub et_encuesta_TextChanged (Old As String, New As String)
' Log($"|${Old}|,|${New}|"$)
If New.Length > 0 Then b_encuesta_continuar.Enabled = True
If New.Length < 1 Then b_encuesta_continuar.Enabled = False
End Sub
'Revisa si el cliente actual es candidato a la promo especial que da regalo según el monto de la compra.
'Se revisa que el cliente tenga asignada la promoción, que no tenga venta impresa y que el producto de regalo tenga existencia.
'Si cumple las 3 condiciones regresa esValida=True, si no, esValida=False.
Sub revisaPromoEspecial As Map
' Necesitamos cliente autorizado, producto promocional con existencia y cliente no impreso.
Private hayInventario As String = ""
Private clienteImpreso As String = ""
Dim promoInfo As Map
promoInfo.Initialize
Private x As Cursor
'Revisamos si ya tiene venta impresa.
x=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
x.Position = 0
clienteImpreso = x.GetString("CUANTOS")
' Log(clienteImpreso)
' If clienteImpreso = "0" Then Log("El cliente no tiene venta impresa.")
x.Close
'Revisamos que tenga asignada la promo.
x=Starter.skmt.ExecQuery("select count(*) as clienteConPromo, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC, CPM_IDPROMO, CPM_MONTO from CAT_PROMO_MONTO where CPM_CLIENTE in (Select CUENTA from cuentaa)")
If x.RowCount > 0 Then
x.Position = 0
If x.GetString("clienteConPromo") = 1 Then 'Cliente autorizado para promo.
clienteConPromo = "1"
Private y As Cursor
Private nombreProd As String = ""
y=Starter.skmt.ExecQuery("select cat_gp_nombre as nombreProd from cat_gunaprod where cat_gp_id = '" & x.GetString("CPM_PROID") & "'")
If y.RowCount > 0 Then
y.Position = 0
nombreProd = y.GetString("nombreProd")
End If
y.Close
Log("El cliente tiene asignada la promo especial.")
Private p As Cursor
p=Starter.skmt.ExecQuery("select count(*) as hayInventario from CAT_GUNAPROD where CAT_GP_ALMACEN > 0 and CAT_GP_ID = " & x.GetString("CPM_PROID"))
p.Position = 0
hayInventario = p.GetString("hayInventario")
If hayInventario = "1" Then Log("El producto de la promo tiene existencia.")
p.Close
promoInfo = CreateMap("idProd":x.GetString("CPM_PROID"), "cantProd":x.GetString("CPM_CANT"), "rangoPromo":x.GetString("CPM_RANGO"), "descrPromo":x.GetString("CPM_DESC"), "idPromo":x.GetString("CPM_IDPROMO"), "montoPromo":x.GetString("CPM_MONTO"), "nombreProd":nombreProd)
End If
End If
x.Close
If clienteImpreso = "0" And clienteConPromo = "1" And hayInventario = "1" Then
Log("Cumple con TODAS las condiciones de la promo.")
promoInfo.Put("esValida", True)
Return promoInfo
Else
' Log("NO cumple con las condiciones de la promo.")
promoInfo.Put("esValida", False)
Return promoInfo
End If
End Sub
'Mete la promoción especial de regalo por monto vendido.
Sub metePromoEspecial(idProd As String, idPromo As String, cantProd As Int, nombreProd As String, promoDescr As String, idCliente As String, idUsuario As String, idRuta As String) 'ignore
Dim query As String
query = "cat_gunaprod"
If Starter.tipov = "VENTA" Then query = "cat_gunaprod2"
' Falta nombre de producto en el insert
Starter.skmt.ExecNonQuery2("DELETE from PEDIDO where PE_CLIENTE = ? and PE_CEDIS = ?", Array As String (idUsuario, idPromo)) ' HAY QUE AGREGAR EL CLIENTE PARA QUE NO BORRE TODAS LAS PROMOS!!
'Metemos encabezado de la promo.
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0, 0, cantProd, promoDescr, idPromo, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0))
'Metemos el producto de regalo.
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0.01, 0.01, cantProd, nombreProd, idProd, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0.01))
'Actualizamos existencia en CAT_GUNAPROD.
Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantProd, idProd))
End Sub
Sub revisaImpresora (mode As String) 'ignore
'' Log("Revisamos impresora " & Starter.intentosImpresora)
'' Log("RevisandoImpresora= " & Starter.revisandoImpresora)
' If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable 'Si no esta prendido el BT lo prendemos.
' If Not(Printer1.IsInitialized) Then Printer1.Initialize(Me, "Printer1") 'Si no esta inicializada la inicializamos.
' If Not(Starter.revisandoImpresora) Then Return
' Starter.revisandoImpresora = True
' If mode = "BT" Then
'' Try
'' LogColor("reiniciamos BT", Colors.Blue)
'' Starter.btAdmin.Disable
'' Sleep(500)
'' Starter.btAdmin.Enable
'' Sleep(1000)
'' If Starter.btAdmin.IsEnabled Then revisaImpresora("")
'' Catch
'' Log(LastException)
'' End Try
' Else
'' ToastMessageShow("Conectando impresora.", False)
' If Not(Printer1.IsConnected) Then 'Si no estamos conectados, nos conectamos.
' Log("Connect")
' Printer1.Connect
' Else 'Si ya estamos conectados
' Log("Disc-Conn")
' Printer1.DisConnect
' Sleep(1000)
' Printer1.Connect
' End If
' End If
End Sub
Private Sub l_exhibidor2_Click
p_exhibidores.Left = (Root.Width/2) - (p_exhibidores.Width/2)
p_exhibidores.Top = Root.Height/4
p_exhibidores.Visible = True
p_exhibidores.Elevation = 90dip
End Sub
Private Sub b_exhibidor_Click
p_exhibidores.Visible = False
End Sub
Private Sub Panel9_Click
'Esta vacio porque solo esta capturado los clics.
End Sub
Private Sub PNL_TOTALES_Click
'Esta vacio porque solo esta capturado los clics.
End Sub
Private Sub b_ubicacion_Click
CallSubDelayed(Tracker, "StartFLP2")
End Sub
Private Sub P_BOLETA_Click
'Esta vacio porque solo esta capturado los clics.
End Sub
Private Sub b_whats_Click
P_INF_GENERAL.Visible = False
p_promowhats.visible = True
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
If c.RowCount > 0 Then
c.Position=0
l_promowhats.Text = c.GetString("CAT_CL_CODIGO")
End If
c.Close
End Sub
Private Sub b_aceptarrpomo_Click
' c=Starter.skmt.ExecQuery("select CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
' If c.RowCount > 0 Then
' c.Position=0
' l_promowhats.Text = c.GetString("CAT_CL_NOMBRE")
' End If
' c.Close
Private almadoe As Cursor = Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
almadoe.Position = 0
LogColor(almadoe.GetString("ID_ALMACEN"),Colors.Blue)
If almadoe.GetString("ID_ALMACEN") = "3" Then
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount>0 Then
C.Position=0
Id_Almacen = C.GetString("ID_ALMACEN")
End If
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO ACEPTADA"))
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0 , 0, 1, "KIT DE BIENVENIDA DOE", "PDOE100123",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.02 , 0.01, 2, "LECHE ALL BRAN CHOCO 236ML", "1008027226",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "LECHE ALL BRAN NUEZ 236ML", "1008027228",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "LECHE CHOCO MELVIN 236ML", "1008013799",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("2", "1008027226"))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008027228"))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008013799"))
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
Log("###### delete from pedido_cliente")
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN")))
Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ")
' starter.skmt.ExecNonQuery2("INSERT INTO")
p_promowhats.Visible = False
P_INF_GENERAL.Visible = True
c.Close
b_whats.Visible = False
Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS where HCCP_CLIENTE IN (Select cuenta from cuentaa)")
B4XPage_Appear
Else
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount>0 Then
C.Position=0
Id_Almacen = C.GetString("ID_ALMACEN")
End If
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO ACEPTADA"))
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0 , 0, 1, "KIT DE BIENVENIDA DOE", "PDOE100123",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "LECHE ALL BRAN CHOCO 236ML", "1008027226",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "LECHE ALL BRAN VAINILLA 236ML", "1008027230",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "LECHE ALL BRAN NUEZ 236ML", "1008027228",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "LECHE CHOCO MELVIN 236ML", "1008013799",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,"VENTA",0))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008027226"))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008027230"))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008027228"))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008013799"))
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
Log("###### delete from pedido_cliente")
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN")))
Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert
' starter.skmt.ExecNonQuery2("INSERT INTO")
p_promowhats.Visible = False
P_INF_GENERAL.Visible = True
c.Close
b_whats.Visible = False
Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS where HCCP_CLIENTE IN (Select cuenta from cuentaa)")
B4XPage_Appear
End If
almadoe.Close
End Sub
Private Sub b_rechazapromo_Click
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO RECHAZADA"))
p_promowhats.Visible = False
P_INF_GENERAL.Visible = True
b_whats.Visible = False
End Sub
Private Sub p_pideGeoPass_Click
End Sub
Private Sub b_geopass_Click
' If et_geopass.Text.trim = "KMTS1" Then
' m_lat = Starter.lat_gps
' m_lon = Starter.lon_gps
' GPS_LocationChanged(Starter.ubicacionActual)
' Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
' Else
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "selectBypass" ' Trae la contraseña desde la tabla "BYPASS" en web. (La ultima es KMT2025)
cmd.Parameters = Array As Object(et_geopass.Text.Trim)
reqManager.ExecuteQuery(cmd , 0, "bypass")
Log($"${Starter.DBReqServer}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$)
' End If
p_pideGeoPass.Visible = False
ime.HideKeyboard
' Log("Guardamos coords")
' LATITUD = Starter.lat_gps
' LONGITUD = Starter.lon_gps
' GPS_LocationChanged(Starter.ubicacionActual)
' Starter.skmt.ExecNonQuery($b_geopass"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
End Sub
Private Sub l_ubicacion2_LongClick
If laDist > 49 Then
p_pideGeoPass.BringToFront
p_pideGeoPass.Visible = True
et_geopass.RequestFocus
End If
End Sub
Sub JobDone(Job As HttpJob)
Log("JOBDONE CLIENTE")
If Job.Success = False Then
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
LogColor("Error: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.red)
' LogColor("Error: " & Job.ErrorMessage, Colors.red)
Else
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "bypass" Then 'query tag
Log("SIN REGISTROS " & result.Rows.Size)
Subs.logJobDoneResultados(result)
If result.Rows.Size = 1 Then ' Si hay contraseña de bypass
m_lat = Starter.lat_gps
m_lon = Starter.lon_gps
GPS_LocationChanged(Starter.ubicacionActual)
Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
else if result.Rows.Size = 0 Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_geoPass"
cmd.Parameters = Array As Object(et_geopass.Text.Trim, Subs.traeAlmacen, Subs.traeRuta)
reqManager.ExecuteQuery(cmd , 0, "traeGeoPass")
Log($"${Starter.DBReqServer}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$)
et_geopass.Text = ""
End If
End If
If result.Tag = "traeGeoPass" Then 'query tag
Log("SIN REGISTROS " & result.Rows.Size)
If result.Rows.Size = 0 Then MsgboxAsync("Contraseña equivocada, por favor intente de nuevo.", "ATENCION")
For Each records() As Object In result.Rows
' For Each k As String In result.Columns.Keys
' Log(k & ": " & records(result.Columns.Get(k)))
' Next
Private permiso_geoPass As String = records(result.Columns.Get("'OK'"))
If permiso_geoPass = "OK" Then
m_lat = Starter.lat_gps
m_lon = Starter.lon_gps
GPS_LocationChanged(Starter.ubicacionActual)
Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "delete_geoPass"
cmd.Parameters = Array As Object( Subs.traeAlmacen, Subs.traeRuta)
reqManager.ExecuteCommand(cmd , "borraGeoPass")
End If
Next
End If
End If
End If
Job.Release
End Sub
Private Sub BP_DOE_A_Click
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount>0 Then
C.Position=0
Id_Almacen = C.GetString("ID_ALMACEN")
End If
c.Close
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
Starter.skmt.BeginTransaction
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2 FROM PEDIDO_DOE WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = ?, PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object("DOE","DOE"))
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
Log("###### delete from pedido_cliente")
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN")))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
c.Close
Starter.skmt.ExecNonQuery("delete from PEDIDOS_DOE_ENTREGA where PC_CLIENTE in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery2("insert into PEDIDOS_DOE_ENTREGA (PC_CLIENTE, PC_ENTREGA) VALUES (?,?) ", Array As Object(clie_id,"ENTREGADO"))
Starter.skmt.ExecNonQuery("delete from pedido_DOE where pe_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction
P_DOE.Visible = False
B4XPage_Appear
End Sub
Private Sub BP_DOE_R_Click
Dim result As Int
result = Msgbox2("El cliente perderá el descuento si cancela el pedio, se cancela el pedido ?", "Pedido Cancela", "SI", "", "NO", LoadBitmap(File.DirAssets, "alert2.png"))
If result = DialogResponse.Positive Then
P_DOE.Visible = False
p_rechazoDOE.BringToFront
p_rechazoDOE.Visible = True
BP_DOE_A.Visible = False
BP_DOE_R.Visible = False
Else
P_DOE.Visible = True
' Log("yyy")
End If
End Sub
private Sub pedido_doe_muestra
''' ESTO SE AGREGA PARA QUE SE VEAN LOS CLIENTES DOE
Dim YA_TIENE_PEDIDO_DOE As String
C5=Starter.skmt.ExecQuery2("select COUNT(*) AS CLIENTE_DOE from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_CEDIS = ? ", Array As String("DOE"))
C5.Position = 0
If C5.GetString("CLIENTE_DOE") > 0 Then
YA_TIENE_PEDIDO_DOE = 1
Else
YA_TIENE_PEDIDO_DOE = 0
End If
C5.Close
If YA_TIENE_PEDIDO_DOE = 0 Then
C5=Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE_DOE from PEDIDO_DOE WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ")
C5.Position = 0
If C5.GetString("CLIENTE_DOE") > 0 Then
' Log("xxx")
P_DOE.Visible = True
P_DOE.Elevation = 100
P_DOE.BringToFront
C6=Starter.skmt.ExecQuery("select PE_PROID, PE_PRONOMBRE, PE_CANT, PE_COSTO_TOT from PEDIDO_DOE where PE_CLIENTE IN (Select CUENTA from cuentaa)")
LP_DOE.Clear
If C6.RowCount>0 Then
For i=0 To C6.RowCount -1
C6.Position=i
Dim label1 As Label
label1 = LP_DOE.TwoLinesLayout.Label
label1.TextSize = 14
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = LP_DOE.TwoLinesLayout.SecondLabel
label2.TextSize = 14
label2.TextColor = Colors.Black
LP_DOE.AddTwoLines(C6.GetString("PE_PRONOMBRE"), " # " & C6.GetString("PE_CANT") & " TOTAL " & C6.GetString("PE_COSTO_TOT") )
Next
End If
C6.Close
C6=Starter.skmt.ExecQuery("select SUM(PE_CANT) AS CANT, SUM(PE_COSTO_TOT) AS TOTAL from PEDIDO_DOE where PE_CLIENTE IN (Select CUENTA from cuentaa)")
C6.Position= 0
L_DOE_TOTAL.Text = "TOTAL PEDIDO DOE :"& C6.GetString("TOTAL") & CRLF & " No. PIEZAS: " & C6.GetString("CANT")
C6.Close
''' FALTAN LOS BOTONES DE ACEPTAR Y RECHAZAR, INVENTAIRO ABORDO MODIFICAR PARA IMPRIMIR
End If
C5.Close
End If
End Sub
Private Sub BP_DOE_R1_Click
If r_1.Checked Then
motivo = "CERRADO"
Else If r_2.Checked Then
motivo = "NO LO PIDIO"
Else If r_3.Checked Then
motivo = "FUERA DE TIEMPO"
Else if r_4.Checked Then
motivo = "NO ESTA EL ENCARGADO"
Else if R_5.Checked Then
motivo = "FALTA DE DINERO"
End If
motivo = motivo & " " & e_comm.Text
BP_DOE_A.Visible = True
BP_DOE_R.Visible = True
p_rechazoDOE.Visible = False
P_DOE.Visible = False
c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO_DOE where pe_cliente in (Select CUENTA from cuentaa) ")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
Next
End If
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("delete from PEDIDOS_DOE_ENTREGA where PC_CLIENTE in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery2("insert into PEDIDOS_DOE_ENTREGA (PC_CLIENTE, PC_ENTREGA) VALUES (?,?) ", Array As Object(clie_id,motivo))
Starter.skmt.ExecNonQuery("delete from pedido_DOE where pe_cliente in (Select CUENTA from cuentaa)")
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Rechazo DOE", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "")
P_DOE.Visible = False
End Sub
Private Sub b_inicioFinVenta_Click
If dentroDeGeocerca Then precision = 1
motivoNoVenta = ""
motivoNoVisita = ""
If Starter.enVenta Then
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, motivoNoVisita)
Starter.enVenta = False
LogColor($">>>>>> TERMINA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
Subs.iniciaActividad("principal")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
Else
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "")
Starter.enVenta = True
' LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
End If
b_inicioFinVenta.Visible = False
End Sub
Private Sub P_DOE_Click
End Sub
Private Sub p_rechazoDOE_Click
End Sub
'Revisa si hay suficiente existencia para dar la promo DOE.
Sub revisaExistenciasDOE As Boolean 'ignore
Private suficiente As Boolean = True
Private p As Cursor = Starter.skmt.ExecQuery($"select * from cat_gunaprod2 where cat_gp_id in ('1008027226', '1008027228', '1008013799')"$)
If p.RowCount > 1 Then
For i = 0 To p.RowCount - 1
p.Position = i
If p.GetString("CAT_GP_ID") = "1008027226" And p.GetString("CAT_GP_ALMACEN") < 2 Then suficiente = False
If p.GetString("CAT_GP_ID") = "1008027228" And p.GetString("CAT_GP_ALMACEN") < 1 Then suficiente = False
If p.GetString("CAT_GP_ID") = "1008013799" And p.GetString("CAT_GP_ALMACEN") < 1 Then suficiente = False
Next
End If
' 2, "LECHE ALL BRAN CHOCO 236ML", "1008027226"
' 1, "LECHE ALL BRAN NUEZ 236ML", "1008027228"
' 1, "LECHE CHOCO MELVIN 236ML", "1008013799"
Return suficiente
End Sub
Private Sub p_transparenciaNoti_Click
End Sub
Private Sub b_notificacion_Click
Private tag As String = Sender.As(Button).Tag
Log("-" & tag & "-")
Private tag1() As String = Regex.Split("\|", tag)
Log(tag1.Length & "-" & tag1(0) & "-" & tag1(1))
Private CODIGO As String = tag1(1)
Private ID As String = tag1(0)
p_transparenciaNoti.Visible = False
DateTime.DateFormat = "yyyy-MM-dd HH:mm:ss"
Starter.skmt.ExecNonQuery($"insert into HIST_NOTIFICACIONES (HN_CODIGO, HN_ID, HN_FECHA) values ('${CODIGO}', '${ID}', '${DateTime.Date(DateTime.Now)}')"$)
Log(123)
cmd.Initialize
cmd.Name = "updateHistNotificacionesMotivo"
cmd.Parameters = Array As Object("", DateTime.Date(DateTime.Now), Subs.traeRuta, usuario, Subs.traeAlmacen, clienteId)
reqManager.ExecuteCommand(cmd , "updateHistNotificacionesMotivo")
End Sub
' Subrutina principal para subir pedidos con validación de integridad ARCH
' Llama a esto desde tu botón Subir_Click
' Devuelve un ResumableSub que puedes esperar con Wait For
Sub Subir_Pedido_Con_Integridad(cliente As String) As ResumableSub
Log("--- Iniciando Envío Seguro para Cliente: " & cliente & " ---")
' 1. Generar ARCH (Identificador Único del Paquete)
Dim Arch As String = Subs.traeAlmacen & "_" & Subs.traeRuta & "_" & cliente & "_" & DateTime.Now
' 2. Marcar registros pendientes con este ARCH localmente
' CORRECCIÓN CRÍTICA: El orden es (Valor_a_Asignar, Filtro) -> (Arch, cliente)
Starter.skmt.ExecNonQuery2($"UPDATE PEDIDO SET PE_ARCH = ? WHERE PE_CLIENTE = ? AND PE_ENVIADO = 0"$, Array As Object(Arch, cliente))
Starter.skmt.ExecNonQuery2($"UPDATE PEDIDO_CLIENTE SET PC_ARCH = ? WHERE PC_CLIENTE = ? AND PC_ENVIADO = 0"$, Array As Object(Arch, cliente))
' 3. Contar qué vamos a enviar
Dim cCheck As Cursor = Starter.skmt.ExecQuery($"SELECT COUNT(*) as total FROM PEDIDO WHERE PE_ARCH = '${Arch}'"$)
cCheck.Position = 0
Dim TotalProductosLocal As Int = cCheck.GetInt("total")
cCheck.Close
If TotalProductosLocal = 0 Then
Log("Nada pendiente para enviar con este ARCH.")
Return "Vacio"
End If
Log($"Total a enviar: ${TotalProductosLocal} productos. ID Paquete: ${Arch}"$)
Dim envioCorrecto As Boolean = True
' 4. Enviar Encabezados (PEDIDO_CLIENTE)
Log("Enviando encabezado con ARCH: " & Arch)
Private cx As Cursor = Starter.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_ENVIADO, PC_ARCH FROM PEDIDO_CLIENTE WHERE PC_ARCH = '${Arch}'"$)
If cx.RowCount > 0 Then
For i = 0 To cx.RowCount - 1
cx.Position = i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedidos_KELL_arch"
cmd.Parameters = Array As Object(cx.GetString("PC_CLIENTE"), cx.GetString("PC_FECHA"), cx.GetString("PC_USER"), cx.GetString("PC_NOART"), cx.GetString("PC_MONTO"), cx.GetString("PC_LON"), cx.GetString("PC_LAT"), cx.GetString("PC_ALMACEN"), cx.GetString("PC_RUTA"), cx.GetString("PC_COSTO_SIN"), cx.GetString("PC_ARCH"))
Log($"insert_pedidos_KELL_arch: ${cx.GetString("PC_CLIENTE")}, ${cx.GetString("PC_FECHA")}, ${cx.GetString("PC_USER")}, ${cx.GetString("PC_NOART")}, ${cx.GetString("PC_MONTO")}, ${cx.GetString("PC_LON")}, ${cx.GetString("PC_LAT")}, ${cx.GetString("PC_ALMACEN")}, ${cx.GetString("PC_RUTA")}, ${cx.GetString("PC_COSTO_SIN")}, ${cx.GetString("PC_ARCH")}"$)
reqManagerW.ExecuteCommand(Starter.DBReqServer, cmd, Me, "header_envio")
Wait For header_envio_Completed (ResultHeader As TResultado)
If ResultHeader.Success = False Then
Log("Error crítico enviando encabezado: " & ResultHeader.ErrorMessage)
envioCorrecto = False
Exit
End If
Next
cx.Close
End If
If envioCorrecto = False Then
Msgbox("Error al enviar encabezado del pedido. Intente nuevamente.", "Error de Conexión")
Return "Error PC"
End If
' 5. Enviar Detalles (PEDIDO)
Log("Enviando detalle con ARCH: " & Arch)
Private cPed As Cursor = Starter.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, PE_TIPO, PE_ARCH FROM PEDIDO WHERE PE_ARCH = '${Arch}'"$)
If cPed.RowCount > 0 Then
For i = 0 To cPed.RowCount - 1
cPed.Position = i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido_KELL_arch"
cmd.Parameters = Array As Object(cPed.GetString("PE_CEDIS"), Subs.traeAlmacen, cPed.GetString("PE_COSTO_TOT"), cPed.GetString("PE_COSTOU"), cPed.GetString("PE_CANT"), cPed.GetString("PE_PRONOMBRE"), cPed.GetString("PE_PROID"), cPed.GetString("PE_CLIENTE"), cPed.GetString("PE_FECHA"), cPed.GetString("PE_USUARIO"), cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"), cPed.GetString("PE_DESC"), cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"), cPed.GetString("PE_ARCH"))
reqManagerW.ExecuteCommand(Starter.DBReqServer, cmd, Me, "detalle_envio")
Wait For detalle_envio_Completed (ResultDet As TResultado)
If ResultDet.Success = False Then
Log("Error enviando producto " & cPed.GetString("PE_PRONOMBRE"))
envioCorrecto = False
Exit
End If
Next
cPed.Close
End If
If envioCorrecto = False Then
Return "Error PE"
End If
' 6. VALIDACIÓN FINAL
Log("Validando integridad con Oracle...")
Dim cmdVal As DBCommand
cmdVal.Initialize
cmdVal.Name = "validar_integridad_arch"
cmdVal.Parameters = Array As Object(Arch, TotalProductosLocal)
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmdVal, Me, "validacion_integridad")
Wait For validacion_integridad_Completed (ResultVal As TResultado)
If ResultVal.Success Then
Dim estado As String = ""
For Each row() As Object In ResultVal.resultado.Rows
estado = row(ResultVal.resultado.Columns.Get("ESTADO"))
Next
If estado = "COMPLETO" Then
Log("¡Validación Exitosa! Marcando pedido como enviado.")
' Marcamos como enviado localmente usando el ARCH
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_ENVIADO = 1 WHERE PE_ARCH = ?", Array As Object(Arch))
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO_CLIENTE SET PC_ENVIADO = 1 WHERE PC_ARCH = ?", Array As Object(Arch))
ToastMessageShow("Pedido enviado y verificado correctamente", False)
Return "Validado OK"
Else
Log("ERROR DE INTEGRIDAD: El servidor reporta " & estado)
Msgbox("El servidor recibió datos incompletos. El pedido NO se marcó como enviado. Por favor intente subir de nuevo.", "Error de Integridad")
Return "Error Validacion"
End If
Else
Log("Error al ejecutar query de validación: " & ResultVal.ErrorMessage)
Msgbox("No se pudo verificar el pedido por error de red. Intente de nuevo.", "Error de Red")
Return "Error Validacion (Red)"
End If
End Sub