Files
Guna_Reparto_BAT/B4A/C_Cliente.bas
2026-04-16 13:40:13 -06:00

7884 lines
298 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=12.2
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Dim g As GPS
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
Dim cuenta As String
Dim btAdmin As BluetoothAdmin
Dim cmp20 As Serial
Dim printer As TextWriter
Dim PairedDevices As Map
Dim L As List
Dim TAMANO As Int
Dim ESPACIO As Int
Dim BLANCO As String
Dim impresoraConectada As Boolean = False
Dim LONGITUD As String
Dim LATITUD As String
Dim NOMBRE As String
Dim c As Cursor
Dim s As Cursor
Dim limite_credito As Double
Dim banderaabono As String
Dim m_lat_al, m_lon_al As String
Dim distance2 As Long
Dim metopago As String
Dim ListView1 As ListView
Dim la_cuenta As Label
Dim La_nombre As Label
Dim la_Calle As Label
Dim la_numero As Label
Dim la_nint As Label
Dim la_edo As Label
Dim la_pob As Label
Dim la_col As Label
Dim la_cp As Label
Dim la_zona As Label
Dim gest As Button
Dim la_saldotot As Label
Dim la_saldooper As Label
Dim reqManager As DBRequestManager
Dim b_noEntrega As Button
Dim Label10 As Label
Dim Label11 As Label
Dim d As Cursor
Dim ime As IME
Dim Tar As Button
Private L_QR As Label
Private BT_QR As Button
Dim Printer1 As EscPosPrinter
Dim la_comm As Label
Dim la_actdte As Label
Dim la_usuario As Label
Dim la_resultado As Label
Dim l_entre1 As Label
Dim l_entre2 As Label
Dim l_atiende As Label
Dim l_atiende2 As Label
Dim DATOS As Button
Dim Guardar As Button
Dim NUEVO As Button
Private l_total As Label
Private HIST As Button
Dim PASA_IMP As String
Private B_IMP As Button
Dim total_cliente As String
Dim CREDITO As String
Private p_principal As Panel
Private B_PASO2 As Button
Private L_CANT As Label
Dim errorImpresora As Int = 0
Dim banderaimp As Int
Private l_credi As Label
Private l_pagare As Label
Private l_montopag As Label
Private l_efectivo As Label
Private l_montoefec As Label
Private p_credito As Panel
Private b_acred As Button
Private b_cancred As Button
Private et_montoacredito As EditText
Private Label16 As Label
Private l_limite As Label
Dim almacen As String
Dim fechaprev As String
Dim rutaprev As String
Dim rutarep As String
Dim montopagare As String
Private qr As QRGenerator
Private p_abono As Panel
Private clv_abonos As CustomListView
Private et_abono As EditText
Private b_cancelar As Button
Private b_abono As Button
Private l_montoabonostotal As Label
Dim h, j,b, f As Cursor
Private l_folio As Label
Private l_saldo As Label
Private b_cxc As Button
Dim Tipoentrega As String
Private b_cancel_pagare As Button
Private p_transPagare2 As Panel
Private i_qr As B4XImageView
Private qr As QRGenerator
Private b_cerrarqr As Button
Private b_confirmar As Button
Dim NOTA As String
Private p_qr As Panel
Private ChangingCheckboxesProgrammatically As Boolean = False
Dim tipo_abonox As String
Private cb_tipopago As B4XComboBox
Dim itemselect As String
Dim escreditoono As String
Dim m_lat, m_lon As String
Dim distance As Long
Private b_imprimesegun As Button
Private iv_foto As ImageView
Dim Folio As String
Private l_telefono As Label
Private l_fecha As Label
Private CheckBox1 As CheckBox
Private ImageView1 As ImageView
Private barcode As barcodeGenerator
Private B4XImageView1 As B4XImageView
Private ImageView2 As ImageView
Private p_tipopago As Panel
Private rb_Cheque As RadioButton
Private rb_tranfe As RadioButton
Private rb_efectivo As RadioButton
Private b_cancel_tp As Button
Private b_acept_tp As Button
Private p_comentario As Panel
Private lv_comentarios As ListView
Private b_agregarcom As Button
Private b_cerarcom As Button
Private p_contado As Panel
Private et_cont_efectivo As EditText
Private et_cont_transfe As EditText
Private et_cont_cheque As EditText
Private b_cancel_contado As Button
Private b_acep_contado As Button
Private Panel13 As Panel
Private ch_cont_efectivo As CheckBox
Private ch_cont_transfe As CheckBox
Private ch_cont_cheque As CheckBox
Private l_contado As Label
Private p_codigo As Panel
Private et_codigo As EditText
Private b_cancelcodigo As Button
Private b_acepcodigo As Button
Dim indicanum As Int
Dim numeropago As Int
Dim textedit As Double
Dim Impimir As Int
Dim reimpresion As Int = 0
Private p_transFinDia As Panel
Dim f1,f2,f3,f4,f5 As Double
Private b_cancelarFD As Button
Private b_aceptarFD As Button
Private et_passFinDia As EditText
Private teclado As IME
Private P_Imagengrande As Panel
Private I_fotogrande As ImageView
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
g.Initialize("GPS")
' Activity.LoadLayout("info_gral")
Root.LoadLayout("cliente")
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_ATIENDE1, CAT_CL_ATIENTE2, CAT_CL_TELEFONO, CAT_CL_EMAIL, CAT_CL_CALLE, CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
la_col.Text = c.GetString("CAT_CL_COLONIA")
la_edo.Text = c.GetString("CAT_CL_EDO")
la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
p_transPagare2.left = 0 : p_transPagare2.Top = 0
p_transPagare2.Width = Root.Width : p_transPagare2.Height = Root.Height
Subs.centraPanel(p_qr, p_transPagare2.Width)
qr.Initialize(i_qr.mBase.Width)
If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
Else
l_atiende.Text = " "
End If
If c.GetString("CAT_CL_ATIENTE2") <> Null And c.GetString("CAT_CL_ATIENTE2") <> "NULL" Then
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
Log("|"&c.GetString("CAT_CL_ATIENTE2")&"|")
Else
l_atiende2.Text = " "
End If
la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
' l_total.Text = s.GetString("TOTAL_CLIE")
btAdmin.Initialize("BlueTeeth")
cmp20.Initialize("Printer")
reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
p_transFinDia.top = 0 : p_transFinDia.Left = 0
p_transFinDia.Width = Root.Width : p_transFinDia.Height = Root.Height
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
iv_foto.Bitmap = LoadBitmap(File.DirAssets,"images.png")
reimpresion = 0
banderaimp = 0
banderaabono = 0
escreditoono = 0
Tipoentrega = "CONTADO"
' Subs.centraPanel(p_principal, Root.Width)
Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
La_nombre.Text = c.GetString("CAT_CL_NOMBRE")
NOMBRE = c.GetString("CAT_CL_NOMBRE")
LONGITUD = c.GetString("CAT_CL_LONG")
LATITUD = c.GetString("CAT_CL_LAT")
la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT")
la_col.Text = c.GetString("CAT_CL_COLONIA")
la_edo.Text = c.GetString("CAT_CL_EDO")
la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
l_telefono.Text= c.GetString("CAT_CL_TELEFONO")
If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
Else
l_atiende.Text = " "
End If
If c.GetString("CAT_CL_ATIENTE2") <> Null And c.GetString("CAT_CL_ATIENTE2") <> "NULL" Then
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
Else
l_atiende2.Text = " "
End If
la_saldotot.Text = c.GetString("CAT_CL_TELEFONO")
la_saldooper.Text = c.GetString("CAT_CL_EMAIL")
' l_total.Text = s.GetString("TOTAL_CLIE")
CREDITO = C.GetString("CAT_CL_BCREDITO")
p_abono.Width = Root.Width
p_abono.Height = Root.Height
p_principal.Width = Root.Width
Dim cor_al As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'COORDS_ALMACEN' ")
If cor_al.RowCount > 0 Then
cor_al.Position = 0
Dim latlong() As String = Regex.Split(",",cor_al.GetString("CAT_VA_VALOR"))
m_lat_al = latlong(1)
m_lon_al = latlong(0)
End If
Subs.centraPanel(P_Imagengrande,Root.Width)
barcode.Initialize
qr.Initialize(B4XImageView1.mBase.Width)
Private cym As Map = Subs.traeCantYMonto2(Subs.traeCliente)
L_CANT.Text = cym.Get("cantidad")
l_total.Text = Round2(cym.Get("monto"), 2)
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
CallSubDelayed(Tracker, "StartFLP2")
If Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
Dim mostrarimp As Cursor = Starter.skmt.ExecQuery($"SELECT gestion from kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)"$)
mostrarimp.Position = 0
If mostrarimp.GetString("gestion") = "0" Then
b_imprimesegun.Visible = False
Else if mostrarimp.GetString("gestion") = "2" Then
b_imprimesegun.Visible = True
End If
mostrarimp.Close
Dim cdias As Cursor = Starter.skmt.ExecQuery("select CAT_CL_DIASCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
cdias.Position = 0
Dim pagarepen As Cursor = Starter.skmt.ExecQuery("select FECHA_PREVENTA, NOTA, CLIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagarepen.RowCount > 0 Then
For pagadias = 0 To pagarepen.RowCount-1
pagarepen.Position = pagadias
DateTime.DateFormat="dd/MM/yyyy"
Dim FechaInicio As String = pagarepen.GetString("FECHA_PREVENTA") ' Formato: dd/MM/yyyy
Log(pagarepen.GetString("FECHA_PREVENTA"))
' Convertir las fechas a milisegundos (desde 01/01/1970)
Dim TicksInicio As Long = DateTime.DateParse(FechaInicio)
Dim TicksHoy As Long = DateTime.DateParse(DateTime.Date(DateTime.Now))
' Calcular diferencia en días
Dim DiferenciaDias As Int = (TicksHoy - TicksInicio) / DateTime.TicksPerDay
' Mostrar resultado
Log($"Días transcurridos: ${DiferenciaDias}"$)
Starter.skmt.ExecNonQuery2("UPDATE ABONOSP set DIAS = ?, DIASATRASO = ? where NOTA = ? AND CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(DiferenciaDias,cdias.GetInt("CAT_CL_DIASCREDITO")-DiferenciaDias, pagarepen.GetString("NOTA")))
Next
End If
Dim geo As Cursor = Starter.skmt.ExecQuery("SELECT ACTIVA FROM GEOCERCA")
If geo.RowCount > 0 Then
geo.Position = 0
If geo.GetInt("ACTIVA") = 0 Then
HIST.Visible = True
' b_cxc.Visible = True
b_noEntrega.Visible = True
gest.Visible = True
Else If geo.GetInt("ACTIVA") = 1 Then
HIST.Visible = True
' b_cxc.Visible = False
b_noEntrega.Visible = False
gest.Visible = False
End If
End If
Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT FOTO FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("FOTO")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
iv_foto.Bitmap = Bitmap1
Log("aqui si hay foto")
Else
iv_foto.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
End If
' If CREDITO = "1" Then
' Msgbox("AVISO","SE TIENE QUE IMPRIMIR PAGARÉ") 'ignore
' End If
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' l_total.Text = cym.Get("monto")
Starter.skmt.ExecNonQuery("UPDATE HIST_VENTAS set ESPROMO = 1 where HVD_CODPROMO = HVD_PROID AND HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
Private cuenta0 As String = 0
Private arti As String = 0
If vc.RowCount > 0 Then
For i = 0 To vc.RowCount - 1
vc.Position = i
LogColor(cuenta0,Colors.Red)
LogColor(vc.GetString("HVD_PROID"),Colors.Blue)
LogColor("------------"&((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))),Colors.Red)
cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT")))
' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
' Log(vc.GetString("HVD_CANT") &" - "& vc.GetString("HVD_RECHAZOCANT")&" * "& vc8.GetString("CAT_GP_PRECIO"))
Next
End If
' Log(cuenta0)
Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
Private Cuenta1 As String = 0
Private arti1 As String = 0
If vc2.RowCount > 0 Then
For i = 0 To vc2.RowCount - 1
vc2.Position = i
Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
If vc3.RowCount > 0 Then
vc3.Position = 0
Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu)
arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT"))
End If
Next
End If
' Log(Cuenta1)
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_PRONOMBRE,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
Private Cuenta2 As String = 0
Private arti2 As String = 0
If vc4.RowCount > 0 Then
For i = 0 To vc4.RowCount - 1
vc4.Position = i
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
If vc4.GetString("HVD_RECHAZO") = 0 Then
Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT")
arti2 = arti2 + vc4.GetString("HVD_CANT")
Else
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
If vc5.RowCount > 0 Then
vc5.Position= 0
' Log(vc5.GetString("CAT_GP_PRECIO"))
Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*(vc4.GetString("HVD_COSTO_TOT")/vc4.GetString("HVD_CANT")))
arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
End If
End If
End If
Next
End If
' Log(arti2)
Subs.centraPanel(p_credito, Root.Width)
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
Private Cuenta3 As String = 0
Private arti3 As String = 0
If c4.RowCount > 0 Then
For i = 0 To c4.RowCount -1
c4.Position = i
arti3 = arti3 + c4.GetString("PE_CANT")
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
Log(cuenta0)
Log(Cuenta1)
Log(Cuenta2)
Log(Cuenta3)
l_total.Text = NumberFormat2((cuenta0 + Cuenta1 + Cuenta2 + Cuenta3),0,2,2,True)
L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
' l_total.Text = cuenta + Cuenta1 + Cuenta2
' L_CANT.Text = arti + arti1 +arti2
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
If c.RowCount > 0 Then
c.Position = 0
Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
End If
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
' Log("|" & Starter.MAC_IMPRESORA & "|")
Printer1.Initialize(Me, "Printer1")
If Printer1.IsConnected = False Then
' Printer1.Connect
' Log("1")
Else
Printer1.DisConnect
Printer1.Connect
Log("2")
End If
' Dim pag As Cursor = Starter.skmt.ExecQuery("select * FROM PAGARES WHERE TMP_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If pag.RowCount > 0 Then
' pag.Position = 0
' l_credi.Visible = True
' l_pagare.Visible = True
' l_montoefec.Visible = True
' l_efectivo.Visible = True
' l_montopag.Visible = True
' l_montopag.Text = pag.GetString("TMP_MONTO_PAGARE")
' Dim PAGAREMONTO As Float = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
' Dim PAGAREMONTO2 As Float = pag.GetString("TMP_MONTO_PAGARE")
'' Log
' If PAGAREMONTO - PAGAREMONTO2 < 0 Then
' l_montoefec.Text = 0
' Else
' l_montoefec.Text = PAGAREMONTO - PAGAREMONTO2
' End If
' Else If pag.RowCount = 0 Then
' l_credi.Visible = False
' l_pagare.Visible = False
' l_montoefec.Visible = False
' l_efectivo.Visible = False
' l_montopag.Visible = False
' End If
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0
almacen = c.GetString("ID_ALMACEN")
c.Close
' If almacen = "3" Or almacen = 3 Or almacen = "5" Or almacen = 5 Then
Tar.Visible = False
Log("SI AQUI")
b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0")
b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
If cabonos = 0 Then
b_cxc.Visible = False
Else
b_cxc.Visible = True
End If
' End If
Dim cp As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PA_CANCELADO IS NULL")
If cp.RowCount > 0 Then
Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x2.Position = 0
If x2.GetString("gestion") = 2 Then
b_cancel_pagare.Visible = True
Else
b_cancel_pagare.Visible = False
End If
Else
b_cancel_pagare.Visible = False
End If
' CallSubDelayed(Tracker, "Track")
' CallSubDelayed(Tracker, "StartFLPSmall")
' If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
' B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
' B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
'' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
' GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
' End If
Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x1.Position = 0
limite_credito = 0
l_montopag.Text = x1.GetString("CAT_CL_LIMITECREDITO")
' Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If fotomostrar.RowCount > 0 Then
' Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL")
' If fotomostrar1.RowCount > 0 Then
' iv_foto.Bitmap = LoadBitmap(File.DirAssets,"images.png")
' Log("aqui no hay foto")
' Else
' fotomostrar.Position = 0
' Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto")
' Dim InputStream1 As InputStream
' InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
' Dim Bitmap1 As Bitmap
' Bitmap1.Initialize2(InputStream1)
' InputStream1.Close
' iv_foto.Bitmap = Bitmap1
'
' Log("aqui si hay foto")
' End If
'
' End If
If (almacen = 81 Or almacen = 94) Then
HIST.Visible = True
' b_cxc.Visible = True
b_noEntrega.Visible = True
gest.Visible = True
End If
If p_abono.Visible Then
b_cxc_Click
Impimir = 0
End If
HIST.Visible= True
b_cxc.Visible= False
b_noEntrega.Visible= False
gest.Visible= False
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
'Sub GPS_LocationChanged (Location1 As Location)
'' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
'' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
' Dim sDate,sTime As String
' DateTime.DateFormat = "MM/dd/yyyy"
' sDate=DateTime.Date(DateTime.Now)
' sTime=DateTime.Time(DateTime.Now)
' Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
'End Sub
Sub GPS_LocationChanged (Location1 As Location)
' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If
If LATITUD.Length < 5 Then
Else
Dim l1, l2,l3 As Location
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
Log($"Coordenadas de la tienda - lat:${LATITUD}, lon:${LONGITUD}"$)
l2.Initialize2(LATITUD, LONGITUD)
l3.Initialize2(m_lat_al,m_lon_al)
'now we need the distance between our location and the target location
distance = l1.DistanceTo(l2) 'the result is in meter
distance2 = l1.DistanceTo(l3) 'the result is in meter
Log("DISTANCIA "&distance)
l_montoefec.Text = 0
l_montoefec.Text = distance
Dim geo As Cursor = Starter.skmt.ExecQuery("SELECT ACTIVA FROM GEOCERCA")
If geo.RowCount > 0 Then
geo.Position = 0
If geo.GetInt("ACTIVA") = 1 Then
If (almacen = 81 Or almacen = 94 Or almacen = 88 Or almacen = 92) Then
If distance2 < 100 Then
HIST.Visible = True
b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0")
b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
If cabonos = 0 Then
b_cxc.Visible = False
Else
b_cxc.Visible = True
End If
b_noEntrega.Visible = True
gest.Visible = True
Else
If distance < 100 Then
HIST.Visible = True
b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0")
b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
If cabonos = 0 Then
b_cxc.Visible = False
Else
b_cxc.Visible = True
End If
b_noEntrega.Visible = True
gest.Visible = True
Else
HIST.Visible = True
b_cxc.Visible = False
b_noEntrega.Visible = False
gest.Visible = False
End If
End If
Else
HIST.Visible = True
b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0")
b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
If cabonos = 0 Then
b_cxc.Visible = False
Else
b_cxc.Visible = True
End If
b_noEntrega.Visible = True
gest.Visible = True
End If
Else If geo.GetInt("ACTIVA") = 0 Then
HIST.Visible = True
b = Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa) AND SALDO_PENDIENTE <> 0")
b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
If cabonos = 0 Then
b_cxc.Visible = False
Else
b_cxc.Visible = True
End If
b_noEntrega.Visible = True
gest.Visible = True
End If
End If
End If
Dim sDate,sTime As String
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
CallSubDelayed(Tracker, "CreateLocationRequest")
End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
'Sub gest_Click
' Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
' x2.Position = 0
' If x2.GetString("gestion") = 2 Then
' Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False)
' Wait For Msgbox_Result (Result As Int)
' If Result= DialogResponse.NEGATIVE Then
' B4XPages.ShowPage("Principal")
' End If
' Else
' If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then
'
' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' k.Position = 0
' Log(k.GetString("CUENTA"))
' Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
' cliecred.Position = 0
'
' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
' y.position = 0
' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
' u.Position = 0
' If u.RowCount > 0 Then
' If u.GetString("SALDO_PENDIENTE") <> 0 Then
' If y.GetString("a_abono") > 0 Then
' If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then
' checacredito
' Else
' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1
' Log("aqui")
'' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
'
' Msgbox2Async("Para poder hacer una entrega se necesita liberar" & NumberFormat2(creditofaltante,0,2,2,False) & " de credito.","Atención","","Hacer pago","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False)
' Wait For Msgbox_Result (Result As Int)
' If Result= DialogResponse.CANCEL Then
' checacredito
' End If
'
' End If
'' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA'
'' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then
' checacredito
' Else
' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1
'
' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
' End If
' Else If u.GetString("SALDO_PENDIENTE") = 0 Then
' checacredito
' End If
' Else
' checacredito
' End If
'
' Else
' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' k.Position = 0
' Log(k.GetString("CUENTA"))
' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
' y.position = 0
' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
' u.Position = 0
' If u.RowCount > 0 Then
' If u.GetString("SALDO_PENDIENTE") <> 0 Then
' If y.RowCount > 0 Then
' Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False))
' If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then
' checacredito
' Else
' Log("aqui")
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' End If
' Else
' Log("aqui")
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' End If
' Else If u.GetString("SALDO_PENDIENTE") = 0 Then
' checacredito
' End If
' Else
' checacredito
' End If
' End If
' End If
'End Sub
Sub gest_Click
If l_total.Text = ".00" And L_CANT.Text = "0" Then
MsgboxAsync("Para poder hacer una entrega primero reversa la venta","Atención")
Else
Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x2.Position = 0
If x2.GetString("gestion") = 2 Then
Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.NEGATIVE Then
B4XPages.ShowPage("Principal")
End If
Else
If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then
Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
k.Position = 0
Log(k.GetString("CUENTA"))
Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
cliecred.Position = 0
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(k.GetString("CUENTA")))
y.position = 0
Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
u.Position = 0
If u.RowCount > 0 Then
If u.GetString("SALDO_PENDIENTE") <> 0 Then
If y.GetString("a_abono") > 0 Then
If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then
checacredito
Else
Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1
MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
' checacredito
End If
' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA'
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then
checacredito
Else
Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1
MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
' checacredito
End If
Else If u.GetString("SALDO_PENDIENTE") = 0 Then
checacredito
End If
Else
checacredito
End If
Else
Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
k.Position = 0
Log(k.GetString("CUENTA"))
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(k.GetString("CUENTA")))
y.position = 0
Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
u.Position = 0
If u.RowCount > 0 Then
If u.GetString("SALDO_PENDIENTE") <> 0 Then
If y.RowCount > 0 Then
Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False))
If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then
checacredito
Else
Log("aqui")
MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
End If
Else
Log("aqui")
MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
End If
Else If u.GetString("SALDO_PENDIENTE") = 0 Then
checacredito
End If
Else
checacredito
End If
End If
End If
End If
End Sub
Sub checacredito
If l_total.Text = ".00" And (L_CANT.Text = 1 Or L_CANT.Text = 2) Then
Guardado
Else If l_total.Text = ".00" And L_CANT.Text > 2 Then
Log("Aqui")
Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagacheca.RowCount > 0 Then
esPagoACreditoGuardamosPagare
Else
Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x1.Position = 0
limite_credito = 0
If CREDITO = 1 And x1.GetString("CAT_CL_LIMITECREDITO") <> 0 Then '''' se debe de cambiar a si acepta o no credito, aparte de tener la bandera a credito
If Subs.traeAlmacen = 81 Or Subs.traeAlmacen = 94 Or Subs.traeAlmacen = 6 Then
Log(12)
escreditoono = 1
limite_credito = x1.GetString("CAT_CL_LIMITECREDITO")
If l_total.Text <> ".00" Then
esPagoACreditoGuardamosPagare
Else If l_total.Text = ".00" And L_CANT.Text > 2 Then
esPagoACreditoGuardamosPagare
End If
Else
Msgbox2Async("EL CLIENTE TIENE CREDITO DISPONIBLE, UNA VEZ SELECCIONADA UNA OPCION NO SE PODRA MODIFICAR!!!!!","Forma de pago","","Credito","Efectivo",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.POSITIVE Then
Log(1)
Else If Result = DialogResponse.NEGATIVE Then
escreditoono = 0
Log(2)
Tipoentrega = "CONTADO"
B_IMP_Click
banderaimp = 1
Else If Result = DialogResponse.CANCEL Then
Log(12)
escreditoono = 1
limite_credito = x1.GetString("CAT_CL_LIMITECREDITO")
esPagoACreditoGuardamosPagare
Log(3)
End If
End If
Else
Log(4)
p_contado.Visible= True
p_contado.Width = Root.Width
p_contado.Height = Root.Height
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
l_contado.Text = "Seleccione el metodo de pago." &CRLF&CRLF&"Total :" & l_total.Text
escreditoono = 0
' B_IMP_Click
banderaimp = 1
End If
End If
Else
Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagacheca.RowCount > 0 Then
esPagoACreditoGuardamosPagare
Else
Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x1.Position = 0
limite_credito = 0
If CREDITO = 1 And x1.GetString("CAT_CL_LIMITECREDITO") <> 0 Then '''' se debe de cambiar a si acepta o no credito, aparte de tener la bandera a credito
If Subs.traeAlmacen = 81 Or Subs.traeAlmacen = 6 Then
Dim c4 As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_VCREDITO,0) AS CAT_CL_VCREDITO, IFNULL(CAT_CL_VCODIGO,0) AS CAT_CL_VCODIGO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c4.Position = 0
If c4.GetString("CAT_CL_VCREDITO") = "1" Then
Dim c9 As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_CORERROR,0) AS CAT_CL_CORERROR FROM CODIGO_CREDITO where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c9.RowCount > 0 Then
c9.Position = 0
Log("Aqui")
If c9.GetString("CAT_CL_CORERROR") >= 3 Then
Log(4)
p_contado.Visible= True
p_contado.Width = Root.Width
p_contado.Height = Root.Height
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
l_contado.Text = "Seleccione el metodo de pago." &CRLF&CRLF&"Total: " & l_total.Text
escreditoono = 0
' B_IMP_Click
banderaimp = 1
Else
p_codigo.Visible= True
p_codigo.Width = Root.Width
p_codigo.Height = Root.Height
et_codigo.Text = ""
End If
Else
p_codigo.Visible= True
p_codigo.Width = Root.Width
p_codigo.Height = Root.Height
et_codigo.Text = ""
End If
c9.Position = 0
Else If c4.GetString("CAT_CL_VCREDITO") = "0" Then
Log(4)
p_contado.Visible= True
p_contado.Width = Root.Width
p_contado.Height = Root.Height
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
l_contado.Text = "Seleccione el metodo de pago." &CRLF&CRLF&"Total: " & l_total.Text
escreditoono = 0
' B_IMP_Click
banderaimp = 1
End If
Else If Subs.traeAlmacen = 94 Then
' p_codigo.Visible= False
' et_codigo.Text = ""
Log(12)
escreditoono = 1
limite_credito = x1.GetString("CAT_CL_LIMITECREDITO")
If l_total.Text <> ".00" Then
esPagoACreditoGuardamosPagare
End If
Else
Msgbox2Async("EL CLIENTE TIENE CREDITO DISPONIBLE, UNA VEZ SELECCIONADA UNA OPCION NO SE PODRA MODIFICAR!!!!!","Forma de pago","","Credito","Efectivo",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.POSITIVE Then
Log(1)
Else If Result = DialogResponse.NEGATIVE Then
escreditoono = 0
Log(2)
Tipoentrega = "CONTADO"
B_IMP_Click
banderaimp = 1
Else If Result = DialogResponse.CANCEL Then
Log(12)
escreditoono = 1
limite_credito = x1.GetString("CAT_CL_LIMITECREDITO")
esPagoACreditoGuardamosPagare
Log(3)
End If
End If
Else
Log(4)
p_contado.Visible= True
p_contado.Width = Root.Width
p_contado.Height = Root.Height
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
l_contado.Text = "Seleccione el metodo de pago." &CRLF&CRLF&"Total: " & l_total.Text
escreditoono = 0
' B_IMP_Click
banderaimp = 1
End If
End If
End If
End Sub
Sub esPagoACreditoGuardamosPagare
Tipoentrega = "CREDITO"
Log(3)
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
'cliente
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c.Close
'usuario
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
'Almacen
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0
almacen = c.GetString("ID_ALMACEN")
c.Close
'FECHA PREVENTA
c=Starter.skmt.ExecQuery("select HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
fechaprev = c.GetString("HVD_FECHA")
c.Close
'RUTAPREVENTA
c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
rutaprev = c.GetString("CAT_CL_RUTA")
c.Close
'RUTA rep
rutarep = Subs.traeRutaReparto
c.Close
'monto
c=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS MONTO from HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_RECHAZO = 0 AND HVD_PARCIAL = 0")
c.Position = 0
montopagare = c.GetString("MONTO")
c.Close
c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}'"$)
If c.RowCount > 0 Then
c.Position = 0
NOTA = c.GetString("HVD_NUM_TICKET")
End If
c.Close
Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagacheca.RowCount > 0 Then
If l_total.Text.Replace(",","") <= l_montopag.Text Then
B_IMP_Click
banderaimp = 1
Else
Log("AQUI")
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Log(limite_credito)
Msgbox2Async("Se debe de realizar un pago por " & NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False) & " por que excede el limite de credito","Atención","Aceptar","","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.POSITIVE Then
p_tipopago.Visible= True
p_tipopago.Width = Root.Width
p_tipopago.Height = Root.Height
End If
End If
Else
If l_total.Text.Replace(",","") <= limite_credito Then
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE,PA_TICKET) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),l_total.Text.Replace(",",""),usuario,cuenta,NOTA))
B_IMP_Click
banderaimp = 1
Log("AQUI ENTOCES")
Else
Log("AQUI")
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Log(limite_credito)
Msgbox2Async("Se debe de realizar un pago por " & NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) & " por que excede el limite de credito","Atención","Aceptar","","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.POSITIVE Then
p_tipopago.Visible= True
p_tipopago.Width = Root.Width
p_tipopago.Height = Root.Height
End If
End If
End If
End Sub
Sub Guardado
Log(escreditoono)
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat="HHmmss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
d.Position = 0
Dim ruta As String = d.GetString("RUTAA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim rutapre As String = d.GetString("CAT_CL_RUTA")
d.Close
' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' d.Position = 0
Dim fechaprev As String = Subs.traefECHAPREV
' d.Close
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (Subs.traeCliente,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
mandaPendientesreparto
If escreditoono = "1" Then
Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
g5.Position = 0
Dim totaltotal As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False)
g5.Close
LogColor(totaltotal,Colors.Red)
LogColor(l_total.Text.Replace(",",""),Colors.Red)
If totaltotal = l_total.Text.Replace(",","") Then
Dim entregatotaloparial As String = "ENTREGA TOTAL"
Else
Dim entregatotaloparial As String = "ENTREGA PARCIAL"
End If
Dim cds As Cursor = Starter.skmt.ExecQuery($"SELECT HVD_RUTA FROM HIST_VENTAS where HVD_CLIENTE = '${la_cuenta.Text}' "$)
cds.Position = 0
' cds.GetString("HVD_RUTA")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
' cmd.Parameters = Array As String(l_total.Text,"1", l_total.Text,B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,cds.GetString("HVD_RUTA"))
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
' cmd.Parameters = Array As String(l_total.Text,"fue credito", "MONTO SI FUE A CREDITO",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"RECHAZO O NO",usuario,ruta,"entrega o rechazo", "parcial o total","efectivo o credito", "mts", L_CANT.text,la_cuenta.Text,fechaprev,almacen,rutaprev)
' reqManager.ExecuteCommand(cmd, "up_geo")
Else
Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
g5.Position = 0
Dim totaltotal As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False)
g5.Close
LogColor(totaltotal,Colors.Red)
LogColor(l_total.Text.Replace(",",""),Colors.Red)
If totaltotal = l_total.Text.Replace(",","") Then
Dim entregatotaloparial As String = "ENTREGA TOTAL"
Else
Dim entregatotaloparial As String = "ENTREGA PARCIAL"
End If
Dim cds As Cursor = Starter.skmt.ExecQuery($"SELECT HVD_RUTA FROM HIST_VENTAS where HVD_CLIENTE = '${la_cuenta.Text}' "$)
cds.Position = 0
' cds.GetString("HVD_RUTA")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,cds.GetString("HVD_RUTA"))
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
End If
Log("FECHA "& rutaprev)
' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0 and CAT_CL_CODIGO <> 63403")
' If mandamapa.RowCount > 0 Then
' StartActivity(MAPA_RUTAS)
' Else If mandamapa.RowCount = 0 Then
' If (almacen = 81 Or almacen = 94) Then
'
'
' Else
B4XPages.ShowPage("Principal")
' End If
' End If
End Sub
Sub b_noEntrega_Click
Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x2.Position = 0
If x2.GetString("gestion") = 2 Then
Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.NEGATIVE Then
B4XPages.ShowPage("Principal")
End If
Else
' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' k.Position = 0
' Log(k.GetString("CUENTA"))
' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
' y.position = 0
' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
' u.Position = 0
'
' If u.RowCount > 0 Then
' If u.GetString("SALDO_PENDIENTE") <> 0 Then
' If y.RowCount > 0 Then
'
' If u.GetString("SALDO_PENDIENTE") = y.GetString("a_abono") Then
B4XPages.ShowPage("noVenta")
' Else
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' End If
' Else
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' End If
' Else If u.GetString("SALDO_PENDIENTE") = 0 Then
' B4XPages.ShowPage("noVenta")
'
' End If
' Else
' B4XPages.ShowPage("noVenta")
' End If
End If
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
' I want to capture the key here so I return True
If p_credito.Visible Then
et_montoacredito.Text = ""
p_credito.Visible = False
Return False
Else If p_abono.Visible Then
p_abono.Visible = False
et_abono.Text = ""
Return False
Else
B4XPages.ShowPage("Clientes")
Return False
End If
' B4XPages.ShowPage("Clientes")
End Sub
Sub Tar_Click
' StartActivity(colonia2)
B4XPages.ShowPage("Productos")
End Sub
Sub DATOS_Click
' StartActivity(telefonos)
End Sub
Sub Guardar_Click
' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0 AND cat_cl_codigo <> 63403")
' If mandamapa.RowCount > 0 Then
' StartActivity(MAPA_RUTAS)
' Else If mandamapa.RowCount = 0 Then
B4XPages.ShowPage("Principal")
' End If
End Sub
Sub NUEVO_Click
StartActivity(MAPA_CLIENTE)
End Sub
Sub HIST_Click
' If l_montoefec.Text <> 0 AND l_montoefec.Text < 100 Then
Dim pagacheca2 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagacheca2.RowCount > 0 Then
Msgbox2Async("El pagare ya fue generdo, no se puede realizar modificación.","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.POSITIVE Then
Log("Aqui")
End If
Else
If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then
Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
k.Position = 0
Log(k.GetString("CUENTA"))
Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
cliecred.Position = 0
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
y.position = 0
Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
u.Position = 0
If u.RowCount > 0 Then
If u.GetString("SALDO_PENDIENTE") <> 0 Then
Log("AQUI ESTOY")
If y.GetString("a_abono") > 0 Then
Log("AQUI AHORA")
If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
Else
Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1
B4XPages.ShowPage("DetalleVenta")
MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
End If
' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA'
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
Else
Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1
MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
B4XPages.ShowPage("DetalleVenta")
End If
Else If u.GetString("SALDO_PENDIENTE") = 0 Then
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
End If
Else
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
End If
Else
Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
k.Position = 0
Log(k.GetString("CUENTA"))
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
y.position = 0
Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
u.Position = 0
If u.RowCount > 0 Then
If u.GetString("SALDO_PENDIENTE") <> 0 Then
If y.RowCount > 0 Then
If u.GetString("SALDO_PENDIENTE") = y.GetString("a_abono") Then
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
Else
MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
End If
Else
MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
End If
Else If u.GetString("SALDO_PENDIENTE") = 0 Then
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
End If
Else
B4XPages.MainPage.detalleVenta.prodsMap.Initialize
B4XPages.ShowPage("DetalleVenta")
End If
End If
End If
' B4XPages.MainPage.historico.prodsMap.Initialize
'' B4XPages.MainPage.historico.clv_pedido.Clear
' B4XPages.ShowPage("Historico")
' B4XPages.MainPage.historico.clv_pedido.Clear
' End If
End Sub
Sub B_IMP_Click
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat="HHmmss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
d.Position = 0
Dim ruta As String = d.GetString("RUTAA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim rutapre As String = d.GetString("CAT_CL_RUTA")
d.Close
' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' d.Position = 0
Dim fechaprev As String = Subs.traefECHAPREV
' d.Close
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (Subs.traeCliente,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If escreditoono = "1" Then
Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
g5.Position = 0
Dim totaltotal2 As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False)
g5.Close
LogColor(totaltotal2,Colors.Red)
LogColor(l_total.Text.Replace(",",""),Colors.Red)
If totaltotal2 = l_total.Text.Replace(",","") Then
Dim entregatotaloparial As String = "ENTREGA TOTAL"
Else
Dim entregatotaloparial As String = "ENTREGA PARCIAL"
End If
Dim cds As Cursor = Starter.skmt.ExecQuery($"SELECT HVD_RUTA FROM HIST_VENTAS where HVD_CLIENTE = '${la_cuenta.Text}' "$)
cds.Position = 0
' cds.GetString("HVD_RUTA")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
' cmd.Parameters = Array As String(l_total.Text,"1", l_total.Text,B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,cds.GetString("HVD_RUTA"))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
' cmd.Parameters = Array As String(l_total.Text,"fue credito", "MONTO SI FUE A CREDITO",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"RECHAZO O NO",usuario,ruta,"entrega o rechazo", "parcial o total","efectivo o credito", "mts", L_CANT.text,la_cuenta.Text,fechaprev,almacen,rutaprev)
' reqManager.ExecuteCommand(cmd, "up_geo")
Else
Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
g5.Position = 0
Dim totaltotal2 As String = NumberFormat2(g5.GetString("HVD_COSTO_TOT"),0,2,2,False)
g5.Close
LogColor(totaltotal2,Colors.Red)
LogColor(l_total.Text.Replace(",",""),Colors.Red)
If totaltotal2 = l_total.Text.Replace(",","") Then
Dim entregatotaloparial As String = "ENTREGA TOTAL"
Else
Dim entregatotaloparial As String = "ENTREGA PARCIAL"
End If
Dim cds As Cursor = Starter.skmt.ExecQuery($"SELECT HVD_RUTA FROM HIST_VENTAS where HVD_CLIENTE = '${la_cuenta.Text}' "$)
cds.Position = 0
' cds.GetString("HVD_RUTA")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,cds.GetString("HVD_RUTA"))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
End If
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Dim Ticket As String = 0
' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c6.RowCount > 0 Then
' c6.Position = 0
' Ticket = c6.GetString("HVD_NUM_TICKET")
' End If
' c6.Close
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
DateTime.DateFormat = "dd/MM/yyyy"
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Dim Ticket As String = 0
Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c6.RowCount > 0 Then
For k = 0 To c6.RowCount -1
c6.Position = k
Ticket = c6.GetString("HVD_NUM_TICKET")
Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF)
Next
End If
c6.Close
Printer1.WriteString(" " & CRLF)
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Dim totaltotal As Double
Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'")
Dim restacobranza As Int = 0
If cobranza.RowCount > 0 Then
restacobranza = 1
End If
If c.RowCount > 0 Then
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND HVD_CODPROMO = '${Subs.traeAlmacen}' AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
TAMANO = 0
ESPACIO = 28
BLANCO = " "
totaltotal = totaltotal + ptot
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + ptot
End If
End If
Next
End If
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
s=Starter.skmt.ExecQuery($"SELECT HVD_CODPROMO, HVD_PROID, HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, LENGTH(SUM(HVD_CANT)) AS L_CANT, SUM(HVD_COSTO_TOT) AS HVD_COSTO_TOT, LENGTH(SUM(HVD_COSTO_TOT)) AS L_COSTOU, HVD_PROID, SUM(IFNULL(HVD_RECHAZOCANT, 0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT', 'MIRETO', 'BIGCOMMERCE') AND HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' GROUP BY HVD_PROID, HVD_CODPROMO"$)
If S.RowCount>0 Then
Printer1.WriteString("------- BONIFICACIONES --------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
Printer1.Justify = 0
' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
'' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
'
' Else
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = ptot.Length + TAMANO +3
ESPACIO = (ESPACIO - TAMANO)/2
Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 29
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + (checaprecio.GETSTRING("CAT_GP_PRECIO") * s.GetString("HVD_CANT"))
' End If
' Else
' End If
End If
Next
End If
' Printer1.WriteString(" " & CRLF)
' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$)
'
' If S.RowCount>0 Then
' Printer1.WriteString("-----------VENTA------------" & CRLF)
' Printer1.WriteString("Cant. Precio Importe" & CRLF)
' Printer1.WriteString("------------------------------" & CRLF)
'
' For i=0 To S.RowCount -1
' S.Position=i
'
' Printer1.Justify = 0
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
' ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.Justify = 0
' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO)
' Printer1.Justify = 1
' Printer1.WriteString( punit & BLANCO)
' Printer1.Justify = 2
' Printer1.WriteString(ptot & CRLF )
' TAMANO = 0
' ESPACIO = 29
' BLANCO = " "
' Printer1.Justify = 0
' Next
' End If
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("----------- MI RETO ------------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
totaltotal = totaltotal + ptot
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + ptot
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'BIGCOMMERCE' GROUP by HVD_PROID"$)
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("---------- CONECTADOS ----------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
totaltotal = totaltotal + ptot
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + ptot
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
totaltotal = totaltotal + ptot
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + ptot
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Subtotal: $" & NumberFormat2(totaltotal,0,2,2,False)& CRLF)
Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF)
Printer1.WriteString("Descuento: %" & NumberFormat2((100-((l_total.Text.Replace(",","")*100)/totaltotal)),0,2,2,False)& CRLF)
Printer1.WriteString("Monto descuento: $" & NumberFormat2((totaltotal-l_total.Text.Replace(",","")),0,2,2,False)& CRLF)
Printer1.WriteString("Total: $" & l_total.Text)
Printer1.WriteString(" " & CRLF)
If almacen = "81" Then
Printer1.WriteString("Telefono de atencion:" & CRLF)
Printer1.WriteString("" & CRLF)
End If
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
If banderaimp = 1 Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
B_IMP_Click
Else
If Tipoentrega = "CREDITO" Then
imprime_pagare
Else
Guardado
End If
End If
' printer.Flush
' printer.Close
Else If banderaimp = 0 Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
B_IMP_Click
End If
End If
' Guardado
End Sub
Sub Printer1_Connected (Success As Boolean)
' If Logger Then Log("Printer1_Connected")
If 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 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 L1 As List
Dim resimp As Int
ToastMessageShow("Printing.....",True)
PairedDevices.Initialize
Try
PairedDevices = cmp20.GetPairedDevices
Catch
Msgbox("Getting Paired Devices","Printer Error") 'ignore
printer.Close
cmp20.Disconnect
End Try
If PairedDevices.Size = 0 Then
Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
Return
End If
If PairedDevices.Size = 1 Then
Try
cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
Catch
Msgbox("Connecting","Printer Error") 'ignore
printer.Close
cmp20.Disconnect
End Try
Else
L1.Initialize
For i = 0 To PairedDevices.Size - 1
L1.Add(PairedDevices.GetKeyAt(i))
Next
resimp = InputList(L1, "Choose device", -1) 'ignore
If resimp <> DialogResponse.CANCEL Then
cmp20.Connect(PairedDevices.Get(L1.Get(resimp)))
End If
End If
End Sub
Sub B_PASO2_Click
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, "PASO","PASO ESPERA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0")
' If mandamapa.RowCount > 0 Then
' StartActivity(MAPA_RUTAS)
' Else If mandamapa.RowCount = 0 Then
B4XPages.ShowPage("Principal")
' End If
End Sub
Sub mandaPendientesreparto
' c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1")
' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$)
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insert_REPARTO_MARDS"'Ojala no Truene
' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO"))
' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$)
'
' Next
' End If
' c.Close
End Sub
Sub JobDone(Job As HttpJob)
Log(Job.Success)
If Job.Success = False Then
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
If Job.JobName = "DBRequest" Then
Dim resultado As DBResult = reqManager.HandleJob(Job)
If resultado.Tag.As(String).IndexOf("ins_REPARTOPendientes_head_") > -1 Then
Private cliente As String= resultado.Tag
cliente = cliente.SubString(cliente.IndexOf("_")+24)
Log($"Cliente1:${cliente}"$)
Starter.skmt.ExecNonQuery2("update REPARTO_GEO SET ENVIO = ? WHERE CLIENTE = ? AND ENVIO <> ?",Array As String ("1", cliente,"1"))
For Each records() As Object In resultado.Rows
For Each k As String In resultado.Columns.Keys
Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
Next
Next
End If
If resultado.Tag = "codigoAutorizacionimp" Then
If resultado.Rows.Size > 0 Then
Log("Si hay codigo de autorizaion")
For Each records() As Object In resultado.Rows
For Each k As String In resultado.Columns.Keys
Log(k & ": " & records(resultado.Columns.Get(k)))
Next
Next
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "delete_codigoAutorizacion_IMP_REP"
cmd.Parameters = Array As Object(et_passFinDia.Text.Trim, Subs.traeRutaReparto, Subs.traeAlmacen)
reqManager.ExecuteCommand(cmd , "delete_codigoAutorizacion_IMP_REP")
p_transFinDia.Visible = False
et_passFinDia.Text = ""
teclado.HideKeyboard
imp
Else
ToastMessageShow("El codigo es incorrecto, por favor revise y vuelva a intentar!!", True)
End If
End If
If resultado.Tag.As(String).IndexOf("insertaPagare_") > -1 Then
ProgressDialogHide
Private NOTA As String= resultado.Tag
NOTA = NOTA.SubString(NOTA.IndexOf("_")+1)
Log(NOTA)
p_transPagare2.Visible = True
CrearQR(NOTA)
End If
If resultado.Tag.As(String).IndexOf("pagareConfirmado_") > -1 Then
ProgressDialogHide
Subs.logJobDoneResultados(resultado)
Private NOTA As String= resultado.Tag
NOTA = NOTA.SubString(NOTA.IndexOf("_")+1)
' Log(NOTA)
' Log(resultado.Rows.Size)
If resultado.Rows.Size > 0 Then
p_transPagare2.Visible = False
' guardaVenta
esPagoACreditoGuardamosPagare
' Msgbox("¡Pagare confirmado!", "AVISO") 'ignore
Else
ToastMessageShow("El pagare NO ha sido confirmado por el cliente!", True)
End If
End If
If resultado.Tag.As(String).IndexOf("mandaAbonosPendientes_") > -1 Then
Private NOTA As String= resultado.Tag
NOTA = NOTA.SubString(NOTA.IndexOf("_")+1)
Log("---> ABONO MANDADO: " & NOTA)
Starter.skmt.ExecNonQuery($"update ABONOS set a_enviado = 1 where a_cliente = '${NOTA}'"$)
End If
End If
Job.Release
End If
End Sub
Private Sub b_acred_Click
If et_montoacredito.Text > l_total.Text Then
MsgboxAsync("El monto del pagare no puede ser mayor a la venta","Atención")
Else
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
'cliente
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0
cuenta = c.GetString("CUENTA")
c.Close
'usuario
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
'Almacen
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0
almacen = c.GetString("ID_ALMACEN")
c.Close
'FECHA PREVENTA
c=Starter.skmt.ExecQuery("select HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
fechaprev = c.GetString("HVD_FECHA")
c.Close
'RUTAPREVENTA
c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
rutaprev = c.GetString("CAT_CL_RUTA")
c.Close
'RUTA rep
c=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
c.Position = 0
rutarep = c.GetString("RUTAA")
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),et_montoacredito.Text,usuario,cuenta))
et_montoacredito.Text = ""
p_credito.Visible = False
Guardado
End If
End Sub
Private Sub b_cancred_Click
et_montoacredito.Text = ""
p_credito.Visible = False
End Sub
Private Sub p_credito_Click
End Sub
Private Sub cb_tipopago_SelectedIndexChanged (Index As Int)
itemselect = cb_tipopago.SelectedItem
End Sub
Private Sub b_cxc_Click
tipo_abonox = "cxc"
Folio = ""
h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
h.Position = 0
Log(h.GetString("CUENTA"))
Dim Items As List
Items.Initialize
Items.Add("SELECCIONA UNA OPCION")
Items.Add("TRANSFERENCIA")
Items.Add("EFECTIVO")
Items.Add("CHEQUE")
cb_tipopago.SetItems(Items)
itemselect= "SELECCIONA UNA OPCION"
j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
j.position = 0
Log(j.RowCount)
If j.RowCount = 0 Then
p_abono.Visible = True
et_abono.text = ""
Dim total As Double = 0
f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
f.Position = 0
d = Starter.skmt.ExecQuery2("SELECT NOTA, SALDO_PENDIENTE,FECHA_PREVENTA FROM ABONOSP WHERE CLIENTE = ? AND SALDO_PENDIENTE <> 0 ORDER BY FECHA_PREVENTA DESC", Array As String (f.GetString("CUENTA")))
clv_abonos.Clear
For i = 0 To d.RowCount - 1
d.Position = i
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("NOTA")))
Log(Folio)
y.position = 0
clv_abonos.Add(CreateListItem(d.GetString("NOTA"),"$ " &NumberFormat2(d.GetString("SALDO_PENDIENTE")-y.GetString("a_abono"),0,2,2,False),d.GetString("FECHA_PREVENTA")),i)
Log(d.GetString("NOTA"))
Log(d.GetString("SALDO_PENDIENTE"))
total = total + d.GetString("SALDO_PENDIENTE")
Log(total)
Next
d.Close
d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null ORDER BY a_fecha DESC ", Array As String (f.GetString("CUENTA")))
If d.RowCount > 0 Then
For i = 0 To d.RowCount - 1
d.Position = i
clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i)
total = total - d.GetString("a_abono")
Log(total)
Next
End If
l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False)
d.Close
f.Close
Else If j.RowCount > 0 Then
p_abono.Visible = True
et_abono.text = ""
Dim total As Double = 0
f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
f.Position = 0
d = Starter.skmt.ExecQuery2("SELECT NOTA, SALDO_PENDIENTE,FECHA_PREVENTA FROM ABONOSP WHERE CLIENTE = ? AND SALDO_PENDIENTE <> 0 ORDER BY FECHA_PREVENTA DESC", Array As String (f.GetString("CUENTA")))
clv_abonos.Clear
For i = 0 To d.RowCount - 1
d.Position = i
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("NOTA")))
Log(Folio)
y.position = 0
clv_abonos.Add(CreateListItem(d.GetString("NOTA"),"$ " & NumberFormat2(d.GetString("SALDO_PENDIENTE")-y.GetString("a_abono"),0,2,2,False),d.GetString("FECHA_PREVENTA")),i)
Log(d.GetString("NOTA"))
Log(d.GetString("SALDO_PENDIENTE"))
total = total + d.GetString("SALDO_PENDIENTE")
Log(total)
Next
d.Close
d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null ORDER BY a_fecha DESC", Array As String (f.GetString("CUENTA")))
If d.RowCount > 0 Then
For i = 0 To d.RowCount - 1
d.Position = i
clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i)
total = total - d.GetString("a_abono")
Log(total)
Next
End If
l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False)
d.Close
f.Close
' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención")
End If
h.Close
j.Close
End Sub
Private Sub p_abono_Click
End Sub
'Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel
' Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, 1, 10)
' p.LoadLayout("folioabono")
' p.Height= 32dip
' p.Width = 80dip
'' p.Width = clv_orden.GetBase.Width
' l_folio.Text = mostrar
' l_saldo.Text = mostrar1
' l_fecha.Text = mostrar2
'' cxc.Text = mostrar3
'' Log(p.Width)
' Return p
'End Sub
'Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel
' Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, 1, 10)
' p.LoadLayout("folioabono")
' p.Height= 32dip
' p.Width = 80dip
'
' l_folio.Text = mostrar
' l_saldo.Text = mostrar1
' l_fecha.Text = mostrar2
'
' CheckBox1.Checked = False
' p.Tag = mostrar
' Return p
'End Sub
' Evento del checkbox
'Sub CheckBox1_CheckedChange(Checked As Boolean)
' Dim chk As CheckBox = Sender
'
' If Checked Then
' For i = 0 To clv_abonos.Size - 1
' Dim p As Panel = clv_abonos.GetPanel(i)
' Log("Folio: " & p.Tag)
'
' ' OBTENER EL TEXTO DIRECTAMENTE DEL TAG
'
' ' Buscar y desmarcar otros checkboxes...
' For Each v As View In p.GetAllViewsRecursive
' If v Is CheckBox Then
' Dim otherChk As CheckBox = v
' If otherChk <> chk Then
' otherChk.Checked = False
' End If
' Exit
' End If
' Next
' Next
' End If
'End Sub
Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1, 10)
p.LoadLayout("folioabono")
p.Height= 32dip
p.Width = 80dip
Folio = ""
l_folio.Text = mostrar
l_saldo.Text = mostrar1
l_fecha.Text = mostrar2
If mostrar = "ABONO" Then
CheckBox1.Visible = False
Else
CheckBox1.Visible = True
End If
' Guardar referencia al label en el Tag del checkbox
CheckBox1.Tag = l_folio
Return p
End Sub
Sub CheckBox1_CheckedChange(Checked As Boolean)
If ChangingCheckboxesProgrammatically Then Return
Dim chk As CheckBox = Sender
If chk.Checked = False Then
et_abono.Text = ""
End If
If Checked Then
' Obtener directamente el label desde el Tag del checkbox
Dim l_folio As Label = chk.Tag
Log("Folio seleccionado: " & l_folio.Text)
Folio = l_folio.Text
' Indicar que estamos cambiando checkboxes programáticamente
ChangingCheckboxesProgrammatically = True
If tipo_abonox = "cxc" Then
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio))
Log(Folio)
y.position = 0
Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?", Array As String(Folio))
u.Position = 0
et_abono.Text = u.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono")
Else If tipo_abonox = "abono" Then
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio))
Log(Folio)
y.position = 0
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
c.Position = 0
et_abono.Text = c.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono")
End If
' Desmarcar todos los demás checkboxes
For i = 0 To clv_abonos.Size - 1
Dim p As Panel = clv_abonos.GetPanel(i)
Dim panelCheckbox As CheckBox = GetCheckboxFromPanel(p)
If panelCheckbox <> Null And panelCheckbox <> chk Then
panelCheckbox.Checked = False
End If
Next
' Restaurar flag
ChangingCheckboxesProgrammatically = False
End If
End Sub
Sub GetCheckboxFromPanel(p As Panel) As CheckBox
For Each v As View In p.GetAllViewsRecursive
If v Is CheckBox Then
Return v
End If
Next
Return Null
End Sub
Private Sub b_cancelar_Click
et_abono.Text = ""
p_abono.Visible = False
ime.HideKeyboard
End Sub
Private Sub b_abono_Click
' p_abono.Visible = False
If et_abono.Text <> "" Then
textedit = et_abono.Text
Impimir = 1
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(Folio))
Log(Folio)
y.position = 0
Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?", Array As String(Folio))
u.Position = 0
If y.GetDouble("a_abono") > 0 Then
If tipo_abonox = "cxc" Then
Log((u.GetDouble("SALDO_PENDIENTE") + y.GetDouble("a_abono")))
If et_abono.text > (u.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono")) Then
Log("aqui")
MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" )
Else
If et_abono.Text <> "" And et_abono.Text > 0 Then
If itemselect <> "SELECCIONA UNA OPCION" Then
If Folio <> "" Then
' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_abonopagare
indicanum = 0
End If
Else
MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención")
End If
Else
MsgboxAsync("Por favor selecciona un metodo de pago","Atención")
End If
End If
End If
Else If tipo_abonox = "abono" Then
If Folio <> "" Then
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
c.Position = 0
' Log(c.GetString("SALDO_PENDIENTE") &" "& u.GetString("SALDO_PENDIENTE"))
If et_abono.text > (c.GetDouble("SALDO_PENDIENTE") - y.GetDouble("a_abono")) Then
Log("aqui")
MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" )
Else
If et_abono.Text <> "" And et_abono.Text > 0 Then
If itemselect <> "SELECCIONA UNA OPCION" Then
' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_abonopagare
End If
Else
MsgboxAsync("Por favor selecciona un metodo de pago","Atención")
End If
End If
End If
Else
MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención")
End If
End If
Else
Log("entramos aqui")
If tipo_abonox = "cxc" Then
If Folio <> "" Then
If et_abono.text > u.GetDouble("SALDO_PENDIENTE") Then
Log("aqui")
MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" )
Else
If et_abono.Text <> "" And et_abono.Text > 0 Then
If itemselect <> "SELECCIONA UNA OPCION" Then
' Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_abonopagare
End If
Else
MsgboxAsync("Por favor selecciona un metodo de pago","Atención")
End If
End If
End If
Else
MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención")
End If
Else If tipo_abonox = "abono" Then
'''checar
If Folio <> "" Then
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
c.Position = 0
' Log(c.GetString("SALDO_PENDIENTE") &" "& u.GetString("SALDO_PENDIENTE"))
If et_abono.text > c.GetDouble("SALDO_PENDIENTE") Then
Log("aqui")
MsgboxAsync("El monto a abonar no puede ser mayor que el monto del pagare seleccionado","Atención" )
Else
If et_abono.Text <> "" And et_abono.Text > 0 Then
If itemselect <> "SELECCIONA UNA OPCION" Then
Msgbox2Async($"¿Seguro que quieres realizar un abono de ${et_abono.text} en ${itemselect} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_abonopagare
End If
Else
MsgboxAsync("Por favor selecciona un metodo de pago","Atención")
End If
End If
End If
Else
MsgboxAsync("Por favor selecciona un pagare para aplicar el pago","Atención")
End If
End If
End If
' End If
End If
ime.HideKeyboard
End Sub
Sub Guardaabono(numpago As Int)
Dim notaabono As String
Dim saldopendiente As Double
Dim saldopendiente2 As Double
If tipo_abonox = "abono" Then
Log("AQUI ABONO")
c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$)
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("HVD_NUM_TICKET")
End If
c.Close
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
If c.RowCount > 0 Then
c.Position = 0
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
Log(c.GetString("SALDO_PENDIENTE"))
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
Else If tipo_abonox = "cxc" Then
c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("NOTA")
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio))
If c.RowCount > 0 Then
c.Position = 0
saldopendiente2 = c.GetDouble("SALDO_PENDIENTE")
End If
c.Close
Dim saldopendiente3 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio))
If c4.RowCount > 0 Then
c4.Position = 0
' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
End If
' bc.Initialize
' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c.RowCount > 0 Then
' c.Position = 0
' notaabono = c.GetString("NOTA")
' End If
DateTime.DateFormat = "ddMMyyyy"
sDate=DateTime.Date(DateTime.Now)
''aquitrabajar
If Subs.traeAlmacen = "92" Then
''mayoreo
If tipo_abonox = "abono" Then
Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono = '1' AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$)
If checaabono.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$)
ToastMessageShow("Abono guardado", False)
End If
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$)
' ToastMessageShow("Abono guardado", False)
Else If tipo_abonox = "cxc" Then
Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono IS NULL AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$)
If checaabono.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$)
ToastMessageShow("Abono guardado", False)
End If
End If
''mayoreo
Else
If tipo_abonox = "abono" Then
Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono = '1' AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$)
If checaabono.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$)
ToastMessageShow("Abono guardado", False)
End If
Else If tipo_abonox = "cxc" Then
Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono IS NULL AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' and a_numpago = '${numpago}' "$$)
If checaabono.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$)
ToastMessageShow("Abono guardado", False)
End If
' Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${et_abono.text}' AND a_tipoabono IS NULL AND TIPO_PAGO = '${itemselect}' AND a_ticket = '${Folio}' "$$)
' If checaabono.RowCount = 0 Then
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$)
' End If
' ToastMessageShow("Abono guardado", False)
End If
End If
mandaAbonosPendientes
mandaAbonosPANUEPendientes
End Sub
Sub imprime_abonopagare2
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 22
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
' Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Printer1.WriteString(" " & CRLF)
Dim notaabono As String
Dim saldopendiente As Double
Dim saldopendiente2 As Double
If tipo_abonox = "abono" Then
c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$)
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("HVD_NUM_TICKET")
End If
c.Close
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
If c.RowCount > 0 Then
c.Position = 0
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
Log(c.GetString("SALDO_PENDIENTE"))
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
Else If tipo_abonox = "cxc" Then
c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("NOTA")
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio))
If c.RowCount > 0 Then
c.Position = 0
saldopendiente2 = c.GetDouble("SALDO_PENDIENTE")
End If
c.Close
Dim saldopendiente3 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio))
If c4.RowCount > 0 Then
c4.Position = 0
' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
End If
Dim numpago As Int = 1
Dim tipopagotick As String = ""
If metopago.ToUpperCase = "TRANSFERENCIA" Then
tipopagotick = "T"
Else If metopago.ToUpperCase = "EFECTIVO" Then
tipopagotick = "E"
Else If metopago.ToUpperCase = "CHEQUE" Then
tipopagotick = "C"
End If
'' codigo de barras
' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago)
'' codigo de qr
B4XImageView1.SetBitmap(qr.Create(notaabono&sDate&tipopagotick&numpago))
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
Log("creado en promotoria " & Dirp & Dir)
Catch
Dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & Dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & Dir & Dir2)
Catch
Dir = ""
Log("creado en raiz")
End Try
'' codigo de barras
' Dim Out As OutputStream
' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False)
' barcode.CODE128(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG")
' Out.Close
'' codigo de qr
Dim Out As OutputStream
Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False)
qr.Create(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG")
Out.Close
' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c.RowCount > 0 Then
' c.Position = 0
' notaabono = c.GetString("NOTA")
' End If
Log(notaabono)
Log(et_abono.Text)
Printer1.WriteString("Comprobante de pago del pagare" & CRLF)
Printer1.WriteString("Folio: " & NOTA &"-"&(numpago)& CRLF)
Printer1.WriteString("Monto deuda: " & (NumberFormat2(l_total.Text.Replace(",",""),0,2,2,False)) & CRLF)
Printer1.WriteString("Monto abono: " & (NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)) & CRLF)
Printer1.WriteString("Tipo de pago: " & metopago & CRLF)
Printer1.WriteString("Restante "&NOTA&": " &(NumberFormat(l_montopag.Text,0,2)) & CRLF)
Printer1.WriteString("Fecha Abono: " & sDate & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("-------------FIRMA------------" & CRLF)
DateTime.DateFormat = "ddMMyyyy"
sDate=DateTime.Date(DateTime.Now)
itemselect = "EFECTIVO"
' Items.Add("TRANSFERENCIA")
' Items.Add("EFECTIVO")
' Items.Add("CHEQUE")
' Dim bmp As Bitmap
'' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim bmp2 As Bitmap
bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore
' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore
Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2)
myimage2 = Printer1.DitherImage2D(myimage2, 128)
myimage2= Printer1.PackImage(myimage2)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage2)
Printer1.WriteString(Printer1.UNREVERSE)
' Printer1.WriteBarCode("I",NOTA&sDate&tipopagotick&numpago)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
'
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' imprime_abonopagare
' Else
' p_abono.Visible = False
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$)
' ToastMessageShow("Abono guardado", False)
' End If
If banderaimp = 1 Then
Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_abonopagare2
Else
Guardado
End If
' printer.Flush
' printer.Close
Else If banderaimp = 0 Then
Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_abonopagare2
End If
End If
mandaAbonosPANUEPendientes
End Sub
'Sub hazpago
' h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' h.Position = 0
' Log(h.GetString("CUENTA"))
' j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
' j.position = 0
' If j.RowCount = 0 Then
' p_abono.Visible = False
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$)
' ToastMessageShow("Abono guardado", False)
' et_abono.Text = ""
' Else
' p_abono.Visible = False
'' skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$)
' Starter.skmt.ExecNonQuery($"UPDATE ABONOS set a_abono = '${et_abono.text}' where a_usuario = '${Subs.traeUsuarioDeBD}' and a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' and a_cliente In (select cuenta from cuentaa)"$)
' ToastMessageShow("Abono guardado", False)
' et_abono.Text = ""
' End If
'End Sub
'Saves the data received from PictureTaken event
Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String)
Dim out As OutputStream = File.OpenOutput(Dir, FileName, False)
out.WriteBytes(Data, 0, Data.Length)
out.Close
End Sub
Sub imprime_abonopagare
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
Log("asasdas")
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
Log("asasdas")
cont = cont + 1
If cont = 7 Then Printer1.Connect
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 22
BLANCO = " "
Printer1.Justify = 0
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
' Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Printer1.WriteString(" " & CRLF)
Dim notaabono As String
Dim saldopendiente As Double
Dim saldopendiente2 As Double
' Items.Add("TRANSFERENCIA")
' Items.Add("EFECTIVO")
' Items.Add("CHEQUE")
Dim tipopagotick As String = ""
If itemselect = "TRANSFERENCIA" Then
tipopagotick = "T"
Else If itemselect = "EFECTIVO" Then
tipopagotick = "E"
Else If itemselect = "CHEQUE" Then
tipopagotick = "C"
End If
LogColor("reimpresion es igual a " & reimpresion,Colors.Red)
If reimpresion = 0 Then
If tipo_abonox = "abono" Then
Log("AQUI ABONO")
c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$)
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("HVD_NUM_TICKET")
f1 = notaabono
End If
c.Close
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
If c.RowCount > 0 Then
c.Position = 0
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
Log(c.GetString("SALDO_PENDIENTE"))
f2 = saldopendiente
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
f3 = saldopendiente1
End If
c4.Close
Else If tipo_abonox = "cxc" Then
c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("NOTA")
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
f1 = notaabono
f2 = saldopendiente
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
f3 = saldopendiente1
End If
c4.Close
c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio))
If c.RowCount > 0 Then
c.Position = 0
saldopendiente2 = c.GetDouble("SALDO_PENDIENTE")
f4 = saldopendiente2
End If
c.Close
Dim saldopendiente3 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio))
If c4.RowCount > 0 Then
c4.Position = 0
' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE")
f5 = saldopendiente3
End If
c4.Close
End If
Else
If tipo_abonox = "abono" Then
Log("AQUI ABONO")
c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$)
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("HVD_NUM_TICKET")
' f1 = notaabono
End If
c.Close
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
If c.RowCount > 0 Then
c.Position = 0
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
Log(c.GetString("SALDO_PENDIENTE"))
' f2 = saldopendiente
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
' f3 = saldopendiente1
End If
c4.Close
Else If tipo_abonox = "cxc" Then
c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("NOTA")
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
' f1 = notaabono
' f2 = saldopendiente
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
' f3 = saldopendiente1
End If
c4.Close
c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio))
If c.RowCount > 0 Then
c.Position = 0
saldopendiente2 = c.GetDouble("SALDO_PENDIENTE")
' f4 = saldopendiente2
End If
c.Close
Dim saldopendiente3 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio))
If c4.RowCount > 0 Then
c4.Position = 0
' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE")
' f5 = saldopendiente3
End If
c4.Close
End If
End If
' bc.Initialize
DateTime.DateFormat = "ddMMyyyy"
sDate=DateTime.Date(DateTime.Now)
Dim numpago As Int = c5.RowCount + 1
If indicanum = 0 Then
numeropago = numpago
Else If indicanum = 1 Then
numeropago = numeropago
End If
' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c.RowCount > 0 Then
' c.Position = 0
' notaabono = c.GetString("NOTA")
' End If
Guardaabono(numeropago)
'' codigo de barras
' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago)
'' codigo de qr
B4XImageView1.SetBitmap(qr.Create(f1&sDate&tipopagotick&numeropago))
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
Log("creado en promotoria " & Dirp & Dir)
Catch
Dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & Dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & Dir & Dir2)
Catch
Dir = ""
Log("creado en raiz")
End Try
'' codigo de barras
' Dim Out As OutputStream
' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False)
' barcode.CODE128(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG")
' Out.Close
'' codigo de qr
Dim Out As OutputStream
Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False)
qr.Create(f1&sDate&tipopagotick&numeropago).WriteToStream(Out, 100, "PNG")
Out.Close
Log(notaabono)
Log(et_abono.Text)
Printer1.WriteString("Comprobante de pago del pagare" & CRLF)
Printer1.WriteString("Folio: " & Folio &"-"&(numeropago)& CRLF)
If tipo_abonox = "abono" Then
Printer1.WriteString("Monto deuda: " & (NumberFormat(f2 - f3,0,2)) & CRLF)
Else
If reimpresion = 1 Then
Printer1.WriteString("Monto deuda: " & (NumberFormat(f4 - f5,0,2)) & CRLF)
Else If reimpresion = 0 Then
Printer1.WriteString("Monto deuda: " & (NumberFormat(f4 - f5,0,2)) & CRLF)
End If
End If
Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & CRLF)
Printer1.WriteString("Tipo de pago: " & itemselect & CRLF)
If tipo_abonox = "abono" Then
Printer1.WriteString("Restante "&Folio&": " &(NumberFormat(f2-et_abono.Text ,0,2)) & CRLF)
Else
Printer1.WriteString("Restante "&Folio&": " &(NumberFormat(f4-et_abono.Text - f5,0,2)) & CRLF)
End If
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
Printer1.WriteString("Restante pagares: " &(NumberFormat(f2-et_abono.Text - f3,0,2)) & CRLF)
Printer1.WriteString("Fecha Abono: " & sDate & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("-------------FIRMA------------" & CRLF)
' Dim bmp As Bitmap
'' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim bmp2 As Bitmap
bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore
' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore
Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2)
myimage2 = Printer1.DitherImage2D(myimage2, 128)
myimage2= Printer1.PackImage(myimage2)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage2)
Printer1.WriteString(Printer1.UNREVERSE)
' Printer1.WriteBarCode("I",notaabono&sDate&tipopagotick&numpago)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(2000)
Printer1.DisConnect
ProgressDialogHide
If Impimir = 1 Then
If Subs.traeAlmacen = "92" Then
''mayoreo
If tipo_abonox = "abono" Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
indicanum = 1
reimpresion = 1
imprime_abonopagare
Else
p_abono.Visible = False
End If
Else If tipo_abonox = "cxc" Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
indicanum = 1
reimpresion = 1
imprime_abonopagare
' p_abono.Visible = False
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$)
' ToastMessageShow("Abono guardado", False)
Else
h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
h.Position = 0
Log(h.GetString("CUENTA"))
j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
j.position = 0
If j.RowCount = 0 Then
p_abono.Visible = False
ToastMessageShow("Abono guardado", False)
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)")
If c3.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
B4XPage_Appear
Else
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
End If
' Dim textedit As Double = et_abono.Text
Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1
Log(NumberFormat2(sumaresta,0,2,2,False))
If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then
If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
End If
End If
Else
p_abono.Visible = False
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}','${itemselect}','${Folio}','${numpago}')"$)
ToastMessageShow("Abono guardado", False)
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)")
If c3.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
B4XPage_Appear
Else
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
End If
' Dim textedit As Double = et_abono.Text
Dim sumaresta As Double = saldopendiente-textedit-saldopendiente1
' Log(NumberFormat2(sumaresta,0,2,2,False))
If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then
If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
End If
End If
End If
End If
End If
''mayoreo
Else
If tipo_abonox = "abono" Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
indicanum = 1
reimpresion = 1
imprime_abonopagare
Else
p_abono.Visible = False
End If
Else If tipo_abonox = "cxc" Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
reimpresion = 1
indicanum = 1
imprime_abonopagare
' p_abono.Visible = False
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$)
' ToastMessageShow("Abono guardado", False)
Else
h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
h.Position = 0
Log(h.GetString("CUENTA"))
j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
j.position = 0
If j.RowCount = 0 Then
p_abono.Visible = False
ToastMessageShow("Abono guardado", False)
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)")
If c3.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
B4XPage_Appear
Else
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
End If
Dim sumaresta As Double = f2-textedit-f3
Log(NumberFormat2(sumaresta,0,2,2,False))
If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then
If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (Subs.traeCliente,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0))
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
d.Position = 0
Dim ruta As String = d.GetString("RUTAA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim rutapre As String = d.GetString("CAT_CL_RUTA")
d.Close
d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim fechaprev As String = d.GetString("HVD_FECHA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
d.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
B4XPages.ShowPage("Principal")
End If
End If
Else
p_abono.Visible = False
ToastMessageShow("Abono guardado", False)
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 0, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)")
If c3.RowCount = 0 Then
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0, BCAJAS = BCAJAS_OR, CANTC = CANTC_OR WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
B4XPage_Appear
Else
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
End If
' Dim textedit As Double = et_abono.Text
Dim sumaresta As Double = f2-textedit-f3
' Log(NumberFormat2(sumaresta,0,2,2,False))
If NumberFormat2(sumaresta,0,2,2,False) <> "-.00" Then
If NumberFormat2(sumaresta,0,2,2,False) <> ".00" Then
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (Subs.traeCliente,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0))
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
d.Position = 0
Dim ruta As String = d.GetString("RUTAA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim rutapre As String = d.GetString("CAT_CL_RUTA")
d.Close
d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim fechaprev As String = d.GetString("HVD_FECHA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
d.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
B4XPages.ShowPage("Principal")
End If
End If
End If
End If
End If
End If
Else If Impimir = 0 Then
End If
End Sub
Sub imprime_pagare
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Dim Ticket As String = 0
' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c6.RowCount > 0 Then
' c6.Position = 0
' Ticket = c6.GetString("HVD_NUM_TICKET")
' End If
' c6.Close
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Dim Ticket As String = 0
Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PRONOMBRE <> 'Cobranza Pendiente'")
If c6.RowCount > 0 Then
For k = 0 To c6.RowCount -1
c6.Position = k
Ticket = c6.GetString("HVD_NUM_TICKET")
Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF)
Next
End If
c6.Close
Printer1.WriteString("Fecha: " & sDate &" " & sTime & CRLF)
Printer1.WriteString(" " & CRLF)
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
Printer1.WriteString("------------PAGARE------------" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("Pagare por los articulos" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$)
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
Printer1.Justify = 0
' Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") ) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
TAMANO = 0
ESPACIO = 29
BLANCO = " "
Else If s.GetString("HVD_RECHAZO") = 1 Then
Printer1.Justify = 0
' Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
TAMANO = 0
ESPACIO = 29
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 and HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("-------BONIFICACIONES--------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
Printer1.Justify = 0
If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
Else
If s.GetString("HVD_PRONOMBRE") <> "Cobranza Pendiente" Then
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
' Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") ) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
End If
End If
Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot & CRLF )
TAMANO = 0
ESPACIO = 29
BLANCO = " "
Printer1.Justify = 0
Else
End If
End If
Next
End If
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("Por monto de $" &l_total.Text& CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("Debo(mos) y pagare(mos) incon" & CRLF)
Printer1.WriteString("dicionalmente en _____________" & CRLF)
Printer1.WriteString("o en el lugar donde se me " & CRLF)
Printer1.WriteString("requiera por el presente pagare" & CRLF)
Printer1.WriteString("a GUNA la cantidad de $"&l_total.Text & CRLF)
Printer1.WriteString("valor recibido a entera " & CRLF)
Printer1.WriteString("satisfaccion. La falta de pago" & CRLF)
Printer1.WriteString("a la fecha indicada causara " & CRLF)
Printer1.WriteString("intereses moratorios a razon " & CRLF)
Printer1.WriteString("de ______% mensual a la fecha." & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString(" Recibi " & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("______________________________" & CRLF)
DateTime.DateFormat = "ddMMyyyy"
sDate=DateTime.Date(DateTime.Now)
' Printer1.WriteString("JHGHGH " & CRLF)
'' codigo de barras
' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago)
'' codigo de qr
B4XImageView1.SetBitmap(qr.Create(la_cuenta.Text&sDate))
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
Log("creado en promotoria " & Dirp & Dir)
Catch
Dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & Dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & Dir & Dir2)
Catch
Dir = ""
Log("creado en raiz")
End Try
'' codigo de barras
' Dim Out As OutputStream
' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False)
' barcode.CODE128(la_cuenta.Text&sDate).WriteToStream(Out, 100, "PNG")
' Out.Close
'' codigo de qr
Dim Out As OutputStream
Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False)
qr.Create(la_cuenta.Text&sDate).WriteToStream(Out, 100, "PNG")
Out.Close
Dim bmp2 As Bitmap
bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore
' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore
Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2)
myimage2 = Printer1.DitherImage2D(myimage2, 128)
myimage2= Printer1.PackImage(myimage2)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage2)
Printer1.WriteString(Printer1.UNREVERSE)
' Printer1.WriteBarCode("I",la_cuenta.Text&sDate)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
If banderaimp = 1 Then
Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_pagare
Else
If banderaabono = 1 Then
imprime_abonopagare2
Else
Guardado
End If
End If
' printer.Flush
' printer.Close
Else If banderaimp = 0 Then
Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_pagare
End If
End If
' Guardado
End Sub
Private Sub b_cancel_pagare_Click
tipo_abonox = "abono"
Dim Items As List
Items.Initialize
Items.Add("SELECCIONA UNA OPCION")
Items.Add("TRANSFERENCIA")
Items.Add("EFECTIVO")
Items.Add("CHEQUE")
cb_tipopago.SetItems(Items)
itemselect= "SELECCIONA UNA OPCION"
' Msgbox2Async($"¿Que deseas realizar?"$,"Atención", "","", "Abono pagare", Null, True)
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' Msgbox2Async($"¿Seguro que quieres cancelar el pagare con monto de $${l_total.Text} para este cliente?"$,"Atención", "Aceptar","Cancelar", "", Null, True)
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' Starter.skmt.ExecNonQuery("update PAGARES SET PA_CANCELADO = 2 WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' imprime_cancelarpagare
'
' d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
' d.Position = 0
' Dim ruta As String = d.GetString("RUTAA")
' d.Close
'
' Dim g5 As Cursor = Starter.skmt.ExecQuery("SELECT SUM(HVD_COSTO_TOT) as HVD_COSTO_TOT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' g5.Position = 0
' Dim totaltotal As String = g5.GetString("HVD_COSTO_TOT")
' g5.Close
' If totaltotal = l_total.Text.Replace(",","") Then
' Dim entregatotaloparial As String = "ENTREGA TOTAL"
' Else
' Dim entregatotaloparial As String = "ENTREGA PARCIAL"
' End If
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "UPDATE_ACTUAL_GEO_GUNA_VN"
'' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
' reqManager.ExecuteCommand(cmd, "up_geo")
' banderaimp = 1
' End If
' Else If resultado = DialogResponse.NEGATIVE Then
h = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
h.Position = 0
Log(h.GetString("CUENTA"))
j = Starter.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ? and a_tipoabono is null", Array As String(h.GetString("CUENTA")))
j.position = 0
Log(j.RowCount)
If j.RowCount = 0 Then
p_abono.Visible = True
et_abono.text = ""
Dim total As Double = 0
f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
f.Position = 0
d = Starter.skmt.ExecQuery2("SELECT distinct PA_TICKET, PA_MONTO,PA_CAPTURA FROM PAGARES WHERE PA_CLIENTE = ? AND PA_CANCELADO IS NULL ORDER BY PA_CAPTURA", Array As String (f.GetString("CUENTA")))
clv_abonos.Clear
For i = 0 To d.RowCount - 1
d.Position = i
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("PA_TICKET")))
Log(Folio)
y.position = 0
clv_abonos.Add(CreateListItem(d.GetString("PA_TICKET"),"$ " & NumberFormat2((d.GetString("PA_MONTO")-y.GetString("a_abono")),0,2,2,False),d.GetString("PA_CAPTURA")),i)
total = total + d.GetString("PA_MONTO")
Log(total)
Next
d.Close
d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is not null ORDER BY a_fecha", Array As String (f.GetString("CUENTA")))
If d.RowCount > 0 Then
For i = 0 To d.RowCount - 1
d.Position = i
clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i)
total = total - d.GetString("a_abono")
Log(total)
Next
End If
l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False)
d.Close
f.Close
Else If j.RowCount > 0 Then
p_abono.Visible = True
et_abono.text = ""
Dim total As Double = 0
f = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
f.Position = 0
d = Starter.skmt.ExecQuery2("SELECT distinct PA_TICKET, PA_MONTO,PA_CAPTURA FROM PAGARES WHERE PA_CLIENTE = ? AND PA_CANCELADO IS NULL ORDER BY PA_CAPTURA", Array As String (f.GetString("CUENTA")))
clv_abonos.Clear
For i = 0 To d.RowCount - 1
d.Position = i
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) AND a_ticket = ?", Array As String(d.GetString("PA_TICKET")))
Log(Folio)
y.position = 0
clv_abonos.Add(CreateListItem(d.GetString("PA_TICKET"),"$ " &NumberFormat2((d.GetString("PA_MONTO")-y.GetString("a_abono")),0,2,2,False),d.GetString("PA_CAPTURA")),i)
total = total + d.GetString("PA_MONTO").Replace(",","")
Log(total)
Next
d.Close
d = Starter.skmt.ExecQuery2("SELECT a_abono,a_fecha FROM ABONOS WHERE a_cliente = ? and a_tipoabono is not null ORDER BY a_fecha", Array As String (f.GetString("CUENTA")))
If d.RowCount > 0 Then
For i = 0 To d.RowCount - 1
d.Position = i
clv_abonos.Add(CreateListItem("ABONO","$ " & d.GetString("a_abono"),d.GetString("a_fecha")),i)
total = total - d.GetString("a_abono")
Log(total)
Next
End If
l_montoabonostotal.Text = NumberFormat2(total,0,2,2,False)
d.Close
f.Close
' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención")
End If
h.Close
j.Close
' End If
End Sub
Sub imprime_cancelarpagare
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("-----CANCELACION DE PAGARE----" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Se cancela el pagare " & CRLF)
Printer1.WriteString("Por monto de $" &l_total.Text& CRLF)
Printer1.WriteString("por el cual se pagara el " & CRLF)
Printer1.WriteString("total en efectivo" & CRLF)
' Printer1.WriteString("dicionalmente en _____________" & CRLF)
' Printer1.WriteString("o en el lugar donde se me " & CRLF)
' Printer1.WriteString("requiera por el presente pagare" & CRLF)
' Printer1.WriteString("a GUNA la cantidad de $"&l_total.Text & CRLF)
' Printer1.WriteString("valor recibido a entera " & CRLF)
' Printer1.WriteString("satisfacciOn. La falta de pago" & CRLF)
' Printer1.WriteString("a la fecha indicada causara " & CRLF)
' Printer1.WriteString("intereses moratorios a razOn " & CRLF)
' Printer1.WriteString("de ______% mensual a la fecha." & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString(" Recibi " & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("______________________________" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
If banderaimp = 1 Then
Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_cancelarpagare
Else
Guardado
End If
' printer.Flush
' printer.Close
Else If banderaimp = 0 Then
Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_cancelarpagare
End If
End If
' Guardado
End Sub
Private Sub CrearQR(NOTA2 As String)
' Private texto As String = $"https://wa.me/5215637241894?text=PAGARE ${NOTA2}"$ 'Bow 2.0 G
Private texto As String = $"https://wa.me/5215611769317?text=PAGARE_${NOTA2}"$ 'Bow2024
i_qr.Clear
If texto.Length>0 Then
i_qr.SetBitmap(qr.Create(texto))
Log("QR Creado ->"&texto)
End If
End Sub
Private Sub b_confirmar_Click
ProgressDialogShow("Un momento por favor!!")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "selectPagareConfirmado_Demo"
' cmd.Parameters = Array As Object(Subs.traeCliente, NOTA)
cmd.Parameters = Array As Object(NOTA)
reqManager.ExecuteQuery(cmd, 0, $"pagareConfirmado_${NOTA}"$)
End Sub
Private Sub p_transPagare2_Click
End Sub
Private Sub b_cerrarqr_Click
i_qr.Clear
p_transPagare2.Visible = False
End Sub
Private Sub b_imprimesegun_Click
Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagacheca.RowCount > 0 Then
Tipoentrega = "CREDITO"
Else
Tipoentrega = "CONTADO"
End If
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Dim Ticket As String = 0
' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c6.RowCount > 0 Then
' c6.Position = 0
' Ticket = c6.GetString("HVD_NUM_TICKET")
' End If
' c6.Close
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Dim Ticket As String = 0
Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c6.RowCount > 0 Then
For k = 0 To c6.RowCount -1
c6.Position = k
Ticket = c6.GetString("HVD_NUM_TICKET")
Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF)
Next
End If
c6.Close
Printer1.WriteString(" " & CRLF)
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Dim totaltotal As Double
Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'")
Dim restacobranza As Int = 0
If cobranza.RowCount > 0 Then
restacobranza = 1
End If
If c.RowCount > 0 Then
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND (HVD_COSTO_TOT/HVD_CANT) = 0.01 GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("------- BONIFICACIONES --------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
Printer1.Justify = 0
' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
'' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
'
' Else
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = ptot.Length + TAMANO +3
ESPACIO = (ESPACIO - TAMANO)/2
Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 29
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + (checaprecio.GETSTRING("CAT_GP_PRECIO") * s.GetString("HVD_CANT"))
' End If
' Else
' End If
End If
Next
End If
' Printer1.WriteString(" " & CRLF)
' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$)
'
' If S.RowCount>0 Then
' Printer1.WriteString("-----------VENTA------------" & CRLF)
' Printer1.WriteString("Cant. Precio Importe" & CRLF)
' Printer1.WriteString("------------------------------" & CRLF)
'
' For i=0 To S.RowCount -1
' S.Position=i
'
' Printer1.Justify = 0
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
' ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.Justify = 0
' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO)
' Printer1.Justify = 1
' Printer1.WriteString( punit & BLANCO)
' Printer1.Justify = 2
' Printer1.WriteString(ptot & CRLF )
' TAMANO = 0
' ESPACIO = 29
' BLANCO = " "
' Printer1.Justify = 0
' Next
' End If
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("----------- MI RETO ------------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'BIGCOMMERCE' GROUP by HVD_PROID"$)
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("---------- CONECTADOS ----------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Subtotal: $" & NumberFormat2(totaltotal,0,2,2,False)& CRLF)
Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF)
Printer1.WriteString("Descuento: %" & NumberFormat2((100-((l_total.Text.Replace(",","")*100)/totaltotal)),0,2,2,False)& CRLF)
Printer1.WriteString("Monto descuento: $" & NumberFormat2((totaltotal-l_total.Text.Replace(",","")),0,2,2,False)& CRLF)
Printer1.WriteString("Total: $" & l_total.Text)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
End Sub
Private Sub l_telefono_LongClick As ResumableSub
Dim numeroTel As String = l_telefono.Text
numeroTel = numeroTel.Replace(" ", "").Replace("-", "").Replace("(", "").Replace(")", "")
If numeroTel.Length > 0 Then
Dim Intent1 As Intent
Intent1.Initialize("android.intent.action.DIAL", "tel:" & numeroTel)
StartActivity(Intent1)
Else
ToastMessageShow("Número no válido", False)
End If
Return True
End Sub
Private Sub HIST_LongClick
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim Ticket As String = 0
Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c6.RowCount > 0 Then
c6.Position = 0
Ticket = c6.GetString("HVD_NUM_TICKET")
End If
c6.Close
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Printer1.WriteString("Tienda: " & B4XPages.MainPage.cliente.La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & B4XPages.MainPage.cliente.la_cuenta.Text & CRLF)
Printer1.WriteString("Num. Ticket: " & Ticket & CRLF)
Printer1.WriteString("Fecha: " & sDate &" " & sTime & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
Printer1.WriteString("------------Picking------------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("ESTE NO ES UN TICKET DE ENTREGA" & CRLF)
Printer1.WriteString("SOLO ES INFORMATIVO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"SELECT HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID <> HVD_CODPROMO GROUP BY HVD_PRONOMBRE"$)
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("HVD_CANT") > 0 Then
'
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Printer1.WriteString("Cantidad: " &(s.GetString("HVD_CANT")) & CRLF)
Printer1.WriteString(" " & CRLF)
End If
Next
End If
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("ESTE NO ES UN TICKET DE ENTREGA" & CRLF)
Printer1.WriteString("SOLO ES INFORMATIVO" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' Guardado
End Sub
Private Sub b_acept_tp_Click
If rb_efectivo.Checked Or rb_tranfe.Checked Or rb_Cheque.Checked Then
If rb_efectivo.Checked Then
metopago = "EFECTIVO"
Else If rb_tranfe.Checked Then
metopago = "TRANSFERENCIA"
Else If rb_Cheque.Checked Then
metopago = "CHEQUE"
End If
Dim checaabono As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM ABONOS WHERE a_usuario = '${Subs.traeUsuarioDeBD}' AND a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' AND a_cliente = '${Subs.traeCliente}' AND a_abono = '${NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)}' AND a_tipoabono = '1' AND TIPO_PAGO = '${metopago}' AND a_ticket = '${NOTA}' and a_numpago = 1 "$$)
If checaabono.RowCount = 0 Then
Log(NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False))
ToastMessageShow("Abono guardado", False)
Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${metopago}','${NOTA}',1)"$)
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$)
ToastMessageShow("Abono guardado", False)
End If
Starter.skmt.ExecNonQuery($"DELETE FROM PAGARES WHERE PA_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA_REP, PA_RUTAPREV, PA_FECHA_PREV, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE,PA_TICKET) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (almacen,rutarep,rutaprev,fechaprev,(sDate),l_total.Text.Replace(",",""),usuario,cuenta,NOTA))
tipo_abonox = "abono"
banderaabono = 1
banderaimp = 1
p_tipopago.Visible = False
rb_efectivo.Checked = False
rb_tranfe.Checked = False
rb_Cheque.Checked = False
mandaAbonosPANUEPendientes
mandaAbonosPendientes
B_IMP_Click
Else
MsgboxAsync("Selecciona un metodo de pago valido","Atención")
End If
End Sub
Private Sub b_cancel_tp_Click
p_tipopago.Visible = False
rb_efectivo.Checked = False
rb_tranfe.Checked = False
rb_Cheque.Checked = False
End Sub
Private Sub p_tipopago_Click
End Sub
Sub mandaAbonosPendientes
Log("--->>>> MANDAMOS ABONO MANDAPENDIENTES")
' almacen = 99999999
Private ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$)
Log(ab.RowCount)
If ab.RowCount > 0 Then
For i=0 To ab.RowCount -1
ab.Position = i
Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$)
ab1.Position = 0
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_abono_REP_GUNA_VN2"
cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), NumberFormat2(ab.GetString("a_abono"),0,2,2,False), ab.GetString("a_fecha"), almacen, "REPARTO", Subs.traeRutaReparto, "", ab.GetString("TIPO_PAGO"), ab.GetString("a_ticket"), ab.GetString("a_numpago"))
reqManager.ExecuteCommand(cmd , $"mandaAbonosPendientes_${ab.GetString("a_cliente")}"$)
ab1.Close
Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
Next
End If
ab.Close
End Sub
Sub mandaAbonosPANUEPendientes
Log("--->>>> MANDAMOS ABONO MANDAPENDIENTES")
' almacen = 99999999
Private ab As Cursor = Starter.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NOT NULL"$)
Log(ab.RowCount)
If ab.RowCount > 0 Then
For i=0 To ab.RowCount -1
ab.Position = i
Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$)
ab1.Position = 0
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_abono_REP_GUNA_VN2"
cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), NumberFormat2(ab.GetString("a_abono"),0,2,2,False), ab.GetString("a_fecha"), almacen, "REPARTO", Subs.traeRutaReparto, "1", ab.GetString("TIPO_PAGO"), ab.GetString("a_ticket"), ab.GetString("a_numpago"))
reqManager.ExecuteCommand(cmd , $"mandaAbonosPendientes_${ab.GetString("a_cliente")}"$)
ab1.Close
Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
Next
End If
ab.Close
End Sub
Private Sub iv_comentario_Click
p_comentario.Visible = True
p_comentario.Width = Root.Width
p_comentario.Height = Root.Height
p_comentario.Visible = True
Dim label1 As Label
label1 = lv_comentarios.SingleLineLayout.Label
label1.TextSize = 16
label1.TextColor = Colors.White
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
' Subs.centraListView(lv_comentarios,Root.Width)
Private c As Cursor = Starter.skmt.ExecQuery("select COMENTARTIO FROM COMENTARIOS WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
lv_comentarios.SingleLineLayout.Label.TextColor = Colors.BlacK
lv_comentarios.Clear
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim itemText As String
itemText = $"${c.GetString("COMENTARTIO")}"$
lv_comentarios.AddSingleLine(itemText)
Next
Else
lv_comentarios.AddSingleLine("No hay datos disponibles.")
End If
' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)")
End Sub
Private Sub b_cerarcom_Click
p_comentario.Visible =False
End Sub
Private Sub b_agregarcom_Click
End Sub
Private Sub p_comentario_Click
End Sub
Private Sub b_acep_contado_Click
Starter.skmt.ExecNonQuery("DELETE FROM CONTADOS WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Dim foliocontado As String
Dim numticket As Cursor = Starter.skmt.ExecQuery("SELECT DISTINCT HVD_NUM_TICKET as HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID <> 9999")
If numticket.RowCount = 1 Then
numticket.Position = 0
foliocontado = numticket.GetString("HVD_NUM_TICKET")
Else
For gdfg = 0 To numticket.RowCount -1
numticket.Position = gdfg
If foliocontado.Length = 0 Then
foliocontado = numticket.GetString("HVD_NUM_TICKET")
Else
foliocontado = foliocontado &","& numticket.GetString("HVD_NUM_TICKET")
End If
Next
End If
If et_cont_efectivo.Visible Then
If et_cont_transfe.Visible = True Then
If et_cont_cheque.Visible = True Then
If et_cont_efectivo.Text <> "" And et_cont_transfe.Text <> "" And et_cont_cheque.Text <> "" Then
If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$)
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','3')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
Else
If et_cont_efectivo.Text <> "" And et_cont_transfe.Text <> "" Then
If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_transfe.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
End If
Else
If et_cont_cheque.Visible = True Then
If et_cont_efectivo.Text <> "" And et_cont_cheque.Text <> "" Then
If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
Else
If et_cont_efectivo.Text <> "" Then
If NumberFormat2((et_cont_efectivo.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_efectivo.Text}','EFECTIVO','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_efectivo.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
End If
End If
Else If et_cont_efectivo.Visible = False Then
If et_cont_transfe.Visible = True Then
If et_cont_cheque.Visible = True Then
If et_cont_transfe.Text <> "" And et_cont_cheque.Text <> "" Then
If NumberFormat2((et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','2')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_transfe.Text.Replace(",","") + et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
Else
If et_cont_transfe.Text <> "" Then
If NumberFormat2((et_cont_transfe.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_transfe.Text}','TRANSFERENCIA','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_transfe.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_transfe.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
End If
Else
If et_cont_cheque.Visible = True Then
If et_cont_cheque.Text <> "" Then
If NumberFormat2((et_cont_cheque.Text.Replace(",","")),0,2,2,False) = l_total.Text.Replace(",","") Then
'' aqui si insertar
Starter.skmt.ExecNonQuery($"INSERT INTO CONTADOS(RUTA_PREV, RUTA_REP, FECHA_PREV, FECHA, ALMACEN, NUM_TICKET, MONTO, METODO_PAGO, USUARIO, CLIENTE, NUM_PAGO) VALUES ('${Subs.traeRuta(Subs.traeCliente)}','${Subs.traeRutaReparto}','${Subs.traefECHAPREV}','${sDate}','${almacen}','${foliocontado}','${et_cont_cheque.Text}','CHEQUE','${Subs.traeUsuario}','${Subs.traeCliente}','1')"$)
p_contado.Visible= False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
B_IMP_Click
Else If NumberFormat2((et_cont_cheque.Text.Replace(",","")),0,2,2,False) > l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser mayor al total de la entrega","Atención")
Else If NumberFormat2((et_cont_cheque.Text.Replace(",","")),0,2,2,False) < l_total.Text.Replace(",","") Then
MsgboxAsync("El monto no puede ser menor al total de la entrega","Atención")
End If
Else
Log(1)
MsgboxAsync("Coloque un monto de pago valido o desmarque la casilla","Atención")
End If
Else
MsgboxAsync("Seleccione al menos un metodo de pago","Atención")
End If
End If
End If
End Sub
Private Sub b_cancel_contado_Click
p_contado.Visible = False
et_cont_transfe.Visible = False
et_cont_efectivo.Visible = False
et_cont_cheque.Visible = False
et_cont_transfe.Text = ""
et_cont_efectivo.Text = ""
et_cont_cheque.Text = ""
ch_cont_efectivo.Checked = False
ch_cont_transfe.Checked = False
ch_cont_cheque.Checked = False
End Sub
Private Sub p_contado_Click
End Sub
Private Sub ch_cont_cheque_CheckedChange(Checked As Boolean)
If ch_cont_cheque.Checked Then
et_cont_cheque.Visible = True
Else
et_cont_cheque.Visible = False
et_cont_cheque.Text = ""
End If
End Sub
Private Sub ch_cont_transfe_CheckedChange(Checked As Boolean)
If ch_cont_transfe.Checked Then
et_cont_transfe.Visible = True
Else
et_cont_transfe.Visible = False
et_cont_transfe.Text = ""
End If
End Sub
Private Sub ch_cont_efectivo_CheckedChange(Checked As Boolean)
If ch_cont_efectivo.Checked Then
et_cont_efectivo.Visible = True
et_cont_efectivo.Text = l_total.Text.Replace(",","")
Else
et_cont_efectivo.Visible = False
et_cont_efectivo.Text = ""
End If
End Sub
Private Sub b_acepcodigo_Click
If et_codigo.Text <> "" Then
Dim c4 As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_VCREDITO,0) AS CAT_CL_VCREDITO, IFNULL(CAT_CL_VCODIGO,0) AS CAT_CL_VCODIGO, IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c4.Position = 0
If c4.GetString("CAT_CL_VCODIGO") = et_codigo.Text Then
p_codigo.Visible= False
et_codigo.Text = ""
Log(12)
escreditoono = 1
limite_credito = c4.GetString("CAT_CL_LIMITECREDITO")
If l_total.Text <> ".00" Then
esPagoACreditoGuardamosPagare
End If
Else
Dim c5 As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_CORERROR,0) AS CAT_CL_CORERROR FROM CODIGO_CREDITO where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c5.RowCount = 0 Then
Dim cs As CSBuilder
cs.Initialize
' 1. Iniciamos el constructor y definimos el tamaño general más grande (ej. 20)
cs.Size(16).Append("Codigo incorrecto. intentos restantes: ")
' 2. Activamos Negrita (Bold) para el código
cs.Bold.Append("2").Pop ' .Pop cierra la negrita
Starter.skmt.ExecNonQuery2("INSERT INTO CODIGO_CREDITO (CLIENTE, CAT_CL_CORERROR) VALUES(?,?) ", Array As Object (Subs.traeCliente,1))
Log("aqui")
Msgbox2Async(cs,"Atención", "Ok", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
End If
Else
c5.Position = 0
If (c5.GetString("CAT_CL_CORERROR")+1) = 2 Then
Dim cs As CSBuilder
cs.Initialize
' 1. Iniciamos el constructor y definimos el tamaño general más grande (ej. 20)
cs.Size(16).Append("Codigo incorrecto. intentos restantes: ")
' 2. Activamos Negrita (Bold) para el código
cs.Bold.Append("1").Pop ' .Pop cierra la negrita
Log("aqui")
Starter.skmt.ExecNonQuery($"update CODIGO_CREDITO set CAT_CL_CORERROR = '${NumberFormat2((c5.GetString("CAT_CL_CORERROR")+1),0,2,2,False)}'"$)
Msgbox2Async(cs,"Atención", "Ok", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
End If
Else If (c5.GetString("CAT_CL_CORERROR")+1) = 3 Then
Dim cs As CSBuilder
cs.Initialize
' 1. Iniciamos el constructor y definimos el tamaño general más grande (ej. 20)
cs.Size(16).Append("Codigo incorrecto. intentos restantes: ")
' 2. Activamos Negrita (Bold) para el código
cs.Bold.Append("0").Pop ' .Pop cierra la negrita
' 3. Continuamos con el texto normal y cerramos todo
cs.Append(", la entrega sera a contado").PopAll
Log("aqui")
Starter.skmt.ExecNonQuery($"update CODIGO_CREDITO set CAT_CL_CORERROR = '${NumberFormat2((c5.GetString("CAT_CL_CORERROR")+1),0,2,2,False)}'"$)
Msgbox2Async(cs,"Atención", "Ok", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
p_codigo.Visible = False
et_codigo.Text = ""
End If
End If
End If
End If
Else
MsgboxAsync("Captura un codigo valido.","Atención")
End If
End Sub
Private Sub b_cancelcodigo_Click
p_codigo.Visible= False
et_codigo.Text = ""
End Sub
Private Sub p_codigo_Click
End Sub
Private Sub b_imprimesegun_LongClick
Subs.panelVisible(p_transFinDia, 0, 0)
End Sub
Private Sub p_transFinDia_Click
End Sub
Private Sub b_aceptarFD_Click
If et_passFinDia.Text <> "KMTS1BAT" Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_codigoAutorizacion_IMP_rep"
cmd.Parameters = Array As Object(et_passFinDia.Text.Trim, Subs.traeRutaReparto, Subs.traeAlmacen)
reqManager.ExecuteQuery(cmd , 0, "codigoAutorizacionimp")
Else
Starter.skmt.ExecNonQuery("UPDATE CAT_VARIABLES SET CAT_VA_VALOR = '' where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'")
p_transFinDia.Visible = False
et_passFinDia.Text = ""
End If
teclado.HideKeyboard
End Sub
Private Sub b_cancelarFD_Click
p_transFinDia.Visible = False
End Sub
Sub imp
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat="HHmmss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
d.Position = 0
Dim ruta As String = d.GetString("RUTAA")
d.Close
d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
d.Position = 0
Dim rutapre As String = d.GetString("CAT_CL_RUTA")
d.Close
' d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' d.Position = 0
Dim fechaprev As String = Subs.traefECHAPREV
' d.Close
Dim rutaactualizar As String
Dim rut As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If rut.RowCount > 0 Then
rut.Position = 0
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (Subs.traeCliente,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Dim Ticket As String = 0
' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c6.RowCount > 0 Then
' c6.Position = 0
' Ticket = c6.GetString("HVD_NUM_TICKET")
' End If
' c6.Close
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
DateTime.DateFormat = "dd/MM/yyyy"
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Dim Ticket As String = 0
Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c6.RowCount > 0 Then
For k = 0 To c6.RowCount -1
c6.Position = k
Ticket = c6.GetString("HVD_NUM_TICKET")
Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF)
Next
End If
c6.Close
Printer1.WriteString(" " & CRLF)
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Dim totaltotal As Double
Dim cobranza As Cursor = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and HVD_PRONOMBRE = 'Cobranza Pendiente'")
Dim restacobranza As Int = 0
If cobranza.RowCount > 0 Then
restacobranza = 1
End If
Dim credtio As Cursor= Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ")
If credtio.RowCount > 0 Then
Tipoentrega = "CREDITO"
Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF)
Else If credtio.RowCount = 0 Then
Tipoentrega = "CONTADO"
Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF)
End If
If c.RowCount > 0 Then
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. ''CAT_TIPO_BONIFICACIONES
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'BIGCOMMERCE') AND HVD_CODPROMO = '${Subs.traeAlmacen}' AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$)
If S.RowCount>0 Then
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
' Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
s=Starter.skmt.ExecQuery($"SELECT HVD_CODPROMO, HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, LENGTH(SUM(HVD_CANT)) AS L_CANT, SUM(HVD_COSTO_TOT) AS HVD_COSTO_TOT, LENGTH(SUM(HVD_COSTO_TOT)) AS L_COSTOU, HVD_PROID, SUM(IFNULL(HVD_RECHAZOCANT, 0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT', 'MIRETO', 'BIGCOMMERCE') AND HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' GROUP BY HVD_PROID, HVD_CODPROMO"$)
If S.RowCount>0 Then
Printer1.WriteString("------- BONIFICACIONES --------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
' If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
Printer1.Justify = 0
' If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
'' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
'
' Else
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = ptot.Length + TAMANO +3
ESPACIO = (ESPACIO - TAMANO)/2
Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 29
BLANCO = " "
Printer1.Justify = 0
totaltotal = totaltotal + (checaprecio.GETSTRING("CAT_GP_PRECIO") * s.GetString("HVD_CANT"))
' End If
' Else
' End If
End If
Next
End If
' Printer1.WriteString(" " & CRLF)
' s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$)
'
' If S.RowCount>0 Then
' Printer1.WriteString("-----------VENTA------------" & CRLF)
' Printer1.WriteString("Cant. Precio Importe" & CRLF)
' Printer1.WriteString("------------------------------" & CRLF)
'
' For i=0 To S.RowCount -1
' S.Position=i
'
' Printer1.Justify = 0
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
' Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
' ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.Justify = 0
' Printer1.WriteString( s.GetString("PE_CANT") & BLANCO)
' Printer1.Justify = 1
' Printer1.WriteString( punit & BLANCO)
' Printer1.Justify = 2
' Printer1.WriteString(ptot & CRLF )
' TAMANO = 0
' ESPACIO = 29
' BLANCO = " "
' Printer1.Justify = 0
' Next
' End If
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'MIRETO' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("----------- MI RETO ------------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'BIGCOMMERCE' GROUP by HVD_PROID"$)
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("---------- CONECTADOS ----------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'CONECTADOS' GROUP by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_CODPROMO = 'SOCIOBAT' GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("---------- SOCIO BAT ----------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetInt("HVD_RECHAZO") = 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString( ptot & CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Else If s.GetInt("HVD_RECHAZO") > 0 Then
Printer1.Justify = 0
Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
vc5.Position = 0
Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
TAMANO = punit.Length + TAMANO
vc5.Close
Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
TAMANO = ptot.Length + TAMANO
ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.Justify = 0
Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
Printer1.Justify = 1
Printer1.WriteString( punit & BLANCO)
Printer1.Justify = 2
Printer1.WriteString(ptot& CRLF )
Printer1.WriteString(CRLF)
Printer1.Justify = 1
Dim checaprecio As Cursor = Starter.skmt.ExecQuery($"SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
If checaprecio.RowCount > 0 Then
checaprecio.Position = 0
If checaprecio.GETSTRING("CAT_GP_PRECIO") <> punit Then
Dim descuento As Double = NumberFormat2((100-(punit*100)/checaprecio.GETSTRING("CAT_GP_PRECIO")),0,2,2,False)
Printer1.WriteString(BLANCO & "PL $" & checaprecio.GETSTRING("CAT_GP_PRECIO") & " Desc.: " & descuento &"%" & CRLF & CRLF)
End If
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("Subtotal: $" & NumberFormat2(totaltotal,0,2,2,False)& CRLF)
Printer1.WriteString("Total Articulos: " & (L_CANT.Text.Replace(",","") -restacobranza) & CRLF)
Printer1.WriteString("Descuento: %" & NumberFormat2((100-((l_total.Text.Replace(",","")*100)/totaltotal)),0,2,2,False)& CRLF)
Printer1.WriteString("Monto descuento: $" & NumberFormat2((totaltotal-l_total.Text.Replace(",","")),0,2,2,False)& CRLF)
Printer1.WriteString("Total: $" & l_total.Text)
Printer1.WriteString(" " & CRLF)
If almacen = "81" Then
Printer1.WriteString("Telefono de atencion:" & CRLF)
Printer1.WriteString("" & CRLF)
End If
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' If banderaimp = 1 Then
Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imp
Else
If Tipoentrega = "CREDITO" Then
imprime_pagare2
End If
End If
' printer.Flush
' printer.Close
' Else If banderaimp = 0 Then
'
' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
'
' Wait For Msgbox_Result (resultado As Int)
'
' If resultado = DialogResponse.POSITIVE Then
'
' B_IMP_Click
'
' End If
'
' End If
' Guardado
End Sub
Sub imprime_pagare2
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
'' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
'' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
'' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
'' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
BLANCO = " "
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
' Dim Ticket As String = 0
' Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c6.RowCount > 0 Then
' c6.Position = 0
' Ticket = c6.GetString("HVD_NUM_TICKET")
' End If
' c6.Close
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Dim Ticket As String = 0
Dim c6 As Cursor = Starter.skmt.ExecQuery("select distinct HVD_NUM_TICKET FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PRONOMBRE <> 'Cobranza Pendiente'")
If c6.RowCount > 0 Then
For k = 0 To c6.RowCount -1
c6.Position = k
Ticket = c6.GetString("HVD_NUM_TICKET")
Printer1.WriteString("Num. Ticket " & (k +1)&": " & Ticket & CRLF)
Next
End If
c6.Close
Printer1.WriteString("Fecha: " & sDate &" " & sTime & CRLF)
Printer1.WriteString(" " & CRLF)
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
Printer1.WriteString("------------PAGARE------------" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("Pagare por los articulos" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$)
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
Printer1.Justify = 0
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") ) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
' Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
'
'' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
' Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
'
' ESPACIO = (ESPACIO - TAMANO)/2
'' Log(ESPACIO)
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.Justify = 0
' Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
' Printer1.Justify = 1
' Printer1.WriteString( punit & BLANCO)
' Printer1.Justify = 2
' Printer1.WriteString( ptot & CRLF )
' TAMANO = 0
' ESPACIO = 29
' BLANCO = " "
Else If s.GetString("HVD_RECHAZO") = 1 Then
Printer1.Justify = 0
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
' Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
' vc5.Position = 0
' Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
' vc5.Close
'
' Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
'
' ESPACIO = (ESPACIO - TAMANO)/2
'' Log(ESPACIO)
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.Justify = 0
' Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
' Printer1.Justify = 1
' Printer1.WriteString( punit & BLANCO)
' Printer1.Justify = 2
' Printer1.WriteString(ptot& CRLF )
' TAMANO = 0
' ESPACIO = 29
' BLANCO = " "
Printer1.Justify = 0
End If
End If
Next
End If
End If
Printer1.Justify = 0
s.Close
Printer1.WriteString(" " & CRLF)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 and HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("-------PROMOS ENTREGA--------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
Printer1.Justify = 0
If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
' Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
Else
If s.GetString("HVD_PRONOMBRE") <> "Cobranza Pendiente" Then
' Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") ) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
End If
End If
' Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
' ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.Justify = 0
' Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
' Printer1.Justify = 1
' Printer1.WriteString( punit & BLANCO)
' Printer1.Justify = 2
' Printer1.WriteString(ptot & CRLF )
' TAMANO = 0
' ESPACIO = 29
' BLANCO = " "
Printer1.Justify = 0
Else
End If
End If
Next
End If
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("Por monto de $" &l_total.Text& CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("Debo(mos) y pagare(mos) incon" & CRLF)
Printer1.WriteString("dicionalmente en _____________" & CRLF)
Printer1.WriteString("o en el lugar donde se me " & CRLF)
Printer1.WriteString("requiera por el presente pagare" & CRLF)
Printer1.WriteString("a GUNA la cantidad de $"&l_total.Text & CRLF)
Printer1.WriteString("valor recibido a entera " & CRLF)
Printer1.WriteString("satisfaccion. La falta de pago" & CRLF)
Printer1.WriteString("a la fecha indicada causara " & CRLF)
Printer1.WriteString("intereses moratorios a razon " & CRLF)
Printer1.WriteString("de ______% mensual a la fecha." & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString(" Recibi " & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("" & CRLF)
Printer1.WriteString("______________________________" & CRLF)
DateTime.DateFormat = "ddMMyyyy"
sDate=DateTime.Date(DateTime.Now)
' Printer1.WriteString("JHGHGH " & CRLF)
'' codigo de barras
' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago)
'' codigo de qr
B4XImageView1.SetBitmap(qr.Create(la_cuenta.Text&sDate))
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
Log("creado en promotoria " & Dirp & Dir)
Catch
Dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & Dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & Dir & Dir2)
Catch
Dir = ""
Log("creado en raiz")
End Try
'' codigo de barras
' Dim Out As OutputStream
' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False)
' barcode.CODE128(la_cuenta.Text&sDate).WriteToStream(Out, 100, "PNG")
' Out.Close
'' codigo de qr
Dim Out As OutputStream
Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False)
qr.Create(la_cuenta.Text&sDate).WriteToStream(Out, 100, "PNG")
Out.Close
Dim bmp2 As Bitmap
bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore
' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore
Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2)
myimage2 = Printer1.DitherImage2D(myimage2, 128)
myimage2= Printer1.PackImage(myimage2)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage2)
Printer1.WriteString(Printer1.UNREVERSE)
' Printer1.WriteBarCode("I",la_cuenta.Text&sDate)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' If banderaimp = 1 Then
Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_pagare2
Else If resultado = DialogResponse.NEGATIVE Then
Log(Tipoentrega)
If Tipoentrega = "CREDITO" Then
Log("aQUI")
If l_total.Text.Replace(",","") > l_montopag.Text Then
Log("aQUI")
tipo_abonox = "abono"
imprime_abonopagare3
End If
End If
End If
' printer.Flush
' printer.Close
' Else If banderaimp = 0 Then
' Msgbox2Async("Deseas imprimir de nuevo el PAGARE?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' imprime_pagare
' End If
' End If
' Guardado
End Sub
Sub imprime_abonopagare3
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
' DateTime.DateFormat = "MM/dd/yyyy"
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' ProgressDialogShow("Imprimiendo, un momento ...")
' Printer1.DisConnect
' If Not(Printer1.IsConnected) Then
' Log("Conectando a impresora ...")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada)
' Sleep(1000)
' Log("++++++ " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' Else
' Log("conectando 2")
' Printer1.Connect
' Private cont As Int = 0
' Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
' Sleep(1000)
' Log("****** " & cont)
' cont = cont + 1
' If cont = 2 Then Printer1.Connect
' If cont > 3 Then impresoraConectada = True
' Loop
' Sleep(500)
' impresoraConectada = False
' End If
ProgressDialogShow2("Imprimiendo, un momento ...",False)
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 22
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
Dim telefono As String = ""
Dim c7 As Cursor = Starter.skmt.ExecQuery("select IFNULL(CAT_CL_TELEFONO,' ') AS CAT_CL_TELEFONO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c7.RowCount > 0 Then
c7.Position = 0
telefono = c7.GetString("CAT_CL_TELEFONO")
End If
c7.Close
Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
' Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Reparto:" & usuario & CRLF)
Printer1.WriteString("Ruta:" & Subs.traeRutaReparto & CRLF)
Printer1.WriteString("Ruta preventa:" & Subs.traerUTAPREV & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
Printer1.WriteString("Telefono: " & telefono & CRLF)
Printer1.WriteString(" " & CRLF)
Dim notaabono As String
Dim saldopendiente As Double
Dim saldopendiente2 As Double
If tipo_abonox = "abono" Then
c = Starter.skmt.ExecQuery($"select distinct hvd_num_ticket from hist_ventas where hvd_cliente = '${la_cuenta.Text}' and HVD_PRONOMBRE <> 'Cobranza Pendiente' "$)
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("HVD_NUM_TICKET")
End If
c.Close
c = Starter.skmt.ExecQuery($"select iFNULL(sum(PA_MONTO),0) AS SALDO_PENDIENTE from PAGARES where PA_CLIENTE = '${la_cuenta.Text}'"$)
If c.RowCount > 0 Then
c.Position = 0
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
Log(c.GetString("SALDO_PENDIENTE"))
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim TIPOPAGO As String = ""
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
Else If tipo_abonox = "cxc" Then
c = Starter.skmt.ExecQuery("SELECT NOTA, SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
notaabono = c.GetString("NOTA")
saldopendiente = c.GetDouble("SALDO_PENDIENTE")
End If
c.Close
Dim saldopendiente1 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
If c4.RowCount > 0 Then
c4.Position = 0
Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente1 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
c = Starter.skmt.ExecQuery2("SELECT SUM(SALDO_PENDIENTE) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND NOTA = ?",Array As String(Folio))
If c.RowCount > 0 Then
c.Position = 0
saldopendiente2 = c.GetDouble("SALDO_PENDIENTE")
End If
c.Close
Dim saldopendiente3 As Double = 0
Dim c4 As Cursor= Starter.skmt.ExecQuery2("SELECT Ifnull(SUM(a_abono),0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null AND a_ticket = ?",Array As String(Folio))
If c4.RowCount > 0 Then
c4.Position = 0
' Dim c5 As Cursor= Starter.skmt.ExecQuery("SELECT Ifnull(a_abono,0) AS SALDO_PENDIENTE FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is null")
saldopendiente3 = c4.GetDouble("SALDO_PENDIENTE")
End If
c4.Close
End If
Dim numpago As Int = 1
Dim TIPOPAGO As String = ""
Dim c8 As Cursor= Starter.skmt.ExecQuery("SELECT TIPO_PAGO FROM ABONOS WHERE a_cliente IN (SELECT CUENTA FROM CUENTAA) and a_tipoabono is not null and a_numpago = '1'")
Log(c8.RowCount)
If c8.RowCount > 0 Then
Log("SI ENTRE")
c8.Position = 0
Log(c8.GetString("TIPO_PAGO"))
TIPOPAGO = c8.GetString("TIPO_PAGO")
End If
c8.Close
Dim tipopagotick As String = ""
If TIPOPAGO.ToUpperCase = "TRANSFERENCIA" Then
tipopagotick = "T"
Else If TIPOPAGO.ToUpperCase = "EFECTIVO" Then
tipopagotick = "E"
Else If TIPOPAGO.ToUpperCase = "CHEQUE" Then
tipopagotick = "C"
End If
'' codigo de barras
' ImageView1.Bitmap = barcode.CODE128(notaabono&sDate&tipopagotick&numpago)
'' codigo de qr
B4XImageView1.SetBitmap(qr.Create(notaabono&sDate&tipopagotick&numpago))
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
Log("creado en promotoria " & Dirp & Dir)
Catch
Dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & Dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & Dir & Dir2)
Catch
Dir = ""
Log("creado en raiz")
End Try
'' codigo de barras
' Dim Out As OutputStream
' Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "Test.png", False)
' barcode.CODE128(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG")
' Out.Close
'' codigo de qr
Dim Out As OutputStream
Out = File.OpenOutput(File.DirInternal & Dir & Dir2, "qr.png", False)
qr.Create(notaabono&sDate&tipopagotick&numpago).WriteToStream(Out, 100, "PNG")
Out.Close
' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c.RowCount > 0 Then
' c.Position = 0
' notaabono = c.GetString("NOTA")
' End If
Log(notaabono)
Log(et_abono.Text)
Printer1.WriteString("Comprobante de pago del pagare" & CRLF)
Printer1.WriteString("Folio: " & notaabono &"-"&(numpago)& CRLF)
Printer1.WriteString("Monto deuda: " & (NumberFormat2(l_total.Text.Replace(",",""),0,2,2,False)) & CRLF)
Printer1.WriteString("Monto abono: " & (NumberFormat2((l_total.Text.Replace(",","")-l_montopag.Text),0,2,2,False)) & CRLF)
Printer1.WriteString("Tipo de pago: " & TIPOPAGO & CRLF)
Printer1.WriteString("Restante "&notaabono&": " &(NumberFormat(l_montopag.Text,0,2)) & CRLF)
Printer1.WriteString("Fecha Abono: " & sDate & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("-------------FIRMA------------" & CRLF)
DateTime.DateFormat = "ddMMyyyy"
sDate=DateTime.Date(DateTime.Now)
itemselect = "EFECTIVO"
' Items.Add("TRANSFERENCIA")
' Items.Add("EFECTIVO")
' Items.Add("CHEQUE")
' Dim bmp As Bitmap
'' bmp.InitializeResize(File.DirAssets, "logo-guna-18.jpg", 192, 192, True) 'ignore
Dim bmp2 As Bitmap
bmp2.InitializeResize(File.DirInternal & Dir & Dir2, "qr.png", 192, 192, True) 'ignore
' bmp.Initialize(File.DirInternal & Dir & Dir2, "qr.png") 'ignore
Dim myimage2 As AnImage = Printer1.ImageToBWIMage(bmp2)
myimage2 = Printer1.DitherImage2D(myimage2, 128)
myimage2= Printer1.PackImage(myimage2)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage2)
Printer1.WriteString(Printer1.UNREVERSE)
' Printer1.WriteBarCode("I",NOTA&sDate&tipopagotick&numpago)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
'
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' imprime_abonopagare
' Else
' p_abono.Visible = False
' Starter.skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha,a_tipoabono,TIPO_PAGO,a_ticket,a_numpago) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${NumberFormat2((l_total.Text.Replace(",","")-limite_credito),0,2,2,False) }', '${Subs.fechaKMT(DateTime.now)}', 1,'${itemselect}','${Folio}','${numpago}')"$)
' ToastMessageShow("Abono guardado", False)
' End If
' If banderaimp = 1 Then
' Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
' Wait For Msgbox_Result (resultado As Int)
' If resultado = DialogResponse.POSITIVE Then
' imprime_abonopagare2
' Else
' Guardado
' End If
'' printer.Flush
' ' printer.Close
' Else If banderaimp = 0 Then
Msgbox2Async("Deseas imprimir de nuevo el abono?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
tipo_abonox = "abono"
imprime_abonopagare3
End If
' End If
' mandaAbonosPANUEPendientes
End Sub
Private Sub iv_foto_Click
Private fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT FOTO FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("FOTO")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
I_fotogrande.Bitmap = Bitmap1
Log("aqui si hay foto")
Else
I_fotogrande.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
End If
P_Imagengrande.Visible = True
End Sub
Sub P_Imagengrande_click
P_Imagengrande.Visible = False
End Sub