diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index f397396fb..aa4ea3012 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -162,6 +162,7 @@ Public Class ClsClientes
Public Property RepresentanteLegal As String
Public Property CveAlmacenAsignado As Integer
Public Property UsaProductoAlterno As Boolean = False
+ Public Property CveAlmacenAsignado As Integer = -1
#End Region
@@ -410,6 +411,7 @@ Public Class ClsClientes
_RepresentanteLegal = Data(0)("RepresentanteLegal").ToString
_CveAlmacenAsignado = Data(0)("CveAlmacenAsignado").ToString.ToEntero
_UsaProductoAlterno = CBool(Data(0)("UsaProductoAlterno"))
+ Me.CveAlmacenAsignado = Data(0)("CveAlmacenAsignado").ToString.ToEntero
End If
Retorno = True
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 87369aa67..156d4f212 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -5187,7 +5187,7 @@ Public Class ClsPaginas
#End Region
#Region "IMPRIMIR FACTURA"
- Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing, Optional UsarStimul As Boolean = False) As Byte()
+ Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing, Optional UsarStimul As Boolean = False, Optional RegenerarQR As Boolean = False) As Byte()
Dim retorno As Byte() = Nothing
' Dim ObjVentas As New ClsVentas
'DATOS GENERALES
@@ -5489,9 +5489,18 @@ Public Class ClsPaginas
End If
End If
'Si no tiene CBB, SE GENERA
- If Not ImagenCBB.Exists AndAlso Vta.FolioFiscal <> "" Then
- Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
- CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total, Vta.FolioFiscal, RutaCBB)
+ If (Not ImagenCBB.Exists OrElse RegenerarQR) AndAlso Vta.FolioFiscal <> "" Then
+ 'Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
+ 'CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total, Vta.FolioFiscal, RutaCBB)
+ Dim LigaVerificacionSAT As String = "https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx"
+ Try
+ Dim qrCode As New GoFac.QrCode()
+ Dim bCBB As Byte() = qrCode.GenerarQrCode($"{LigaVerificacionSAT}?re={UsuarioActual.Empresa.RFC}&rr={RFCReceptor}&tt={String.Format("{0,12:F6}", Vta.Total).Trim()}&id={Vta.FolioFiscal}&fe={Vta.SelloCFDi.Substring(Vta.SelloCFDi.Length - 8, 8)}")
+ File.WriteAllBytes(RutaCBB, bCBB)
+ bCBB = Nothing
+ Catch ex As Exception
+ GuardaLog("Ocurrió un error al generar el QR." + ex.ToString())
+ End Try
End If
'ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme.Replace("https", "http"), Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio)
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 7b28a324b..767e2dcf7 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -5975,7 +5975,7 @@ Public Class ClsVentas
#End Region
-#Region "AGENTES"
+#Region "MEDICOS"
Public Function GetMedicos(CveMedico As Integer, CveEmpresa As Integer, Estatus As Integer, Optional Mes As Integer = -1) As Boolean
@@ -6004,7 +6004,7 @@ Public Class ClsVentas
Public Function AddMedico(Medico As String, CedulaProfesional As String, FechaNacimiento As Date, Notas As String, DiasAtencion As String, Horario As String, Lugar As String, Estatus As Boolean, CveUsuario As Integer,
- CveEmpresa As Integer, Telefono As String, Mail As String, Especialidad As String, Celular As String, Consultorio As String) As Boolean
+ CveEmpresa As Integer, Telefono As String, Mail As String, CveMedicoEspecialidad As Integer, Celular As String, Consultorio As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_MedicosAdd")
@@ -6022,7 +6022,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
.Add("@Mail", SqlDbType.VarChar).Value = Mail
- .Add("@Especialidad", SqlDbType.VarChar).Value = Especialidad
+ .Add("@CveMedicoEspecialidad", SqlDbType.Int).Value = CveMedicoEspecialidad
.Add("@Celular", SqlDbType.VarChar).Value = Celular
.Add("@Consultorio", SqlDbType.VarChar).Value = Consultorio
@@ -6039,7 +6039,7 @@ Public Class ClsVentas
End Function
Public Function UpdateMedico(CveMedico As Integer, Medico As String, CedulaProfesional As String, FechaNacimiento As Date, Notas As String, DiasAtencion As String, Horario As String, Lugar As String, Estatus As Boolean, CveUsuario As Integer,
- CveEmpresa As Integer, Telefono As String, Mail As String, Especialidad As String, Celular As String, Consultorio As String) As Boolean
+ CveEmpresa As Integer, Telefono As String, Mail As String, CveMedicoEspecialidad As Integer, Celular As String, Consultorio As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_MedicosUpdate")
@@ -6057,7 +6057,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
.Add("@Mail", SqlDbType.VarChar).Value = Mail
- .Add("@Especialidad", SqlDbType.VarChar).Value = Especialidad
+ .Add("@CveMedicoEspecialidad", SqlDbType.Int).Value = CveMedicoEspecialidad
.Add("@Celular", SqlDbType.VarChar).Value = Celular
.Add("@Consultorio", SqlDbType.VarChar).Value = Consultorio
@@ -6092,6 +6092,97 @@ Public Class ClsVentas
#End Region
+
+
+#Region "ESPECIALIDADES"
+
+ Public Function GetMedicosEspecialidades(CveMedicoEspecialidad As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_MedicosEspecialidadesGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMedicoEspecialidad", SqlDbType.Int).Value = CveMedicoEspecialidad
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@Estatus", SqlDbType.Int).Value = Estatus
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener las especialidades.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+
+ End Function
+
+
+
+
+ Public Function AddMedicoEspecialidad(Especialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_MedicosEspecialidadesAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Especialidad", SqlDbType.VarChar).Value = Especialidad
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar la especialidad.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+
+ End Function
+
+ Public Function UpdateMedicoEspecialidad(CveMedicoEspecialidad As Integer, Especialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_MedicosEspecialidadesUpdate")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMedicoEspecialidad", SqlDbType.Int).Value = CveMedicoEspecialidad
+ .Add("@Especialidad", SqlDbType.VarChar).Value = Especialidad
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar la especialidad.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+
+ End Function
+
+ Public Function RemoveMedicoEspecialidad(CveMedicoEspecialidad As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_MedicosEspecialidadesRemove")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMedicoEspecialidad", SqlDbType.Int).Value = CveMedicoEspecialidad
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al eliminar la especialidad.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+
+ End Function
+
+#End Region
+
#Region "PRODEDIMIENTOS"
Public Function GetProcedimientos(CveProcedimiento As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index 3c5d123cc..c996c2303 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -3297,7 +3297,7 @@ Partial Class PopUpVerFactura
If UsuarioActual.Empresa.CvePlataforma = 2 Then
GeneraPDFVtaPyMe(Vta, "PDF")
Else
- ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=True, SubReportData:=CartaPorte), Vta.SerieFolio, "PDF")
+ ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=True, SubReportData:=CartaPorte, RegenerarQR:=True), Vta.SerieFolio, "PDF")
Vta = Nothing
End If
Else
diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx
index 676e02e1a..399ce3807 100644
--- a/Inventarios/EntradasSalidas.aspx
+++ b/Inventarios/EntradasSalidas.aspx
@@ -1655,69 +1655,94 @@