diff --git a/Acarreos/CatChoferes.aspx b/Acarreos/CatChoferes.aspx index 740010af5..df81b5c84 100644 --- a/Acarreos/CatChoferes.aspx +++ b/Acarreos/CatChoferes.aspx @@ -3,14 +3,7 @@ - - + Catálogo de Choferes @@ -150,6 +143,7 @@
+
@@ -179,13 +173,14 @@
-
- - +
+ + + + + +
- -
-
@@ -207,8 +202,16 @@
- - + <%----%> + + + - + MEX + USA + CAN + + +
diff --git a/Acarreos/CatChoferes.aspx.vb b/Acarreos/CatChoferes.aspx.vb index a4eaa2db3..3c0f31d6f 100644 --- a/Acarreos/CatChoferes.aspx.vb +++ b/Acarreos/CatChoferes.aspx.vb @@ -13,7 +13,7 @@ Partial Class Acarreos_CatChoferes If Not Page.IsPostBack Then CargaDatos() CargaDdlTransportista() - DdlColonias.setEsWebService(True) + Dim DT As DataTable = GlobalDTColonia(-1) CargaDdls() @@ -33,6 +33,7 @@ Partial Class Acarreos_CatChoferes DdlMunicipio.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) DdlLocalidad.Items.Insert(0, New ListItem("Seleccione Una", "-1")) + DdlColonia.Items.Insert(0, New ListItem("Seleccione Una", "-1")) End Sub @@ -62,10 +63,9 @@ Partial Class Acarreos_CatChoferes Private Sub BtnAgregarChofer_Click(sender As Object, e As EventArgs) Handles BtnAgregarChofer.Click - Dim CveColonia As Integer = If(DdlColonias.txtValue.Value.ToEntero > 0, DdlColonias.txtValue.Value.ToEntero, -1) - If CveColonia <= 0 Then - Alert("El campo colonia es necesario, por favor ingréselo.", TipoMensaje.MsgAdvertencia) + If TxtRFC.Text.Length > 0 And TxtNumRegidTribOperador.Text.Trim.Length > 0 Then + Alert("Se debe de proporcionar RFC O Numero RegidTribOperador elimine uno", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -79,12 +79,12 @@ Partial Class Acarreos_CatChoferes If ChkEstatus.Checked Then Estatus = 1 If HdnModalidad.Value = "A" Then - If ObjAcar.AddChofer(TxtChofer.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlTransportista.SelectedValue, TxtIdentificacion.Text.Trim, TxtTelefono.Text.Trim, Licencia:=TxtLicencia.Text, RFC:=TxtRFC.Text.Trim, Domicilio:=TxtDomicilio.Text.Trim, NumeroExterior:=TxtNumExt.Text.Trim, NumeroInterior:=TxtNumInt.Text.Trim, Colonia:="", Ciudad:="", Estado:="", CP:=TxtCP.Text.Trim, NumRegidTribOperador:=TxtNumRegidTribOperador.Text.Trim, ResidenciaFiscalOperador:=TxtResidenciaFiscalOperador.Text.Trim, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveLocalidad:=DdlLocalidad.SelectedValue.ToEntero, CveColonia:=CveColonia) Then + If ObjAcar.AddChofer(TxtChofer.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlTransportista.SelectedValue, TxtIdentificacion.Text.Trim, TxtTelefono.Text.Trim, Licencia:=TxtLicencia.Text, RFC:=TxtRFC.Text.Trim, Domicilio:=TxtDomicilio.Text.Trim, NumeroExterior:=TxtNumExt.Text.Trim, NumeroInterior:=TxtNumInt.Text.Trim, Colonia:="", Ciudad:="", Estado:="", CP:=TxtCP.Text.Trim, NumRegidTribOperador:=TxtNumRegidTribOperador.Text.Trim, ResidenciaFiscalOperador:=DdlResidenciaFiscalOperador.SelectedValue, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveLocalidad:=DdlLocalidad.SelectedValue.ToEntero, CveColonia:=DdlColonia.SelectedValue.ToEntero) Then CargaDatos() Alert("Agregado Correctamente.", TipoMensaje.MsgInformacion) End If ElseIf HdnModalidad.Value = "U" Then - If ObjAcar.UpdateChofer(HdnID.Value.ToEntero(), TxtChofer.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Estatus, DdlTransportista.SelectedValue, TxtIdentificacion.Text.Trim, TxtTelefono.Text.Trim, Licencia:=TxtLicencia.Text, RFC:=TxtRFC.Text.Trim, Domicilio:=TxtDomicilio.Text.Trim, NumeroExterior:=TxtNumExt.Text.Trim, NumeroInterior:=TxtNumInt.Text.Trim, Colonia:="", Ciudad:="", Estado:="", CP:=TxtCP.Text.Trim, NumRegidTribOperador:=TxtNumRegidTribOperador.Text.Trim, ResidenciaFiscalOperador:=TxtResidenciaFiscalOperador.Text.Trim, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveLocalidad:=DdlLocalidad.SelectedValue.ToEntero, CveColonia:=CveColonia) Then + If ObjAcar.UpdateChofer(HdnID.Value.ToEntero(), TxtChofer.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Estatus, DdlTransportista.SelectedValue, TxtIdentificacion.Text.Trim, TxtTelefono.Text.Trim, Licencia:=TxtLicencia.Text, RFC:=TxtRFC.Text.Trim, Domicilio:=TxtDomicilio.Text.Trim, NumeroExterior:=TxtNumExt.Text.Trim, NumeroInterior:=TxtNumInt.Text.Trim, Colonia:="", Ciudad:="", Estado:="", CP:=TxtCP.Text.Trim, NumRegidTribOperador:=TxtNumRegidTribOperador.Text.Trim, ResidenciaFiscalOperador:=DdlResidenciaFiscalOperador.SelectedValue, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveLocalidad:=DdlLocalidad.SelectedValue.ToEntero, CveColonia:=DdlColonia.SelectedValue.ToEntero) Then CargaDatos() Alert("Actualizado Correctamente.", TipoMensaje.MsgInformacion) End If @@ -120,7 +120,9 @@ Partial Class Acarreos_CatChoferes TxtLicencia.Text = GvRow.DataKey("Licencia") TxtNumRegidTribOperador.Text = GvRow.DataKey("NumRegidTribOperador") - TxtResidenciaFiscalOperador.Text = GvRow.DataKey("ResidenciaFiscalOperador") + + DdlResidenciaFiscalOperador.SelectedValueExist("-1") + DdlResidenciaFiscalOperador.SelectedValueExist(GvRow.DataKey("ResidenciaFiscalOperador")) DdlTransportista.SelectedValueExist(GvRow.DataKey("CveTransportista")) @@ -144,25 +146,26 @@ Partial Class Acarreos_CatChoferes DdlLocalidad.Items.Clear() + DdlColonia.Items.Clear() + If DdlEstado.SelectedValue.ToEntero > 0 And DdlMunicipio.SelectedValue.ToEntero > 0 Then DdlLocalidad.DataSource = GlobalDTLocalidad(DdlEstado.SelectedValue.ToEntero, DdlMunicipio.SelectedValue.ToEntero) DdlLocalidad.DataBind() + DdlColonia.DataSource = GlobalDTColonia(GlobalDTMunicipio(GlobalDTEstado("MEX").FiltraParametros($"CveEstado = {DdlEstado.SelectedValue.ToEntero}")(0)("ClaveSATEstado").ToString).FiltraParametros($"CveMunicipio = {DdlMunicipio.SelectedValue.ToEntero}")(0)("ClaveSATMunicipio").ToString).FiltraParametros(If(TxtCP.Text.Trim.Length > 0, $"CP = {TxtCP.Text}", "")) + DdlColonia.DataBind() + End If + DdlLocalidad.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) DdlLocalidad.SelectedValueExist(GvRow.DataKey("CveLocalidad")) - If GvRow.DataKey("CveColonia").ToEntero > 0 Then - DdlColonias.txtText.Value = GvRow.DataKey("ClaveSATColoniaCP") - DdlColonias.txtValue.Value = GvRow.DataKey("CveColonia") + DdlColonia.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) + DdlColonia.SelectedValueExist(GvRow.DataKey("CveColonia")) - Else - DdlColonias.txtText.Value = "Selecione Una" - DdlColonias.txtValue.Value = "-1" - End If UpAddChofer.Update() @@ -193,15 +196,16 @@ Partial Class Acarreos_CatChoferes 'TxtColonia.Text = "" TxtNumRegidTribOperador.Text = "" - TxtResidenciaFiscalOperador.Text = "" - - DdlColonias.txtText.Value = "Selecione Una" - DdlColonias.txtValue.Value = "-1" + DdlResidenciaFiscalOperador.SelectedValueExist("-1") + + DdlEstado.SelectedValueExist(-1) DdlEstado_SelectedIndexChanged(Nothing, Nothing) + DdlColonia.SelectedValueExist(-1) + ChkEstatus.Checked = True divEstatus.Visible = False UpAddChofer.Update() @@ -271,18 +275,29 @@ Partial Class Acarreos_CatChoferes Protected Sub DdlMunicipio_SelectedIndexChanged(sender As Object, e As EventArgs) DdlLocalidad.Items.Clear() + DdlColonia.Items.Clear() If DdlMunicipio.SelectedValue > 0 Then DdlLocalidad.DataSource = GlobalDTLocalidad(DdlEstado.SelectedValue.ToEntero, DdlMunicipio.SelectedValue.ToEntero) DdlLocalidad.DataBind() + DdlColonia.DataSource = GlobalDTColonia(GlobalDTMunicipio(GlobalDTEstado("MEX").FiltraParametros($"CveEstado = {DdlEstado.SelectedValue.ToEntero}")(0)("ClaveSATEstado").ToString).FiltraParametros($"CveMunicipio = {DdlMunicipio.SelectedValue.ToEntero}")(0)("ClaveSATMunicipio").ToString).FiltraParametros(If(TxtCP.Text.Trim.Length > 0, $"CP = {TxtCP.Text}", "")) + DdlColonia.DataBind() + + + + End If DdlLocalidad.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) DdlLocalidad.SelectedValueExist(-1) + DdlColonia.Items.Insert(0, New ListItem("Seleccione Una", "-1")) + DdlColonia.SelectedValueExist(-1) + + UpAddChofer.Update() End Sub @@ -291,7 +306,7 @@ Partial Class Acarreos_CatChoferes Protected Sub DdlColonias_selectedindexchange(sender As Object, e As EventArgs) - If DdlColonias.txtValue.Value.ToEntero > 0 Then + If DdlColonia.SelectedValue.ToEntero > 0 Then validaCodigoPostal() End If @@ -302,7 +317,7 @@ Partial Class Acarreos_CatChoferes Dim CPTxt As Integer = TxtCP.Text.ToEntero() - Dim CveColonia As Integer = DdlColonias.txtValue.Value.ToEntero + Dim CveColonia As Integer = DdlColonia.SelectedValue.ToEntero If CPTxt > 0 And CveColonia > 0 Then Dim CP As Integer = GlobalDTColonia(-1).FiltroPrimeroValor("CP", $"CveColonia = {CveColonia}") @@ -313,4 +328,7 @@ Partial Class Acarreos_CatChoferes End Sub + Protected Sub DdlColonia_SelectedIndexChanged(sender As Object, e As EventArgs) + validaCodigoPostal() + End Sub End Class diff --git a/Acumuladores/CatFoliosGarantia.aspx b/Acumuladores/CatFoliosGarantia.aspx index 8974fb697..f707c911f 100644 --- a/Acumuladores/CatFoliosGarantia.aspx +++ b/Acumuladores/CatFoliosGarantia.aspx @@ -60,7 +60,6 @@
  • - @@ -71,12 +70,12 @@
    -
    +
    -
    +
    <%-- --%> @@ -108,12 +107,12 @@ -
    +
    -
    +
    " style="display: inline-block; margin-right: -20px; width: 150px;" /> " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
    diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb index 42ef21c81..61a215271 100644 --- a/App_Code/CFDITimbre.vb +++ b/App_Code/CFDITimbre.vb @@ -472,7 +472,7 @@ Public Class CFDIComplementoPagosDocsRelacionados Public Property Folio As String = "" Public Property MonedaDR As String = "" Public Property MetodoDePagoDR As String = "" - Public Property TipoCambioDR As Double + Public Property TipoCambioDR As Decimal Public Property NumParcialidad As Integer = 1 Public Property ImpSaldoAnt As Double Public Property ImpPagado As Double diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index b7b8d93d5..60c2d2a48 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -1455,14 +1455,15 @@ Public Class ClsClientes OnError("Ocurrió un error eliminar la Clasificación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno - End Function - + End Function + #End Region - - + + #Region "D I R E C C I O N D E E N V I O " Public Function DireccionEnvioAdd(CveCliente As Integer, EnvioDireccion As String, EnvioNoExt As String, EnvioNoInt As String, EnvioColonia As String, EnvioCiudad As String, EnvioEstado As String, - EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, Optional CveClienteSucursal As Integer = -1, Optional EnvioDepartamento As String = "-1", Optional EnvioTel As String = "-1") As Integer + EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, Optional CveClienteSucursal As Integer = -1, Optional EnvioDepartamento As String = "-1", Optional EnvioTel As String = "-1", + Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveLocalidad As Integer = -1, Optional CveColonia As Integer = -1) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_Vta_ClientesDireccionesEnvioAdd") @@ -1481,6 +1482,13 @@ Public Class ClsClientes .Add("@EnvioTel", SqlDbType.VarChar).Value = EnvioTel .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@Estatus", SqlDbType.Int).Value = Estatus + + .Add("@CvePais", SqlDbType.Int).Value = CvePais + .Add("@CveEstado", SqlDbType.Int).Value = CveEstado + .Add("@CveMunicipio", SqlDbType.Int).Value = CveMunicipio + .Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad + .Add("@CveColonia", SqlDbType.Int).Value = CveColonia + .Add("@CveDireccionEnvio", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -1514,7 +1522,8 @@ Public Class ClsClientes End Function Public Function DireccionEnvioUpdate(CveCliente As Integer, EnvioDireccion As String, EnvioNoExt As String, EnvioNoInt As String, EnvioColonia As String, EnvioCiudad As String, EnvioEstado As String, - EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, CveDireccionEnvio As Integer, Optional EnvioDepartamento As String = "-1", Optional CveClienteSucursal As Integer = -1, Optional EnvioTel As String = "-1") As Boolean + EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, CveDireccionEnvio As Integer, Optional EnvioDepartamento As String = "-1", Optional CveClienteSucursal As Integer = -1, Optional EnvioTel As String = "-1", + Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveLocalidad As Integer = -1, Optional CveColonia As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_ClientesDireccionesEnvioUpdate") @@ -1534,6 +1543,13 @@ Public Class ClsClientes .Add("@EnvioTel", SqlDbType.VarChar).Value = EnvioTel .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@Estatus", SqlDbType.Int).Value = Estatus + + .Add("@CvePais", SqlDbType.Int).Value = CvePais + .Add("@CveEstado", SqlDbType.Int).Value = CveEstado + .Add("@CveMunicipio", SqlDbType.Int).Value = CveMunicipio + .Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad + .Add("@CveColonia", SqlDbType.Int).Value = CveColonia + End With Try diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index c693d37a3..939808c43 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -20,6 +20,7 @@ Public Class ClsGenerales 'REGISTRAR CONEXIONES ABIERTAS Private CveConexion As Integer = 0 Private EsTransaccionCompartida As Boolean = False + #End Region #Region "Propiedades" @@ -49,6 +50,10 @@ Public Class ClsGenerales DtResultados = Data End Get End Property + + Public Property FolioInsertado As Integer + + Public Property SerieInsertada As String #End Region Public Function IniciaTransacSQL() As SqlTransaction @@ -3036,7 +3041,7 @@ Public Class ClsGenerales Return Retorno End Function - Public Function AsignarEntregasPorRealizar(CvePaqueteriaGuia As Integer, CvePersonal As Integer, Optional CveAsignacionEntrega As Long = -1, Optional CveMotivoRechazoPaqueteria As Integer = -1) As Boolean + Public Function AsignarEntregasPorRealizar(CvePaqueteriaGuia As Integer, CvePersonal As Integer, Optional CveAsignacionEntrega As Long = -1, Optional CveMotivoRechazoPaqueteria As Integer = -1, Optional Orden As Integer = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_AsignarEntregasPorRealizar") With SqlAdapter.SelectCommand.Parameters @@ -3044,6 +3049,7 @@ Public Class ClsGenerales .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CvePersonal .Add("@CveAsignacionEntrega", SqlDbType.BigInt).Value = CveAsignacionEntrega .Add("@CveMotivoRechazoPaqueteria", SqlDbType.Int).Value = CveMotivoRechazoPaqueteria + .Add("@Orden", SqlDbType.Int).Value = Orden End With Try SqlAdapter.Fill(Data) @@ -3598,5 +3604,173 @@ Public Class ClsGenerales Return Retorno End Function #End Region + + + + +#Region "GRAL TIMBRES" + + + Public Function AddGralTimbre(TipoDocto As String, Serie As String, Folio As Integer, FolioFiscal As String, Fecha As Date, CvePaqueteriaGuia As Integer, CveMovimientoAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer, + Estatus As Integer, CvePAC As Integer, AplicaCP As Boolean, CveSubProyectoOrigen As Integer, CveDireccionOrigen As Integer, CveDireccionDestino As Integer, CveChofer As Integer, CveCamion As Integer, FechaEntrega As Date) As Integer + Dim Retorno As Integer = -1 + DataAdapter("PA_Gral_TimbreAdd") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto + .Add("@Serie", SqlDbType.VarChar).Value = Serie + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal + .Add("@Fecha", SqlDbType.Date).Value = Fecha + .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia + .Add("@CveMovimientoAlmacen", SqlDbType.Int).Value = CveMovimientoAlmacen + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CvePAC", SqlDbType.Int).Value = CvePAC + .Add("@AplicaCP", SqlDbType.Bit).Value = AplicaCP + .Add("@CveSubProyectoOrigen", SqlDbType.Int).Value = CveSubProyectoOrigen + .Add("@CveDireccionOrigen", SqlDbType.Int).Value = CveDireccionOrigen + .Add("@CveDireccionDestino", SqlDbType.Int).Value = CveDireccionDestino + .Add("@CveChofer", SqlDbType.Int).Value = CveChofer + .Add("@CveCamion", SqlDbType.Int).Value = CveCamion + .Add("@FechaEntrega", SqlDbType.DateTime).Value = FechaEntrega + + .Add("@CveTimbre", SqlDbType.Int).Direction = ParameterDirection.Output + .Add("@FolioInsertado", SqlDbType.Int).Direction = ParameterDirection.Output + .Add("@SerieInsertada", SqlDbType.VarChar, 5).Direction = ParameterDirection.Output + + End With + + Try + SqlAdapter.Fill(Data) + + FolioInsertado = SqlAdapter.SelectCommand.Parameters("@FolioInsertado").Value.ToString.ToEntero + SerieInsertada = SqlAdapter.SelectCommand.Parameters("@SerieInsertada").Value.ToString + + Retorno = SqlAdapter.SelectCommand.Parameters("@CveTimbre").Value.ToString.ToEntero + + Catch ex As Exception + OnError("Ocurrió un error al agregar el timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + + Public Function GetGralTimbre(CveTimbre As Integer, TipoDocto As String, Serie As String, Folio As Integer, FechaI As Date, FechaF As Date, Estatus As Integer, CveEmpresa As Integer, CveMovimiento As Integer, CvePaqueteriaGuia As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_TimbreGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre + .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto + .Add("@Serie", SqlDbType.VarChar).Value = Serie + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@FechaI", SqlDbType.Date).Value = FechaI + .Add("@FechaF", SqlDbType.Date).Value = FechaF + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento + .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia + + + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los timbres.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + Public Function UpdateGralTimbre(CveTimbre As Integer, TipoDocto As String, Serie As String, Folio As Integer, FolioFiscal As String, Fecha As Date, CvePaqueteriaGuia As Integer, CveMovimientoAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer, + Estatus As Integer, CvePAC As Integer, CvePACCancelacion As Integer, FechaCancelacion As Date, AplicaCP As Boolean, CveSubProyectoOrigen As Integer, CveDireccionOrigen As Integer, CveDireccionDestino As Integer, + CveChofer As Integer, CveCamion As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_TimbreUpdate") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre + .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto + .Add("@Serie", SqlDbType.VarChar).Value = Serie + .Add("@Folio", SqlDbType.Int).Value = Folio + .Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal + .Add("@Fecha", SqlDbType.Date).Value = Fecha + .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia + .Add("@CveMovimientoAlmacen", SqlDbType.Int).Value = CveMovimientoAlmacen + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CvePAC", SqlDbType.Int).Value = CvePAC + .Add("@CvePACCancelacion", SqlDbType.Int).Value = CvePACCancelacion + .Add("@FechaCancelacion", SqlDbType.DateTime).Value = FechaCancelacion + .Add("@AplicaCP", SqlDbType.Bit).Value = AplicaCP + .Add("@CveSubProyectoOrigen", SqlDbType.Int).Value = CveSubProyectoOrigen + .Add("@CveDireccionOrigen", SqlDbType.Int).Value = CveDireccionOrigen + .Add("@CveDireccionDestino", SqlDbType.Int).Value = CveDireccionDestino + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveChofer", SqlDbType.Int).Value = CveChofer + .Add("@CveCamion", SqlDbType.Int).Value = CveCamion + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + + + + Public Function RemoveGralTimbre(CveTimbre As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_TimbreRemove") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar Timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + + Public Function GetGralMovimientosDetalleTimbre(CveTimbre As Integer, CveEmpresa As Integer) As Boolean + + + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_MovimientosDetalleTimbreGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los movimientos del timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + + End Function + + +#End Region + End Class diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index eecdcfd14..34bdd0d95 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -1285,7 +1285,7 @@ Public Class ClsInventarios Optional CveSeccionAlmacen As Integer = -1, Optional Serie As String = "", Optional Lote As String = "", Optional FechaCaducidad As Date = MinFecha, Optional Observaciones As String = "", Optional CveMovimientoDetalleEntrada As Integer = -1, Optional PUTC As Decimal = -1, Optional CostoIndirecto As Decimal = 0, Optional CveCompraDetalle As Integer = -1, Optional CveOrdenCompraDetalle As Integer = -1, Optional CveVentaDetalle As Integer = -1, - Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1, Optional CveVentaDetallePadre As Integer = -1) As Boolean + Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1, Optional CveVentaDetalleRemision As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_MovimientosDetalleAdd") @@ -1311,7 +1311,7 @@ Public Class ClsInventarios .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico .Add("@EsInterno", SqlDbType.Int).Value = EsInterno - .Add("@CveVentaDetallePadre", SqlDbType.Int).Value = CveVentaDetallePadre + .Add("@CveVentaDetalleRemision", SqlDbType.Int).Value = CveVentaDetalleRemision .Add("@CveMovimientoDetalle", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -1646,7 +1646,7 @@ Public Class ClsInventarios End Function Public Function GetProductosCaducidad(CveProveedor As Integer, FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveClasificacion As Integer, CvePS As Integer, - FiltroFecha As Integer, CvesAlmacenes As String, CveUsuario As Integer, CveEmpresa As Integer, Optional Opcion As Integer = 1) As Boolean + CvesAlmacenes As String, CveUsuario As Integer, CveEmpresa As Integer, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_ProductosCaducidadGet") @@ -1658,7 +1658,6 @@ Public Class ClsInventarios .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CvePS", SqlDbType.Int).Value = CvePS - .Add("@FiltroFecha", SqlDbType.SmallInt).Value = FiltroFecha .Add("@CvesAlmacenes", SqlDbType.VarChar).Value = CvesAlmacenes .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa @@ -2907,13 +2906,14 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetInventarioFisicoResultados(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1) As Boolean + Public Function GetInventarioFisicoResultados(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_InventarioFisicoResultadosGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@GPO", SqlDbType.Int).Value = GPO + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try SqlAdapter.Fill(Data) @@ -2924,13 +2924,14 @@ Public Class ClsInventarios Return Retorno End Function - Public Function GetInventarioFisicoResultadosAvance(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1) As Boolean + Public Function GetInventarioFisicoResultadosAvance(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_InventarioFisicoResultadoAvance") With SqlAdapter.SelectCommand.Parameters .Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@GPO", SqlDbType.Int).Value = GPO + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index 680fbc2ae..c0ab586d4 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -376,6 +376,67 @@ Public Class ClsMovimientos OnError("Ocurrió un error al obtener el Reporte de CxC Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try + Return Retorno + End Function + + Public Function AddNotificacionEdoCuentaCliente(CveCliente As Integer, Fecha As DateTime) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Sis_NotificacionesEdoCuentaClienteAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@Fecha", SqlDbType.DateTime).Value = Fecha + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrió un error al agregar notificaciones del estado de cuenta del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + Public Function GetNotificacionEdoCuentaCliente(CveEmpresa As Integer, CveCliente As Integer, Fecha As DateTime) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Sis_NotificacionesEdoCuentaClienteGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@Fecha", SqlDbType.DateTime).Value = Fecha + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrió un error al obtener notificaciones del estado de cuenta del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + Public Function UpdateNotificacionEdoCuentaCliente(CveNotificacionBitacora As Integer, Notifico As Boolean) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Sis_NotificacionesEdoCuentaClienteUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveNotificacionBitacora", SqlDbType.Int).Value = CveNotificacionBitacora + .Add("@Notifico", SqlDbType.Bit).Value = Notifico + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrió un error al actualizar notificaciones del estado de cuenta del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno End Function diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 40ca553a3..389ad3700 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6844,7 +6844,8 @@ Public Class ClsPaginas Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar() CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total.ToString.ToDecimal, Vta.FolioFiscal, RutaCBB) End If - ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio) + '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) + 'Dim CadenaOriginals As String = "||1.0|" + Vta.FolioFiscal + "|" + Vta.FechaCertificacion.ToString("yyyy-MM-dd") + "T" + Vta.FechaCertificacion.ToString("HH:mm:ss") + "|" + Vta.SelloCFDi + "|" + Vta.NoSerieCertificado + "||" Dim CadenaOriginals As String = String.Format("||{0}|{1}|{2}T{3}|{4}|{5}||", If(Vta.Version = "3.3", "1.1", "1.0"), Vta.FolioFiscal, Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss"), Vta.SelloCFDi, Vta.NoSerieCertificado) @@ -6852,6 +6853,11 @@ Public Class ClsPaginas Dim RutaFormato As String = "" Dim RutaFormatoDefault As String = "" + + ImgCBB = $"file://{ImagenCBB.FullName}" + + + 'AQUI EMPIEZA LOS PARAMETROS Try Dim params As New List(Of ReportParameter) @@ -6903,6 +6909,8 @@ Public Class ClsPaginas params.Add(New ReportParameter("CadenaSAT", CadenaOriginals)) params.Add(New ReportParameter("SelloSAT", Vta.SelloSAT)) + 'Net.ServicePointManager.SecurityProtocol = Net.ServicePointManager.SecurityProtocol Or Net.SecurityProtocolType.Tls Or Net.SecurityProtocolType.Tls11 Or Net.SecurityProtocolType.Tls12 + params.Add(New ReportParameter("QR", ImgCBB)) params.Add(New ReportParameter("Moneda", Vta.Moneda)) params.Add(New ReportParameter("TipoCambio", Vta.TipoCambio.ToString)) @@ -7276,8 +7284,8 @@ Public Class ClsPaginas RutaFormatoDefault = String.Format("Empresas\Grales\Formatos\{0}.rdlc", NombreArchivo) Case "Tra" NombreArchivo = "Traspaso" - NombreArchivoDescarga = "Traspaso" - TipoDocumento = "Traspaso" + NombreArchivoDescarga = "Traslado" + TipoDocumento = "Traslado" Dim ObjInv As New ClsInventarios Dim AlmOrigen As String = "" @@ -7834,14 +7842,19 @@ Public Class ClsPaginas End If 'params.Add(New ReportParameter("FechaOC", ObjOC.Fecha.ToShortDateString)) Dim RutaFisicaSol As String = String.Format("Empresas\{0}\Firmas\{1}.png", EmpresaActual.CveEmpresa, CveUsuarioSol) - Dim RutaVirtuaSol As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={0}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaSol)) + Dim RutaVirtuaSol As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={3}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaSol)) Dim FirmaSol As New System.IO.FileInfo(String.Format("{0}Firmas\{1}.png", EmpresaActual.Ruta, CveUsuarioSol)) - params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, RutaVirtuaSol, ""))) + 'params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, RutaVirtuaSol, ""))) + params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, ImageToBase64(Drawing.Image.FromFile(FirmaSol.FullName), Drawing.Imaging.ImageFormat.Png), ""))) Dim RutaFisicaAut As String = String.Format("Empresas\{0}\Firmas\{1}.png", EmpresaActual.CveEmpresa, CveUsuarioAut) Dim RutaVirtuaAut As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={3}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaAut)) Dim FirmaAut As New System.IO.FileInfo(String.Format("{0}Firmas\{1}.png", EmpresaActual.Ruta, CveUsuarioAut)) - params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, RutaVirtuaAut, ""))) + 'params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, RutaVirtuaAut, ""))) + params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, ImageToBase64(Drawing.Image.FromFile(FirmaAut.FullName), Drawing.Imaging.ImageFormat.Png), ""))) + + + If Archivo.Exists Then bytes = StreamPDF(String.Format("{0}Formatos\OC.rdlc", EmpresaActual.Ruta), DtDetalle, params, $"OC_{ObjOC.Folio.ToString}", RDSName:="DsOC", MR:=MR) @@ -7910,6 +7923,26 @@ Public Class ClsPaginas Return bytes End Function + + + Public Function ImageToBase64(ByVal image As System.Drawing.Image, ByVal format As System.Drawing.Imaging.ImageFormat) As String + Dim base64String As String = "" + + + Try + Using ms As New System.IO.MemoryStream() + image.Save(ms, format) + Dim imageBytes As Byte() = ms.ToArray() + base64String = Convert.ToBase64String(imageBytes) + End Using + Catch ex As Exception + GuardaLog(String.Format("Ocurrio un error al generar convertir la imagen a Base64 {0}", ex.Message)) + End Try + + Return base64String + End Function + + Public Function NewGeneraOCCotizacion(tCveOrdenCompra As Integer, Optional MR As ReportViewer = Nothing, Optional ConBitacora As Boolean = False) As Byte() Dim bytes As Byte() = Nothing Dim CveEmpresaActual As Integer diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index a78a05d7c..452c26b47 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -125,6 +125,68 @@ Public Class ClsRH End Sub #End Region + Public Function AgroOrigenGet(CveEmpresa As Int32, CveOrigen As Integer, Estatus As Integer, CveTipoNomina As Integer, CveSubProyecto As Integer, GPO As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Agro_OrigenGet", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveOrigen", SqlDbType.Int).Value = CveOrigen + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CveTipoNomina", SqlDbType.Int).Value = CveTipoNomina + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@GPO", SqlDbType.Int).Value = GPO + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch Ex1 As SqlException + + Me.OnError("Ocurrió un error al obtener los agro departamentos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + OnError("Ocurrió un error al obtener los agro departamentos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return retorno + End Function + Public Function AgroDepartamentosGet(CveEmpresa As Int32, CveDepartamento As Integer, CveTipoTrabajador As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Agro_DepartamentosGet", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveDepartamento", SqlDbType.Int).Value = CveDepartamento + .Add("@CveTipoTrabajador", SqlDbType.Int).Value = CveTipoTrabajador + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch Ex1 As SqlException + + Me.OnError("Ocurrió un error al obtener los agro departamentos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + OnError("Ocurrió un error al obtener los agro departamentos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return retorno + End Function + + Public Function AgroDepartamentoPersonalUp(CveEmpresa As Int32, CveDepartamento As Integer, CvePersonal As Integer, CharolaForanea As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Agro_DepartamentoPersonalUP", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveDepartamento", SqlDbType.Int).Value = CveDepartamento + .Add("@CharolaForanea", SqlDbType.Int).Value = CharolaForanea + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch Ex1 As SqlException + + Me.OnError("Ocurrió un error al obtener los agro departamentos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + OnError("Ocurrió un error al obtener los agro departamentos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return retorno + End Function #Region "DiasFestivos" Public Function DiasFestivosGet(CveEmpresa As Int32) As Boolean @@ -138,9 +200,9 @@ Public Class ClsRH retorno = True Catch Ex1 As SqlException - Me.OnError("Ocurrió un error al obtener los días festivos", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Me.OnError("Ocurrió un error al obtener los días festivos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) Catch ex As Exception - OnError("Ocurrió un error al Guardar el Tipo de A-I", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + OnError("Ocurrió un error al obtener los días festivos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try Return retorno End Function diff --git a/App_Code/ClsSubProyectos.vb b/App_Code/ClsSubProyectos.vb index 97c8bd94d..803ab02de 100644 --- a/App_Code/ClsSubProyectos.vb +++ b/App_Code/ClsSubProyectos.vb @@ -368,7 +368,8 @@ Public Class ClsSubProyectos .Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista .Add("@Telefono", SqlDbType.VarChar).Value = Telefono .Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen - .Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal + .Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal + .Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad .Add("@CveSubProyecto", SqlDbType.Int).Direction = ParameterDirection.Output End With diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 28c446361..a23c7af68 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3989,12 +3989,17 @@ Namespace Modelos 'COMIENZA: VENTADETALLE 'CUANDO SEA SALIDA VA POR LA VENTA DETALLE DE LA FACTURA DE LA REMISION - OJO!! SOLO FUNCIONA HASTA ORITA QUE SE HACE SALIDA SOLO CUANDO SE FACTURA LA REMISION Dim CveVentaDetalle = If(ConceptoEntrada.Contiene(3, 40), DtDetalle.FiltroPrimeroValor("CveVentaDetalle", $"Consec={Consec}").ToEntero, MovDet("CveVentaDetalle").ToString.ToEntero) + + Dim CveVentaDetalleRemision As Integer = -1 + If ConceptoEntrada = 40 AndAlso MovDet("CveVentaDetalle").ToString().ToEntero() > 0 Then + CveVentaDetalleRemision = MovDet("CveVentaDetalle").ToString().ToEntero() + End If + 'CUANDO LA VENTADETALLE NO TENGA VALOR DEBE MARCAR ERROR, NUEVA RESTRICCION DE ALMACEN If CveVentaDetalle < 0 Then OcurrioError = True Exit For End If - 'TERMINA: VENTADETALLE If Cantidad < 0 Then ErrorList.Add("Ocurrió un Error al generar los movimientos de almacén. Por favor comuniquese con atención SIG.") @@ -4002,7 +4007,7 @@ Namespace Modelos Exit For End If - If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Serie, CveVentaDetalle:=CveVentaDetalle) Then + If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Serie, CveVentaDetalle:=CveVentaDetalle, CveVentaDetalleRemision:=CveVentaDetalleRemision) Then ContadorMovtosDetalles += 1 Else OcurrioError = True @@ -5128,7 +5133,12 @@ Namespace Modelos End If End If - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, FechaCaducidad:=FechaCaducidad) Then + Dim CveVentaDetalleRemision As Integer = -1 + If CveConceptoMovimiento = 41 Then + CveVentaDetalleRemision = Dr("CveVentaDetalleRemision").ToString.ToEntero() + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, FechaCaducidad:=FechaCaducidad, CveVentaDetalleRemision:=CveVentaDetalleRemision) Then ErrorCancelar = True MensajeError = "Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar." Exit For @@ -7191,25 +7201,34 @@ Namespace Modelos HttpContext.Current.Application("GlobalDTEmpresas") = value End Set End Property - Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1) As DataTable + Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1, Optional CveClasificacion As Integer = -1) As DataTable Get + Dim AppNombre As String = String.Format("GlobalDTClasificaciones-{0}", CveEmpresa) + 'sino existe, recarga los datos + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Dim ObjClasificaciones As New ClsClasificaciones + If ObjClasificaciones.GetClasificaciones(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjClasificaciones.DtResultados + ObjClasificaciones.Dispose() + End If If CveEmpresa <> -1 Then Dim Str As New StringBuilder Str.AppendFormat("CveEmpresa = {0}", CveEmpresa) If CveCategoria <> -1 Then Str.AppendFormat(" AND CveCategoria = {0}", CveCategoria) If UsoClasificacion <> -1 Then Str.AppendFormat(" AND UsoClasificacion IN ({0},3) ", UsoClasificacion) - Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTClasificaciones"), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows) + If CveClasificacion <> -1 Then Str.AppendFormat(" AND CveClasificacion = {0}", CveClasificacion) + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows) GlobalDTClasificaciones = Dv.ToTable Dv.Dispose() Else - GlobalDTClasificaciones = DirectCast(HttpContext.Current.Application("GlobalDTClasificaciones"), DataTable) + GlobalDTClasificaciones = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) End If End Get Set(value As DataTable) - HttpContext.Current.Application("GlobalDTClasificaciones") = value + Dim AppNombre As String = String.Format("GlobalDTClasificaciones-{0}", CveEmpresa) + HttpContext.Current.Application(AppNombre) = value End Set End Property Property GlobalDTClasificaciones2(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1) As DataTable diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 3fafd9f2e..e6d226c83 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1908,6 +1908,7 @@ Public Class Timbrado ' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E") 'cfdi.Decimales = 4 + cfdi.QuitarCerosDecimalDerecha = True ' no limita a 2 decimales, el atributo, de cantidad y precio unitario #Region "Certificado" cfdi.CertificadoArchivo(ArchivoCertificado) #End Region @@ -1962,7 +1963,7 @@ Public Class Timbrado If ObjCFDITimbre.Conceptos IsNot Nothing AndAlso ObjCFDITimbre.Conceptos.Count > 0 Then For Each concep As CFDIConceptos In ObjCFDITimbre.Conceptos - cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario, concep.Importe, concep.Descuento) + cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad.ToString("0.00####"), concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario.ToString("0.00####"), concep.Importe, concep.Descuento) For Each imp As CFDIConceptosImpuestos In concep.Impuestos If imp.TrasladooRetencion = "T" Then cfdi.ImpuestoConceptoTraslado(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe) @@ -2158,8 +2159,8 @@ Public Class Timbrado cfdi.CartaPorteMercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion) If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias - cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, concep.Embalaje, concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) - Next + cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) + Next End If End If @@ -2184,8 +2185,9 @@ Public Class Timbrado If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores - cfdi.CartaPorteOperador(concep.RFCOperador, concep.NumLicencia, concep.NombreOperador, concep.NumRegidTribOperador, concep.ResidenciaFiscalOperador) - Next + cfdi.CartaPorteOperador(concep.RFCOperador, concep.NumLicencia, concep.NombreOperador, concep.NumRegidTribOperador, concep.ResidenciaFiscalOperador) + cfdi.CartaPorteOperadorDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) + Next End If End If @@ -3711,8 +3713,8 @@ Public Class Timbrado End If ComPag.Pago(0).DoctoRelacionado(i).Folio = doc.Folio ComPag.Pago(0).DoctoRelacionado(i).MonedaDR = doc.MonedaDR - ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDRSpecified = If(doc.TipoCambioDR.ToDecimal = 0, False, True) - ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDR = doc.TipoCambioDR.ToDecimal + ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDRSpecified = If(doc.TipoCambioDR = 0, False, True) + ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDR = doc.TipoCambioDR ComPag.Pago(0).DoctoRelacionado(i).MetodoDePagoDR = doc.MetodoDePagoDR ComPag.Pago(0).DoctoRelacionado(i).NumParcialidad = doc.NumParcialidad.ToString @@ -3784,9 +3786,8 @@ Public Class Timbrado ''DATOS GENERALES Dim ComCartaPorte = New ProfactCartaPorte.CartaPorte() - Dim Transp As ProfactCartaPorte.CartaPorteTranspInternac - ComCartaPorte.TranspInternac = If(Carta.TranspInternac = "No", Transp.No, Transp.Sí) - ComCartaPorte.EntradaSalidaMercSpecified = False + ComCartaPorte.TranspInternac = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteTranspInternac), Carta.TranspInternac), ProfactCartaPorte.CartaPorteTranspInternac) + ComCartaPorte.EntradaSalidaMercSpecified = False ComCartaPorte.ViaEntradaSalidaSpecified = False ComCartaPorte.TotalDistRecSpecified = False @@ -3875,11 +3876,13 @@ Public Class Timbrado If concep.ClaveMaterialPeligroso <> "" Then ComCartaPorte.Mercancias.Mercancia(i).MaterialPeligrosoSpecified = True ComCartaPorte.Mercancias.Mercancia(i).CveMaterialPeligrosoSpecified = True - End If - If concep.Embalaje <> "" Then + 'si lleva material pelgroso, debe llevar embalaje ComCartaPorte.Mercancias.Mercancia(i).EmbalajeSpecified = True ComCartaPorte.Mercancias.Mercancia(i).Embalaje = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoEmbalaje), "Item" & concep.Embalaje), ProfactCartaPorte.c_TipoEmbalaje) + End If + + ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False diff --git a/Ashx/SigFiles.ashx b/Ashx/SigFiles.ashx index bb4a91d48..3ab1e80ad 100644 --- a/Ashx/SigFiles.ashx +++ b/Ashx/SigFiles.ashx @@ -33,7 +33,9 @@ public class SigFiles : IHttpHandler { mimeType = MimeMapping.GetMimeMapping(path); } - catch (Exception) { }//si truena no existe el arhivo + catch (Exception ex) { + this.GuardaLog(ex.ToString()); + }//si truena no existe el arhivo context.Response.Clear(); context.Response.ClearHeaders(); context.Response.ClearContent(); diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx index 8171b5431..7ab7d8c50 100644 --- a/Ashx/TareasProgramadas.ashx +++ b/Ashx/TareasProgramadas.ashx @@ -8,9 +8,59 @@ Imports Newtonsoft.Json.Linq Imports Extensiones Imports System.IO Imports CrystalDecisions.CrystalReports.Engine -Imports CrystalDecisions.Shared +Imports CrystalDecisions.Shared +Imports Microsoft.Reporting.WebForms -Public Class TareasProgramadas : Implements IHttpHandler +Public Class TareasProgramadas : Implements IHttpHandler + + + Private ReadOnly Property GlobalDTUsuariosE140(Optional CveUsuario As Integer = -1, Optional CveCliente As Integer = -1, Optional CveProveedor As Integer = -1) As DataTable + Get + Dim CveEmpresa As Integer = 140 + Dim Str As New StringBuilder + If CveUsuario <> -1 Then Str.AppendFormat("CveUsuario = {0}", CveUsuario) + If CveEmpresa <> -1 Then Str.AppendFormat(" {0} CveEmpresa = {1}", If(Str.Length > 0, "AND", ""), CveEmpresa) + If CveCliente <> -1 Then Str.AppendFormat(" {0} CveCliente = {1}", If(Str.Length > 0, "AND", ""), CveCliente) + If CveProveedor <> -1 Then Str.AppendFormat(" {0} CveProveedor = {1}", If(Str.Length > 0, "AND", ""), CveProveedor) + + If CveUsuario <> -1 OrElse CveEmpresa <> -1 Then + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTUsuarios"), DataTable), Str.ToString, "", DataViewRowState.CurrentRows) + GlobalDTUsuariosE140 = Dv.ToTable + Dv.Dispose() + Else + GlobalDTUsuariosE140 = DirectCast(HttpContext.Current.Application("GlobalDTUsuarios"), DataTable) + End If + End Get + End Property + + Public Shared ReadOnly Property GlobalDTSubProyectosE140(CveProyecto As Integer, Optional CveSubProyecto As Integer = -1, Optional Estatus As Integer = 1) As DataTable + Get + Dim CveEmpresa As Integer = 140 + Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa) + 'sino existe, recarga los datos + If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Or (DirectCast(HttpContext.Current.Application(AppNombre), DataTable) IsNot Nothing AndAlso DirectCast(HttpContext.Current.Application(AppNombre), DataTable).Rows.Count = 0) Then + Dim P As New ClsSubProyectos + If P.GetSubProyectos(CveEmpresa:=CveEmpresa) Then HttpContext.Current.Application(AppNombre) = P.DtResultados + P.Dispose() + End If + + If CveProyecto <> -1 OrElse CveSubProyecto <> -1 OrElse CveEmpresa <> -1 OrElse Estatus <> -1 Then + Dim StrSQL As New StringBuilder + If CveProyecto <> -1 Then StrSQL.AppendFormat(" AND CveProyecto = {0}", CveProyecto) + If CveSubProyecto <> -1 Then StrSQL.AppendFormat(" AND CveSubProyecto = {0}", CveSubProyecto) + If Estatus <> -1 Then StrSQL.AppendFormat(" AND CveEstatus = {0}", Estatus) + If CveEmpresa <> -1 Then StrSQL.AppendFormat(" AND CveEmpresa = {0}", CveEmpresa) + + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), "", DataViewRowState.CurrentRows) + GlobalDTSubProyectosE140 = Dv.ToTable + Dv.Dispose() + + Else + GlobalDTSubProyectosE140 = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) + End If + + End Get + End Property Private currentcontext As HttpContext Private URLParametros As New Hashtable @@ -20,6 +70,8 @@ Public Class TareasProgramadas : Implements IHttpHandler Dim retorno As String = "no se encontro la variable" Try Dim metodo As String = "" + Dim FechaActual As DateTime = Now + Dim FechaEnvio As DateTime = FechaActual If context.Request("var") IsNot Nothing Then URLParametros = Parametros(context.Request("var")) @@ -36,6 +88,9 @@ Public Class TareasProgramadas : Implements IHttpHandler End Using ElseIf context.Request("metodo") IsNot Nothing Then metodo = context.Request("metodo").ToString() + If context.Request("FechaEnvio") IsNot Nothing Then + FechaEnvio = context.Request("FechaEnvio").ToString().ToDateTime() + End If End If Select Case metodo @@ -46,7 +101,10 @@ Public Class TareasProgramadas : Implements IHttpHandler context.Response.Write(retorno) Case "EstadosCuenta" 'CargaEstadosCuenta(context, 119, 227774) - CargaEstadosCuenta(context, 119, -1) + CargaEstadosCuenta(context, 119, -1, FechaEnvio, FechaActual) + + Case "ScoreCard" + CargaScoreCard(context, 140, FechaEnvio) End Select Catch ex As Exception ex.GuardaLog(ex.ToString()) @@ -270,7 +328,7 @@ Public Class TareasProgramadas : Implements IHttpHandler #Region "E S T A D O S D E C U E N T A" - Private Sub CargaEstadosCuenta(ByVal context As HttpContext, pCveEmpresa As Integer, pCveCliente As Integer) + Private Sub CargaEstadosCuenta(ByVal context As HttpContext, pCveEmpresa As Integer, pCveCliente As Integer, FechaEnvio As DateTime, FechaActual As DateTime) Dim Retorno As New JArray() Dim DtEmpresas As DataTable = Nothing Using ObjEmpresas As New ClsSisEmpresas() @@ -282,7 +340,7 @@ Public Class TareasProgramadas : Implements IHttpHandler If DtEmpresas IsNot Nothing Then For Each Row As DataRow In DtEmpresas.Rows Dim Usuario = ValidaUsuarioSistema(Row("CveEmpresa").ToString().ToEntero()) - Dim obj = EjecutarEnvioEstadoCuenta(Usuario, pCveCliente:=pCveCliente) + Dim obj = EjecutarEnvioEstadoCuenta(Usuario, FechaEnvio, FechaActual, pCveCliente:=pCveCliente) Retorno.Add(obj) Next @@ -331,7 +389,7 @@ Public Class TareasProgramadas : Implements IHttpHandler End Sub - Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, Optional pCveCliente As Integer = -1) As JObject + Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, FechaEnvio As DateTime, FechaActual As DateTime, Optional pCveCliente As Integer = -1) As JObject Dim ClientesSinEnviar As New JArray() Dim ClientesEdoEnviado As New JArray() @@ -341,78 +399,133 @@ Public Class TareasProgramadas : Implements IHttpHandler New JProperty("Fecha", DateTime.Now.ToString("dd/MM/yyy HH:mm:ss")) ) Dim DTClientes As DataTable = Nothing + Dim EnviarPendientes As Boolean = False - 'Using ObjCliente As New ClsClientes - ' If ObjCliente.GetClientes(pCveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1, Estatus:=1) Then - ' If ObjCliente.DtResultados.Rows.Count > 0 Then - ' DTClientes = ObjCliente.DtResultados.Copy() - ' End If - ' End If - 'End Using + If FechaActual <> FechaEnvio Then + EnviarPendientes = True + End If - Using ObjMov As New ClsMovimientos - Dim FechaI As String = "-1" - Dim FechaF As String = "-1" - Dim FechaVI As String = "-1" - Dim FechaVF As String = "-1" - Dim TCEspecifico = -1 + If Not EnviarPendientes Then + Using ObjMov As New ClsMovimientos + Dim FechaI As String = "-1" + Dim FechaF As String = "-1" + Dim FechaVI As String = "-1" + Dim FechaVF As String = "-1" + Dim TCEspecifico = -1 - Dim CveCobranzaEstatus As Integer = -1 - Dim CveClienteClasificacion As Integer = -1 - Dim CveCliente As Integer = -1 - Dim AplicaAnticipos As Integer = 0 + Dim CveCobranzaEstatus As Integer = -1 + Dim CveClienteClasificacion As Integer = -1 + Dim CveCliente As Integer = -1 + Dim AplicaAnticipos As Integer = 0 - Dim CveSubProyecto As Integer = -1 - Dim CveVendedor As Integer = -1 - Dim Grupo As Integer = 5 - Dim TipoCambio As Integer = 1 - Dim TipoDocto As String = "-1" - Dim FechaCorte As DateTime = New DateTime(Now.Year, 12, 31) + Dim CveSubProyecto As Integer = -1 + Dim CveVendedor As Integer = -1 + Dim Grupo As Integer = 5 + Dim TipoCambio As Integer = 1 + Dim TipoDocto As String = "-1" + Dim FechaCorte As DateTime = New DateTime(Now.Year, 12, 31) - If ObjMov.GetCxC(FechaI, FechaF, CveCliente, CveSubProyecto, CveVendedor, -1, -1, "-1", UsuarioActual.CveEmpresa, Grupo, -1, TipoCambio, TCEspecifico, TipoDocto, FechaVI, FechaVF, FechaCorte:=FechaCorte, - EstatusCliente:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveCobranzaEstatus:=CveCobranzaEstatus, CveClienteClasificacion:=-1, TipoCliente:=-1, AplicaAnticiposPagados:=AplicaAnticipos) Then - DTClientes = ObjMov.DtResultados.FiltraParametros("CveCliente > 0", DistinctColumns:={"CveCliente"}) - End If + If ObjMov.GetCxC(FechaI, FechaF, CveCliente, CveSubProyecto, CveVendedor, -1, -1, "-1", UsuarioActual.CveEmpresa, Grupo, -1, TipoCambio, TCEspecifico, TipoDocto, FechaVI, FechaVF, FechaCorte:=FechaCorte, + EstatusCliente:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveCobranzaEstatus:=CveCobranzaEstatus, CveClienteClasificacion:=-1, TipoCliente:=-1, AplicaAnticiposPagados:=AplicaAnticipos) Then + DTClientes = ObjMov.DtResultados.FiltraParametros("CveCliente > 0", DistinctColumns:={"CveCliente"}) + End If - End Using + End Using + End If - If DTClientes IsNot Nothing Then + + If DTClientes IsNot Nothing OrElse EnviarPendientes Then 'DTClientes = DTClientes.FiltraParametros("CveCliente IN (227289,227429,227733,227838,228181,228544,229176,229481,230029,230432,230860,230911,230918,231197,231576,232173,232185,233055,233295,233357,233588,236379,236460,237161,237635,238285,238530,238622,238724,239033,239099,239865,239895,239903,240202,240235,240236,240238,240303,240340,262404,262517,264765,264806,264825,264848,264930,265063,265180,265213,265214,265236,265344,265492,265555,265669,265797,265952,265963,266156,266182,268346,268396,268488,268535,268539,268558,268562,268706,268726,268787,268868,268889,268910,268925,269023,269081,269089,272066,272070,272657,273080,273084,275627,276259,276587,281115,283110,284664,285392,287653,288711,291374,292444,295578,296375,296598,302728,303936,306897,307183,311007,320060,320685,320800,323520,323772,325237,326996,327801,330630,331741,332118,337105,340502,341796,342807,343858,355862,358123,365794,371524,375391,377122,377948,378267,380167,381210,381878,383098,383250,383339,383650,384472,385321,385585,386630,387114,388987,396341,396405,396541,401995,404175,408306,416386,416819,420275,438732,447566,447636,450284,464150,464376,468051,475172,475932,476984,477997,478426)") + Dim DtNotificaciones As DataTable = Nothing - For Each RowCliente As DataRow In DTClientes.Rows - - Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero() - Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa) + Dim TieneErrorRegistro As Boolean = False - If Cliente IsNot Nothing Then - Dim Correo As String = Cliente.CobranzaCorreo '"japmx95@gmail.com" 'RowCliente("CobranzaCorreo").ToString() + Dim ObjMovimientos As New ClsMovimientos + ObjMovimientos.IniciaTransacSQL() - Dim Envio As Boolean = False - If Not String.IsNullOrEmpty(Correo) Then - Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente) - End If + If Not EnviarPendientes Then + Try + For Each RowCliente As DataRow In DTClientes.Rows + If Not ObjMovimientos.AddNotificacionEdoCuentaCliente(RowCliente("CveCliente").ToString().ToEntero(), FechaEnvio) Then + GuardaLog("Ocurrio un error al agregar las notificaciones de edo cuenta. CveCliente: " + RowCliente("CveCliente").ToString()) + TieneErrorRegistro = True + Exit For + End If + Next + Catch ex As Exception + GuardaLog("Ocurrio un error al agregar las notificaciones de edo cuenta" + ex.ToString()) + TieneErrorRegistro = True + End Try + End If - If Envio Then - - ClientesEdoEnviado.Add(New JObject( - New JProperty("CveCliente", Cliente.CveCliente), - New JProperty("Cliente", Cliente.Nombre) - )) - - Using ObjBitacora As New ClsOIEventos - ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente) - End Using - Else - ClientesSinEnviar.Add(New JObject( - New JProperty("CveCliente", Cliente.CveCliente), - New JProperty("Cliente", Cliente.Nombre) - )) - End If + If Not TieneErrorRegistro Then + If ObjMovimientos.GetNotificacionEdoCuentaCliente(UsuarioActual.CveEmpresa, -1, FechaEnvio) Then + DtNotificaciones = ObjMovimientos.DtResultados.Copy() + Else + TieneErrorRegistro = True End If - - Next - DTClientes.Dispose() + End If + + + If Not TieneErrorRegistro Then + ObjMovimientos.Commit() + Else + ObjMovimientos.RollBack() + If DtNotificaciones IsNot Nothing Then + DtNotificaciones.Clear() + DtNotificaciones = Nothing + End If + End If + ObjMovimientos.Dispose() + DTClientes.Dispose() + + Try + If DtNotificaciones IsNot Nothing Then + For Each Row As DataRow In DtNotificaciones.Rows + Dim CveCliente As Integer = Row("CveCliente").ToString().ToEntero() + Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa) + + If Cliente IsNot Nothing Then + Dim Correo As String = Cliente.CobranzaCorreo + + Dim Envio As Boolean = False + If Not String.IsNullOrEmpty(Correo) Then + Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente) + End If + + If Envio Then + + Using ObjMov As New ClsMovimientos + ObjMov.UpdateNotificacionEdoCuentaCliente(Row("CveNotificacionBitacora").ToString().ToEntero(), Notifico:=True) + End Using + + ClientesEdoEnviado.Add(New JObject( + New JProperty("CveCliente", Cliente.CveCliente), + New JProperty("Cliente", Cliente.Nombre) + )) + + Using ObjBitacora As New ClsOIEventos + ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente) + End Using + Else + ClientesSinEnviar.Add(New JObject( + New JProperty("CveCliente", Cliente.CveCliente), + New JProperty("Cliente", Cliente.Nombre) + )) + End If + End If + Next + End If + + Catch ex As Exception + GuardaLog("Ocurrio un error al agregar las notificaciones de edo cuenta. " + ex.ToString()) + End Try + + If DtNotificaciones IsNot Nothing Then + DtNotificaciones.Dispose() + End If + End If Json.Add(New JProperty("ClientesSinEnviar", ClientesSinEnviar)) Json.Add(New JProperty("ClientesEdoEnviado", ClientesEdoEnviado)) @@ -422,244 +535,245 @@ Public Class TareasProgramadas : Implements IHttpHandler Private Function EnviarEstadoCuenta(UsuarioActual As Usuario, Correo As String, Cliente As Modelos.ClienteModel) As Boolean Dim Retorno As Boolean = True - - Dim ArchivoPDF As Byte() = Nothing - - Dim Formato As String = "PDF" - Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepClientesCxC.rpt", UsuarioActual.Empresa.Ruta)) - Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) - Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa) - 'OBTENEMOS LOS DATOS - Dim DtCxCFact As DataTable = Nothing - - Dim SaldoIngDolares As Double = 0 - Dim SaldoIngPesos As Double = 0 - Dim SaldoIngDolaresPesos As Double = 0 - Dim TotalIng As Double = 0 - Dim SaldoAntDolares As Double = 0 - Dim SaldoAntPesos As Double = 0 - Dim SaldoAntDolaresPesos As Double = 0 - Dim TotalAnt As Double = 0 - Dim ContaIng As Integer = 0 - Dim ContaAnt As Integer = 0 - Dim FechaCorte As Date = ("9999/01/01").ToDate - - Dim TipoDocto2 As String = "'Ing','NC','Dev'" - Dim FechaVencimientoI As String = "-1" - Dim FechaVencimientoF As String = "-1" - Dim FI As String = "-1" - Dim FF As String = "-1" - Dim dtt As DataTable = Nothing - Try - Using ObjMovtos As New ClsMovimientos() - If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then - DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "TipoDocto") - 'cargo los anticipos NC - DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal)) - If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then - dtt = ObjMovtos.DtResultados.FiltraParametros("Saldo > 0 AND SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )") - End If - End If - End Using - Catch ex As Exception - Retorno = False - dtt = Nothing - OnError("Ocurrió un erro al obtener el CxC", ex) - End Try + Dim ArchivoPDF As Byte() = Nothing - If Not Retorno Then - Return Retorno - End If + Dim Formato As String = "PDF" + Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepClientesCxC.rpt", UsuarioActual.Empresa.Ruta)) + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa) + 'OBTENEMOS LOS DATOS + Dim DtCxCFact As DataTable = Nothing - Try - If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then - For Each drt As DataRow In dtt.Rows - Dim drr As DataRow = DtCxCFact.NewRow - drr("TipoDocto") = drt("Tipo") - drr("SerieFolio") = drt("Folio") - drr("Original") = drt("Original") - drr("TipoCambio") = drt("TipoCambio") - drr("Saldo") = 0 - drr("SaldoAnticipo") = drt("Saldo") - drr("Fecha") = drt("Fecha") - drr("Moneda") = drt("Moneda") - drr("CveMoneda") = drt("CveMoneda") - DtCxCFact.Rows.Add(drr) - Next - End If + Dim SaldoIngDolares As Double = 0 + Dim SaldoIngPesos As Double = 0 + Dim SaldoIngDolaresPesos As Double = 0 + Dim TotalIng As Double = 0 + Dim SaldoAntDolares As Double = 0 + Dim SaldoAntPesos As Double = 0 + Dim SaldoAntDolaresPesos As Double = 0 + Dim TotalAnt As Double = 0 + Dim ContaIng As Integer = 0 + Dim ContaAnt As Integer = 0 + Dim FechaCorte As Date = ("9999/01/01").ToDate - If DtCxCFact IsNot Nothing Then - For Each Row As DataRow In DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})").Rows - If Row("TipoDocto").ToString = "Ing" Or Row("TipoDocto").ToString = "Rem" Or (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble > 0) Then 'Ingresos - ContaIng = ContaIng + 1 - If Row("CveMoneda").ToString.ToEntero = 1 Then - SaldoIngPesos = SaldoIngPesos + Row("Saldo").ToString.ToDouble - ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then - SaldoIngDolares = SaldoIngDolares + Row("Saldo").ToString.ToDouble - SaldoIngDolaresPesos = SaldoIngDolaresPesos + (Row("Saldo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble) - End If + Dim TipoDocto2 As String = "'Ing','NC','Dev'" + Dim FechaVencimientoI As String = "-1" + Dim FechaVencimientoF As String = "-1" + Dim FI As String = "-1" + Dim FF As String = "-1" + Dim dtt As DataTable = Nothing - ElseIf (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble = 0) Or Row("TipoDocto").ToString = "IxC" Or Row("TipoDocto").ToString = "NC" Or Row("TipoDocto").ToString = "Dev" Then 'Anticipos, NC, IxC - ContaAnt = ContaAnt + 1 - If Row("CveMoneda").ToString.ToEntero = 1 Then - If Row("TipoDocto").ToString = "Dev" Then - SaldoAntPesos = SaldoAntPesos + Row("Saldo").ToString.ToDouble - Else - SaldoAntPesos = SaldoAntPesos + Row("SaldoAnticipo").ToString.ToDouble - End If - ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then - SaldoAntDolares = SaldoAntDolares + Row("Saldo").ToString.ToDouble - SaldoAntDolaresPesos = SaldoAntDolaresPesos + (Row("SaldoAnticipo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble) + Try + Using ObjMovtos As New ClsMovimientos() + If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then + DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "TipoDocto") + 'cargo los anticipos NC + DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal)) + If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then + dtt = ObjMovtos.DtResultados.FiltraParametros("Saldo > 0 AND SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )") End If End If - Next - End If - - TotalIng = SaldoIngPesos + SaldoIngDolaresPesos - TotalAnt = SaldoAntPesos + SaldoAntDolaresPesos - - If TotalIng.RoundSQL(2) = 0 AndAlso TotalAnt.RoundSQL(2) = 0 Then + End Using + Catch ex As Exception Retorno = False + dtt = Nothing + GuardaLog("Ocurrió un erro al obtener el CxC. " + ex.ToString()) + End Try + + If Not Retorno Then Return Retorno End If - Dim DtCxCFact2 As DataTable = DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})") - - 'INGRESOS - If SaldoIngPesos > 0 Then - Dim drr As DataRow = DtCxCFact2.NewRow - drr("SerieFolio") = "Total Ing Pesos" - drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") - drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") - drr("Saldo") = SaldoIngPesos - drr("CveMoneda") = 1 - DtCxCFact2.Rows.Add(drr) - End If - If SaldoIngDolares > 0 Then - Dim drr As DataRow = DtCxCFact2.NewRow - drr("SerieFolio") = "Total Ing Dólares" - drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") - drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") - drr("Saldo") = SaldoIngDolares - drr("CveMoneda") = 2 - DtCxCFact2.Rows.Add(drr) - End If - - 'ANTICIPOS - If SaldoAntPesos > 0 Then - Dim drr As DataRow = DtCxCFact2.NewRow - drr("SerieFolio") = "Total Pesos" - drr("SaldoAnticipo") = SaldoAntPesos - drr("CveMoneda") = 1 - DtCxCFact2.Rows.Add(drr) - End If - If SaldoAntDolares > 0 Then - Dim drr As DataRow = DtCxCFact2.NewRow - drr("SerieFolio") = "Total Dólares" - drr("SaldoAnticipo") = SaldoAntDolares - drr("CveMoneda") = 2 - DtCxCFact2.Rows.Add(drr) - End If - - If DtCxCFact2 IsNot Nothing AndAlso DtCxCFact2.Rows.Count > 0 Then - Dim dr As DataRow = DtCxCFact2.Rows(0) - Dim lista = New List(Of CrystalParametro) - lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) - lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo")) - lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre)) - lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI))) - lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF))) - lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) - lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia))) - lista.Add(New CrystalParametro("ClienteCP", Cliente.CP)) - lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad)) - lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC)) - lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono)) - lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza)) - lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito)) - lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito - DtCxCFact2(0)("Saldo").ToString.ToDouble).FormatoNumero)) - lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero)) - lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero)) - lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero)) - lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero)) - lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero)) - lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero)) - lista.Add(New CrystalParametro("ContaIng", ContaIng)) - lista.Add(New CrystalParametro("ContaAnt", ContaAnt)) - - If Imagen.Exists Then - lista.Add(New CrystalParametro("LogoPath", logouri)) - Else - lista.Add(New CrystalParametro("LogoPath", "")) + Try + If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then + For Each drt As DataRow In dtt.Rows + Dim drr As DataRow = DtCxCFact.NewRow + drr("TipoDocto") = drt("Tipo") + drr("SerieFolio") = drt("Folio") + drr("Original") = drt("Original") + drr("TipoCambio") = drt("TipoCambio") + drr("Saldo") = 0 + drr("SaldoAnticipo") = drt("Saldo") + drr("Fecha") = drt("Fecha") + drr("Moneda") = drt("Moneda") + drr("CveMoneda") = drt("CveMoneda") + DtCxCFact.Rows.Add(drr) + Next End If - Try + If DtCxCFact IsNot Nothing Then + For Each Row As DataRow In DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})").Rows + If Row("TipoDocto").ToString = "Ing" Or Row("TipoDocto").ToString = "Rem" Or (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble > 0) Then 'Ingresos + ContaIng = ContaIng + 1 + If Row("CveMoneda").ToString.ToEntero = 1 Then + SaldoIngPesos = SaldoIngPesos + Row("Saldo").ToString.ToDouble + ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then + SaldoIngDolares = SaldoIngDolares + Row("Saldo").ToString.ToDouble + SaldoIngDolaresPesos = SaldoIngDolaresPesos + (Row("Saldo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble) + End If + + ElseIf (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble = 0) Or Row("TipoDocto").ToString = "IxC" Or Row("TipoDocto").ToString = "NC" Or Row("TipoDocto").ToString = "Dev" Then 'Anticipos, NC, IxC + ContaAnt = ContaAnt + 1 + If Row("CveMoneda").ToString.ToEntero = 1 Then + If Row("TipoDocto").ToString = "Dev" Then + SaldoAntPesos = SaldoAntPesos + Row("Saldo").ToString.ToDouble + Else + SaldoAntPesos = SaldoAntPesos + Row("SaldoAnticipo").ToString.ToDouble + End If + ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then + SaldoAntDolares = SaldoAntDolares + Row("Saldo").ToString.ToDouble + SaldoAntDolaresPesos = SaldoAntDolaresPesos + (Row("SaldoAnticipo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble) + End If + End If + Next + End If + + TotalIng = SaldoIngPesos + SaldoIngDolaresPesos + TotalAnt = SaldoAntPesos + SaldoAntDolaresPesos + + If TotalIng.RoundSQL(2) = 0 AndAlso TotalAnt.RoundSQL(2) = 0 Then + Retorno = False + Return Retorno + End If + + Dim DtCxCFact2 As DataTable = DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})") + + 'INGRESOS + If SaldoIngPesos > 0 Then + Dim drr As DataRow = DtCxCFact2.NewRow + drr("SerieFolio") = "Total Ing Pesos" + drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") + drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") + drr("Saldo") = SaldoIngPesos + drr("CveMoneda") = 1 + DtCxCFact2.Rows.Add(drr) + End If + If SaldoIngDolares > 0 Then + Dim drr As DataRow = DtCxCFact2.NewRow + drr("SerieFolio") = "Total Ing Dólares" + drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") + drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") + drr("Saldo") = SaldoIngDolares + drr("CveMoneda") = 2 + DtCxCFact2.Rows.Add(drr) + End If + + 'ANTICIPOS + If SaldoAntPesos > 0 Then + Dim drr As DataRow = DtCxCFact2.NewRow + drr("SerieFolio") = "Total Pesos" + drr("SaldoAnticipo") = SaldoAntPesos + drr("CveMoneda") = 1 + DtCxCFact2.Rows.Add(drr) + End If + If SaldoAntDolares > 0 Then + Dim drr As DataRow = DtCxCFact2.NewRow + drr("SerieFolio") = "Total Dólares" + drr("SaldoAnticipo") = SaldoAntDolares + drr("CveMoneda") = 2 + DtCxCFact2.Rows.Add(drr) + End If + + If DtCxCFact2 IsNot Nothing AndAlso DtCxCFact2.Rows.Count > 0 Then + Dim dr As DataRow = DtCxCFact2.Rows(0) + Dim lista = New List(Of CrystalParametro) + lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) + lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo")) + lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre)) + lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI))) + lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF))) + lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) + lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia))) + lista.Add(New CrystalParametro("ClienteCP", Cliente.CP)) + lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad)) + lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC)) + lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono)) + lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza)) + lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito)) + lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito - DtCxCFact2(0)("Saldo").ToString.ToDouble).FormatoNumero)) + lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero)) + lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero)) + lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero)) + lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero)) + lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero)) + lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero)) + lista.Add(New CrystalParametro("ContaIng", ContaIng)) + lista.Add(New CrystalParametro("ContaAnt", ContaAnt)) + + If Imagen.Exists Then + lista.Add(New CrystalParametro("LogoPath", logouri)) + Else + lista.Add(New CrystalParametro("LogoPath", "")) + End If + + Try + If Archivo.Exists Then + ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato) + Else + ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato) + End If + + Catch ex As Exception + ArchivoPDF = Nothing + GuardaLog("Ocurrió un erro al obtener el CxC" + ex.ToString()) + End Try + Else + Dim lista = New List(Of CrystalParametro) + lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) + lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo")) + lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre)) + lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI))) + lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF))) + lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) + lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia))) + lista.Add(New CrystalParametro("ClienteCP", Cliente.CP)) + lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad)) + lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC)) + lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono)) + lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza)) + lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito)) + lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito).FormatoNumero)) + + lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero)) + lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero)) + lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero)) + lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero)) + lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero)) + lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero)) + lista.Add(New CrystalParametro("ContaIng", ContaIng)) + lista.Add(New CrystalParametro("ContaAnt", ContaAnt)) + + If Imagen.Exists Then + lista.Add(New CrystalParametro("LogoPath", logouri)) + Else + lista.Add(New CrystalParametro("LogoPath", "")) + End If + + Dim drr As DataRow = DtCxCFact2.NewRow + drr("SerieFolio") = "Total Ing Pesos" + drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") + drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") + drr("Saldo") = 0 + drr("SaldoAnticipo") = 0 + drr("CveMoneda") = 1 + DtCxCFact2.Rows.Add(drr) + If Archivo.Exists Then ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato) Else ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato) End If - - Catch ex As Exception - OnError("Ocurrió error al mandar MAIL de Orden de Compra", ex) - End Try - Else - Dim lista = New List(Of CrystalParametro) - lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) - lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo")) - lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre)) - lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI))) - lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF))) - lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) - lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia))) - lista.Add(New CrystalParametro("ClienteCP", Cliente.CP)) - lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad)) - lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC)) - lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono)) - lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza)) - lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito)) - lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito).FormatoNumero)) - - lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero)) - lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero)) - lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero)) - lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero)) - lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero)) - lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero)) - lista.Add(New CrystalParametro("ContaIng", ContaIng)) - lista.Add(New CrystalParametro("ContaAnt", ContaAnt)) - - If Imagen.Exists Then - lista.Add(New CrystalParametro("LogoPath", logouri)) - Else - lista.Add(New CrystalParametro("LogoPath", "")) End If - Dim drr As DataRow = DtCxCFact2.NewRow - drr("SerieFolio") = "Total Ing Pesos" - drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") - drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)") - drr("Saldo") = 0 - drr("SaldoAnticipo") = 0 - drr("CveMoneda") = 1 - DtCxCFact2.Rows.Add(drr) + Catch ex As Exception + GuardaLog("Ocurrió un error al generar el pdf" + ex.ToString()) + ArchivoPDF = Nothing + End Try - If Archivo.Exists Then - ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato) - Else - ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato) - End If - End If - - Catch ex As Exception - OnError("Ocurrió un error al generar el pdf", ex) - ArchivoPDF = Nothing - End Try - - If ArchivoPDF IsNot Nothing Then - Try - Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente del correo se anexa su estado actual de cartera en {1}.
    + If ArchivoPDF IsNot Nothing Then + Try + Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente del correo se anexa su estado actual de cartera en {1}.

    Quedamos a sus ordenes para cualquier duda o aclaración con su agente de Ventas.

    @@ -668,16 +782,18 @@ Public Class TareasProgramadas : Implements IHttpHandler
    ESTE CORREO SE GENERO EN FORMA AUTOMATICA.", Cliente.NombreComercial, UsuarioActual.Empresa.Empresa) - Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo)) - Hilo.Start() - Retorno = True - Catch ex As Exception + Retorno = MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo) + Catch ex As Exception + Retorno = False + GuardaLog("Ocurrió error al mandar el correo de estado de cuenta. " + ex.ToString()) + End Try + Else Retorno = False - OnError("Ocurrió error al mandar el correo de estado de cuenta", ex) - End Try - Else + End If + Catch ex As Exception Retorno = False - End If + GuardaLog("Ocurrió error al mandar el correo de estado de cuenta" + ex.ToString()) + End Try Return Retorno End Function @@ -749,7 +865,7 @@ Public Class TareasProgramadas : Implements IHttpHandler Return Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, Archivos:=LSRutasMail) Catch ex As Exception - OnError("Ocurrió un error al enviar el correo de edo cuenta", ex) + GuardaLog("Ocurrió error al mandar el correo de estado de cuenta. " + ex.ToString()) Return False End Try @@ -780,4 +896,430 @@ Public Class TareasProgramadas : Implements IHttpHandler End Sub #End Region +#Region "S C O R E C A R D" + Private Sub CargaScoreCard(ByVal context As HttpContext, pCveEmpresa As Integer, FechaEnvio As DateTime) + Dim Usuario = ValidaUsuarioSistema(pCveEmpresa) + Dim obj = EjecutarEnvioScoreCard(Usuario, FechaEnvio) + + End Sub + + Private Function EjecutarEnvioScoreCard(UsuarioActual As Usuario, FechaEnvio As DateTime) As Boolean + Dim DtGrupoVendedores As DataTable = Nothing + Dim DtGrupoSucursales As DataTable = Nothing + Dim DtGrupoEmpresa As DataTable = Nothing + + Using ObjVentas As New ClsVentas + 'VENDEDORES + If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, -1, -1, + -1, -1, -1, + -1, -1, GrupoSuperior:=0) Then + DtGrupoVendedores = ObjVentas.DtResultados.Copy + End If + 'SUCURSAL + If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, -1, -1, + -1, -1, -1, + -1, -1, GrupoSuperior:=1) Then + DtGrupoSucursales = ObjVentas.DtResultados.Copy + End If + 'EMPRESA + If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, -1, -1, + -1, -1, -1, + -1, -1, GrupoSuperior:=2) Then + DtGrupoEmpresa = ObjVentas.DtResultados.Copy + End If + End Using + + Dim DtUsuarios As DataTable = GlobalDTUsuariosE140() + + Dim ListaDirectivos As New List(Of MUsuarioEnviar) + 'OSCAR FERNANDO LOPEZ CARRASCO + ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2138}"), TipoUsuarioEnviar.Directivo) With + { + .SubProyecto = "Todos", + .ReporteEnviar = New MReporteEnviar() With + { + .Empresa = True, .Sucursal = True, .Vendedor = True + } + }) + 'ANA IVETTE LOPEZ CARRASCO + ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2292}"), TipoUsuarioEnviar.Directivo) With + { + .SubProyecto = "Todos", + .ReporteEnviar = New MReporteEnviar() With + { + .Empresa = True, .Sucursal = True, .Vendedor = True + } + }) + 'FERNANDO MENDOZA LAMADRID + ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2275}"), TipoUsuarioEnviar.Directivo) With + { + .SubProyecto = "Todos", + .ReporteEnviar = New MReporteEnviar() With + { + .Empresa = True, .Sucursal = True, .Vendedor = True + } + }) + 'CARLOS ARMANDO MORENO GONZALEZ + ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2763}"), TipoUsuarioEnviar.Directivo) With + { + .SubProyecto = "Todos", + .ReporteEnviar = New MReporteEnviar() With + { + .Empresa = True, .Sucursal = True, .Vendedor = True + } + }) + 'EMMANUEL LOPEZ FIMBRES + ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3099}"), TipoUsuarioEnviar.Directivo) With + { + .SubProyecto = "Todos", + .ReporteEnviar = New MReporteEnviar() With + { + .Empresa = True, .Sucursal = True, .Vendedor = True + } + }) + + Dim PDFEmpresa As Byte() = GenerarScoredCardDirectivo(UsuarioActual, DtGrupoEmpresa) + Dim PDFSucursales As Byte() = GenerarScoredCardDirectivo(UsuarioActual, DtGrupoSucursales) + Dim PDFVendedores As Byte() = GenerarScoredCardDirectivo(UsuarioActual, DtGrupoVendedores) + + For Each UsuarioEnviar In ListaDirectivos + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) + + If UsuarioEnviar.ReporteEnviar.Empresa Then + LSRutasMail.Add(New ClsSisMail.ArchivoMail With + { + .ArchivoBinario = PDFEmpresa, + .NombreArchivo = "ScoreCardEmpresa.pdf" + }) + End If + + If UsuarioEnviar.ReporteEnviar.Sucursal Then + LSRutasMail.Add(New ClsSisMail.ArchivoMail With + { + .ArchivoBinario = PDFSucursales, + .NombreArchivo = "ScoreCardSucursales.pdf" + }) + End If + + If UsuarioEnviar.ReporteEnviar.Vendedor Then + LSRutasMail.Add(New ClsSisMail.ArchivoMail With + { + .ArchivoBinario = PDFVendedores, + .NombreArchivo = "ScoreCardVendedores.pdf" + }) + End If + + If LSRutasMail.Count > 0 Then + EnviarCorreoFactura(UsuarioActual, UsuarioEnviar, LSRutasMail) + End If + + Next + + Dim ListaVendedores As New List(Of MUsuarioEnviar) + 'LUIS FERNADO GRIJALVA COTA + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3236} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'FERNANDO GRIJALVA + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3293} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'ADRIAN MURRIETA + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3352} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'BRAYAM URIEL CORRALES + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2700} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'DANIEL GASTELUM + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3360} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'ALEJANDRA QUINTERO + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3336} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'RICARDO FUENTES + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3363} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + 'GERMAN LUNA + ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3354} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor)) + + For Each UsuarioEnviar In ListaVendedores + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) + Dim DtReporteVendedor As DataTable = Nothing + + If UsuarioEnviar.CveSubProyecto > 0 AndAlso UsuarioEnviar.CveVendedor > 0 Then + + Using ObjVentas As New ClsVentas + If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, UsuarioEnviar.CveVendedor, -1, + -1, -1, -1, UsuarioEnviar.CveSubProyecto, -1, GrupoSuperior:=1) Then + DtReporteVendedor = ObjVentas.DtResultados.Copy + End If + End Using + + LSRutasMail.Add(New ClsSisMail.ArchivoMail With + { + .ArchivoBinario = GenerarScoredCard(UsuarioActual, UsuarioEnviar, DtReporteVendedor), + .NombreArchivo = "ScoreCardSucursales.pdf" + }) + + If LSRutasMail.Count > 0 Then + EnviarCorreoFactura(UsuarioActual, UsuarioEnviar, LSRutasMail) + End If + + End If + Next + + Return False + End Function + + Private Sub EnviarCorreoFactura(UsuarioActual As Usuario, UsuarioEnviar As MUsuarioEnviar, LSRutasMail As List(Of ClsSisMail.ArchivoMail)) + Dim ObjMail As New ClsSisMail() + Dim Mail As String = "jonathan.perez@adssistemas.mx" + Dim MailCC As String = "rene.molina@adssistemas.mx" + + Dim ExistePDF As Boolean = False + + If Not String.IsNullOrEmpty(Mail) Then + Try + Dim Asunto As String = $"ScoreCard: {Now.ToString("dd/MM/yyyy")}" + Dim Cuerpo As String = String.Empty + Dim ResultadoMail As Integer = 0 + + If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Mail, Asunto, Cuerpo, If(String.IsNullOrEmpty(MailCC), "", MailCC), LSRutasMail) Then + ResultadoMail = 1 + End If + + Catch ex As Exception + OnError("Ocurrió error al mandar el Mail", ex) + End Try + End If + End Sub + + Protected Function GenerarScoredCard(UsuarioActual As Usuario, UsuarioEnviar As MUsuarioEnviar, DtDatos As DataTable) As Byte() + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa) + + Dim params As New List(Of ReportParameter) + params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) + If Imagen.Exists Then + params.Add(New ReportParameter("pImg", logouri)) + Else + params.Add(New ReportParameter("pImg", "")) + End If + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + params.Add(New ReportParameter("FechaImpresion", Today)) + params.Add(New ReportParameter("SubProyecto", UsuarioEnviar.SubProyecto)) + params.Add(New ReportParameter("Agente", UsuarioEnviar.Agente)) + + + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource + rds.Name = "DataSet1" + rds.Value = DtDatos + lrds.Add(rds) + + Return StreamPDF(UsuarioActual, "Empresas/Grales/Formatos/MetasVendedores.rdlc", lrds, params, "Rep. Metas por vendedores", "PDF") + End Function + + Protected Function GenerarScoredCardDirectivo(UsuarioActual As Usuario, DtDatos As DataTable) As Byte() + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa) + + Dim params As New List(Of ReportParameter) + params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) + If Imagen.Exists Then + params.Add(New ReportParameter("pImg", logouri)) + Else + params.Add(New ReportParameter("pImg", "")) + End If + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + params.Add(New ReportParameter("FechaImpresion", Today)) + params.Add(New ReportParameter("SubProyecto", "Todos")) + params.Add(New ReportParameter("Agente", "Todos")) + + + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource + rds.Name = "DataSet1" + rds.Value = DtDatos + lrds.Add(rds) + + Return StreamPDF(UsuarioActual, "Empresas/Grales/Formatos/MetasVendedores.rdlc", lrds, params, "Rep. Metas por vendedores", "PDF") + End Function + + Public Enum TipoUsuarioEnviar + Directivo + Vendedor + End Enum + + Public Class MUsuarioEnviar + + Sub New(RowUsuario As DataRow, Tipo As TipoUsuarioEnviar) + If RowUsuario IsNot Nothing Then + Me.CveUsuario = RowUsuario("CveUsuario").ToString().ToEntero() + Me.Nombre = RowUsuario("Nombre").ToString() + Me.Correo = RowUsuario("Correo").ToString() + Me.CveSubProyecto = RowUsuario("CveSubProyecto").ToString().ToEntero() + Me.CveVendedor = RowUsuario("CveVendedor").ToString().ToEntero() + Me.Tipo = Tipo + + If Me.Tipo = TipoUsuarioEnviar.Vendedor Then + Me.Agente = Me.Nombre + Else + Me.Agente = "Todos" + End If + + If String.IsNullOrEmpty(SubProyecto) AndAlso CveSubProyecto > 0 Then + Me.SubProyecto = GlobalDTSubProyectosE140(-1, CveSubProyecto:=Me.CveSubProyecto).FiltroPrimeroValor("SubProyecto") + End If + End If + + End Sub + + Public Property CveUsuario As Integer + Public Property Nombre As String + Public Property Tipo As TipoUsuarioEnviar + Public Property ReporteEnviar As MReporteEnviar + Public Property CveSubProyecto As Integer + Public Property SubProyecto As String + Public Property Correo As String + Public Property CveVendedor As Integer + Public Property Agente As String + + End Class + + Public Class MReporteEnviar + Public Property Empresa As Boolean = False + Public Property Sucursal As Boolean = False + Public Property Vendedor As Boolean = False + End Class + + Public Function StreamPDF(UsuarioActual As Usuario, RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte() + 'limpio ReportViwer + Dim sw As New System.Diagnostics.Stopwatch() + sw.Start() + Dim Bytes As Byte() = Nothing + + Dim CveUsuario As Integer = 0 + Dim CveEmpresa As Integer = 0 + Dim RutaEmpresa As String = "" + + If UsuarioActual IsNot Nothing Then + CveUsuario = UsuarioActual.CveUsuario + CveEmpresa = UsuarioActual.CveEmpresa + RutaEmpresa = UsuarioActual.Empresa.RutaArchivos + End If + + Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory) + + 'TOMAR LA RUTA BASE PARA EL DIRECTORIO DE LA EMPRESA + If Not String.IsNullOrEmpty(RutaEmpresa) AndAlso Not RutaReporte.Contains("Grales") Then + bdir = RutaEmpresa.Replace($"{CveEmpresa}/", "") + End If + + RutaReporte.Replace("/", "\") + + If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then + RutaReporte = String.Format("{0}{1}", bdir, RutaReporte) + End If + + Dim EsProduccion As Boolean = UsuarioActual.Empresa.FacturaProduccion + + If EsProduccion Then + + Dim wsreport As New WSRDLC.WebServiceSoapClient + Dim params As New List(Of WSRDLC.ReportParameter) + Dim ds As New DataSet + For Each rpds As ReportDataSource In DataSource + Dim dt As DataTable = DirectCast(rpds.Value, Data.DataTable) + If dt Is Nothing Then + dt = New DataTable() + Else + dt = dt.Copy() + End If + dt.TableName = rpds.Name + ds.Tables.Add(dt) + Next + For Each rpds As ReportParameter In Parametros + Dim param As New WSRDLC.ReportParameter + param.Name = rpds.Name + param.Values = {rpds.Values(0)} + params.Add(param) + Next + Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario) + wsreport = Nothing + params = Nothing + ds.Dispose() : ds = Nothing + Else + If IsNothing(MR) Then MR = New ReportViewer + Try + ' MasterReporteador.LocalReport.DataSources.Clear() + For Each RDS As ReportDataSource In DataSource + MR.LocalReport.DataSources.Add(RDS) + Next + + MR.LocalReport.ReportPath = RutaReporte + MR.ProcessingMode = ProcessingMode.Local + MR.LocalReport.EnableExternalImages = True + MR.LocalReport.SetParameters(Parametros) + MR.LocalReport.Refresh() + Dim Warnings As Warning() = Nothing + Dim StreamIds As String() = Nothing + Dim MimeType As String = Nothing + Dim Encoding As String = Nothing + Dim Extension As String = Nothing + Bytes = MR.LocalReport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds, Warnings) + Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException + GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}") + 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017 + 'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}") + Catch ex As Exception + GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}") + 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017 + 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}") + End Try + MR.Dispose() + MR = Nothing + 'Dim ruta = wsreport.StreamPDF(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario) + 'If File.Exists(ruta) Then + ' Bytes = File.ReadAllBytes(ruta) + ' File.Delete(ruta) + 'End If + 'Dim setup As AppDomainSetup = New AppDomainSetup + 'With setup + ' .ApplicationBase = Environment.CurrentDirectory + ' .LoaderOptimization = LoaderOptimization.MultiDomainHost + 'End With + 'setup.SetCompatibilitySwitches({"NetFx40_LegacySecurityPolicy"}) + 'Dim _casPolicyEnabledDomain As AppDomain = AppDomain.CreateDomain("Full Trust", Nothing, setup) + 'Dim fllreport As ADSReportLib.FullTrustReportviewer = Nothing + 'Try + + ' fllreport = CType(_casPolicyEnabledDomain.CreateInstanceFromAndUnwrap(GetType(ADSReportLib.FullTrustReportviewer).Assembly.CodeBase, GetType(ADSReportLib.FullTrustReportviewer).FullName), ADSReportLib.FullTrustReportviewer) + + ' fllreport.Initialize("DisplayName", RutaReporte, Parametros.AsEnumerable(), New List(Of String()), True) + ' For Each RDS As ReportDataSource In DataSource + ' fllreport.AddDataSources(RDS.Name, DirectCast(RDS.Value, DataTable)) + ' Next + ' Dim Warnings As Warning() = Nothing + ' Dim StreamIds As String() = Nothing + ' Dim MimeType As String = Nothing + ' Dim Encoding As String = Nothing + ' Dim Extension As String = Nothing + ' Bytes = fllreport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds) + ' fllreport = Nothing + 'Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException + ' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}") + ' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017 + ' 'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}") + 'Catch ex As Exception + ' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}") + ' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017 + ' 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}") + 'Finally + ' AppDomain.Unload(_casPolicyEnabledDomain) + 'End Try + 'If fllreport IsNot Nothing Then fllreport.liberarecursos() + + End If + sw.Stop() + + If sw.Elapsed.TotalSeconds > 5 Then + GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ") + End If + + Return Bytes + End Function +#End Region + End Class \ No newline at end of file diff --git a/Bancos/Creditos.aspx.vb b/Bancos/Creditos.aspx.vb index b82881c22..6cf2c2d90 100644 --- a/Bancos/Creditos.aspx.vb +++ b/Bancos/Creditos.aspx.vb @@ -1115,6 +1115,9 @@ Partial Class Bancos_Creditos Dim Row As DataRow = Nothing DTAmortizacion.Rows.Clear() + + Dim MensajeImportesIncorrectos As Boolean = False + For i = 1 To TxtPlazo.Text.ToEntero Row = DTAmortizacion.NewRow() @@ -1130,15 +1133,29 @@ Partial Class Bancos_Creditos Else Row("Intereses") = IPmt(Tasa, i.ToString.ToDouble, TxtPlazo.Text.ToDouble, TxtTotalCredito.Text.ToDouble) * -1 Row("Capital") = PPmt(Tasa, i, TxtPlazo.Text.ToDouble, TxtTotalCredito.Text.ToDouble) * -1 'TxtMensualidad.Text.ToDouble - Row("Intereses").ToString.ToDouble + 'Row("Capital") = TxtMensualidad.Text.ToDouble - Row("Intereses").ToString.ToDouble ' Row("IVA") = 0.0 End If Row("SaldoInsoluto") = If(i > 1, DTAmortizacion(i - 2)("SaldoInsoluto").ToString.ToDouble, TxtTotalCredito.Text.ToDouble) - If(i > 1, DTAmortizacion(i - 2)("Capital").ToString.ToDouble, 0) + Row("IVACapital") = Row("Capital").ToString.ToDouble * TxtIVA.Text.ToDouble / 100 Row("IVAIntereses") = Row("Intereses").ToString.ToDouble * TxtIVA.Text.ToDouble / 100 Row("IVASeguro") = Row("Seguro").ToString.ToDouble * TxtIVA.Text.ToDouble / 100 + Row("ImportePago") = 0 + Row("Mensualidad") = Row("Capital").ToString.ToDecimal + Row("Intereses").ToString.ToDecimal + Row("Seguro").ToString.ToDecimal + Row("IVACapital").ToString.ToDecimal + Row("IVAIntereses").ToString.ToDecimal + Row("IVASeguro").ToString.ToDecimal + + Dim ImporteMensualidad As Decimal = Row("Capital").ToString.ToDecimal + Row("Intereses").ToString.ToDecimal + Row("Seguro").ToString.ToDecimal + Row("IVACapital").ToString.ToDecimal + Row("IVAIntereses").ToString.ToDecimal + Row("IVASeguro").ToString.ToDecimal + + Dim diferencia As Decimal = Math.Abs(ImporteMensualidad - TxtMensualidad.Text.ToDecimal) + If diferencia > 1 And Not MensajeImportesIncorrectos Then + Alert("El calculo de la mensualiadad Capital, Interes, seguro, IVA Capital, IVA Interes, IVA Seguro no coincide.", TipoMensaje.MsgAdvertencia) + MensajeImportesIncorrectos = True + End If + + DTAmortizacion.Rows.Add(Row) Next diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index 0fb132ef3..0e4145017 100644 Binary files a/Bin/GoCfdi.dll and b/Bin/GoCfdi.dll differ diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index e304c226a..398a7575e 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -379,8 +379,8 @@ Partial Class PopUpVerFactura End If If UrlParametros("OP").ToString = "CARPOTIMBRE" Then - If UrlParametros("CVEMOV") IsNot Nothing AndAlso UrlParametros("CVEMOV").ToString.ToEntero > 0 Then - ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVEMOV").ToString.ToEntero) + If UrlParametros("CVETIMBRE") IsNot Nothing AndAlso UrlParametros("CVETIMBRE").ToString.ToEntero > 0 Then + ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVETIMBRE").ToString.ToEntero) End If End If @@ -670,8 +670,10 @@ Partial Class PopUpVerFactura #Region "OP = 'CONG' - IMPRIME GASTO DE CONTRATO" Private Sub ImprimeGastoContrato(CveContrato As Integer, CveContratoGasto As Integer) + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + Dim Dr As DataRow = Nothing Dim ObjContratos As New ClsContratos If Not ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Or Not ObjContratos.DtResultados.Rows.Count > 0 Then @@ -841,12 +843,19 @@ Partial Class PopUpVerFactura If Dt.Rows.Count > 0 Then Dim params As New List(Of ReportParameter) Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) - Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - If Imagen.Exists Then - params.Add(New ReportParameter("LogoPath", logouri)) - Else - params.Add(New ReportParameter("LogoPath", "")) - End If + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + + + params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, ImageToBase64(Drawing.Image.FromFile(Imagen.FullName), Drawing.Imaging.ImageFormat.Png), ""))) + + 'If Imagen.Exists Then + ' params.Add(New ReportParameter("LogoPath", logouri)) + + + 'Else + ' params.Add(New ReportParameter("LogoPath", "")) + 'End If + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) @@ -888,8 +897,8 @@ Partial Class PopUpVerFactura End If End Function - Private Sub ImprimeFormatoCartaPorteTimbrado(CveMovimiento As Integer) - If CveMovimiento > 0 Then + Private Sub ImprimeFormatoCartaPorteTimbrado(CveTimbre As Integer) + If CveTimbre > 0 Then '01 Autotransporte Federal '02 Transporte Marítimo @@ -935,13 +944,14 @@ Partial Class PopUpVerFactura Dim SelloCFDi As String = "" Dim SelloSAT As String = "" - Dim ObjInv As New ClsInventarios - If ObjInv.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) Then + Dim ObjInv As New ClsGenerales + + If ObjInv.GetGralTimbre(CveTimbre, "-1", "-1", -1, MinFecha, MaxFecha, -1, UsuarioActual.CveEmpresa, -1, -1) Then If ObjInv.DtResultados.Rows.Count > 0 Then Dim Dr As DataRow = ObjInv.DtResultados.Rows(0) If Dr IsNot Nothing Then - SerieFolio = Dr("Folio").ToString - Telefono = Dr("Telefono1").ToString + SerieFolio = Dr("SerieFolio").ToString + Telefono = Dr("ChrTelefono").ToString End If End If End If @@ -973,7 +983,7 @@ Partial Class PopUpVerFactura DtOperadores.Columns.Add(New DataColumn("NombreOperador", GetType(String))) Dim XMLDoc As New XmlDocument - Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", "Tra", String.Format("Tra-{0}", SerieFolio), "xml") + Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", "Tra", String.Format("{0}", SerieFolio), "xml") Dim Archivo As New System.IO.FileInfo(Path) If Archivo.Exists Then @@ -992,7 +1002,7 @@ Partial Class PopUpVerFactura If XMLDoc IsNot Nothing AndAlso Archivo.Exists Then - Dim RutaCBB As String = String.Format("{0}\CBB\Tra-{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio) + Dim RutaCBB As String = String.Format("{0}\CBB\{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio) Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) Dim nodo As XmlNode = XMLDoc.DocumentElement @@ -1141,7 +1151,7 @@ Partial Class PopUpVerFactura CBB.GenerarCBB(UsuarioActual.Empresa.RFC, ClienteRFC, Total, FolioFiscal, RutaCBB) End If - ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Tra-{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, SerieFolio) + ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, SerieFolio) End If If DtConceptos.Rows.Count > 0 Then diff --git a/Compras/RepProductosServicios.aspx.vb b/Compras/RepProductosServicios.aspx.vb index bed86756b..b3d4480b2 100644 --- a/Compras/RepProductosServicios.aspx.vb +++ b/Compras/RepProductosServicios.aspx.vb @@ -191,6 +191,13 @@ Partial Class Compras_RepProductosServicios DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10")) DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11")) DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12")) + + 'Agrega el grupo si es una empresa Agricola + If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then + DdlGrupo.Items.Insert(9, New ListItem("Cultivo", "15")) + End If + + DdlGrupo.DataBind() DdlGrupo.SelectedValueExist("8") End Sub @@ -296,7 +303,7 @@ Partial Class Compras_RepProductosServicios Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - If DdlGrupo.SelectedValue.ToEntero < 13 Then + If DdlGrupo.SelectedValue.ToEntero < 13 Or DdlGrupo.SelectedValue.ToEntero = 15 Then If e.Row.DBCampo("GpoID") = "1" Then e.Row.Cells(0).Text = e.Row.DBCampo("Moneda") e.Row.CssClass = "Totales" diff --git a/Compras/RepProductosServiciosDetalle.aspx.vb b/Compras/RepProductosServiciosDetalle.aspx.vb index 9e444510f..879869d8f 100644 --- a/Compras/RepProductosServiciosDetalle.aspx.vb +++ b/Compras/RepProductosServiciosDetalle.aspx.vb @@ -296,6 +296,12 @@ Partial Class Compras_RepProductosServiciosDetalle DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10")) DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11")) DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12")) + + 'Agrega el grupo si es una empresa Agricola + If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then + DdlGrupo.Items.Insert(9, New ListItem("Cultivo", "15")) + End If + DdlGrupo.DataBind() DdlGrupo.SelectedValueExist("8") End Sub diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 322ac5493..481b142a8 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -3282,43 +3282,52 @@ Partial Class Compras_eFacturas For Each dRow As DataRow In DTGVPagosVinculacion.Rows - If HdnIdDocumento.Value = dRow("IdDocumento").ToString Then 'And dRow("CveIE").ToString.ToEntero <= 0 dRow("CveIE") = HdnCveIE.Value.ToEntero Dim ObjIE As New ClsBancos() - 'If ObjIE.GetBancosIE(HdnCveIE.Value.ToEntero, UsuarioActual.CveEmpresa) Then - ' Try - ' dRow("FolioPago") = ObjIE.Folio - ' dRow("ImportePago") = dRow("ImpPagado") - ' dRow("FechaPago") = ObjIE.FechaDocumento - ' dRow("Tipo") = "E" - ' ' dRow("Diferencia") = 0D - ' dRow("Manual") = True - - ' Catch ex As Exception - - ' End Try - - 'End If - Dim ObjCompras As New ClsCompras If ObjCompras.GetCompararComplementoPago(CveProveedor, -1, "", UsuarioActual.CveEmpresa, HdnCveIE.Value.ToEntero) Then - Try - dRow("FolioPago") = ObjCompras.DtResultados(0)("FolioIE") - dRow("ImportePago") = dRow("ImpPagado") - dRow("FechaPago") = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate - dRow("CvePrePolizaDetalle") = ObjCompras.DtResultados(0)("CvePrePolizaDetalle").ToString.ToEntero - dRow("Tipo") = "E" - ' dRow("Diferencia") = 0D - dRow("Manual") = True - Catch ex As Exception - End Try + Dim CompraEncontrada As Boolean = False + + + For Each drowComparar As DataRow In ObjCompras.DtResultados.Rows + + If drowComparar("CveCompraPrePoliza").ToString.ToEntero > 0 AndAlso (dRow("CveCompra").ToString.ToEntero = drowComparar("CveCompraPrePoliza").ToString.ToEntero) Then + dRow("FolioPago") = drowComparar("FolioIE") + dRow("ImportePago") = dRow("ImpPagado") + dRow("FechaPago") = drowComparar("Fecha").ToString.ToDate + dRow("CvePrePolizaDetalle") = drowComparar("CvePrePolizaDetalle").ToString.ToEntero + dRow("Tipo") = "E" + dRow("Manual") = True + CompraEncontrada = True + Exit For + End If + + Next + + + If Not CompraEncontrada Then + + Try + dRow("FolioPago") = ObjCompras.DtResultados(0)("FolioIE") + dRow("ImportePago") = dRow("ImpPagado") + dRow("FechaPago") = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate + dRow("CvePrePolizaDetalle") = ObjCompras.DtResultados(0)("CvePrePolizaDetalle").ToString.ToEntero + dRow("Tipo") = "E" + dRow("Manual") = True + Catch ex As Exception + + End Try + + End If + + End If ObjCompras.Dispose() @@ -3341,89 +3350,6 @@ Partial Class Compras_eFacturas ValidaTablaDeVinculacion() - Exit Sub - - '********************************************************************************************************************** - - - - - - 'If HdnCveIE.Value <> "-1" AndAlso IsNumeric(HdnCveIE.Value) AndAlso HdnCveIE.Value.ToEntero > 0 Then - - ' Dim ImportePago As Double = 0 - ' Dim ImporteIES As Double = 0 - ' Dim SerieFolioIE As String = "" - ' Dim ObjCompras As New ClsCompras - ' Dim ErrorVinculacion = True - - ' If ObjCompras.GetCompararComplementoPago(CveProveedor, -1, "", UsuarioActual.CveEmpresa, HdnCveIE.Value.ToEntero) Then - - ' For Each Drow As DataRow In ObjCompras.DtResultados.Rows - ' For Each GvRow As GridViewRow In GVPDocumentosRelacionadosPagos.Rows - - ' If GvRow.RowType = DataControlRowType.DataRow Then - - ' If Drow("CveCompra").ToString.ToEntero = GvRow.DataKey("CveCompra").ToEntero Then - - ' GvRow.FCLabel("LblCveIE").Text = Drow("CveIE").ToString.ToEntero.ToString - ' GvRow.FCLabel("LblCvePrePolizaDetalle").Text = Drow("CvePrePolizaDetalle").ToString.ToEntero.ToString - - ' End If - - ' End If - - ' Next - ' Next - - - ' For Each GvRow As GridViewRow In GVPDocumentosRelacionadosPagos.Rows - ' If GvRow.RowType = DataControlRowType.DataRow Then - - ' If GvRow.FCLabel("LblCveIE").Text.ToEntero > 0 And GvRow.FCLabel("LblCvePrePolizaDetalle").Text.ToEntero > 0 Then - ' ErrorVinculacion = False - - ' Else - - ' If ObjCompras.DtResultados.Rows.Count > 0 Then - ' GvRow.FCLabel("LblCveIE").Text = ObjCompras.DtResultados(0)("CveIE").ToString.ToEntero.ToString - ' GvRow.FCLabel("LblCvePrePolizaDetalle").Text = ObjCompras.DtResultados(0)("CvePrePolizaDetalle").ToString.ToEntero.ToString - ' Else - ' ErrorVinculacion = True - ' Exit For - ' End If - - ' End If - ' End If - - ' Next - - - ' Else - ' ErrorVinculacion = True - ' End If - - ' If Not ErrorVinculacion Then - ' ImporteIES = ObjCompras.DtResultados.FiltraParametros("CveIE > 0").SUM("Importe") - ' ObjCompras.Dispose() - - ' BtnVincularPago.Visible = True - - ' LblSerieFolioPago.Text = $"{SeriePago}-{FolioPago}" - ' LblImportePago.Text = ImportePago.FormatoNumero - ' 'LblSerieFolioIE.Text = SerieFolioIE - ' LblImporteIE.Text = ImporteIES.FormatoNumero - - ' GvVincularPago.DataBind() - ' UpVincularPago.Update() - ' ObjCompras.Dispose() - - ' Else - ' Alert("No se pudo realizar la vinculacion manual", TipoMensaje.MsgAdvertencia) - ' End If - - - 'End If End Sub diff --git a/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb b/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb index a62d5c72a..f1953d5d4 100644 --- a/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb +++ b/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb @@ -269,9 +269,10 @@ Partial Class Contabilidad_RepEstadoResultadosPorSegmento If DSDatos IsNot Nothing AndAlso DSDatos.Tables.Count = 2 Then Try - HDSegmentos.Value = DSDatos.Tables(2).Rows(0)(0).ToString + liLnkDescarPersonalizado.Visible = True + Catch ex As Exception End Try diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx b/Contabilidad2/CatCuentasAsignaciones.aspx index 4d4a155cd..c48771d03 100644 --- a/Contabilidad2/CatCuentasAsignaciones.aspx +++ b/Contabilidad2/CatCuentasAsignaciones.aspx @@ -69,13 +69,15 @@ - + + + diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx.vb b/Contabilidad2/CatCuentasAsignaciones.aspx.vb index 70d115657..8acd80a65 100644 --- a/Contabilidad2/CatCuentasAsignaciones.aspx.vb +++ b/Contabilidad2/CatCuentasAsignaciones.aspx.vb @@ -39,16 +39,21 @@ Partial Class Contabilidad2_CatCuentasAsignaciones Dim ObjConta As New ClsContabilidad If ObjConta.GetCuentasAsignacionesSistema(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero, DdlOpcion.SelectedValue.ToEntero) Then GvDatos.DataSource = ObjConta.DtResultados - End If + End If + GvDatos.Columns(4).Visible = ObjConta.DtResultados.MAX("CveSubProyecto").ToEntero > 0 + GvDatos.Columns(5).Visible = ObjConta.DtResultados.MAX("PorcentajeIVA").ToDecimal > 0 If ObjConta.GetCuentasGlobales(UsuarioActual.CveEmpresa) Then GvGlobal.DataSource = ObjConta.DtResultados - End If - + End If + + ObjConta.Dispose() GvDatos.DataBind() GvGlobal.DataBind() UpDatos.Update() + + End Sub @@ -80,6 +85,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa) DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) + DdlSubProyectos.Items.Insert(0, New ListItem("-", "0")) Dim ObjBancos As New ClsBancos If ObjBancos.GetBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) Then @@ -129,6 +135,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones TxtIdCuentaContable.Text = GvRow.DataKey("IdCuenta") TxtPorcentajeIVA.Text = GvRow.DataKey("PorcentajeIVA") DdlCuentaBancaria.SelectedValueExist(GvRow.DataKey("CveBancoCuenta")) + DdlSubProyectos.SelectedValueExist(GvRow.DataKey("CveSubProyecto").ToEntero) Dim CveCliente As Integer = GvRow.DataKey("CveCliente").ToEntero Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero diff --git a/Contabilidad2/RepEstadoActividades.aspx.vb b/Contabilidad2/RepEstadoActividades.aspx.vb index c9d8051e6..4f11a4492 100644 --- a/Contabilidad2/RepEstadoActividades.aspx.vb +++ b/Contabilidad2/RepEstadoActividades.aspx.vb @@ -254,8 +254,8 @@ Partial Class AC_RepEstadoActividades End If If e.Row.DBCampo("CtaMayor").ToString.ToEntero > 0 Then - e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString) - e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString) + e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue) + e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue) End If @@ -283,8 +283,8 @@ Partial Class AC_RepEstadoActividades End If If e.Row.DBCampo("CtaMayor").ToString.ToEntero > 0 Then - e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString) - e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString) + e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue) + e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue) End If If e.Row.DBCampo("ImporteActual").ToString.ToDouble < 0 Then diff --git a/Empresas/1/Formatos/Traspaso.rdlc b/Empresas/1/Formatos/Traspaso.rdlc index 6b8926333..189c9fe92 100644 --- a/Empresas/1/Formatos/Traspaso.rdlc +++ b/Empresas/1/Formatos/Traspaso.rdlc @@ -13,8 +13,7 @@ "Este documento es una representación impresa de un CFDI" @@ -28,16 +27,14 @@ Folio fiscal: =Parameters!FolioFiscal.Value @@ -49,32 +46,28 @@ Fecha y hora de certificación: =Parameters!FechaCertificacion.Value Número de serie del Certificado de Sello Digital: =Parameters!CertificadoContribuyente.Value @@ -86,16 +79,14 @@ Sello digital del CFDI: Número de serie del Certificado de Sello Digital del SAT: =Parameters!SerieCertificadoSAT.Value @@ -107,8 +98,7 @@ =Parameters!SelloCFDI.Value @@ -120,8 +110,7 @@ @@ -133,8 +122,7 @@ Cadena original del complemento de certificación digital del SAT: @@ -146,8 +134,7 @@ =Parameters!CadenaOriginal.Value @@ -159,8 +146,7 @@ @@ -172,8 +158,7 @@ Sello digital del SAT: @@ -185,8 +170,7 @@ =Parameters!SelloSAT.Value @@ -255,7 +239,7 @@ - Agroquímicos JAM, S.A. de C.V. + BDH BATERIAS , SA DE CV @@ -351,7 +334,6 @@ TIPO DE DOCUMENTO: @@ -359,7 +341,6 @@ =Parameters!Tipo.Value @@ -374,7 +355,6 @@ @@ -382,7 +362,6 @@ Serie: @@ -390,7 +369,6 @@ =Parameters!Serie.Value @@ -398,7 +376,6 @@ Folio: @@ -406,7 +383,6 @@ =Parameters!Folio.Value @@ -421,7 +397,6 @@ Fecha: @@ -429,7 +404,6 @@ @@ -437,7 +411,6 @@ = Parameters!Fecha.Value @@ -461,7 +433,6 @@ Regimen General de Ley Personas Morales @@ -469,7 +440,6 @@ @@ -483,7 +453,7 @@ Textbox4 0.05022in 4.90719in - 1.62345in + 1.00267in 3.35633in 2 @@ -544,7 +515,14 @@ - #008204 + + Black + + + + Black + + 2pt 2pt 2pt @@ -564,10 +542,8 @@ UNIDAD @@ -579,7 +555,54 @@ - #008204 + + Black + + + + Black + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + CÓDIGO + + + + + + + Black + + + + Black + + 2pt 2pt 2pt @@ -599,10 +622,8 @@ CLAVE SAT @@ -616,7 +637,14 @@ - #008204 + + Black + + + + Black + + 2pt 2pt 2pt @@ -636,10 +664,8 @@ DESCRIPCIÓN @@ -653,7 +679,14 @@ - #008204 + + Black + + + + Black + + 2pt 2pt 2pt @@ -678,14 +711,14 @@ =Fields!Cantidad.Value @@ -713,14 +746,13 @@ =Fields!UM.Value @@ -737,6 +769,40 @@ + + + + true + true + + + + + =Fields!Noidentificacion.Value + + + + + + + Noidentificacion + + + 2pt + 2pt + 2pt + 2pt + + + + @@ -748,7 +814,6 @@ =Fields!SATClaveProdServ.Value @@ -783,7 +848,6 @@ =Fields!PS.Value & " " & Fields!Obs.Value @@ -815,6 +879,7 @@ + @@ -831,7 +896,7 @@ 2.25503in 0.04048in 0.34081in - 8.27504in + 8.27505in 3 - #008204 2pt 2pt 2pt @@ -894,7 +958,6 @@ - #008204 2pt 2pt 2pt @@ -925,7 +988,6 @@ - #008204 2pt 2pt 2pt @@ -967,7 +1029,7 @@ Embedded - jam3 + Logo FitProportional 0.13104cm 0.08425cm @@ -980,6 +1042,149 @@ + + true + true + + + + + Almacén Origen: + + + + =Parameters!AlmOrigen.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Almacén Destino: + + + + =Parameters!AlmDestino.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!DireccionOrigen.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!DireccionDestino.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + 12.81558cm - 21.12144cm + 21.12145cm - 0.63499cm + 0.5327cm true true @@ -1237,6 +1442,10 @@ SATClaveProdServ System.String + + Noidentificacion + System.String + DsOC @@ -1769,6 +1978,30 @@ true ReportParameter1 + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 + @@ -1843,6 +2076,241 @@ AA+WpAolTjKS9WmSCdYKQjh9qGHZkcrH/admJByUKXucEiCTljeamY+IBOwcBBXlRl0XjqWn3djjSyQ3 tRm5reh9QoFicz+07DJOAuP296QGYxJcuDGokKtIMPbDaj1jOTOg5JkCIjWamQgAxTAOZOPCgAAADLYFuSDPI/lGQRYMpWSaMo0iSJsifKTg0FyqeqgxEa1MCGkv9Et9gCZwxRL2VFUmoSPBjT5VgpBncqWsWFxINWgUzaRdYrXYQllJw4mU0wGSTERrNTKRGkIgPNFQjcSsVT8TQLGVcDa5ubUnF4bP0ApuAEEyhq/hlUJKKGN4PursjFagH99He8acQOixAqr3swbuO1C8hXdMFHbQnMIsc/an+AFgDYG4PimTfsAl7PH5qwxd0rgYcWiIgMQHSc3VpP8AqAKjqKSohBHvUGMSABPcWLZEUpxKS2FsfJ7Uea+CcmBUVS19KzQG4G2c5ToUJRcgs5ictltKUO1ntBAEIRLNGm5ExHCcKz2Vks0nIpQsSGABGV/NEB/BdQzRvKDJMb1iEgCjTY7t4eFZ0z44L3TltneiAgcZxpVG2MjH0oQS+dcOW1bHZiQnEpchxPND1oKDfjQHG1h5TDYyG6NDnHOoA1g8HDI2YN9uw2Zx5U7SpbhYD62XAHgWaM0ILjrFNVz2rYueuhmp89k8kYKwpJIblSjLKC7cJasNQhvPnstcrHGE/wBoThLcluzjz9AThSWBAl916AABAYBtuw6ZA1OFS1LIXPO0orh1BZKRKzMFDcSTUbe7ziOLsd4OGMTRqERnGOULTv2JSbWcBaw08QRDM+eXLZIYINRoApIAz3urRhECnBmhfrAIA2k5gQ2AabzjXAU4S4tYIgQ2p7iWEtozoItEXHThQlhQAsGwPE566GSsqFkgeigggsbF2cAhPa00MlIFAFFAuDQpozVjS3dld7thaZiPENqNuugHJagAAAGAbAEoS0E6wlqCgjIXk55ctj5ZAiYxSDBUlLLjf0SOQJIsy4UJIQAwA24ptNAaJQpCJhoaFAgCJCOdOySUkOElqSK95XFdhR6oR8IzNItQ12Xu LGhzjnRtIggBu05bDCMIzGgaD5rq6uyIhCNzN/f9un/AFWzNf9v/AP/Z + + image/png + iVBORw0KGgoAAAANSUhEUgAAEHQAAAgICAYAAAC1Y1ExAAAGkWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgeG1sbnM6eG1wRE09Imh0dHA6Ly9ucy5hZG9iZS5jb20veG1wLzEuMC9EeW5hbWljTWVkaWEvIgogICAgeG1sbnM6c3REaW09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9EaW1lbnNpb25zIyIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NUMwODVDQjkxQ0JFNTExQUJBMkNBMkZFODhFOEFDMCIKICAgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1M0MwODVDQjkxQ0JFNTExQUJBMkNBMkZFODhFOEFDMCIKICAgeG1wTU06T3Jp +Z2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzA4NUNCOTFDQkU1MTFBQkEyQ0EyRkU4OEU4QUMwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE2LTAyLTA0VDE1OjU4OjAxLTA3OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNi0wMi0wNFQxNTo1OC0wNzowMCIKICAgeG1wRE06dmlkZW9QaXhlbEFzcGVjdFJhdGlvPSIxMDAwMDAwLzEwMDAwMDAiCiAgIHhtcERNOnZpZGVvQWxwaGFNb2RlPSJzdHJhaWdodCIKICAgeG1wRE06dmlkZW9GcmFtZVJhdGU9IjAuMDAwMDAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTRDMDg1Q0I5MUNCRTUxMUFCQTJDQTJGRTg4RThBQzAiCiAgICAgIHN0RXZ0OndoZW49IjIwMTYtMDItMDRUMTU6NTgtMDc6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFByZW1pZXJlIFBybyBDUzYgKFdpbmRvd3MpIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjU1QzA4NUNCOTFDQkU1MTFBQkEyQ0EyRkU4OEU4QUMwIgogICAgICBzdEV2dDp3aGVuPSIyMDE2LTAyLTA0VDE1OjU4OjAxLTA3OjAwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQcmVtaWVyZSBQcm8gQ1M2IChXaW5kb3dzKSIK +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 +AAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAAAAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAA +AAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAAAAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQA +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 +ADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAA +ADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwCzg8zze50D8YwAAAABJRU5ErkJggg== + es-MX true diff --git a/Empresas/11/Formatos/OC.rdlc b/Empresas/11/Formatos/OC.rdlc index d97aac41e..8392cfa13 100644 --- a/Empresas/11/Formatos/OC.rdlc +++ b/Empresas/11/Formatos/OC.rdlc @@ -1264,7 +1264,7 @@ 7.79628in - 7.01282cm + 6.5434cm true true @@ -1577,8 +1577,9 @@ - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 5.61055cm 2.31533cm @@ -2186,51 +2187,6 @@ - - true - true - - - - - Fecha Impresión: - - - - - - - - =Today - - - - - - 2pt - 2pt - 2pt - 2pt - - - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 0.74655cm 5.63442cm diff --git a/Empresas/122/Formatos/OC.rdlc b/Empresas/122/Formatos/OC.rdlc index dc5b911b6..eb08206e9 100644 --- a/Empresas/122/Formatos/OC.rdlc +++ b/Empresas/122/Formatos/OC.rdlc @@ -1571,8 +1571,9 @@ - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 0.17639cm 5.66608cm diff --git a/Empresas/13/Formatos/OC.rdlc b/Empresas/13/Formatos/OC.rdlc index d4506917f..1d16b9cd9 100644 --- a/Empresas/13/Formatos/OC.rdlc +++ b/Empresas/13/Formatos/OC.rdlc @@ -1173,7 +1173,7 @@ Textbox20 - 7.25225cm + 8.173cm 16.1331cm 0.45183cm 2.06968cm @@ -1339,7 +1339,7 @@ Textbox20 - 7.25225cm + 8.173cm 18.20276cm 0.45183cm 2.26019cm @@ -1449,7 +1449,7 @@ Textbox46 - 7.25225cm + 8.173cm 0.20457cm 0.45183cm 15.92855cm @@ -2432,7 +2432,7 @@ Textbox12 - 9.76815cm + 10.72065cm 3.07712cm 0.44478cm 5.83844cm @@ -2468,7 +2468,7 @@ Textbox12 - 10.21293cm + 11.16543cm 3.07712cm 0.4095cm 5.83844cm @@ -2508,7 +2508,7 @@ Textbox12 - 10.65771cm + 11.61021cm 3.07712cm 0.44478cm 5.83844cm @@ -2544,7 +2544,7 @@ Textbox12 - 9.76815cm + 10.72065cm 11.4732cm 0.44478cm 5.83844cm @@ -2580,7 +2580,7 @@ Textbox12 - 10.21293cm + 11.16543cm 11.4732cm 0.4095cm 5.83844cm @@ -2620,7 +2620,7 @@ Textbox12 - 10.65771cm + 11.61021cm 11.4732cm 0.44478cm 5.83844cm @@ -2637,10 +2637,11 @@ - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit - 8.19797cm + 9.15047cm 12.49243cm 3.5cm 3.5cm @@ -2655,10 +2656,11 @@ - External - =Parameters!FirmaSolicito.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaSolicito.Value) + image/png Fit - 8.19797cm + 9.15047cm 4.23541cm 3.5cm 3.5cm @@ -2805,7 +2807,7 @@ Textbox1 - 11.98901cm + 13.25901cm 4.69611cm 0.6cm 15.75563cm @@ -3075,7 +3077,7 @@ Textbox8 - 11.98901cm + 13.25901cm 1.20854cm 4.59028cm 42 @@ -3129,8 +3131,228 @@ 2pt + + true + true + + + + + Ret IVA + + + + + + + Textbox20 + 7.26417cm + 16.13046cm + 0.45183cm + 2.0717cm + 44 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetIVA.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RetIVA.Value + + + + + + + Textbox20 + 7.26417cm + 18.19155cm + 0.45183cm + 2.25666cm + 45 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetIVA.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Ret ISR + + + + + + + Textbox20 + 7.71953cm + 16.12189cm + 0.45183cm + 2.08027cm + 46 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetISR.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RetISR.Value + + + + + + + Textbox20 + 7.71953cm + 18.19155cm + 0.45183cm + 2.26019cm + 47 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetISR.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + - 5.19589in + 5.94589in - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 0.17639cm 5.67997cm diff --git a/Empresas/146/Formatos/Cotizacion.rdlc b/Empresas/146/Formatos/Cotizacion.rdlc index 309844edc..e923df995 100644 --- a/Empresas/146/Formatos/Cotizacion.rdlc +++ b/Empresas/146/Formatos/Cotizacion.rdlc @@ -6,28 +6,68 @@ - 0.55143in + 0.86167in - 0.69922in + 0.52018in - 2.73895in + 0.67839in - 1.30851in + 2.43151in - 0.82226in + 1.15226in - 0.98893in + 0.75976in + + + 0.81858in - 0.25in + 0.3125in + + + + true + true + + + + + NÚMERO DE PARTE + + + + + + + Textbox11 + + + #ff1037 + 2pt + 2pt + 2pt + 2pt + + + + @@ -255,6 +295,41 @@ 0.25in + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + + Codigo + + + 2pt + 2pt + 2pt + 2pt + + + + @@ -466,6 +541,7 @@ + @@ -481,8 +557,8 @@ DsOC 3.49009in 0.13746in - 0.5in - 7.1093in + 0.5625in + 7.22235in @@ -1245,12 +1321,12 @@ 2pt - + 6.36333in - 18.23807cm + 18.23806cm - - - - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 0.82196cm 6.69573cm diff --git a/Empresas/83/Formatos/OC.rdlc b/Empresas/83/Formatos/OC.rdlc index 19ed8b88d..f3e82ef8d 100644 --- a/Empresas/83/Formatos/OC.rdlc +++ b/Empresas/83/Formatos/OC.rdlc @@ -2294,8 +2294,9 @@ - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 8.83297cm 12.49243cm @@ -2312,8 +2313,9 @@ - External - =Parameters!FirmaSolicito.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaSolicito.Value) + image/png Fit 8.83297cm 4.23541cm @@ -2564,7 +2566,7 @@ Textbox20 - 7.05666cm + 7.97741cm 16.12454cm 0.45183cm 2.06968cm @@ -2676,7 +2678,7 @@ Textbox20 - 7.05666cm + 7.97741cm 18.1942cm 0.45183cm 2.26019cm @@ -2730,7 +2732,7 @@ Textbox46 - 7.05666cm + 7.97741cm 0.19601cm 0.45183cm 15.92855cm @@ -3026,6 +3028,226 @@ 2pt + + true + true + + + + + Ret IVA + + + + + + + Textbox20 + 7.05964cm + 16.13311cm + 0.45183cm + 2.0717cm + 43 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetIVA.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RetIVA.Value + + + + + + + Textbox20 + 7.05964cm + 18.1942cm + 0.45183cm + 2.25666cm + 44 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetIVA.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Ret ISR + + + + + + + Textbox20 + 7.515cm + 16.12454cm + 0.45183cm + 2.08027cm + 45 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetISR.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!RetISR.Value + + + + + + + Textbox20 + 7.515cm + 18.1942cm + 0.45183cm + 2.26019cm + 46 + + =Microsoft.VisualBasic.Interaction.iif(Parameters!RetISR.Value > 0, False, True) + + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + + LightGrey + + + 2pt + 2pt + 2pt + 2pt + + 5.1933in + + + 2pt 2pt 2pt @@ -381,7 +384,7 @@ true true DataSet1 - 5.46866cm + 4.51616cm 0.21008cm 1.14708cm 19.11272cm @@ -389,6 +392,9 @@ + + + @@ -803,400 +809,6 @@ 2pt - - - - - - - - true - true - - - - - DESIGNACIÓN Y/O DESCRIPCIÓN DE LAS MERCANCIAS A TRANSPORTAR - - - - - - - Textbox28 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - 3.00921cm - - - 3.29899cm - - - 2.03729cm - - - - - 0.6cm - - - - - true - true - - - - - - - - - - - - UM - - 2pt - - - - - - Black - 1pt - - - Black - 1pt - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - - Textbox31 - - 5pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - - Textbox65 - - 5pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - 0.52062cm - - - true - true - - - - - PESO - - - - - - - Textbox40 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.52062cm - - - true - true - - - - - METROS CUBICOS - - - - - - - Textbox30 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.52062cm - - - true - true - - - - - LITROS - - - - - - - Textbox64 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - 10.863cm - - - true - true - - - - - =Fields!CodigoPS.Value - - - - - - - Cantidad - - 2pt - - - - - - Black - 1pt - - - Black - 1pt - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - DataSet1 - 4.17165cm - 0.21008cm - 1.12062cm - 19.20849cm - 10 - - - - true true @@ -1215,11 +827,11 @@ Textbox1 - 7.62994cm + 6.99494cm 0.20001cm 0.62599cm 19.21855cm - 11 + 10 @@ -1268,11 +880,11 @@ Textbox1 - 8.25593cm + 7.62093cm 0.20001cm 1.50794cm 19.21855cm - 12 + 11 @@ -1332,11 +944,11 @@ Textbox21 - 13.69816cm + 14.33316cm 2.20199cm 1.2cm 5.78664cm - 13 + 12 @@ -1367,11 +979,11 @@ Textbox22 - 12.0345cm + 12.6695cm 2.20199cm 0.6cm 5.78664cm - 14 + 13 @@ -1415,11 +1027,11 @@ Textbox21 - 13.69816cm + 14.33316cm 11.59464cm 1.2cm 5.78664cm - 15 + 14 @@ -1450,11 +1062,11 @@ Textbox22 - 12.0345cm + 12.6695cm 11.59464cm 0.6cm 5.78664cm - 16 + 15 @@ -1485,11 +1097,11 @@ Textbox22 - 13.3339cm + 13.9689cm 2.20199cm 0.52062cm 5.78664cm - 17 + 16 @@ -1520,11 +1132,11 @@ Textbox22 - 13.3339cm + 13.9689cm 11.59464cm 0.52062cm 5.78664cm - 18 + 17 @@ -1640,7 +1252,7 @@ 0.23022cm 2.22232cm 19.21855cm - 19 + 18 @@ -1683,7 +1295,7 @@ 0.23022cm 0.62599cm 19.21855cm - 20 + 19 @@ -1703,169 +1315,139 @@ 2pt - - - - - 5.06862cm - - - 3.10917cm - - - 10.93493cm - - - - - 0.6cm - - - - - true - true - - - - - CHOFER: - - - - =Parameters!ResponsableRecibio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - PLACA: - - - - =Parameters!Placa.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - ESPECIFICACION DE LA UNIDAD: - - - - =Parameters!EspecifUnidad.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - - - - - 6.75685cm - 0.21008cm - 0.6cm - 19.11272cm - 21 + + + + true + true + + + + + CHOFER: + + + + =Parameters!ResponsableRecibio.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + PLACA: + + + + =Parameters!Placa.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ESPECIFICACION DE LA UNIDAD: + + + + =Parameters!EspecifUnidad.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + 5.91399cm + 0.23022cm + 0.83216cm + 19.09258cm + 20 - + 8.91698in - External - =Parameters!LogoPath.Value + Database + =System.Convert.FromBase64String(Parameters!LogoPath.Value ) + image/png FitProportional 0.46171in 1.23522in @@ -2039,15 +1622,24 @@ - CARTA DE PORTE TRASLADO + CARTA PORTE - TRASLADO + + + O + - Textbox1 @@ -2116,7 +1708,7 @@ true - 0.03526cm + 0.03525cm 0.22015cm 0cm 19.22862cm @@ -2146,7 +1738,7 @@ Textbox13 - 0.14109cm + 0.14108cm 0.22015cm 0.54708cm 1.55632cm @@ -2180,7 +1772,7 @@ Textbox14 - 0.14109cm + 0.14108cm 1.77647cm 0.54708cm 4.96223cm @@ -2215,7 +1807,7 @@ Textbox13 - 0.14109cm + 0.14108cm 6.84454cm 0.54708cm 2.84562cm @@ -2250,7 +1842,7 @@ Textbox14 - 0.14109cm + 0.14108cm 9.69015cm 0.54708cm 4.68641cm @@ -2284,7 +1876,7 @@ Textbox14 - 0.17637cm + 0.17636cm 14.62633cm 0.54708cm 4.8023cm @@ -2316,7 +1908,7 @@ Textbox14 - 0.68817cm + 0.68816cm 0.22015cm 0.54708cm 6.21751cm diff --git a/Empresas/Grales/Formatos/OC.rdlc b/Empresas/Grales/Formatos/OC.rdlc index 9c6b92304..a8afc485e 100644 --- a/Empresas/Grales/Formatos/OC.rdlc +++ b/Empresas/Grales/Formatos/OC.rdlc @@ -2552,8 +2552,9 @@ - External - =Parameters!FirmaAutorizo.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaAutorizo.Value) + image/png Fit 7.40422cm 12.49243cm @@ -2570,8 +2571,9 @@ - External - =Parameters!FirmaSolicito.Value + Database + =System.Convert.FromBase64String(Parameters!FirmaSolicito.Value) + image/png Fit 7.40422cm 4.23541cm @@ -3164,6 +3166,87 @@ ReportParameter1 + + + image/png + iVBORw0KGgoAAAANSUhEUgAAAJgAAAB/CAIAAACc4ZxMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAJa8SURBVHhe7f11eFTXGjYOAwlWVzyCa71UTwuRiSGlLXUXrEjxjMZdgQAt7lK0uGvxuLu7J5OMbf3dz5oE6enpkfd9//iu65uuDjsze6+91nM/cj9L9nSRZVkQjbIgSYIs8CIviBwvmwW5TZYrOTG93pBSoU8oaYkva75T1ny7rAnlTnlTfHkzlbKW+PKWO+XNrDQllDUlljUnlrUklrYmlLXSt2VNCeUdnySWtiSU/98pVGHZveMEVjo+pJu23inTo9ymYyp3qDTfLkX7m+/gvbwFBadZv71bcBouuV3Wim8TqCPNeGcH7BYdl9BV6B0VOq3zAN+W4gTI5MFy90M6YG2+/1p24d8WCLYRl6M7t8pbEyDDkpZEuldjVk1Du8hzoiyKEkAkIEVJlHgJhbNYzKLUYpEL6i1bLiR9H7nddenq12ateH3mqtdmrBg/I5bKzJjxM6Nfn2UtMSivzYqmD2dEvz4j6o0ZUW/OiHnzh5Vv/rD6rR/XvPXjyrd+jH1rxoq3flz19oxVb81c+UDB5zNXvDmDivX4zyf8c7Gedu/8zuPO8sbMFeNnrxo/K278zJXjcTxzBVr+2kx0IfY1KjGvz4zB+3hqdiw+ZJ/jQ+u3OB9XUXlj5so3Z6BYq8V96c83OsoKVjr+fH3GivsK/rz3Cd36bwsu/8vuWz9EeYNaG/H6jzGv/4heRL/5I8QLaUe++l3Ij8HrKwwmHnYocB1AWnhZFGSZF80S3yzJ5zPqvvPb6zjJ+3H3Zbau3t3d/bq5BNq4htwttoogG4W/jcKPvQfYugXbKkJs3FACbdz8bBWBPV3DerpE9XCO6uES3sM1uLsiqLtrSHfFvyg4gb7FaQ9+/p8XqoFdTm0LtnELtnEP7oZ3 +tyA6VgTZugX1UKAE9lAEoNi6Bdi4+9u40YGtmz8r7FgRiILzbVCJIpSVEFvXYFbuHnQUGxQ6jUo3Vyqdl9wr3dxD/lzcHii49l7j7y93b6QI7Kbw6+7i18PVt7vCp7urjy3E7ubXZcKSd+ZEFLUZgJsomjuBlGCUkpk313PcsbTSCT+tesJJ13NCQHc0xSO8m0dEV4+Ibp5R3TxiUGzw7hnVxSu8y6QwvHfzwlfR3TxXdEHxwudhXSaFdvOKsfFcZeOxysYTB5E4p+ukqG5eKDj+v14i7jtAieo6KbqrV0zXSVTQkm5e0Sg2rNiiqR7UErSny6SorvcqsRbWSOpOTBcvlGjWIypdrV9RVR0nd50U2YUK6onufGeFLuwsOGHyn0rU/QWV3K3wLwv60mVSbDePFTYesXR3z9iuXrFdJsV0UQT8Y/7KolYDOdS7FslJMoBtl8Vb5XVey1f1dlF2d42yVcTZuK3q6h7NwIi28Yi08cA7Ko3t6hHbxYP61sUzqis+dI9lmK3pgttQlyLQn66esTaeK3EtSQ1nQqwQrhdE/H+74F73FUgfMKDDXfBOOrcCre1q1TMcuKPgYGUXz1VdPFd28cDneKcTqHiRmKwHXSatgATvFQIVt2NdwI3u3r3jQxR2bUdBDdba6HwrwPcfWI/p4M9V3Vc6LsGtWYMhc2gGWQvaHNPNNejdeXFlbUbAJ0udMRJAWmS5jhO91/3+tPtieMJubiu6uq3q5omywsY9xhaoeER3c4c5ruzmAXRXUdXuJCMb92hb14ieblE2CsAWR1hOgQhgDdYuUSdZa1ZaRWPtqlU69x9Yj//5wHp89+Dvv7W+M81DibUiauOFNq/o4h7TCdiqbh5x3Tygdqu7eMThT2DZlRV2OSFKwqKCT1ay93u3uHuXPx3QMWpA8eqsDQeTrDrRcebdA+vx3YN/8y3hh9JxQNrpHt3dJWDi3NXFbUZgyHC0kh1RApDJ5U1vfBP0sLO6p3uE +LWDzgFLEdJkMF7GqK6kwjCwG3e4KtDxWMymstIW8XAO6T1T3mKDu7hpq6w7zX0WdJyyt3oahSBAyify/KExk98qkFYSfR5StVYdYs/HexeOen+ziwUAlc2TSoUaygs6iMIF2tHkyw/L+xt+1VCvS/68L3Yt8jNUeAC0U1MYd/IOALGwzguyI8l3WKsgIlzsvpQ70UvZWBNi4AUhERHImXSajIugsijUK4sAKZJytV6yta4Djp+ETF/4yYX5c/2lBD7mF9oCb9VzdlXoOzwDfC5FZPQPe/y8Uq7LfX+7/vPO0laR5MEE3BDyASqGhm3tEN/cwW68IG49wKu5RFCkIZjTS6so6AxvQvWsQLCZRwYedbbCWuw34m/LPJ//pwrsn/HPpOIeMkvwKXAW1in2IHtm6wLWuLmgzIjwKgLIDSF6Grw3Ze/YJd3DUEIQ9W4qFLIqwLjGtJxPEAXOtKxEXe7qH9nb2XrD5UpJevt3IfRx2sKeTspc7NCCui1cc0/FoYN+V3Bc+gQpTgURIKCQXdtwppo7jfz6wHrMD9OdfFq8VKHD1xAvcV3ZRxHZzi+k1adXDU1f29Irq6RnW0wPMmVhfd1edratPNxcfsG5b9wBbjyBbr1Abr7BuXuFdPSPR964UWZns6JgVK/2hTxg/sB50BMK7fpgKfdKpBPQVdb8DlW6sdBxA1dg7hfAH+3i34/iKviWLZJEetZEbACLAJbaba8g789d0WKQEhsOA5HlZL8u+O0484rbExiMEvsiGaNKarh6wrVVUF9niGvKrXiso9rjHwmR7uwc96rIk7PDNOlmuluWFm0/3dFrU3S2MYJu8hgGJRjANQGENYk3pdE1/V/71OWQxrDCBkkyt/WfF+hU5IkWUjVvMw1PjBnyx+YWFB91CLk6LujQp8KjTsm1vz//l1VlxY7+Pdvwi4Nn3NQ97ets6L7N1Wdbdxbunq6anwr+He7CtR5iNJ7h6FLge/DCw7LDa++8FX0V+ +mHk8ahvazJywtZ3Wr9AeajCkR34SIZN1oaOdVKwn/5vC9KBDJqgfRGRFV0XouwvWFFGMlGgoxwqkWZAApN/W448plnT3CAYXxe1t3aEygARYEiMgUgDNoj5YM5CIHl5Bj7ouiTh0tVGWa2V52eaTvZ0W2biHM62xFsRL2OJaAEkX4vbWEGv1/nQaGmctVokwjSaGBe2JY2XVfbWxQopvvRz1UKvoZFLeDo4D6+lKcT0GBNXGbWV3jxW9JkcO+XHdJ6svBZ3OX3u56JczGXEnk6NPxoedvh50+qbuyK25my5+Hn7AbenaV78PHvKR7ikvVS+Fsqebj42zfzfnkG6u4bZukbbu4bYe4eAEgNaW2PiKrgRkVNfJ0TaTQAZjiFJNgspCyvBb6Ai1BKEa7x1wooCIgucjkWNMnmkG4KT3rpPRL8iW9fdPBbbU4WM7CYHHim6uoRPmE5DkVdmLgDSKHUA+7rbE1rMTSEZQu0yGTFczAKh9UIoHgFQsjmRAwiiXbyQg0VtqllVnO4QOPWAWeQ8Da0GjmRO+V9Z0mC9Z8JpuXii4NQpzzmgM8+1WJX2wKvqQcTESCstiiWnbIjoifXIPt3Hzf8hdM+qb8B9WndgdX3Umq2rP1dtR+w74bNvpt+P31Sfij6bVXSzRXyhuPZRcueZUinLD6c/9dkycu2rUZ0HPTFI9plA+5Kzq6aLt7h5o6xVui+QPUdYzAilyD6+IXu7hPdzCuntEdPfA5xFd3CO7uUfZsmLjhlsjNkchGIN82XohMIdTqEZuzdw1kxVhadXjP3fKWjqAhPBZ1ERBBHEJnfg3QD7mvrQ7gCRqx4CEFU75OyBhwVGHrjTLcj0sctMpANnTPcTWMwp5NzMOa4GRASQrAFBM5lsIVIQQVAt3DVa8mgqddrcz+PBuIfJCqSoLKuxCOuG+gj/Z50xdUCFLdhGtI2zcI9EYW4/I7u7BPV3Vj7oufG1G6NqTCcVtXLnREF9SuvPsVVXs +5s+WBHynDY/de+JqTlm5QagxycXNXGKF/lh6ReyxhLmrjnosWjviI90jrj/3Vizq7b6st2L5QwrVo66aJ911Tyo0j7sS2I8olvdWLOvlinfVw66ah5wAv3cvZ2VPZ3UPV62tq8ZWoeuu8LVR+NOwjnukDXNv3ZDvk7Ey7ex0wg+U/xxIk0RA+m87wYAMIiDJTd0DskNY9wFp4xXR0yvocdclMYeutjAglwDIiQt7uAVB3YAlSC/RRaSe7iu6Ie+EjyUXSpbKvIT1wOpLO9tHADOqTKUziqDApcOZsHOYXd4t+GQVtZM4DiWOIKIsquFz3D3E1iPA1o2G3Gjcztmvp7PqoQnzH3v3u5enz9t5+noDmIEoN1vk8hbz2aRM7eoNH81fNkcTvPPI6YqmpnbBohfFJkmutsilRimxynAwoTjs4JXlm46rt5713XHJb9eVwN1/BO29EbT3euDeawF7/vDZc0W96+Ly7ecXbz6z4NeTc+IOfx+194vQndP8tripNry9eO1Lc+PGzFw55JtV/T9b9dj7sT0mR3ezjpMwnsz0+59QRPkvLFIWySK3nXjUfamtV1AXz0jI8e+BhEXeD2QDgNx4prfT4h5uwbADK4pd3WO6ukXbuAFIlncSlp02ZD24F/wYd7CaLFktkYsuHkj4WBYIUNFJK7VhoBKxpEKhy8Yt1NYtuIcioLvCj0ipi66Hq08v2IRi8RPuC5/2WNTXc9mwDwNe/jJiwqyYyQtjvvKLmxe6ZvuJC/VGzsxJYOy8KJtkuYkTsqrq00uqC6pqmgytBsFkEgWQQgOKRGSwVab3ZhxLclvnJ42i1CjJCC5Q5RpZrpTlUlkuluVCUc6zyBkGObFV+qOeP1lm3J3d/Gt8bdjFUtXh/Jlb06aEXx2/5Ej/r7faTgELZRZJmv1PKKL8h0BmZGSYZLJI3x0nH/FYajspmOXyViDj7geShjwYkDTQ8yCQ6MZSADkBFgkgoxAVaDzBncRt6xnX +zQ0UAJWAvID1WA/gRZlyMDPtglBvDRKTrWSB7tWVpXqgx5TUukfYUkwK7+YWaOvmZ0PDx9qeCvXD7t5PeHo/O8nb/kPtyM/9Xvgu5J25K6Yof/0uYtfS9UfC91/adCH1UELx+ayaW8VNKRX6vDpjid5YaTA2WsztnIm3cDSsBSw5kRMlwGkSZYssWCSzWeKNkmSQ5XZRbhdkoyQCV7MomUVcIfIiZ5HFdkFs5rjixobzSSnbT1+NO3gxdPd57ZZzP/9y/IfovdMDNnuo1k9YsvatRatfnrti7OzYkT/GDvsudsjXKx2/WD3w07XPfBj38HtxREdJWVlouB+/u+VfAOk0f+1dIAEiWaRBFqFcfkg/PJbYTgpiY8EIcsjMYJEgzSzCWYFkkZlcK2KkZweQ1hi5dMPph52W9HQP7uYeagsGTzMhwRTV3eDxVhO3RLQDyQSK4DXQElYhvTMfC+OzOk/4GcQPmFoPRXBvRUBvF11vZ9UjLsrH3JRPe2nspmnGfO7z+swIkMzPg3fOWnlAu+1M7JHrO/7IPJ5W8kdpY0YzV2qWa0S5XiKLgZK1UQfJ5lCQLhskqU0UWgVLu1kv8JzEiQBSwEskLC2CbBEEXuCMFnNaccWJO5kH/ki5nlPWzEltFrOBpvkAM8eLZlxh4UWTIBfX1a0/cOjrZX4vTP6h/zvfPTNx7mNOix5yXtLDZbmti7abi66Li09XhV9XNz+82ygCuikCbFwD4PC70fQIRTGKKRT1/0X5D4DE609ALu4EEiaFILySbKWzxvuBBG27H0jGWk89MnFRb4/Anh5+z0z1G/JZuN3HYb08/IjOga93pP+gNoScNd0mawO7cyO+Z6sIt1WE2Cr8ujmpbZ28H3Je+pRi6eBp6le/CfFYHPdD+B7V5nORh+9su5x5PLHoj7w6MJH8ZnOZga82SQ2chGhnhapdEoyS2SBx7SLfLpNJEXg0JUDvKPA98I2NJrHJ0G7mzbzAi0jEJOTS +HE+mRlm1hNo47uTNJPeZynHvz/H4yf/gtfQak9DCmQ0ijJWziIIoSEAe+MM0awyGpJKaX49dn7Zk1SCPpQ9NXNbLzbeHR2gPt/Du7lHdwWjIPxF3tfECE7RmMijEXTt4AGRrLZ3Svlf+nWtFIvkXQHZHjPQiIAktXMyA7Lget4EbvAsk0g+3JVGHO4Bctv7Yo04Leik0T0xS+xyMP19p2pFcO37u2l7uft1hYWwujEb0EYDdw2yQcbsHgcL1dNX1dlE+qlA96antP1U7+jPthPlRn/hvXr7x6LpzCacyK1LqDEXtUhVPFtYgER48G+U3C+QGDQJsAkUAIBwPExFgKSbBYvWKLbiEl2s4ucQg5TRbkqpbzuWU77iSFbf3auQvv2UUlwNyTgRnt0g0lWcBoCIEw4YvOVGss4irDl0dNnne0xNnvPKlZu/NnDpBbhNNZtFiESUa4gSMkoS763lOL0n1opzTJkQfiR//Q+RjLst7ufj0cg/u7h6KLAUUjAg85El4MBKA+DU5moaBaJDrr/C7W/5XIAO7eEUglSTCiVomr6DBnQeBJKLhCTsLfMSV8sgmRna81x996N3ZPV2X9n9v6bGcEjjbjDbhPd/ND7kpe3gE27gjs/a1cdHYOqt6uXo/5aW2m657/rsQl4UrPwnYtPCXwxGHrm2/ln0hvyq1ob3ETPQBpsO8ogQuhihulASTLHKSRMYgChA0RTVRNEkyx2wRRtlgEiv0fFad4VZx86m0im2XMsP3XV/y64lvQ/d4LVk7/vvwYR/59vdc3vft7z/7OTSvvsUgw7bMqJKEQfIAjmzphAhIJRMvlrXwPhtO9fda8rDzgjdnR5xJKwfxIZ1BEyQeTcA1sGgUTuQBcJss1ory+dz6n1cdHf1JYC8FUk//7p5hXd0jEAspakxa2Y1sg2FJ72yICkD+rxYp3D/7AUkhlvjstMZIlkeS6cAiY7tOjqURcDZaSCGNDYCxGBnZ0yPwcZfFEQcJ +SMDmvfHIQ06zH3Jfbj9t0enMImBQ0Gr51GfNoxNn9nZa+KTb8mEf+b3xQ9h07aYFq49EHry+C7DlVCVXtxS3WeoFGWaNS2BwrZLYJokGCXIRBCCHOIb/RB7MxCTwFkk0i5A9OUycXMfLOU3m6yV1hxNLfjmVpNt8ZkbEning+rNjRn8aOGiq5lkP9WMKdS8Xlc1Ela2TpoezpreTctS05VvPxsO8DMCDXCQQlGT2nygLMi17wReyxYybSimlTVOX//qw6+JHXJd8pNmUXtEGZ4BrAB+5VcgR0POIqxZZsnCCsY0zNwtyeZuw54/c9zTbnpms7u6u6+YBu4zu7hnbwyvW1msFCpIlYvUdyBFI9/GdTm7/3wIJhsaAPPmY+zJbzxAa7LbO5hAtth7Q/BSNTVsnDTxiEdsecQ96ymVx1KHrABJFuen33u/+2Mtl4UDPuWfTi8yyXNFqWhS1yW2O/08xu6MP3jx0szC+tCm/yVxhkJo4CldGeEgJPFCwQLfxpygAv3bJYpI4k8BxkoBoBZdnhU0vyC2CXGeWi1r5pIqWE8nFcUduLFp75D31hhe/C3X4QNfnPd1jnqre7qqebroeCt8eCv+eisCebiEIwCy/jOnhEd7b1fdJ56U/BG3KrGuEHnBAjYwQCPJkWjIgxEcCjJMXZLhds8i18tIvx287TPV+2E3Vz2tZ0K4LNUYJrcU5ItAkM5bIrRNbwhtv4dF4wcBxzRbpVlHz/NWH+05Td1Nobd1DetC4BJJsillgf7YeoH7IwRC/YDDM25GnBVSAEASTZWuUm/01kER22h8E0iQxi9xx8jG3pTRERx4crJWybFrVwca9aDEAYqd1kQQ+8Qh7yNP/Mad5kYeu4VpEI5/1++1cfhj7sXLSwrAbRZXAqcEi5NW2lLaaG5F6C4zEw18J8EcyghlbrieAIpoFMjJ4ToPIg1IyU5NglDBQ6Ee1gMBjvlbWsO9Ofti+S7NXHXJbvv75b0MGTFU+ +pljS23W5jYuym5tvV/egLu4hXTzCu6KdSEAZiejmGdmdQkBkN+i+xwpbt5CHnZY5zYq+kF2NNiOv6AQSvhRRz0KZBYAkeOA/BTgDs8AbRCmlxqBYuApZ8qMuS1xmRdzMgzoxzNkLWFpfhCtpAXkRM88ByxZRLDJKUb/fHvdl8GMK5Esg81FE9IAQDXgBHgQvJHir/gpIQGgt/zmQokRAbjv5uGIpDZrTEB1YK43L2HrQTCYYLA1aeoB3RXV1D+viFtRV4dNbsfTJiTOiD1wkHsiLp2+krz1w6WRSSWpVcz3PtwEYgdmTyCPrgraDrHOwMwFpGGIcz0N3kY0JFrPAkbeURUCIUI38usIip9W1nUgrWX3qzrKNx6f5bHzpxzD76donPJf1omkKjY2rrpurj40isJtHiI1XJC2JsHI/8HhrvOnwSwjn4d3cw2mdinvYwwqfF78M+T2+BLdoheoQQWXRUbamHpSIsHgJ2cDM4CfhWYU2nq/mEDhOP+O+9JGJy4YiSz0a30KYw4ShjriW7LIDSPYCliDAQBixoF2Sai3y/hv5Tj/FPqZQdldA4RAdV1O+QRM4BA9rKvlVQouO7/OrKP85kHD6kKDv9lNPKJb18AhhQHYMsNmyJKGnR0RvRXBPZ99eEzWPKFQDP/B78cfI9303Lv31wLW8ijaQSbNZb7LokWyBTIL0kwh4njrEFFQ0cqKFxRXwAnBLAg+dNAg8wMPlMNnSFsvtwvo913JD9lyeEb7LdX7sqI99+nopH3H17uGqsXXz7+oeAAWiQWcahqaRaObnaXyLkQg2dQcXygaDEHvQW8bL4FfDursHPuKuee3HqF1/FDTAN0jQXRI0tAlmxcgqGRg5WUiFgMTLzIsGTjRZZAHxe/PFbPvJqkedVc+4LJkRsqvcyAyaKiGj/BOW0AX8Q/WTAES46FZOPpNW4rYk9nEPlY1beFe3lV3dUaxzI9A8NhlAIFnxswbLTlD/CyBFnrHWk0+6 +LevhGUp+iYCMhC/q7urb3Vn5kNOSPm5LX/gy5APVFs2mc0jmLubVZLeaqnkJqm0g4zJDfxEe4CdNgpkDQEjJeLyhbzzEwUkWyAw8Dy4MzgrgwQeUW+QbpS07rmT7brv8pd+Od2ZED/8osK+n9hGn5b2dtb1pjBQRDnkLMhZ4dXLsUK/uHitt3OAhaFrUhobrqP9E4q1TH56U6lAoIqSju7pF2iBYOi9+/YdgaEm1SW5HwkhOlUQMIMgWidkQilbzpPl24ICUH7xVQss5aNvJlMox0/0fmqh8xGnJu7Mjkqra0AX4T3hRKGgH9J1AQqRUtSSR1SJFtXD4r0WSzmSXeyl/7eWssXEJt3WLtnEP7UbDkA8OIJMJdrhZhuV/A6RRMkKsvjuOPKX4ube7v617MBLzhxQ+T7t5D/tQPXFe5Pw1B7Zfy7xZri9oFeo4CngU7dBXcEuEd4p2cKAWjkeCBeZisfAgLrA9sAAZlmhimQMSiWZRrjCKqdXtRxJL/XdemrJ83fNfhvWf4vOom7aHi9bGGflJcHcFsswI4NENzJktO7N6CDIvmsdYwQpNhtAIIno1aTUNIpIuo9tE0OBFbNwiaMGKe3h314CHXZf9Y07E4YSCBg7Nlk1oFYmcrMVqM2Q8EIe14H+WmoH+QOt4OFiJR25zMbv25S+DezurH3JRDv1AeSqjBCHcRIrbAeQ/v/ChBQKAxlCyAlkJTaJ8Lrdhwty1j7hoaHDYMwQ62tU9tosb4iVN2P3XQP5THkms1W/Lvmedvn/KbbHdhz7jZ0Z9FrAreOfl328X5DQakSbiBMRCdAmKypxJR6F8ig2KIJFidomwh1OIxnEWGY6pVZArzVJmQ/uZrOrVZ1Lnrf5dsXCl4zTvx10XP+QCt+nTg1buhnVRRHalNVGdo+STGXO+OwtP2TSlQ2ydKhvTok5SYaNFNL1MKyfc2ai6ZxzebYCii/Yp92XTVOtPpFQgJQAVMINWkocnasrSDGI7 +VvisYBCC7AVHgtPQV/BnAjKn6qUvA3o5wU/49vNavO1KEnwYKTEUttMiWQUPvAQySBgn3QS5lEmUG0X5cErZG7Mie7kqbd3CurnRIgRys55rULq43wWSJQt/C+RfDAiYRQJp3e+nPldFqTcd2/pHxqXC2pxGS72Z7g0mBz5tAk4sgFtfrJ2oglwIz3MIeybQFpGDn7LgTMEM82w3isn5tVvOJi369egk77XPfRv+7Ht+iFU9XFXdkSF4Btl6hXTzDLMhf0hLhNDEjhyZ9BHtpj6g9Vb1ZEOyLI+2muk9naW+saU6K2zhbGmR5mo41Z6uvvbva+etOnyzuAXZjgmKxobV4O8l5j1Z6XgREtaDzt5RxwgESn6QqBxNLh7zsba3q38v16BnPJauPHrpLpDQBeuFrII/vTrugi8JSyLnXK0obv4j/bnvIro7Bdu6xyDSd3VnC2s6gESX0TUrkPiTkpC/AfLBGMl8TlmLPr+xrcoiNbKxHsq+QQYQ4ChTgBHCSXAwNRTKhUnDEF7AaMwW3mAi1Dg4T70oN5nFNosFl1U3GxdFbLWfuvBhj2U9Xb1pgsktpIdnmK0nkoSwbpMiusLsKB6TDdlMWssmRggYRr5xbF0wYB2ytyop8IOZsoHDyfetVQTqUAXkGx7wqzE93CN6OalHTfeN2H8trwmJoGxEtkMODski2eBdkePg3jG9iKNA9CR2oI1CEYQGKzZfTrGbuqSnS2BvRfiTrkvDfjsFdM0IJ39rkax2AElfosDLcoJRLxhKTULA7uv9vAJ70WglAjniPZRvTRdat/bfAXlXGQlI2D9syCQiE5eNAApqC5dOjJylROQ/rVky+gWbI0ZKsZByeXRGMnIcSlVj283Mio1HbyxbsSW+uBR5ZEmbabrP2u6uS7p6BPd2D+nlFgr224PmQxAYkJVSIkWLBKihq7rhvQNFMkH6trOwD1mXaJEOdYlZ590S021SFJIQGob2CuvuFviUm9r1p1W/ +XcqpbZMNAgrzqLw1UsNlkMjvL/TCP0Rw0En0ldQUmMMgIfp2SawUZPXWY8+4LeypCOzlFvKEy5KQPacBpAW1MrvtqOS+132VQ9QkPxoihpkj7lqMbRYxtcr8RcDOx9y1Nm40QQQgu3r8CUjmV6HK/zmQFPIQDxhg1E/AhzhHOkzJOwRAeTLrHOVNyAVF3mydq5PkNgApSG2cvPXItQnf6Bw85w72/P5sZgG+LTJwH/hugRft6hnRyyOquyKiO00uxnRna6VoHh/YgKRQRkUmhZyBbT2ggcCuk2jbA0Bi2QW6x6zTM66bVxztKgGWYDQ0i8KGDJH4e4Q+5On/kEI55EPd4pUHb+bXNyEugIwheFO2j77B5SNZRVwk8cJC2H9WWbN/iLNS5ztkQH/R0JtRlnJaLR9ofn3EZSmtF3EPflKxNObwZWIMRPTIZeFkazV3X9aaYdJMQWjYCA6Mch1UiUgkgO3Lp1OLxn8f0NNFY6sAwbauS2LTTVOQSqGDVnP8O4ss/hOQHW6EFVJEqA5cKLlUkBYwdchAMMLJwhLBFyiblqvM8u3ihm2nr15Oy0aXmiXZe93xR96Z+Yjzz47Tfj6ZUQwgiw3CdN1uxCobTxBI2nFgtSHkfNYRZBpp7BjFpWLjudLWIw6MlGLhZJrchlaSsXqsQaF+kguF4dLsZo/Jqyi6MDht3cN6u/k9rVj69oyItcfjCxva2niRpoh5BG1oI72IopHBWTtuxY0ddr7u+kbrvyRxInWkrCdSyp/7PKCnm9bGM7SnW8Cz7ks2XUoC+zMKHFQFioJKH6zs7gsoEh2ESFmhZITGHUXZIMr1ZiHu6B/9Jy3rpQhCNgV4IBxapA8gaZsDm2P/y5EdUAGXMAYk7cayvghI1gwUNIhGYCQJBbeDH4IWoUuSkefaJB6ANclytt6w61bGgtWH//FDsKPbDyt/v4gPa2mpx/neExY8oljm+P4SAAnPU9QuMiD9WG4H70EjL1YgqcXW +tL0Txc7CHClaP9mqjCxSggXQKmcKk3i39Vxtw1ZIk3F7RPVwD+3ppLKbqpkbffBqTkMjsiOR5u5pNh9ChpQRKDqLNQR2lgdeDEj6EAc4ouFfNppYa5b9tp9/0m1pD49AG4+QXq4+g6eqjqUWg+wASLLIvwOS7Bo3pWIdC5JpZIvxR6mFE3JbhOk+2x5yUdu6I+NiC2ghGXKtTMsZeP8NkBKHQneiMQ72otwdL+TDgkEQYXClBuFyfm34octeylUOH2kecUXOvvwxl0U/xh3fnVy+7Xbp9KBDvV3UvRRq+2nLTmeXAPXCNuFD7S4CkjwqzS13DKR1FiuQ5FfvFuoD3gHhWrYglkEIG7VeyzxtNzda4QfN6OEW2cvF/wmXZe/Ojl59NL64BU1FbgdXL5gJNIpw1jBB46g0XMhmGju9D+v+vRczVmZAzFWaiczTwG9iZYtiyVobF28br3Abj7CHXDSvfBl0s7QZHbTGSCvZ+csXPie1uIslhSYOlZPHk2QDL0Gwmy5nD/8suLurv3WsCoW2phB1t2ZZ/w2QzP5osyvuJdACFkZ/ZKldluoFObPesO967sI1v7/8VcgTrst7OOtsXIO7KcK6e4T3cA94xEv35CT1U17aRz18eroH9nAD6VedzCxFvkxA6nb3Uvh3palw1oJ7DIUV9uEDQFIHOtSQhXoaaWPz2NZgiTwyqvukSBv3iO5uoY+46kZMD5y34tDNkqZGniZSKHllPJvFe8o1rF2zjrGwzYNkPIxC/ln4TNB0PjlVmciqVYN/OZ1k96GvjVtgN8/oHl4RD7sopy5dl99Mg4t0I5hjh7v+i1cnkHgRlrg7m8uEpoBdgoaQ306vN38ZuvchV5WtIrg7rcKlJWdMDizFIu7zHwOJviIU416weR5ZPCeDslfz8rXSupXHbn2s3TJquv/jzt493/Xr4RLTVbGqi3tcF1qHHm2LLNAzCOl8NxpGCYbC2ir8B76nPJ1TRvORzCJ7KfxA +dqxLFwGedTEcUZtOIK2lE0tCizgOcVHAZl0/bh24X4EgakP7av26u6j6eGneV2/dci6zsJV8vkmyWEBOQUrRF3IlJDXYJEOOPus4YC+SLyv3vSBoimQ0vIHAKokmSWoV5PQ6w/vqDQ+7qbt7EdO2cQ99VKGcv/JInYWtJyCR4cI/68Td1z/dgoyS4rX1foJkFMU6QV53Jtnxfd8erv5siXO0NVhSbtbhnP4NkNYGEJDoPWRAasKL7SKtjbhcWLdk46GXv/fvO0n1iJNfr4lBPV0jbFxXdnUDhNYpGIg1xqZjVouIcjfPKLI8N3+795Wns0sRIwvb+em6nb0VPkgZARIbEb2HHJW7polCsBHf6U6AxdhQRhFN5BbFDdSUPLMtLRlBh39+8dugqP03M6tNTRa5XRQNlDiBlkFM7MXEdg8ua7n76iSrD3xGoRQogk7CoJFciQZJhDdaceRWP6+lvRQ+3WkBXzhYa//3fFcdTQJVYXZ979VRUefrT/V3vvCZVZ/oEvgPMOkmXkivM01a9MvDzho4OeLhbIiDcT28r/kzkLT8egVYq9P8tWCtD1gkUgtgqefEcr3lQnaVatPJV34Mfkgxv6fCGxbW0z3a1o3WGXd1W8W8XxSNX9M67o5JLjbauYbNJUXaKPzs3/cGkFaLnK7b8ZBCi+jCsos/A2m1SyuJtTIgGlojLYEjhWLS/o1uMH23WCI1bkG93bSO03XfhOw4n1PXwIP9I8EwmzmTBaSDyExnGo+XVZB3y/0v9uefPiZDIQhpHAOJl1GUWkT5SkHd6z8G9XJeBqbaXRHa3T2sp8LvuW8ijiaXI9jiIkLzX5vjv3h13BkXghSbBUubJMCBrzh8+xnF8h7uQSyhohXFNFWJ+ELbof7JIjvSDxpr/ROQlFTcyC5dGLtr/LcBj7outnFRd/MIsvEM6+YZ1sUjlKyNlpaQLdIgGYAkikWrv2ma1DOuq9dalvNFdlf4OExbCrLTCeTOhxQ6 +W69wWsP/V0Cink4gCVRSFNpaTNkh6R2oqVtkT9egXhOX272nne6/c+ulrMIWXk/TnLLFwtEYGXI5mqEnf0qpk1WwVnHdLfe/2J8sTN57MY+HujiLhERLaOHlzAbL7JX7H3Nf+pBXCE3CKEJ7uoc87KadptmUXguDJMdtBfJP1f+HLwJSFM0CZxQp3CaWt7/xfXgvV60tTfqCGUDOVt7+V671XwFpEcxI+yJ3nxvgNu8h5+U9ENjdwkCFaanxpIhuU8K6TI6gzIEyVoYlM/9unWsbiVkRlpSY93DVOU5bcoax1rx28SOfPQ+56rpDIdhOko52dBYrkNbC4qIVSJrHtnWPsVFE9HANeshFiwTReV7smhPJKdUmZBdGyvEpmlG0IXbNsdSCXlap3pMsjjr/uHdI/+C8jnhpfZF50HQb385xJklssMgbz2UO/9zfBrkjrc+IsFWE9XQLftpD7bP9XI2Z2LB12staOm/y373QWtQDTUTOUGORFqz6/XFXVU+3MBt3+DawdxoigNAQtkhc/4lrNUnmZlnWbjn7qCuyJVg35B6JFB6eE9QD13eZTNwJOkLpuXU8hXaRraKtZWxZHxx6N1qBDuvROb635HRWCdKsvHaJgHTW2dI0PQ1VWPMNayE9YK71gUJDpnCk0d1dQ3s6+zyh8H7p21Dt1nMJFW2NFtnMyxaOrA5+kLlSJNZgDDTwxBILgsdaOkNRx8uKIhO39V98dd9fZFY00QGn2g53J8u3CmoUC+N6uXl38QyB4nb3iO3uDh0NHP15yLHkMj2t4aMURfi3QP7TF9Yb3n1B9aAQ0Ew4sC0XMwdP8+/pHGDjAbNBgFzNRkjITkhuHXkIKwhAf2mRBrb4ym/72cfdlLYeobQ8hxZ2rLSl+SCY4Bo2zkkKQkDSEFonHjTsSRkPiDKbY4rq7qaze2/pyaxSVAggp/vu6uWisfWwTuhbN5LBaViTRRplJZqKhnaMLsZ0m7zCxiuypyLgURfv +cZ8htTh8NKWs3CzpEQ4RCc34H4YHWyAGiKjGmDwJ1CpTJtK7KN4D8r4XEyNOe0CiBAfqaRfEJlHOb7Usitv/hIfK1iOYJkSJOUf1Rgbp7P1FwM4CAxpDKQSh3/nqqOa/f8GtgKNRTinJf+Q1vDMrFpbA5tKj4fzIWsiQrKVznBJAuK/q7hw2Yf7qgjZy8taXFUgJBhSw7dTjbssYkDE0see5uhsKPcCDRkQ7dOFeuQuktdBKLeKZCp8BHyiP5pTWy3K2Qf7Ab2cvV1hktI0bDdFZgWReFDkvja+SuROWVAMMurvC92GFasiHvt+F7j10p7ikXWpl4/gmCxswIy5CwZABSUTTenD3Ze1Sp97/O/nS99bTyKig2q2iVNgu+u8439djMeJLd9Yp20krbD0iH3LzG+C1bNOFFDYyh4hMd7PeFC9rff/DixfMvCRYJCJuRS3892F7HlJ427gFd6M1Wmz+wCorAhIQ0pZhHADIHk6hE+bF5f8JyHa2QDlg+0l61JVnCNuTBuYCBx0Hd8ziIvyqtV4qZEl0AKvq0BfA0J02lsIhBzw9Tb3uVvGdFul0iUmh3AXzsmGj+2z6G54Thk6P/yFSCiDRSpr3j+nuGtHbyWfIFO9PtRt2/pGb1WhpFGQ9L7WD2NEYBfI7luXTeOm915+AxMvaq79/MfcL4HA6ELGGWJrJgTluvZw17vMAWo3hjhQZbika0dqWFm6pXX5elVZnapdwAUeOtfPVUen/8sLV6JYFFmnixTpeDvrtjycmKW3d/G3caQjFKmE2VsdGBghFfEJTDrZOIe/OJSDRDTQedd0D0n/7icc6dixbgbROuzMCAtg6MaOqJ9+DsOMTprw0d+8Z2nNKwPDvY179Ke7lWXH93qf9DzbucV3c1rI5Ghgl8KZCm3vcVyCwd3cL6e2q6TNJO1W1Zfv51LwGI4gSAhVN9bHBJvKRHeoP2P4CuY6j/1SmOA3dR8JFtSMm8jxcNqX/ZzOq3vkp +5hE3HZMjQj4gjLFVRHV3DXrG0zv88I0aTjLytEGBHHdnQzpq/V9euBbqCUWl2QhAsPdOgf10bU93H4TJrmxomsyGIpqVGDK9pxUwUbbOAe/+tDJfTzGyA8iMjIx7QLrTulba205LLsj46FEZHaphNfB/KhTzVnQFocKxJ5v49UREDLJ19enhrANBQP7QlZjOWtRj3cuCYEmLK90iuruG9HbW9Zukcv15RczxO4n1RlhhO619JbiIFdIwm5VMUFT7P5Oa9YUaUCG4EYybBpc53mLmzO2CfLtEP127+RHFsp5eSLqQXCF1jrVVxPZwjezppHtn3oprZQ2tSDQFI1JNWoXT4doJz466/+sXLqWxQ1SFCttl+Y/ihld+BD1WdaeV6VbkIHxkBAiWzE4A7WSa47N18nGat7KQkR3U8sC2uoAdcK1sgTLwICBhy0gw/i2QRIipwC6ZadInHiugyz09onu5RfZAGuNGoz9gQ6CjcL827uE93AN7u2gGvafzXLImcv/V5JrWJloTROuSDcgDmLyZzIEeaT8LYf93UGTcCFjSGycgmeHbRDGpTP9N8G9Pual6uAd0nwSuEU75MTmMFT1cwp711IYcuFbBi+2SkQFJ47EdMP4fAYkWAUR0DVQc2aSU3Wx+T7O+t+syW/dgWzSA2AOlkkCBDVVSstB1SqzNpIgeTir3RXFlBsRWKDyNTzwQIzu2DABIysoBJDPqjokxK2zMzd4tlFPiE+I+xAvYWA+NEoAfe6zoTs/iiUYShvyyC42bR/XwiOrhEtTTSf2U2xKXn1euPH4roaq52swbaGsAHJZgkmiHIiIQydxayB6thVDF3/8HL8icRjvJPwNKQeZ4uVmQsprNP8UeetZd28s1BP6DPeUBTiWmi/uKbm7RD7sGTvwp7kZ5S7PMmwBkR7B+IHn937GknrG+ybTWvpKXZ6/Y/6gCQIbSkl0ENZI8eTvmzOApgQUQDXzIeen3YbtrYchUB6nCXwDJ +XCul/129Vtt0Zh2A6u8LsRhaqEjxj8btkLR6rGBLxAjFLl6R3TxCeyl8+032eevHyMj9f2Q1mRtBu5HFsmSQxEKSQauYjGnWguyG+sliGv5Ab+nv//1F3pBGOAXeRDuDpHZeym0xL9t08mkvVS9kroqVPT1Wwe1DaqBjCAG2roF9vLQhe/+oQ/4j0bQQ21qAegAkZUKsxf87kNYL0TEgYmEbN4L2XH7GSwmLtKFFWcxyYD+0sjeiiyKyiwLiDe/tphnosWTtsXhkn7ShiCKFNf1gW88D2Cae7swi0QfKYzxXgWES5fF6sExaSYVyBirWjWGM5QJvNoZAXJSSDRvarRLRzc3fVqF9crLuH/NX+++5dq2oqQFyAZ2RyLlREARwhBWzOigZbenhWCRjCksoWgFkgP6vL0gN3IbneaPAtYkCKHFJm6jZfHLgNCWSDXqQHiIiWzFLc9duMT3cwh5RqF0XrLpZ3GSkUQgaAKToSlVZLZteHbX/Ty/rxagDmswhrMjypvNp/adq6Om1HvT8NeYFacKZBphA7xGw3AIedZ733pKV8cUtkKEAvSJxdQBJD4MI3HHyic4YyaY3acSPbIu864OzhvfG1SgoWgtztsR3utIjPSJtPKJwYxu3kIfcfPp4LfdYvDrmyK0bZS3lFlqU1g5x0hAb0X+otFWtYS1MMgAW4uqQGPXT+j/9839okTKA5DjewFmaeaG4TQ7ec3XwNPXDrjr2NBy4LBqVtPFC9vxrd48VPV39Bk5ZvuLYrVoLrRohXsJ8Am29o1hLr456/9cXrkdvST8ISAFAHrxTPGS6n60iwNYzvBstrqcMgtHDiJ60lTGyt/PyMZ8u33Ulrd5sHaeEY0B7GJAmmYeRBuw4/oT7IlvPwK40FY6Az5gbbe23PosWCFFh01XWDyPZs2itj6ON6jYpvKtXKG0EdA/p4RbUw8Wvh5P2GQ+tx+J1qw7dTCmtb+IRC3mDxGgfG+2GR5GQZUhsQbMk +AEYCkFSdOmft5z1RsU4/+NkD39/3YtJmZ//pJUCBLYKBF0paLUE7zw+ZpnzERf2QGxocQY96mhTWdXIE+SG3NT3cI3s5Lf9Auz6z2QjFR2BkqgVqAjwtnbrHXh11/y8v5n8QS+BXBYvIIek6m1U99svgHm6+th6B3SaFdptED3i0UYT1dA/p7urfy0k3/GP/iN+vVZpp6psaQaPN1AQC0iJawH0Dth56wnlOd2dvW1ddDxdVdxetjYtfN1d/G1ctjru7+PZw9u3h4ovjbgqNjavG1lXd3UXT3cWnq6t/F4VfV4VPN4Wuq5Oqp+vyR9yW9J201GVJXOyxOxlVBj0nGwTOIFuMopkDiLRCghILq9dEeKQdP5TYAVcSDMrdaQzrPx2w0OnMWOlD/G9hBb7Zar/sSvoPV8Mzw0Vbr4V+UF+tNVt4vqixJWjbAUeP7590nvmIy6LeLirKlNiDpiGsni4BDzn79HZaPmy6es/tvCZJMopIiGAzbCEcG0CA/AEsLWmikQUK3gxaahPuaY0QJOeOP9mL/qEPHvwQ3ecE0Yzum2UeKFzLb3rz+6AeE+Z2d1nWXaGyRSrCHsL0iMuyfp7LvRb/sudafrmBmBE9iIRCNOOGViB50QLuu/HIWbe5Ae/Ojf7HT9ETf4qYMDfynXkr/zEvbsLcmIlzoybSe+yEebHvzot+e17UO/Oj3p0Xaf383bkrcOa79NWKd+dEOv8U/KFyxdqTdxJr2+BFmeJAh3ELC/SO5Au7QLfp7ugTSZcSRrbui4VGnEMgAwCGDjCiJWAQHsOGhMi+s8INigAhsmrwKRMS+5xWPeA/UlkgQAk3kSncqc1sOnHt1hfL/D3m+Cp+ClTMi3CeF4ucbOK8FROoxDnNX+E0N1wxNzRwx5niNslAy0JpPR6tOmA3I+GROyMgWdDG/cmbULtQqB30J+sjrrF2kUGHT0C2aHk3vupoLWriJVAFC1yUQZTTy5rmhq2fOMtnwtzQiXMj +nOZFTpgf4bVs1fyVBzeeS8moNzaLspFqJ7YFraeK7gJJRi0Kte2GnPqmjIbWjPqWrLrWrPrWzHp9Rr0+q16fXYfj1vRGfWqTPrWxNbWpNaNRn9HYmtmgx/nZ9a3ZDTgNB/rcmpb8uuaSprZmgTb1I51gq9OJ8sGBkykxqeNFcFkRYH+y9pCnpTV81FsaTaa4ZN2CSisIaYUYqXAHUAwrqzhIWjikb++r0Aqh9Wb0OV0oEjAVTc151Q05ddTynHp9Tl1bbkNbDrrQqM9sbMtswntLdkNLRbul2SyZaRWQhSY8KKjTrAerjCChv3AbACuizYhxBAw1gNpJXoDdmCklK9QqeqFRrO3UfNYq0jY4b3rGSKPBklffklHXnFHXklPfmlunx3t+k7HaLDUJkl4QjLT5nuOI5JKKo+O4uANIE/uCrQaidayQIJqEghPBh5jXks3sUScIpSg4gDdH5DCyz62NYpaCE9Ewi0Xm2kWziR5EA0+GqmkpCcOBRE1oMhhYT6lXRHOYkrKe0YAqWsfWYlp7TnETEqHLqH6SJE0ayBxHwLOb07I3I+21ooESkhqTE4mdLiNrQFW0QJc0hVYU4FrGnFnv8D3eGVemhvGy2SwbaK+ZKFrQC/qXVtVDIUlsVD/000K7JwhL6xoRlpWQxVoDP/MB1HLC2ipMhiX7p+OzDr2kChkikAQNGMr06CZqGPWXdIPN06HxJgvb6SfQimuSCWGJmE1wMSBpewDbHcGzLXIcDIKKme0ONKPP0ANBbONEIxTUTHSBcAHwnLVeKjiNZiigvZxoMspmo8RTaKFHp1iQs6G38Om0cpDQQ5s5MEEk17gRWsPMjr6gBosWGX2hO7J1jTzJE5/QJAEtC2UnQC/pBAPLCelXZ5DgIaUWEc5oFSN6yAyUzuToElIXiNtM5g7N4oyQGLTMwLZ20HgbrTEwsz2AaAlyDXxjpJ0aVLuZ54wSZ8JNRQkpN7QU3gFhHV4M7cR94XfYNkOm +AxLuQi2n5QvWcQPqL8ONdJhUhlQRn3MkYVqqiVah/bgFyYwGj9o50UCjd6zxZGC0WZa9Cya0E5Wz1XhQJlROiHYAyUkcFfSPM9HucN5EDxvim2WhXuZqJL5GtlTJ5irZUi1balmpk80dBxLfKIgtFqHVLIIMki7glkZ6oAPu1y6ZG2RzncyhHnY+1yBzzTLXJPMNvNBgEfS0kJh8Pa3a7dBoHsrTLnONMl9HN7Kghno6wJ9ci2xplS2ooUXkmgWuVeTa6GRLG32OaoUGWcSFjbKliU7jmwVzi8Tpadsgj69qZfTFhAobJGo5mt1uJg4LuSMhahHEZllsoqZSx5upBrFFlOppz7KlRbC0WKRWaI/MwTDaZHOzbG6id3QKbRNRf2vHjfh6idcLFgPiCXkBYMmsER20+gpYHjC2SAaTpEedIq6yNLJu1sh8pSxUyJYy2VQlm+plAxpcKfO1Et8gcc2iRS9xBoE3mXiTmUIWWTIFbyuQpAWy0SQazLyeNi9zNXJ7nlhziy+5aMg6Xp+wu/rWtlqUG1vrbmytv4Hj7fV3drSkHjDkneQqrsmt6TJfLEl1ktBm1VOK3ny70FpuKrxuyr/QXnjWlHecyzvO55/hc8/y+WcNBWfayq9b2ssEyBHKCB9F5oauwsPAvFtMdVmtRZcMhWdMBefNBWfNBadMRaeNRRcM+Rda8y8balJFc5XI1Rvq81uKbhmKrlgKLlgKz5mKzhpRCs4YC87qCy8Y65JEQ1FrdXJr0dW2wtOGwuPGohOmvFOWglPGwtP6gnNtNckCXyuIrQLfLPF1poYMQ9FVQ+E5c9E5c+FZS8E5Y9GZ9rJT+pILLeV3jPpSg9BkkdolvtXYkNNSeMWQf96Ud96YfwbtbCs62150AfdFzfiztehKc1kybwDAxBOY0cB0oK80rkAug5xogyjUiIYSsTHTXHpDn3myMXF3Q/yW+jsb6m6ur7++of7aVpSGW9uaU36DEITKm3JDttxW +DkWEChpIzuTGaGt4B5CwIlkwmVtFUx1fl9qYuCPvsHfyr18mRk1JDFEkBE1ICH43PnBiUsDEZL93k/zfiQ/8R3zIhPhQl8Qor6Q1H+ftW1B3YxVXdQMKBfXnOQPbMNLUkn/1xrqFVyM/vhH9wZ1IryScHDE5OWJaYuS0q5Ef3NixxFgTLwl6DtgTl6GIQK6Vh5qW5J7/5dKKz25FTkmKmJISMTkt3DM9wiM13Cs+4r0LUZ+mnYgWW7NkY3Hx1R0XV3x7O2pqaqRHSqRXYtTkhKjJSZFetyO9rq6YnnUymKs8m/R70PnYz25ETYqPcb8T7R4f7ZEQ7RkfPfmPqA9TDwfzrVmiAONuktuLCy6uvxr95c3IaQnRU5MjFGkRngnh7rdivC5HT7+2Xd1adkfAmbAeY0X2lbVno6ffiZqUGOGVGKm4E6W4He0RHzMpIdI9iY7drkS/d3XTwraqFFnQM38LLaXVsnA/AhgXfCbfKOkzWjIPFR8PS1k/Nz7q04QQr4SgiUnBbycHvpEc+HqK/xspATh+NynIKSHUNQHSW/lx7vbFVRd/MZZdE8wV8IKwdQSG+yyS7X2ULM18dVLBkaDrQYqbPi8n6V7I1IzLV40qUg4vUg8v0IwsUo8sUA1HydMMy1EPy9GOyNaNTtWMjdc8fz3gH8nbFrfmnpO5OlE0wPUIQn1L7qlbMZ/e0b2ZonsxUz0yRzsySz06SzUuU/PcLe0rCb98aam4CncEdw+nz1gD/kefofSluSdCr/i/laYZm6caU6AcW6QaXaIaUeKNSsZd1b2RsU8tN6fKhvzisyuv+r2bqh2VpxmSrx6Rox6VrR6dqxmboR53w/et/APecvWFnKP+F/ydqDvaMVR8xmRpx+CE28pXkjb8JNQkw7PBD0mNGdn71PG61zJ1Y7I16ObgQlSoGp2hff6q9q2UHd58bRpcjsjr5bb8rIPqK7rXMrRjcjWj8iAH7Ygs3ahs7RgcoyUZPiMSfF+4 +EvFeU95ZWYDDR6SE7cDrmBgDB6fUy82ZZZdW3oj58LruH/HqV9NVz2eRiIbnaAfnagbnawYXaIbkaYehFKhxMDRbNzxdOzpR+/I1P6eEjT81Zh2TTWW01oeG8DstEhFCFEFQamr+2Hg9wAW9LdKOQClWDalUOdQqB9V4D6hSDqxUDipXDSpDUdqV07Fdqdq+RD24VDssWzvqD9+3035T8o2JkrmeF/QSX92e+3tK9PuZ6hchkTKVXbnGrkxtX64cXKYenKkdlbFmOld+SZbaKNNmfIeWXjNtFVuLC44FJAS8UqSxq/AeVKEcXKFyrFTaVXnbFasdbuueyz2wnIA05pefi73p/1qOzr5M269SZV+ldKhS2lcoHUpUQ1J8xpfu85ZrrjTc+uVmqFOWZkSJyrFMNbiE2uxYrBmWrR6TsuoTU/ElydIock1i9Z3szTOzVKNKVPYVGrtq1UBUhdYWKEfc9nmz7FS4rM/jEEeFBrE+IWPTj4ma5wpVjuVolcquUm1fpnEoVzlWqQdVqfoVawdlaUdeC3SqTdpFUZnsBPwGlIw4Cy+YZGN1S+r+G1GT43UvZalHFKmGlKvtKtT9y7UDSjQDSjWDKtAGFcRlV64eWK3qX6EdUKTpV6QZWKwZnKsec0szPmXLPHPxRcRjyovApTosUmyVpDahMTt128J47Qslage0r1Q9uEzrWK7pX63uV+vdt9K7T6Wyb7l6QJl6YIVyEPpZjUZrBlaoB1aq8KFDmm7M7ZVT9Vm/IVBLYCiWCkP24bSo9/JUzxcrhwH1Kg06iQsdqtQOWaphWWuncxWXZFHPxp4RtsEwWb4APqsvKT0RmOL/YomqX5WqL2mA1r5UO6hMY1ektU/wGZ17cKmsT5VNBWVno28GjM/1sS/T9a8k6dvXqHCXgZBLms+LZfuWyfXXDbn7EuO8MjSDSyEs5cByZd8SNeRin6MekhDh0Zb9u2yuBBHjSi6mrvo4Tz26QgW9caiBWqgc +yjWOearhicHOjXc2y1ypRW4WxCqh6lL66k/StWOK1RA3btcfpVI9qFptV6PsV6PqU6Lun6kZejPwHxVX42RzObqGsAF+A1ZslkxmcKjW/KKjgXf8X8vTQcXtIcBqZR9cWKnqW0nI2dd4D6r1HlStHFCNr1T9yzT9S3UDS7UDKpQDKpX2ucqRtwMnVl5cKZvKITgE3E4gBSOImbH44q3Y6anacWUaR8iiUjWoQjOwXNu3SkXmyD7pX6EaUK4eBHOkD1UDKtUDgHS5qh/QzdYOjw95p+5arGzKk8BULVX6nEOp0VPz1WMrVUNh2VVKO0i5WjOoUmMPB5i55hO+4rIstcDRk04RliylAqdvLSg/EZTq9ypEj75VqQdUau0qtNB9+zK1Y7L2ucIDS+W2VNmcX34+Ot7vtXytY6l2YKVmAOqvUQFOQD4o1WdcyW8A8o5YdTlzy/dp2tGw5goNmgHlGFDqPbBAMzwh2KkpfqtsLIU3MuYeTYyZlKcZXaUaXKccVEcWOahMPQTxJWnlJ2BnkljLS60SV23OP54Y7ZkGE4fDUNpXKwfVKvtVq/rVqEnoVep+sKpcreMd31dLTgTB/4NLImzApSKHt1ASWydV3sjaOCNNN7YUnsYbBj2oQk3yZIpuX0MusG+tsi9qgxesJovvX6HpV6HFXQZUeg9ERxI1Y9J3zhfbCglHlm4SkLQnm69rStt/K8wNfhUOEDoCIIETmkVKAeTUgyBW6CA8D5CohuLQt7BFlH7F6gF52uGJga+Xn/aT2zIpeTBXtuQeTo15L089hnyjEn7PvsZqxBo7AJm19nMCUmwCQWehkag5SCs9CrI1n4D0fb1UDfPtRzfS4kJYG7mvFO1zRfsZkJb88gvRCX6vFWgYkGpCCEAyvO3TfJ8v/W253JAotySXH9cl614oVMGr26PN0PRK70FF6qHxAW/VXFoJnwnVbk3ZdTt8Yp5mZLVqcI2SHFqlamCJZnCa7vnsbT+JNbdl +AYkWso4qfdq+hHAEoKGlAOAukGgneS80A75xYKHGIUn3YuEBpdySgasoqaJpc3AB5MS1XNHZtLhPMiniwEL6VWj6olRqCDnSdXKzA8tgM8zHojuEsZrsngHZv0Rtl6wZlrD+W64lG0z1PiAhO76q+tb628Fvw9jhBivI/gAnxNcP6gkMEHKzfZ/PDXoV4ZBcCsSBqqEpqn6wyFLVgELd0ES/lwoOLZOa0lgmV6XP/f1BIGEu1M//EMgU39fuAQm3DM+ptC/7F0DCCKxAQqyVKrsSDYB8sXS/t9ycgtMab/2S6IvThiHqAJ4qeC21Q7FqcJLvq2XH/eTWNNlYWH99ze3AN3BOlcoRN2J6DLAdklHPMR9ZnwOCLRKQZQ03NyUGvgMCggCGsI07AsUqbb8qAKmhDkK5IWv4tuwd84TaBIlrlWiZD0eLygnIGmPOkeSoqTnq4YiL1epnK7VPVWqfrNQ8U0nedWCBcnCOz7jcwJdzfMYWa0ZUKIcgDDN7hXrBOw6ARaXqhiWt/5JrzqDhnLuuVYJrtZRWXouJD3ylQA2hQxEYkBp4QgTIQcWq4fnhE5t/X6Q/pS5aOzVbA2WEROBJ+tXCuXv3gbKAQSTpnsvfv0hqTJJ5pNU1+py7QBJVqYZrRc/vt8jKKw8ASZ4VrMB4v0XCtVZrHgAyWTOOgESMNOdXnI9OIITuA5K00B6qlubzUgk4UUuaLJQZcg4nhSlyASQsW00mW622L1XZp/u+WLRvsdwUL7dlVZwJSfB7uUg9GKGxSu1YpiG6UaByTAp8o/baatlYJvJGGicxFFVfjE3yeb1QM4TiGfqlGginCiArteRX0eByVX8Ya4ZmdObGb7nyq7KlSeAMMEhBshDTsVS2pf2WFOaerx4OnYMMq9XPVGqerVTjwgGFSocs//G1e2YaLvpVbPky2/flMjUCk701BrOQOQBmk64ZkrrhS74xRRZRM9cBpCy0y5biyiuRCf4vFWqGQuiVFBTR +5/5VsHelQ45qbMH6r+Tyk3LD5cYzuhSfcYXaweVaO3iSOmVfUCEACaGn6sbl7ZknNyQQ574PyErVYGBArv+/AtLvdYrWzGXhKiuQ5arB9yzyL4GEX9LYwf9n+LxYemAZWZtUI1Rdz1r3VbpmJE4jYgmJwGtp7DJ1Y/O2zhSqr8otSYWHvBN9nivRQmQO5WoH2HSF0i5fNSw12r09c7/M1bNnsRhkfXb5Cf807csl2qFoFfOr5IdhjtSATiDL1ERcU1Z/aMw5IZvqaexNRKREDWb4qraUXSmhLvmqEVWqITVKu1riSkQ+EDKzlSNyVk3jcvfKzTdab8alhkwsJrwfALJCAy0Zlrr+C74JQBppfqEDSLFdNpeUnQ+74/dKgWYEeBHsFwSsWt2nWtu3Qu2YqXkhf+tMuf6W3J7WdC020e+VfO2wUq0DaHcN+qCEgwUvcEDal79zrtyYyICs1mcfSouZmq8BkI7UXPSZxUiwUACZ/csXfNVVWWpG4EAqeQ9IqcO1pt0HZLX2HpCpuueL9nVa5N0YCUKEM4lLswCjdgCQJfuXSC2pstQgt2SV7F+erBtXDMuGMqlBuPqDgedoRmUhnS0+I9bfyNr+U6p2bAkA1tqha6UahzIYh2pU1vovuIrLEt/C0SyqQW5OK9y/NEP7YqluCLIFqDJFNbhrWCdj+ISleiDCZJbPsKQYz5bkvbKpTuRp2JmnSRIeKt6WsjMl2KlAPaJKPQyBv45oI/I68A+HdOWIjHWfc1UXZHO2Pn13YpRHvhoRAXLrALIS0gZb1A7PWPcV3ww1NdE4XadFGgBkybmIW35v5KlHQh9xdg18Jkxe1we5CwJ+/vbZcmOCbMxpvL46wW98vnY4uooziQeB06MRGkdEhYJd8xiQjQCyLetAWsxkEHoGJDS3wyIBZBYy938FZEeMDO4AUmO1yA7X+h8ASQwQpIYBuZhipNggG0pqL8YmBMAfOlQw6wEJRCRDlMqI/cCYeVAo +O5P+61dpmtFIcip0A5Dn4NZlqqGpmpeKDyyTmlMFro2j2YRWqf5W7vZZ2ZpxpVrHMi3sG0CyVJIcGHFDOCdoEoDM1g1JDJ/YeGOTbKoWeAPNLrDJc5AdK5B56hEVmiFVMAY1WSSYfwkcsnpY+oYvLVWXZb6wLXNfSpRXtmZIKSkf2SJcDiJaOYDUjMj49Wu+KVOmh9zdA7JVNpWUnI2+5fdWjnYUMQJymH1q1c9WaPsW6QaD8edunUEImfORXyf4v5avGwphwRBrvfvVePdDWC3SDEnRPp+/a77UmChBdnwl2pEW5ZWnGVWhdvhnIOFaObjWfwFkxcmQNL83OizyPrLzN0DSmcRaQTcGIsIx17oEBiTBPViq9al7kiI9cjTDwQahHBWa/mVaO+SIqaFubbfX89l7U1dMy1SPLNPB5cIJQTUdC1TDE/zfrrmMdK1E4Np5zixxjVzlxawNX+aqR5VoHRBxK7VQHQdQOUgDSMCpVioHQCzwk3lax6Sgt2qQ7RlKESBpFgUJJc3t1JFrDZmYqx6GPJV1DYo1ANdWqAfRINGGr7mqK7K50JR2IC1qchaAhHpRtkr5CSovVdtnqUdm/PotAUkDuYQhASkKzbKpGMl1gt8bBdrh5Yg3KlCY/rVwx9oBADJR81wWXCsBWdB4a0O8/1t52hFoOo1rKOFa+6HnhZrhibqXcnctEJuSCEiuoj3zt/Rojzzwrr8CkizSCqTIPRAj/3MgTSxG/hOQsJJSjWOaz8tEdhiQEldvKbmQ/uvXGbAkclNoMNIyhyL1sJSAt1suhPBJcWkRrnmqEeUUjPuinRUqxyzViNsRHo3pB+AMRbAVziALtabC4+lxH8CY4L0rKCkC8A4gehUBI0p8EaoHAgwaY1LblegcUwLGlx/3l/UFUFaOiKsZDrbDIkMm5qmHwraoa+p+kDlkWKG2y9KOztzwLVd5VTYVmdIOpUa+l6UZXqJD3gXWArsnmYMSMyC/ISBpZUUn +kLzcDLJTcTYqye/VIu3gSk2fCk0f4ia4UjMIqpesHZezdZZcf1s25jbe2nTb/90c7ZgizTCkYuhDqcaeho60IxO0r+TsXAggRb5etpQbMn/LiPbI14yAB67yHgj2exfIjhgJIOUOIMGd8R+93wfk/ekHRXvGWh8EMgpAFsINAgB1P6BYy4aQkP+l+L5SdFApN2VIQrPIN4r1iYW/LU/3GQ8Wg9StWgmpDS7RDEvxebn+94Xmq5qUoNcLlEMrNHCV/RC0wAxS1KMT131hqrhKJJw30QCpuao1dW9ypGehClkBUd9qGnd0KNQOqYt5pSx0eKEPjUVUI5So7Mq1aMNLBfuWyE3pMj3DFihaRAnaUNWesis1eEIeEgQt8gLyEGXq/ugColWabkzKhq8tFZdgM20ZhxOjPsjUjiqB0rCEEkDiAALP1oxM++UrvilDpCnhTtdKz/gHkOcjkv1eKWayo+SUBmIcKilaOKQByG0A8haArL+9/UqgZ4JufKrm+WTtCyma53GQonshQffqFe27abuUfGMaAcmVtWfvS4+elEe+2h5A1iwHTR9YpYWLt8vWjM755Useeie3MCCFfwEkLBIM4gEg07T3udZzUYl+r4NCAwBrjKSIpRlUrBmS7Du++IC33JQq8c2CoJfbC6rPRKb4vY0wyRInO7BTGpLVjK3e9ZX++Mxk33FFStxuYB2yciXCpEOS9rms35bI+kxJaAFboVlPY1kjksgQ5yIQTqUDKbrarljlmKcb2fjrxNLo5wp87ZGYAUi4nyqS23M5YH91KWCt8My05QuZKIBM3ZUa6oRMtBJ0SYMEtC+ARCAs1iJBHJW87jNL+WmQneasQzdiPk7WvYSIWKgZAfpaiKIZmqcZmqIZl/Trd1xzpkS/anE3j5QAZFH5+fBEv1cL1Ug/O7Sbxim0CMIOCH6Z20B24sGJmrPPpe7xzd6+IH/7nLzt83K3zc/btiBv+/zsHUuSt6uKLm0TW4olESpc +rs89hPQjBwyCLHIQpMOoc3/kLbDInLWwyD9kqZU2XUnMz1N77gIZzPJIx0oVDZfAjkEHQKzg8dI0zxVDvi0psimvA0gdAQlviZZDVyo1A4ig+YwvA95NiaLYZEGdxpqWWztSQxV5SsdyZG8aJLVQC4dMZOVrPeq3TcvQjSrC58p+CCj4tljjmKh7verCatlSwQugrEaJgCytuBQTH/RGgWowI6tQSsdC9eAcv+ebd3xYtuLNXM1geHWYTi25+kHZ6rGZ676TKm+LHKmCwBsFoU3mqtrSdieHueZoRpInVz9bpe4D1wpTBqnO0g1JinYxZmyRDUlN2YevrvnhWpB7QogzyFFagHNikFNSyLtJQe/cCvS8tWWZuTkXrJXjOgfNZZGALOsAcmgHkGwQDkkuAlWqZlzW9plSE+horWistTQWiI0ZUkOq2JAh1aWLdclifYLYmCY0ZgqtJZIFrkwv81VtWYcyopBHji0DHjQCQuwZ4ra6VgKyohNIUQSQDEwGpL4AQKb5vVmqGlxJFnkPSHKt9wN5ttMiEWCg2lYOSfRvSJrOCmQSLWAAtTM3mPNOp636MJOGBRwrteCKSFTsclWOxRGvVq54O1czBAlADdFCZCZ2eZphySEKY+oBhDRBbEMiL5r1sj6/5FTAHf+XilSDazW4EWl5gXpodtD49iMzy9e6ZmmGQgMqNQ7wDZWqgbmaUSmrPuJLLiJIi3w7rXFH77g6Y/bhlEjPXBXyCnIkpNwa8CMSDvKfFO2Y/C3fcAWHxKqr7XlH2zJ3GzJ3t6fuNKT91p51QJ/5W3vq/vbUE635t0SukVaTWWc/MjIyCEjz3wGZph6bu30GqLwkNPK0dMVCq1RkIy05Qcv4VllsFOVWeuahhOYaaM20pbo98/esyPfzVePKVEMqlY5WICmBu2uR/xrIylNwrf8jkMi3kDmk6V5F7giyIwitIBpIBKXa25nbZqboxhURkCy5Zvy22Hd4ScCIYg0iEAjF +gHLlgBKNQ4Z2bFrcZ2LZFWAgoFMA0tIiNqbn7V8Sj3RTZc9yR0REx3z10KzQNw0XlpdumpaqGVGEDAexk0b47BBW4iPcDNkHZb6anv1O/NwiWJr50isZaz7JUw+jO9KAOFSnX4UK7UceMrCQhiFfSFrxfv2VaKH0uKy/KXPZMlcsm0qRC0hiDS18McH22iRgQevB+I5tdf8WyHTNc3kgO40pMtcEF8HWaNGaWvZYc5HFcCM9pJiG+Wm1FZIb2VLbnnUsPeqDPM3zZciWyGuxCkG1tfY5mjG5v3zJ/b+xSOQD5bBIn1cKDyilFmRa9IQH8mntuQUn/O74vJSvG0w+jfh2f1xCbg3WQMOYRPFhGYXwb7pXCn9bLDcmCUg5kAXyICnNXO3tjK0zUhD1yRzRKju4VthueuQEw43Akp1fJGlHsRg8CP2tAMa6kbeD/tEQvwGBhh5RAMrDWQTBJNWl5e1akKEdU0ZEFOD1rVCh9EPwRoIBgwaLTNeMSQx6I3PTF1WXI7nSc7I+WzZWiJZ6s7nJzOk5Sxv9JIlopuVZd8nOvwFS7ZiufSlr63y5IR1ukxa0cRxYHGphC90BI00K89B6kRbs0PJAAMnVtmYfTYn+IFv7PHJn1MksoMMiAeTfWWRHjHzjfwRS5YA2I/0oOKgUW7JkoZ2eoU/Bqawhccv1gLdzfJBmkMhoAIvys74oSJ2tY/rl2gE52iEJAe/UXVoJ7HmumeeMbLtDvbnkQsraT9M1IxDPqD1acEiHHM2wtFXuhtRVpQfnJPiMA5A0CkgT6Y75mmHx/uOrr0SBSwpiK2xA5MwW5KNtZTVX194Jetua7JeDsir7V3j3gyZVKwdUecMrDCyBiqgdMn1GJwS8jcSp7uoaoeK63F4K1wKnyIl6xC96EInI1n/+KyBBpe4CWa4ZnKF9IWfLTLkhSeYaJEu7SAv39BLfKgjtNGbBmyyCyUyPakC2RIuyLbwRzqQ19/eUmPeztePQJrSM +Dbvc71o/twJJz8qxkh3CsmOI7l9bJKjg8yUdQObfByRoFBIVa4x0QMqc4vtC/mFvqTULnl/ijLTViasyF526EeaZoRmBvLNCORAio24SlmSLcHTlyEHVAzLVQ5IjJ7el7Aa5E3g9aSffLnPVxpzDCTFTMtS4HHYDKSEFdMjSDkv/9T1z7uaqE8vj/V4s0jiim6BCYMVFmqGJPi+VHNPJhjyBqK8RXoyjgYUmvvJ62rY5NzUv5qodS9SDSmgMgQZYqpXQqn5lqgHI+oo1DsXawXnqkcgOboc6pW+d0ZywVW5IEQ3VItcq8SDAHE0XsUTyP7BIcq1jcrd8KzfckE3w1NZFkZWypZSmvy0VEJAs1Eh8rcw3SEIrz+l5qL+lXJ91MDV6KowP6VGFNwMSrgPpx78F8u9cqwMs8m+ARICsVFOmler3XP7vy0V9Ji1/ogWoiOWNYu2djI0/JGlGF8ErQtbk7a1LF9gwm5rWo5Ro7NK1SLe/NhefkYVqyvxojNSInuqTtt8OcUYyANFXaSElmLVDpmZk1qZP+ZLfGi74Jvq/WqQZzPJUfGWPdDZZ93z27gUsh4Ho22W+ndRCglpUNGf9nrTph1u+yC6G4kwkfojNFcpnKlVPV2j7lmjt0ItKLbyLfb7WMU03OF43IjnaufDgUlPhGSRCtPRS5GgEhS1k/g+AhJsCj9r2JVewvzphR/mNbZU3ttXc2FB749fam+tqb2youbm56s7mqvhNZXe21uedE9pKaSGouVyfeSgt8r181RgK/jR4i74xi9TY5fwNkJ2uFUCWqYf8Kf2wutb7gaQBgT8BqbEr1dql+T5Hk6N6ULk2WpnHwUm0yPqciuP+t3UvQTQUn9gkD2ISijXdRvpYqHVM1r2Qv2uxUBsvCvW0jJm30AYbc1n9tdU3fd/K145ko9g0aQXXilCXs+N7oepYy9WwJP83IEA0huIIWouopBmduu4bEc5MhD7BP7dJtPsMgalFNpa0FZzO ++m0RMopU1chc7bAC7eAyDYLlk1WaZyrYiDy8BaOy/VGK1P0yfRxuBL6SumO2pfSiZCxjTxjmhLsrzf+tRaZqRhVs+UR/LfTmig+u+U+M938nKeD1JP9XE+n9zcSAt+4EvXkz+M2LwS4pe7352gRaaGup1Gf9nhY5rUA1tlJlV+vdv+6/A7KDtXYOCPxHQCJGMiBhkQ6pvi8UHlou6dNlCVGAo9W8XDuIX8PtDdeD3snWDaPhElpRhgtpxgN0EaBC9CCTSQFvVp2OlNvyeVHPSbTCT+YMsqG46nTIHZ/xRZrhFSz6AEsaMtS+mLd3nlRz1nAzLingnTz18DKa4IN3BW+yQ7aTvOp9S9llmW8Gh4C/kWghnRlBlxISSz1fn9R4Y23ulq8Tgt5MhE7QlBxb2KHsW6umqYtqZZ8ydZ8yZZ9y7wEFGsckn9FXAt7KPeLD1cfLchOtzLu7rvU/AHJs0aZPDRd90sImwisWq4dDCsVq5MLDilTDi1VDCzVDszQj7uhezd4+X66+JcHZipUtOUdSoqflqcZWKO1rlg2sJfX/7yzyvwCSpNb3PiBBdl4qYkBK4AW4BS/R8xa46rbcwwmr3kvXjS5SOTKW2A+ZHAU8+EOaswV5GZkU6tp0c6tsquAkk5ktgadhndb8on3LE3U0+QyKVI3baQeUqIaC3xbsXyLXXzQlbkgJcs5Rj0R4g1owIPvnqB0TI91bMw/LlgZa7U/DWGYJyQxnpCUDXJtEuUSBWH259tqKpPVf3Ap4I0U9qkALCduDNFV790OBmZap+1Z6DyhROuarhqWrn0+ImKrPOCBLNTLtg/gL1joe2PyTa7VP1T5fuPFz41lVXvg/EMBpZSI8EsUYeCc2kqtxLNYMT9W+XLBzgVwTT0vohaqWnN9To6fkqkaXKe0rlwMGK5BsYlkzJnvtl3zlNVkG9SLWygI2A7IjRoam+b1V1gEkuVYWkAbQ9HUHkMmMtUYn+L1egHSCJmYBJE6G +q6TglAogDyql1kz6cWzrDjRESqmZq7mRvm0mzU3S+B/6yCaEASQb1AWQGZqxSbEfGnJOUkyVaUs1tQzMoikje8vMFNydxg1wI1q3V6QaEu/zatFRldz8hzl9R2qoR45mFBw7rQRDgqjum6d2TAh6t/7WZtlcw3EGStvoh7YBpInWC9IvZrYgfMpCLbpjKT9XejI4edUnib5vZ6rHltByBZBwezJQDa2Cq1QhSR1SqByRpBlfdjxI5srpMRrMCv4SSJCx/jREpxmAqIucKUX7XOHGL0xnVNnhb+cCSFoF4lhBq//6g8JUaB1KdINLtCNStS/k75wv1SPdbJDNlW3ZB2msVT2ynKIRrSJgKgLbss9Wj81a+xVXeZ35PdpFQ3Mf1BJmke2F5SdD0/3fRoykq4gfDqimKfj+oKNpmnHF+xbLrUmyKZcB+UaBFmEJ+oEzAQbe7UD2kn1fLj6kkloy6AEJ8GmyQHtlAGpLbtER3yTfV4qIJdIoLko1c62VxB4dUlTPZWyaxVffQXClrVTAEVgKLVLNzfRfPkPMowCJVhGrAj0ZfNv/1YqzgXLLLUsu+jsNVIjmKTV9azRk6zDfeN0btRdiZWM5/copjdKZeDh5sZ2xsEZZaqJpRADJlcjmPLk52ZJ9qOqoLiPKK0M9pkTtCAeGjlfBIhE+1LSWuAAcSjs2e+fPUns+OsUzyd0PZMT9QBLJ7ADSPl03rmjjx6bT3jkR7+RpQUBoEhyGDyDrGBmp1MKbDYWt5O2cK9Un3gekV75mZIUGXoJmXAEkrYZV2+cQkF9ysEgACYtEYSOtd4EsQ4z0f7uUgIRQgGIHkHDpqZrnHwTy9QLtEAYknUNz9DRj45ji+zJZZAeQtHucimSUTeUNV+NSA18nIGG+VEBcgSIBWap2TNa8UH5II7flyFJ7J5CCLDRZis+nxL6XpR1NSSTyd23/Su3AMuDk90b1pWi5PZkrPZMR93mWamw5UaE+VepnoSgl6mGJ +6vGVRwLktkLkbKKAuNjc3phXk326IeNwY8bBxszDTWkoe5tSdjSm7qxP29daeFKqv2xK3lSw4fNMHZI3OGqE/760mkSDKG5XpB2coh2ZvPF7HskV7SAj0RGQNPX6AJDwgdbZdmIQcK1p2lFFmz5qP6tKCHsnXTeUpk9Z4gUPU6caUEdLOvuXaWkhQcGueRIYGk1jVRCQMZ75mhEEJC017rDIe0BWUYyU6DnyDwLZVlB6IiTV7637gGR+nuTyF0AW3gckWgIgS7UgOy8XH1BKzWCtevgfVE3TPADSUt0Wvzkt9B+FmsHlBIlVtwbSzLvKrlgzJEHzct25cNlYRD+wR9Yo0YZJrk6fcSgx0jNTOxLpEwEJX6cbVKYcnOL7Zsv1GNlwky8/krv2s2zvsWDp8A2Vmr5gxWWqYSnKl4t3L4ZnFvkWZKW8uaYy88Sx6C/O+TtdD3C+4ed802fidb9/XPd/+w8/p/P+U25sWW6uuSG3pTRfiU0PfgdNggSoQjIGRJCBxVogMjxp3VdcUxptCf8PgSxV2YO1Fm/5zPBHRPK6z1JCXy+EvZMigyDYIQEHuapV9yvTOaTpxhXsYmt2aEdchb4DyOEMSAKeCk0LgOz8B0D6A0iKkZ1A0jA0XM2/AJKlHw8A+RKAlJtpiI5NoyOSSGzssLo1cWtq+MR8zVDk4AxIGnJCr0EywdritePrLsbIxmL2lA0IB9dxsqWq4c7WxFCnbM1wwA8Hw5b3AUjHLN+Xag/OMSVEGa7oimIVBaqRVdRs1Ilz+oOdpaufy93wrQgOKDTRNBZX25h+4Gq4R6p2bJF2VIlqOAJtrnZItg6EcXSC8rW0dXP4iutgQMasA6lRXoUQIHl+FsvZGvESzaB0MJL1X9HiK8lA64A6gYRrLS4/H5no/9r9QKI1DEiHdO3Ygi1fS3kHjBk7ag7/nOPzHHF3eCQ1MjBHptGwSPs03diCXXOkhgQGZHknkCNIQ63pIKRGtMUuVzMm +65e/AhK6D6P5j4GsPBuV6Psa2VYHa6WRmhoayyYgSwBkE8sjySKhJAATGWFtS+L2lEgXyA7IUc1oG1vPXq6xB1287fN6NUKauVISjQQ+RSBONpdWXVkdH/BmnnZYGa3Y61sDPwTsVfa52uFpgS9mhL+eF/pSvg9ovD0+rKZJrn4VSBs0yEBGp658nys+RwMmBGRda8rexDDXAhUShEG1pN/9i7T983QD83WDM1SjgTpfcUU2F7TnH05e9V6uagTaiQBJvB18R0kjKpnq4WnrrMshkZh25pEEpKmo7GwEAakZRmmyNUYSkGysVTMuf8uPcvV1WZ/Sen1Vqt/rRdph8GaMuyLS2Fdq7cC5GZA/dQDJVbblHEqL9ijQdgDJLJKUgyySgPyC7f1okth2+A5ySEAa5LbcspPBqX5v0mg7A5IpOAGJGAYgi35bRECac6vORSfBIhmQ0DnchYCkQGKf5vcyAQnXKrSx5diECG0q5uqaE3cmR7rk6YbRSgvKE9BZWDNZZL5u+C2fN2ouxdH2UvgG2DA1zCzr88pOBMRrX87XDC4h4wCQfWvJwQ4o0jrk0RyIQ6l6EPINWrRBk50D8S1OK9XYZWhGJUdPas/6ndJrGvKta0v5LSXUtUg9DKbGzqRF5XCYhQBSPSpr3ddc1VXZUmrM/T115dQ8mrZ0BENGCK/yHogCD5elHpH+61d8QypZ5F0g2eIrK5CvF1mBpPg3iLEY3GNwmuq5/M2zZGT6hrz6G+sT/d8u1gyF60BnkISg3QCylIaR4FrvAlnRlnsoLcYTQIKmQlIdWHYCmfnLZ7SggS2++jOQ+tzSk0Epvm/AIikYE2vttEiVY4rmheLfFsstibIxu+psZJJvB5BkkQQJQU4pU4dFplPmQDsUqXoKkwAyaWdShHOudiiIw10gq7QDIfQ83fCbPq8TkMYKSTDKxKd5CpZN6QV7lyRpxhVpHMpgu5SnP1Or7FOh6gf8wCTZzGLfKmVfuD74 +KthALXgmjcjYZ+nGJoS5tiTvgX+mKT9zTXvynuQwVyBUqkXiZFfnDfMdhLsX6IbA32Zs+I6rug4fYMk9nAkgiV5RjgCzITdJi1RA+0fQmp0GWg55Xx5JQBbfBZJYKxthopyMiNkQZKAMSMiuoPHWxkR/ZJNIivvUKZ+FX6KTYQTIwXXPIUZKjX8CcqQVSOuZABLYZ6tHZa79hCzyPiBZEgkg22GR/wLIQcUE5IsdeaQxp+oMgEQ4oAGBCtKqDiAh2XtAdlgkdRTOhzxb4v1ADgKQFFkfAHIVAckj/eAoBxX1Ys2dzE0z0jSjS2irG2hRn0plH8BGC89omMK+VD2gTNMHylRJw7YOaAMb+iEXkqMdeyfg3fqb62VzGdIYWiGQvDMxFA0YhbQNnLnOm3xmqWZAntYxWTsmbcO3XNU12VJiyf2dATkGRBLWQoEJAvRGmATJAJDf8g3g5PfnkR1AIkY+ACSuhOsoUw1J07yQt2U2ZfqmvObb65P83+gEsi9LJZkRaBzTdc/l75onNiT/k0Uiq70PSPXAbM3IjLWfWCouyFIjA5LybqZZiNsGuT2v7BS5VrBWcg+EIi3PBZAlqsGpAHLfEjh5ZF3VZ6MZkI7MDuDKrLdAKLUDa/2Ta6Weon4LgNyeHO501yKp/cTsO4C85fNa7eVVsglAsgFueghFs6X0StraL7I14Cbw2wNK1cCvX6WyfxXtHLWntcXwjboBJdr+LI7QTBaSNHS2XA3HOzI54M2q81EwA1lskfnqtpSdSaFOoIHlWlIjiLFajTSvb4FuEPKKtHVfcJUXZUuROfdo2ooPcrSjS3WOlbTZAXj3q/KG0Q/K0gxP//XrvwLSWFx6JiLB77UizXBGdh4AEqlV5rY5cn2CbMpqub06JQBEkWIkG6yhuXI4+goYLlvXSgPEfAPFyA4gh9O6qfuABDAdQJafl8UGiR7ueRdIuPsHgKTG0OwEagCQdiXqwcwiF1uBrDoTkegLpm0F +EgS9E0giOy8XWdOPe0CigH/WEpARE5EQPwAks8h83bBbPuMZkJW4kDZs0LRJU3vuqYSY93PUw8to3dCAMnU/eFdmlIDTrtzboUTlUKSxK6YwaV+tdqC4rkUqSZ4WDiPF98XCw2q5LVuWYJE1bSm7kkMnFEJNGTa1ShILhUk0WzsyZf0nluqzsqXYmHM6OebTbN2oEu2gcti3ui9IWbUSHnsgmzv7mm/8E5CcQTaWlJ2NTvR9qwjsmUbgKLVAwgdjqlAhaxmTs+1HuemObM5uuf1LKlnkcOsCPavjBlGsYAvS8wBkIyyykRYoMyDzOs4E3QIkSL1pDWeWbkTa2ulc+QVZbKTxKvo5eTQIfpVZZFt22YmgZJ83SjSUVyDeIGDTpjAKhA5pmucLySLhWrMrz4Sx5ZD2lUjANX2q1cSNmZtySPF5uWi/Sm7KAh5w3R0WCV2x1Dcn7YBrBUUkvsY8CuO60MUBBZrBN31frblCQIq8QaCfdDEiLW5J3Z8Q7p6nHFauJNJRCjpKIPUrUw3K14zK9n0xzefFNN8Xc33GFoOLwijBE7Uk+graV+uQoh2XtXue3JImAUiyyF2JIRPzoUm0G5BsBjpaprJDAE7Vjk7d+KWl6iLyCHP22fToz3K1CKWwKFpsR2snaTWQY556BFgr14w8siNqWC2SpgXKzsck+L3JFvpB7mSUbKDPEffI0QzP2/ipXH9JNia3Xl+RqnulRDmMnUZ7dGFq6FuZbnCqz7j83fOkhlSJdmNVtuccQvpBK1PItfavBOOiMaN+Fdr+mdphmWve54tOyHyVxLfIgl7immW+ReSMApxPe0bJiYAkvzcKNY7l1HrkqWznKexAPTBdMzYf2WrtFVmfUHUqINHn5UJi50+z5WgdlKpYZZdMrlUjN2Yh1CHOUTfJJiXZXN+UtDshUpGng5bg5H60ToB2fJKpFWgB5GvVV8Fay3lLu4Um9VtlS2UTKF7QO/nKwRXeNBhURuve+paq +BiC5Koib3Hha3XgxsOFcYNW2H7J1L9ImZJZnWxcelCAR145N2/yDWHdLEutJMil7E0Kcc3TDSnX28K5M1LT4qlA7ME07Ih00sOysbM6xpO3LoS3f1sy1Y5SuUulQqRySpxqWuu5TrjkZ4N0DkpdaZb60/OrKhKA3C9TDacaVDPmZag2yK7sK9WCE1pxYN3Piajl/T9VvczPVz5XSTrn+QJH5d2Q2DqU6WOS4Qoi4Ppk9HKeqPZOALFAPYWHg6RrvPrXK/rVgFppBBeqh+THuphsr+aJTlpJL5uIrxuI/zJUpYnuViPhqzCk+HRIf8HaBZgi5FCL0oF2DEIHgZDLVI7JWT+PTNsqFe8p3fJuuGVNMC+nBMoAiZDewQjuwQDMoOeDlkt81ZJG0pY32t7PBHTO4RlPizoRId8RIWidAQ9uwHtoRXaYeVKAddtP3zRoCsliytPC0/qEReW3VmbB4+GqYPm3+trrxPiXqAenacSUHQKGvyeYMWZ+mv7UxNdQ1TzWkgtZ+9kOX4QzLkL+rhqeu+cRSglSyRrZUGNL3J4W5I77Qni9Nv0ptn0pNXxClYm3fHK1DesQE440Yuex3/Xnf7OC3C1QjKsCeVBAd4IDaDYQzz1MPSfv1E64xyfqQvg4gOdBrvqr6xrqEwLfzNMOgUGDzNapn6lTP1CIxUg8uVA7L0Y7Li3IuWe2V4fdSvmYIW7SC9ANA9gPfgc2VsxhZtHO+XJ9KrpV2Yx1JjZ0M14o4VKt8tk75TJ2aOgYLK9PY5/uOyYmYkLVqUvqq91JXfhC/8rP0vT6m6jR6ulJ7Ucnp2AT/iYW0o4xoDnwy4CkFkOp+BWrHDJ8XC1d6lcZNLgh4pVg1uGJ5R4LF4jp8A0KdY7zfS6XHdMhkZMRgGgtA9GVPLeOqWxJ2JYe7F2iGkcpS2oD6HdhuOnuk0fG6N+sQIy0lPK9nT5pqkVpyCg+qE/2eL9bCB9LuDgTjClWfIrVdgu7FklMBoA4y +VyYbSw3pB9Oip6DL5YgjOI2tHQH86ZoRKbHvG7OP4u6ggcasQ4mRk7PVY2EkQIjGUdloKqqFMmVrRudGuhX+8nFO+ASaFKNlEuTJqtUIun0g9nL1oEzt4JQNzCIRNe4CSQ/8s9TUxW+/EzwhWz0cpL+UFr33r1c+Xad6FoGkVOlQphxcrByc7w165gBNLNfSzCIzNQAJ7wpTGJyleb5kB4BMobFWvrI151By7CRahqt2RJ5UC/MlIkeyhuwKvQfkqR1yULSOGdoR8doXU9d9Yyq/SUrQXlp96dd4/3cLlDRlRkAixFJa9myFtk+xun+hxiFXNTh3uT04JNgjrX7zHlCjHEgUmtIAGmlL9BtfcSZENhTyotH6jAIaDaDBtsbWhF2pYc4Ih2xDBY00ERtQwffYF2mGJOherbscK1lKLUKbGfEbDr8+LXP73BS/saVQX7AbNk4GvpOvdbyJu1xZCYYpSQ2QoSn3eHLslEzNULb8AH5iYLmGRm2ytIOTwl30idtlUwlcgrHgZELsh5nqMSAW1kQFyk2cy6qIqsF5ylGZ6rE5qiHFlFahkWBDhDSBTbe2z9CMSN70NUdBl5790gGkTE8Ba2jOPHwryi1dO7yYluoOq1ba19PkBgIPUS9aCbHcrooelkKLMNE+qBtJAUIkPwxP4pitfq74HpAV+pwDySs8s7QjizVDSzXICO1qYDe0CRlSo8VLFSwswbkhFqb5jMta/zltXuFqaYICWhVCxJJUm+IN1LZPpeqZcvXTJZpnoUZlJE3I9NkqFfSUkVXKgmDupCuF3sNSApxrrq6hbIweLEdP5KSH74mibG5tTtiVEj4hj5bDgDig5VZTtmNDdIPv+LxcdyVatpTyQpuFHpvdyFffTlv3NbSNHmfiTY9jKFfZwS3n6YbdDHy7PmGrLFSJYotkaRBKLmas+ThDM4z2WqNObxhQn1J13zyNXWLAa43XV8mGPImrMldcSV73FShkCTJ9IsywRcQF +yrBRcJdyesKMQxlFUNojxZw5W8FM/sC+VDUsTf18yqaZvD6bPRaPTNJqkUZkIJba23fWfZGgGwv3UqocWuXtWOM9CLXA9is1NOjOHgUALUbuj3rtS71RHIpV8HhIIgeUgtxqxuXt/FlqyKTVMVwVgEyN9QCvge7TGhlKV6y7eaEKfRDV4HzARauXDypRD6XF7MifKi7JfC0yBH3uidsr30vxGQH3RZNNtEwE1kaeDdiTjGgvO61nhAqDYEPtiGzT2DcIer981ajkiPdb0g/JYi0ntdMQK4CkZ+CD7LQ2x++BfeRAvdiaK1hzLVgYCcgxXzsC6UfNhWiYDliYQBO/DVzhxeSVH2VpRlYqHau8HRB6ilWO4KJIEG/6TdSn/06DqFybbGyWy2/lrPs2TT26VDmscrlDJS1spBVyeSqHZP9Xqs4EyYZcgWsQG9Jy9yxK8hkHvSkhKg5dhJzREcCPLIuGb+iJFXDgWoQt+Gc4QvtiyiAGlXk7FKhHJfm8lrdfLRlLBRD+u0N0bGmqES4+76jfdZ/Xc1UjSr3BZSA1gMfWDFLi369quX2FN9QWTn9gtnJYrv/48hiXLJ8x+bSrbVCxdkiy7sXsXYvEpmxR0MtinT7ncEqMOzIeBIlC9aAS2odFKTNCeom2L1gMKq/xdqhaDm0Ygfiaue4zvvwyrbg0NYmNGWl7lvyhezFXM6wCOEHWtOnAsULJHlRBCRJaSKWK9oeg//YVSvtyjQM9UkY1MFkDhZ1trLwuy00AQ6Y1t7wo8eRdLY1NCbvjwxWwMDSsHDSHrfYoVQ8s1A7OUI+47vtW1YUVsqGMuLTULvN1rWmHb4V5IVxVeA+t9HaEypaQE7bP8hl9I8ilLfc4smFRaJUsTUi1s7bNTtKOy1c6QuIV3vblyiElyiEFqmFJYNcHlGJLJj3tr6209tLq24H/yPAZWQCeSOMGcJvUL9g6bIbGs1SgP2y1jqpPOe1SHlQOg1H2R9Kcohl3Lcip +7sYmmatj6nkXSFp5bkFwas85ER/3RaLulVz1iAL4GR/7fB3ZOKRG4xdKqKFjntYxRTcqPtSp9phGTl6f/ctnSZqX8zVjcjRj7ujGZ+5aLDVn0Si8UN2afThxxWQkRkW64UVaxyL14GLNsHzt4AINEiY7eJVSYsijylQj8zWjk32ez9j4ORuaAlEyyKaahvQDV2Om3fF9CZy5VD0UulXiTcG7jB7SMrSM3Bc8BzJ0fDWkRDW0WDmkUDWMhlHUY64EuZZfXy+bS2gVBT00lEeYhPLS71NwNU3xu2+Fe6boxuZoh+ZpAAm0cFCRbmiubmSmz/PXfN+tugDWWsG2QtBWutpb22+GuGVqxhQpRyPPRiJfpHLM0Tgk6sbcjJxiLEU2XCfIzbzQIOvT039bct33lSyfUUXqIaXKIcXqEYXUwbEJ2vGZW+fz1UmypUU21vElV1O3zL/m+1aadnSedniBxqGIxvmgJUNopyINY0Hvrd6uf6nSrlTlUKR2KKAlS2P+8P9Hxt7FfMUNmdcjM7735Ct60imoHd8mtxY0JuxJ3TgjMdQlwf+lO35j7/iOS9OMzVaPy1SOTdE8H+/z/M2AN5PXfFJ+LkKs/gOEu+aPDVdDP7ype/eO7z8u+kxM3aMUwfhpQ2FtY97pK7GfXPN9I9FnfJLu5TTd+Azta+naV9N1L2VoX8zUvpKheyNN+3qG7vV43fgrvq/f3vR9e/UtWWhiW0rbRH122fVfEjd/fzvMPdH/7WTdyyma59LVYzJVYzLwrh6Lku09Lkf1fIbq+TTNiymaV1J1byQHuaas/b7w7EquPlm01NIwG88J6CuNHHE0kMvX1icduB710U3ta4k+ryTpXkr1eSHN54Vkn5cStePv+Lx5VudaeWUjPWVToARXNleXXd1yPsjrtu8bSbq3E3RvJfq+kurzYpLvS1d937q5+kdTebwstQhSC49k31icfjT8jJ/LLd1rqdoXMjTPp2pfStK+nKQb/4fu +3Vvr55rLb8nmRsncJLeXN2acydqjSo15PzlgQqLfK7DjNPVzmcrnM1XPZavG5KpGZWtGZGpHZGpGpmueS9W8lKB9OdH3zdvhUzP3adpyT8pt8BnQUfZA2g4gabeGKPAcZ26RTLWm8oSmO3vLj4Vm7V6ctmVu9vofc9d/n7Hxh7Td87KP+FRc2WDMvSQ159GkDFfL12eWXttReDqy8ERY7qmIyqQDQnsV7R8TjW31OfmXNhaeCC85FlJyPLjsRFDZscDyYwEVR/0qj6AEVh0NrzwaXnUspOxYUP6J8KKb242t+WwnF9wDx1taRFOZqSa+IfX3qou/lh7xL9g9P2frzOwtMzI3oz3fZm78NnvD9zmbZmVvnZu7Z0nhIf/qc6ua7+w1F9+S2kAOEbf0UFD6/V721GX2iDT0vLWlPKHw8vrS40HlxwJx6/KjAZVHg8qOBpUeRTtDsk6sqMu/JnBNHD2izyKZW5pyr+adji45GVh8IrLwZHTxybDy40Elx4Pyj0eWXdvPNQFyZDht7FGujTXZl3NOxZUcDy8/HoxSdCKw8KR/0Qn/ghOhxde2WhqyBUsTreG2tAqmBqExuy3nZO21jSVnQ3MOLc/aMS97008562dlr/8hZ93Xmeu/zNj0RcbGb9I3z8reszT/SEDVhdXNqUcgc4meMgIhU2ZMDKAzRtLjp3la8G/gRKPAt9MjX1sK5doMsSZZrLolVt0Uam6IjfH0VCtjhWzR0xpRFOICzbKxBgmD3FYEri8ZKyQLkmj4Mk7km0RjmQyZthTR06Vac+XWfLk1S27NkFuz5bZ8ukRfKOtz8JWkLxbMtbxAPyohsJ8XZBu1DRKcG0dPc6BdLI0pUl28WHdHrLnOV90QqFW3pJp4fCg1JElNObK+WDZW09JFzkjLutmjS8Dp6FGFtL+E0g96yLC5WTKUUhtasuQWtKqAWthSKuvL5PYyqa1aNLfygsHCmelBgOimuU4yFMntuazBxXJ7odyW +K7fkUdcMMHqOuTfamCaJJtHSLLVXIgrSySjtBTRWbs6WzXmCuZy3NIlCuyDRT5ryMCZoLezBhBw0X9Jnig3JYu1tseaWWBMv1iTxtXf4uut8zU2+Np4WHyEnhpzpCcJ6gTexn2aghUgd85EZGRk0XE1uxyTRc5jNaBftk0YH+HZ6lq7UyoNoATC+ReJaoQg8CUaARCBtnn7930yPcYbuS3oz4opAz7ymB1+L9PuPEBtPzymFcQAVnNYmsUdI8bJ1wXUbDdlDQ+m3/+AEjZxooVV19PBqBDZ64LNFMAoS0G2VzK2S2A5aQavFIALRgGol3JHa1iRxUCB6TDRNPEENIFnJRGNyIuII2slxRPAs7KcM2BQjh2v1NGUvmui5fxw90BvaA7kIHD3knWNtYA/lNgBXtnegjS2tgJagm+hIG1IUgWgU7oOTzTRWTEqILphwiQQHgJuJkJiel9vNdGCmp2AJAj2YnJYPorW4b7tAO3LaBL7FzNdzCC4CJI/2GwS5RZRaLVwzxzXTjwfxJo49EFuikA+XSg/RgFl2bKuTBHomLBUaXaae0gwhYUVPrKc20QOr6RmcAm3xA8el1jI+jzNhPvQcIHxjkkwmCQZNz/FlBs8ZJFO7YDKJZvqBZLa4XaCHdOMEEjkpAgwXvaUdXjzUn37eFB9Dq6CtnAXKjmphF2gcazI9oBc3I2ujLY+oEDWhmEhL6BjNooYyLmfh6HHy1okVQAd/bYajpCfVEtC4nbV3DHj2RHheaIW4cQ7yTag6IU5rNaFhFug1PVWcb+fg0NjgAtSDfi9YAjxm6AU9AZoUgp6ESw0jd2KWoYjAViIwqbcWqxWhB5AFdQTprYF6h87Qc61RM65BVKdnogs8gDfybRZSQeqzmTfSFjg0jMap0EnqGcF3b6wVJsbu0mSSipssGTVtmbX64hZDM2wBKkQGxsRO2KIFpEgdj8qF44H0LfAnJjgt/GOUTSbB1MqJxU3tufUtNSaLgbQO +jsBEIuBN9Mh0evY5+XHCAbelLnL00wTUf8mMb1ATekefmOAA0OE2Qa7Wm4prm8taDK0wLrY01AIbgtAgHMFiEY3s5wBQNekYAgW5Lwn6a+0vU35ACznAtUKXrHIVLaQsZEwWyNAitLUIpmqjObdOn1HTmtPQVmG0wHsYkXzSE/gtRs7QzPH5jaasWkN+g6GJ40ykHPSUfTJ3QC+yf+mRPLTnqt1iKGxoya1paWxDb3EHjv38iVGkPVlktWbBZBAQgaQKI5/bYMzCTesNVUa+mbaaQmsMeh75uLmgvq1cb6q3cPlN7dm1bXXtHO4K4cMTMGfQObJjIcOSG83Sut//mLYwdsLMMOdZIR8sCt989GqDmcKgUcIt6bH87JcCgLiZEyEjiE0GDrB35rdkMyQumxBSCppb5oWt+XBR0PH4rFb6mQV6mB7b3kyuD1KEsMkc4ATY/hrIiCPzArWg33cySkaoOQwRWmkRzABfL8g7j537YNbPoet3VLQaYOu0hY+qox0xFsKD1vZTY3AveGneCFGYZJOROCtaSFYFh4h74ebWc6AiIAQMBgBJlmyUxEsZ+bOD13nMDXaZ5e8xL3hB1NaU8oY2+ulcjoQu8bcKq74P2uDyU9jH6pVnUnKNiLroB22Lgt6RZ2aaygEGuP70yoq5YaunztOduZNBv0WBuEgNsHCcgTO3kQEwIG8UVM4M2eA2N9R5VrDH3JB5IeuTi2vYI8Ut6PiGw5c8f1wesGnf2ZziT9WR05eEnLiVAbdAv8/I5gGsa7sJSKgsbpPX0OY2y//Rt7/rO1nZx3PpY29+M2luaFp1Sy0vl7abS/WWKoPQBJ8tCTUGY5XRVG3iqtq5FgGuQGwzSw2tfHm7pYQz1cnS7armt75V93P6Ye3J+GoYk8FSaTBVWTi8N4OkW4S6dkuNia+xCBVGc7XF0iCKNRaxvJ2raDdD7/SS3CLL1ZxQ2m4hTTQJTZx86ErCT6Fxqw6eKjNYGixiZRu+ +4mpMQgsvN3NCrcFUbeBrTWKdgWuxWFoEcyPPlRvQbHONgWvmaaqsVhBL2iwVekudQdCTZpGBkmQhChitKDXxUvCuE/3cZj3h+nP/SUuecv3J3n3WphM3jbJs4oC6qVWS9sfnjfjUu/s7M/t5zf311O12GATEZ/XUpJQUMhBUmzip2Mifzqv4x+zg/q7fbb+U2IwembhiSLLNUmc0GciNwT/S6NHKwxcGuc98bMJP/b2WP+30k73L9xtOXG/khXbwZlmO2Xfu6dc/mKaM/vWPNDuv78dMm334ViZcFP12P614gHvtBFIifi5l1zS/+bXqcee5rpp9Cs3eR9+Z+fa3ASdSq9YevzUjdNPX/hvnR+/ZfzvvanHDsrgds8PWLYrbNSds3a4rt3P1/Mbj12eHbfvEd/WMmE1br6atOJ44bOryp5wXfqhdtze+cNHq3TOit85ZvXdm9JaDCYW7rqTMCVobvu/CquM3ZoWu2Xj2xq3qNt/tJ74N3vB90Grlqu2XMytulzZqN+3/KviXr/x+9f318I2Cxt1X074N/iXq8IXbVfrw3Wd+DNzwtd+6hSt2n0orPZ9Zvih6y/zY3YtWH1oQve1kUm6+nl9x8MKPIZu+8lv3c/TWQ3cyExuN4QfOfx248Rvf9ctid1xOzocsTPCwFO9oTARANnCycuORpz1+tvsk/P3wEw7Tffq5zVh58BIsEiHAIpoAxvpLKQOnK3solvSZsiR07+VGCggIYYhhCG80Ww82WW8Uj1xPmxm28fPgHcM+D+0/efm6S1lHUsp+XrXrU/8134Zsit57urBOj+t4Ua4X5IBdp/q6zXX4MPCj8NODP/B76h/fhe4+XyfIBnp0hLz9cpKdYobr4tjAEwn9J8157Rv1pZxqA1CEGtCiCvbWASScniwhMLz2hfpppzlfRR2fu+7M6OmL3lsUteFsxsQZgc9MnDn0Q80zrnM/Cty64Xrx2I+WPe30g93khc86fzdpSfjOmyXO +s8OfUvxkP131lMsMj0VxS9ZfdpikftJ1meuSFSFH40d87P2k+8/PTl3+uGLO19H7f1p7tK/rD56q9Z+G7h3g+u381ft/uZA50HPGwKkLBk2da+f63fLVR4J2XR7kOfPZSQv6T10+yH1e2P47ms1n+jp98XnQ+nVXc+w95w7wWmw3zftp55kzYvesPJM+ZMrCZxQ42ftZ1zkLVh46kFo79pPF/bzmDZm+/Fmnb78M2vrL5cIxn/n08Vw88lNtv4lfKlftqgUxo5gGg0KaCe8qARX1+sNPucwb/lXMnC03Xp0TOebjuetPXATkIGAI1Y2iHH74cv9pS/u+H9DXY9nyX36HEwIDAPfoIDXED+WCeuO3fuuenvhD/0nez0zSDXhPE30q54fIw0+7zu7/4bKnPBeM+WjhwVtZAANybxDlgN2n+rjOGf1poHLnHec54eOnz/v10IUmkF0EDlk+nZI/aurPb8yOWrDtj34e8z0WRCaXt5I5gh0gO7ai2UF26IHicmZt2+tf+z0zYebM2ENXK42XS2tvlDXuu5734qcaxw/V36+/0neq8u0FK1b/UTbqE63DdN204GP9PJeO/z4w+GDqy1+HDPzQ94u480M/Ur/yTcDm27Vvzol5xmth5NnEHSnl+HD4F+FTgn5/2n2Bh2bTN6uOPek+z123+6OIY8+4zP5pzTG//bcfd/puwvJ1rqqNT0347qvAXXPjTj6tmDdBuVPhe+AJp9mLNp5fuulcH+cfPgva7n8o8cmJs1+bu25a2Kmn3ZdM1W4OOZblOE378pxfP1lx6UnF4k8D9qy4mNt3ypwX5kR9GH34Wc/ZrotW+h1MHThV9eKsuMW/3X5ywqff+q6oaKOoSRsnIQsmFKQI4btO23kseNZ9+WSfHYEnUnclF6U3tOohcUR4Sa7mJe/Nvw+Yuuj1uRv7eyybEbYtp0nfTpkpXCtoFa2yBpAp5fpJS+KeVCz08jv4/MzV/acsCz2RPdVn75OT +ln8Qd3bkDzGDJi/YeD6hlUme/Pme0/1d546Zrt12tfBWaeOd/IqyBn0bh3wc1Ei+kV85/gv1899FfL7i3LOKn7/y2VDQiDwCvJ7IMnnWu9NYCJAAMq2m7ZWv/J52mjlv1cEiXq6T5XpZPppUNGK6t+OnugW/JfX7QP3mvNi4qyWjP1UP/yzgxw237T7we+W74LCjGa9+E9Zvqubb1Rdnrjqh3nHxeIn+HwtC+06es/l25v6M0mEfLBv/Y9TP6y+88OmyT4K2fRt35EmveQqf3dMjjj+rmD979WnV3tuPw0Z9N38dc2DsJ0u+j93//YpjTyt+nuT72/erT435ZJHut0vLtp172un7j4N2a/cnPj5xzj8Wb/xq7ZU+HsunaLaGnsgbNE3z1tKtC/dmPeuxBOdEns995r25I2aEKwJ2POX+o/PCSP/DifbvLxvxRaDqUPw3UdvWHLlYbwa/J4AAJFEdEcFeOp9R+qH3avvJS592m//q7NCIEzfy9WaDJIMTwziKTNwP0dv7TVnyfujJAZPU05RrEmsakdVSoII8iSxDwnJyRZvH4tVPeSz7fM2l15dsGDBtUcipVE/d7kc9lyoCDwz/MszOa+6G0zcQ/5D2NQty0J4z/V3nj/vI50B8KdA1yDK4DOiVkbfgOLW6eeKckGFfhDppDvRRLFkQ81uFARGBshe4EfKsd1kr/kTYTK9te/lr3ycm/jB75b5zBfUHE3NOZVXsuJk7/DO13afaBXsTBnyge2PuirgrxaM+UQ7/3O/79dcHva995Tu/X6/kT1H++qjTglGfBM5fe+Z4QeuVBvGtn4IGTJqz9WbG4czyEe8vH/9d0MaLWQdu5RxIqZi38cRjbjPcfHbAIp9WLJi55qL3vqRHXH+cErh5X1rlzsSCQ4VNs9efe9p17ge+23/Pa9iTmHW1tnXp1mNPOv0wPfQ35cHkh5xnvrF07Ze/XHjKY4mHZnPgydz+H6rfWL5p4d60Zz1+nh68 +O/xS4ZNTl/T2XP7Y5MWPOH3t8nPIxlsFr88IesJ5zqszQ7Q7L94pb0WGD+JKz8OFY2STzq0in6M37kssQWR57seoxxTzRk1fcOhmGoAkjivJGS3GqZq4fh+o5u5Mt/8w6J05UVdLavUwLGYYRHvoeSlyUnXrpKWrH3db+vGa868vWd9/2s/BZ5O8/HY87Dr/SY9FTzvNHeY5a+OJPwCSSZLrRDl436X+bovGfRyw8VLOyYz8Y3fS0subkGWxFXxSXqvxQ59f+7zvO/yHdX08l/luPwPHQL+hRe6E3Op9QFKyLKc26F/8Vvu08w/fR+5csG7fiE/mK7yjQ08mjPlK5/CxZslvqYDtzblRK6+WDfvCf+jn/jM2XLf7UDv+W/9j2Q0n89u/jjxlP1XzrOu8jwJ2HSk0TZgXOcjrp63X0w9nVwyZrn71m9CTGbVNslwiyJrtZ55VzPTy3fZh5O9Pui2csfqP5b8l9XaZ4eW/fX9m7f600uPFbXPXn3/See4HAbuP5LceSCm4Wd+u2nHySZcfPw75TXMg6WGXOa8vX/fZLxef9Fo2WbMp5GTegOm6t5ZvXrA38VnPhR8G7g89V/z05IUjvgv2Pnw7+mLy9ju58S3irviy99Qb+rvPtfOa47v5aDPyGxpFopwdEoEqN3HCqt9PuvzkM8n7lx/WnBz+mV9/99lxRy+3iLAP2KV4s7Lx3XkRz3pppgaeHDAt5IWvg87klLSRJdAvXlEWQwPzALJx0pJVT7kv+2TVqTcB5HtLQs9kevlufspj/mdRR+LO5W48n5RcXg8UcTJiZNCe8/BMoz8O0G695jY74JWP5q88fKUWboDlGJVGcf6KA0+7q5+aEtp3yvLY49cboAE0fMZmlHHfu0Aif4PfSKlte+UH3ydcZn4RefCz2P09FbPHzQr1PZY46gsfh499Fu5JG/iB9o254XE3yod8FjD0U7+ZG67afaB59Vv/rTcKIo7dXr4r+cdfbgyYonzp +m9BdKQ0TF8QOmDRvy43MgzmVIEHjvw05i3RXlqs42W/zyX4usyf57H4/+sQT7otnrr66fO/th1x+dPfd8Uno1oFuX34evGXGqqNPKuZO9t/zReQBe/dvlm48smzb2SddZnwa8ptuX+JDLrNfW7bus3VXEHUmadYHn8ruB4tctuHnfUl9vH6e7rc7/Gzhs5Pmv/lzXMSl3AWbDocdvnokq8Jvzzm/g3d+WHv64Qnff+K7rlTPkRNDjoj+Qy5EdqTl63Y97fTV6M99f9pyZeRXoX3c50cevYYoA7NDRnQip+z5r3wembjwMeefH1UsH/6ZbufttEZa0UVjSGChSChwnFTdMGnpyifcln4Sd+7NJRv7TV0Scjprks+mZzx/XrQr0f/A7WW/7ruSUwxDtzCqHLL79FPuc4Z8HrR46+2xn/g89e53gfuuVOKmUCARaZjss+3CU67LH1Jo7d9fvvVmVg39UD2aDeDYODkPJbRaJJytLGfX6l/5RvOYYoGrz34Xv3093Ra//FNs4LH0UV8GDpzu8+OW289MWf7m/IiVfxSM+tJ3+Cfq2esvOHyofuW7gJCjd17+Vj1omvbbNdeGf+w3/rvQfamN7/4U1c9rftzFtF3plYM/Ur72lc+5jHIAidwxZPvpfk4/vbtku2vA4ccUi+b8ckm978ajLj84q7Z6aLc87fzd5yE7YAjPus1xVW2f4nfgaecZi7acW7zt/DOKmZ+G7A44nPyI06zxC9d+GHvmSc9l03w2h5xKH/Ch95tL1y36LbmPB1zC5qhzOX085o+fHfdF9LFnXX9U/BwRduT6kPdmvDY7dOn+5N4TZnwSuO1GefvhG6ln4tNrWk1sJEEGa1VtPvSMxxyHT4OmRp5w/CLiWc9FYUduXc6v23c58Up+7ZYbuXZTFzhO13wUunf45wEDpi6Mu3DrRkX9bxev38zMb+UEIy9BOZJrGr2WRj/pvsQ98PfnZsf1m7Io7FTaVL/Nz3ot+Tz2 +4gtfhwz2+HHzmWs408yeeBiy4+jTk+YO+MT/o8hTQz8JfMp5rv/+mzcqGw5dvnU9Pb9SlCOP3howWfWI05JxX2h/z6y4Ulix70rCjewStqceygB/yoBk45hyWVOb20++j0+c8ZSX9zNTlL0nzHZdHLf+av5r3wc/4fLTyC+Dn3SdO0Xzy8YbhaM/WDTmw4VzVx8bMnXRK1/7xJxJf3tW0JPOC4d/FNRn4mz3OZHn8/TTlq59csIP05SrYk+lj5i26K1PFl9Op0gOBh938MpA5zn9JmmefV/3uOuc2auOxJ5NBX6Dpirt3/Pu4zxj3srDui3nB7rOtJuyfPA032ed5/nsva3cdvGZd778MmDzmvM5fVxm2U1dNvQjv8ff/emb4F0rzmQMnDL/3cWrFu+41dfpx090cdtulg5/b6mdx/KxH/k99da3H6k3/HopZ9QH8/t7zHn++7DHJv4wZ9Wh324Xjf9o1gfzNMkFNWCBiG/NnBy672wft5lPuC/q8772UcWiQZMWRh+7rfl1/xjXz5eu2hd2+PZT73759qzgo4Xtnkvjnp7wVeCBs6G/nRilmLo4LKbeyNHzOkQ5p77lM93KJ11m9UMyrZhn7zFn1ZnUr0N3POU8c/jH/v0QeifP+e1KEmwXjFlvltYeOt/fc+ajSJ+maB53+nmAYtHK45krD198QTF9UdDKKknefCVt+HuLn3x7xjvf6f4oa/XfuHeE0/vLYtY1kjGacM8OINmiJKnFbFl7+PSkn0PemRH07szAyQsj1h67llLTrtt4xGNBmNPsoKmLo9ecvH42p/xrVdRXyvDYgxc/XBL+XcDak5mV/ttPKeZGus4OnzYvNG7vxcIWYfWBq1MWhH6tjt50LuHT5ZHzfWNS8ipwQ6TB1zOKv9OtmfJz7FTVGvf5gZF7T18rbZgRvN51VpjTrKDPVLEHr2efS62Y6b/OfU6w65zgz33WHkuv/OX49clzNIGbDl4vbp0Xvt1zfojz +rMAPl67aeSn994T8aYtDflq5a8Xx+KnzAv1+3X27rM077sCk2WHuPwZMXxi+/uSdG2Vti1bscJ8bPGFm0PtLo367kXk+p9zzJ+3kWaqkgmoLaAKNyMin0wq+C/gFzXhjpt/bM/2+DV57Ib9s5f6j781YEr792C8nbnjMVP0cszWp3uiz8XfFDE3ckQu/Hr88ZebP4Zu2NZk5pJNms1BnsIDLeC0ImbI09r0lMR8uDj98u2DrhbT3l0Q5zwp2nxO4MGpzankDzZLSbBl/O6doZuivE+cEvPtjgPOs0JlBO24U67efvTp9zvKw9XvqJfliVikyX48fg5ZFbsutN687cHLq94tjth9EUCfWTcMGViApIRZMgrmWMxe2mDNqDRnVrQUNxnoT12w21ZjF3CZTZl17QTNXY5FqzJbC+rbiprayNnNhU3tRk6HKJFSapJwmLqMGf5qbTJKekxDKi1osBfWt5e1cYbOxokmvN9JYstls1HN8WbMpv96U38rnNrSVt7TXW7jKdjGn1pJR216qNyNWNVvkSr2YVdOeXtNc1GapE+RyvTmvtqmsRd/MiTVGKafBkFHXWtwqNPBydTuX19Ce22IoauPyatvKGw2NZqnGIBU0mPLq2kua0QWhnpPKDUJWvTG11ljcwiEylRq42N9Ofr4kML2sDjkigASzqDMLJS2mnLq2pJrm5JqWojZ9nWgob2/Nq28s05sq2tGGlpJmY61FKG4y5da2Qwjl+LCuuay5xcBzAg2WiwbcziznNJjyW7jsBkN2bXuVQaizyIX4s86YW2+oNvB6M86mIV+zxaQ3myrbTTn1bRB7dp2psk1qssgV7W15Nc3lTSY9L9SbhII6c161ubzZ3GKRq5rbC6ubERFAuBlp7RwQoL+QAklmk8yB79L0Dc1kIcsB4BY2tC2jq3AaJlGk3yhlU10wL+s7TVXQ00YoZcYntIeDzuGpKvqhWutPGeNDGojg2W/tso10NApB95IkNo+D +k+kudF+RBkBxOxS6F21uY+MmIPr0vGUBHswoiyggfmaECIF+F7eN7TFHhTSUzy7H+dQRehA/UkY6Gfk15RKsqqT8vBlK36C12ysaIXkigRydg5bDQ9EJaLaRHphlNNPUDOsdSYlqhgRRm7WzZpp7EkwQFDWNnrPPcfRjxewHqFEkVg8TIOsvtZDmZNAiC82S0lV4h6ipj1QtmkcTEWZUjo7QTJ5V5h13BKMRaK6OGkPtYeMBDEiZ5rghZ0gPnwNiJCREx4nZktMF5Ox/ln3ifkh+rd+y+WVWK0GGGmhGjU2sADJIm6aocSlOtsrUWtAfnEZDY2xQAkkYoLKw86kmlpPRTag6yu9wNhWqlkb66Qzk70QS0WCWiRN/o+lPnnUKnxCdo17QPVBwQNfSldR9Mj5RqGyqu5WRXVLb2m4ULLwFlsGxYVMB7aUr2E2pHhqNRYVE8lmlrCrqAhMXxEsqB59KU+gkXustrQVtYViwPlF1rG/URBCTzq9YzVQ5Xugu/oL4wX/papqYgWAhXqgXtYzpp4kmwwVERyBHEsKLAfn/f/3/+kuW/z95CcDpstdZ8wAAAABJRU5ErkJggg== + + + image/png + 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 +AAAAAElFTkSuQmCC + + Cm 0446ccd6-cd7b-4e18-9ae7-7589107a2103 \ No newline at end of file diff --git a/General/PopUpPaqueteriasGuias.aspx.cs b/General/PopUpPaqueteriasGuias.aspx.cs index ec353c294..02ca5fca7 100644 --- a/General/PopUpPaqueteriasGuias.aspx.cs +++ b/General/PopUpPaqueteriasGuias.aspx.cs @@ -736,6 +736,7 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas } } + ObjVentas.Dispose(); } private string DocumentoEntregaInterna() @@ -849,8 +850,7 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas private void MandaCorreoNotificacionGuia(string Correos) { - Correos.GuardaLog(); - + string body = DocumentoEntregaInterna(); ClsSisMail MailCls = new ClsSisMail(); diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 80285172c..bff609215 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1697,7 +1697,7 @@ Partial Class General_SaldosIniciales Dim SubProTemp As DataTable = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa) CvePrePoliza = ObjConta.AddPrePolizas("SI", 1, 0, 0, 1, TxtFecha.Text.ToDate, "Saldos Iniciales", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - For Each Row As DataRow In dt.Rows + For Each Row As DataRow In dt.FiltraParametros("Cuenta <> '' ").Rows NombreCuenta = Row("NombreCuenta").ToString Cuenta = Row("Cuenta").ToString @@ -1709,11 +1709,8 @@ Partial Class General_SaldosIniciales Dim YaExiste As Boolean = False Dim DataTemp As DataTable - Dim SubP As String = Row("SubProyecto").ToString - If SubP <> "" Then - DataTemp = SubProTemp.FiltraParametros(String.Format("SubProyecto = '{0}'", SubP)) - CveSubProyecto = DataTemp.FiltroPrimeroValor("CveSubProyecto", "").ToEntero - End If + + Cuenta = Cuenta.Replace(" ", "") If ObjConta.GetCuentas(-1, Cuenta.Replace("-", "").Trim, 1, UsuarioActual.CveEmpresa) Then If ObjConta.DtResultados.Rows.Count > 0 Then @@ -1729,6 +1726,17 @@ Partial Class General_SaldosIniciales Exit For End If + Dim SubP As String = Row("SubProyecto").ToString + If SubP <> "" OrElse SubP <> "-" Then + DataTemp = SubProTemp.FiltraParametros(String.Format("SubProyecto = '{0}'", SubP)) + CveSubProyecto = DataTemp.FiltroPrimeroValor("CveSubProyecto", "").ToEntero + If CveSubProyecto <= 0 Then + Reporte.AppendLine($"'{SubP}' - no se encontró en los subproyectos
    ") + TieneError = True + Exit For + End If + End If + 'If TipoCuenta.Contiene("A", "C", "E") Then ' CargoAbono = False @@ -1738,6 +1746,8 @@ Partial Class General_SaldosIniciales If IdCuenta > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, "", 95, Concepto, Now.ToDate, -1, -1, ImporteMX:=Importe, CveSubProyecto:=CveSubProyecto, CveCuenta:=IdCuenta) Then TieneError = True + Reporte.Append(NombreCuenta) + NombreCuenta.GuardaLog Exit For End If Else diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index c622d7ac6..5d16c394f 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -335,7 +335,7 @@ Partial Class Inventarios_EntradasSalidas If Request("CveMovimiento") IsNot Nothing AndAlso Request("CveMovimiento").ToString.ToEntero > 0 Then - If UsuarioActual.CveUsuario = 100 AndAlso UsuarioActual.CveEmpresa = 140 Then + If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.CveEmpresa = 140 Then LnkGenerarVirtual.Visible = True End If diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 5f5646989..f696edd7f 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -2062,7 +2062,7 @@ Partial Class Inventarios_EntregaAlmacen DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec"))) For Each Dr1 As DataRow In DtDetalle.Rows - If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString().ToEntero(), Dr1("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:=Dr1("Serie").ToString(), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)) Then + If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString().ToEntero(), Dr1("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:=Dr1("Serie").ToString(), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=-1) Then Dim CveSeccionAlmacen As Integer = 0 For Each Dr2 As DataRow In ObjInventario.DtResultados.FiltraParametros("CveAlmacen > 0 AND ExistenciaFinal > 0").Rows @@ -2120,7 +2120,7 @@ Partial Class Inventarios_EntregaAlmacen DtDetalle = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec"))) For Each Dr1 As DataRow In DtDetalle.Rows - If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString().ToEntero(), Dr1("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Dr1("Lote").ToString(), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)) Then + If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString().ToEntero(), Dr1("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Dr1("Lote").ToString(), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), CveSeccionAlmacen:=-1) Then CantidadSaldo = Dr("CantidadGV").ToString().ToDecimal @@ -2171,7 +2171,7 @@ Partial Class Inventarios_EntregaAlmacen Else - If ObjInventario.GetExistenciasProducto(Dr("CvePS").ToString().ToEntero(), Dr("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)) Then + If ObjInventario.GetExistenciasProducto(Dr("CvePS").ToString().ToEntero(), Dr("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=-1) Then CantidadSaldo = Dr("CantidadGV").ToString().ToDecimal diff --git a/Inventarios/EntregasPorRealizar.aspx b/Inventarios/EntregasPorRealizar.aspx index 3bf84154d..f2bfca7df 100644 --- a/Inventarios/EntregasPorRealizar.aspx +++ b/Inventarios/EntregasPorRealizar.aspx @@ -41,12 +41,12 @@
    - +
    -
    PERSONAL QUE ENTREGA:
    +
    Personal de Entrega:
    @@ -56,6 +56,31 @@
    + + + + + + +
    +
    + +
    + +
    + <%----%> +
    + +
    + Generar Documentos +
    + +
    + +
    +
    + + @@ -67,50 +92,170 @@
    -
    +
    - - - - -   - - - - - -   - - - - - -   - - - - -   - - - - -   - - - - + +
    +
    + + + + + + +   + + + + + +   + + + + + + +   + + + + +   + + + + +   + + + + + + + + + +
    + +
    + + + +
    +
    + + + + + <%----%> + + +   + + + + + + <%----%> + + + + + + + + + + + +   + + + + + + +   + + + + +   + + + + +   + + + + + + + + + + + +
    + +
    + + + + +
    + + + diff --git a/Inventarios/EntregasPorRealizar.aspx.cs b/Inventarios/EntregasPorRealizar.aspx.cs index c9a6442da..44a8d193e 100644 --- a/Inventarios/EntregasPorRealizar.aspx.cs +++ b/Inventarios/EntregasPorRealizar.aspx.cs @@ -11,24 +11,83 @@ using System.Text; public partial class Inventarios_EntregasPorRealizar : ClsPaginas { - + + + DataTable DTGenrarDocumentos + { + get { + + if(ViewState["DTGenrarDocumentos"] == null){ + ViewState["DTGenrarDocumentos"] = new DataTable(); + } + return (DataTable)ViewState["DTGenrarDocumentos"]; + + } + set { + ViewState["DTGenrarDocumentos"] = (DataTable)value; + } + } + + DataTable DTDatosConsulta + { + get + { + + if (ViewState["DTDatosConsulta"] == null) + { + ViewState["DTDatosConsulta"] = new DataTable(); + } + return (DataTable)ViewState["DTDatosConsulta"]; + + } + set + { + ViewState["DTDatosConsulta"] = (DataTable)value; + } + } + + + bool SelecionEntrega + { + get + { + + if (ViewState["SelecionEntrega"] == null) + { + ViewState["SelecionEntrega"] = false; + } + return (bool) ViewState["SelecionEntrega"]; + } + set + { + ViewState["SelecionEntrega"] = (bool)value; + } + } + + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { + SelecionEntrega = true; CargarEntregas(); CargarPersonal(); } } - protected void BtnAsignar_Click(object sender,EventArgs e) + protected void BtnAsignar_Click(object sender, EventArgs e) { + + ActualizaOrdenDTGenrarDocumentos(); + + if (DdlUsuario.SelectedValue.ToEntero() > 0) { bool TieneError = false; ClsGenerales ObjGeneral = new ClsGenerales(); ObjGeneral.IniciaTransacSQL(); - GridViewRowCollection Grid = GvPaqueteriasGuias.Rows; + + GridViewRowCollection Grid = GvGenerarDocumentos.Rows; int CvePersonal = DdlUsuario.SelectedValue.ToEntero(); long CveAsignacionEntrega = DateTime.Now.Ticks; @@ -37,66 +96,68 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas string LigaPopUpVerFactura = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", ModExtensiones.Encripta(String.Format("OP=ENTREGAS&CVEASIGNACIONENTREGA={0}&USUARIOENTREGA={1}", CveAsignacionEntrega, Usuario))); foreach (GridViewRow row in Grid) { - if (row.FCCheckBox("ChkAsigna").Checked) + int CvePaqueteriasGuias = row.DataKey("CvePaqueteriaGuia").ToEntero(); + int Orden = row.DataKey("Orden").ToEntero(); + + if (!ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriasGuias, CvePersonal:CvePersonal, CveAsignacionEntrega: CveAsignacionEntrega, Orden: Orden)) { - int CvePaqueteriasGuias = row.DataKey("CvePaqueteriaGuia").ToEntero(); - - if(!ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriasGuias, CvePersonal, CveAsignacionEntrega)){ - TieneError = true; - }else - { - try - { - MandarNotificacionCorreo(row); - } - catch (Exception ex) - { - TieneError = true; - ModExtensiones.GuardaLog(ex.Message); - } - //string CobranzaCorreo = row.DataKey("CobranzaCorreo"); - //string CorreoEntregaAlmacen = row.DataKey("CorreoEntregaAlmacen"); - //string CorreoEntregaCompras = row.DataKey("CorreoEntregaCompras"); - //string CorreoVendedor = row.DataKey("Correo"); - //string CorreoAdicionalNotificacionesVendedor = row.DataKey("CorreoAdicionalNotificaciones"); - - //string CorreosCC = string.Format("{0};{1};{2};{3}", CorreoVendedor, CorreoAdicionalNotificacionesVendedor, CobranzaCorreo, CorreoEntregaCompras); - //string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, CorreosCC); - //LogCorreo.GuardaLog(); - - //ClsSisMail MailCls = new ClsSisMail(); - //MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoVendedor, "Se enviara la compra a su dirección", "Pendiente", CorreosCC); - //MailCls = null; - } + TieneError = true; + break; } + } - + + if (!TieneError) { - ObjGeneral.Commit(); - Alert(String.Format("Entregas asignadas correctamente

    Imprimir Reporte de Entregas Asignadas", LigaPopUpVerFactura)); - CargarEntregas(); - UpDatos.Update(); + + foreach (GridViewRow row in Grid) + { + try + { + MandarNotificacionCorreo(row); + } + catch (Exception ex) + { + TieneError = true; + ModExtensiones.GuardaLog(ex.Message); + } + + + } + + if (!TieneError) + { + ObjGeneral.Commit(); + Alert(String.Format("Entregas asignadas correctamente

    Imprimir Reporte de Entregas Asignadas", LigaPopUpVerFactura)); + + SelecionEntrega = false; + SeleccioanrGenrar(); + + CargarEntregas(); + UpDatos.Update(); + } + else + { + ObjGeneral.RollBack(); + } + ObjGeneral.Dispose(); } else { - ObjGeneral.RollBack(); + Alert("Seleccione a alguien del personal", ModExtensiones.TipoMensaje.MsgAdvertencia); } - ObjGeneral.Dispose(); - } - else - { - Alert("Seleccione a alguien del personal",ModExtensiones.TipoMensaje.MsgAdvertencia); } } - private void CargarEntregas() { ClsGenerales ObjGeneral = new ClsGenerales(); if (ObjGeneral.GetEntregasPorRealizar(UsuarioActual.CveEmpresa)) { GvPaqueteriasGuias.DataSource = ObjGeneral.DtResultados; - + DTDatosConsulta = ObjGeneral.DtResultados; + DTGenrarDocumentos = ObjGeneral.DtResultados.Clone(); + } ObjGeneral.Dispose(); GvPaqueteriasGuias.DataBind(); @@ -227,4 +288,137 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", body, Para); MailCls = null; } + + + + protected void LnkGenerarDocumentos_Click(object sender, EventArgs e) + { + SeleccioanrGenrar(); + } + + + private void SeleccioanrGenrar() { + + if (SelecionEntrega) + { + + + if (DdlUsuario.SelectedValue.ToEntero() <= 0) + { + Alert("Debe seleccionar entregas", ModExtensiones.TipoMensaje.MsgAdvertencia); + return; + } + + DTGenrarDocumentos.Rows.Clear(); + + + + int CountRows = 0; + foreach (GridViewRow GvRow in GvPaqueteriasGuias.Rows) + { + + CheckBox ChkAsigna = GvRow.FCCheckBox("ChkAsigna"); + + if (ChkAsigna.Checked) + { + + int CvePaqueteriaGuia = GvRow.DataKey("CvePaqueteriaGuia").ToEntero(); + + DataRow dRow = DTGenrarDocumentos.NewRow(); + DataRow dRowOrigen = DTDatosConsulta.FiltraParametros($"CvePaqueteriaGuia = {CvePaqueteriaGuia}").Rows[0]; + + int IndexColun = 0; + foreach (DataColumn dColumn in DTDatosConsulta.Columns) + { + dRow[IndexColun] = dRowOrigen[IndexColun]; + IndexColun++; + } + + dRow["Num"] = CountRows + 1; + DTGenrarDocumentos.Rows.Add(dRow); + CountRows++; + } + } + + DTGenrarDocumentos.AcceptChanges(); + + if (CountRows > 0) + { + GvGenerarDocumentos.DataSource = DTGenrarDocumentos; + GvGenerarDocumentos.DataBind(); + + DVGvGenerarDocumentos.Visible = true; + BtnAsignar.Visible = true; + DVGvPaqueteriasGuias.Visible = false; + + RegistraScript("InitOrdenamientoGvGenerarDocumentos();"); + } + else + { + Alert("No hay entregas seleccionadas", ModExtensiones.TipoMensaje.MsgAdvertencia); + return; + } + + + SelecionEntrega = false; + LnkGenerarDocumentos.Text = "Regresa a selección"; + + BtnAsignar.Visible = true; + + UpDatos.Update(); + UpFiltro.Update(); + } + else + { + + SelecionEntrega = true; + LnkGenerarDocumentos.Text = "Generar Documentos"; + BtnAsignar.Visible = true; + DVGvGenerarDocumentos.Visible = false; + DVGvPaqueteriasGuias.Visible = true; + UpDatos.Update(); + UpFiltro.Update(); + + } + + + } + + + + protected void GvGenerarDocumentos_RowDataBound(object sender, GridViewRowEventArgs e) + { + if(e.Row.RowType == DataControlRowType.DataRow) + { + // e.Row.CssClass = $"{e.Row.CssClass} RowOrdenamiento"; + // e.Row.Attributes.Add("onmouseup ", "alert('boton liberado')"); + + } + } + + private void ActualizaOrdenDTGenrarDocumentos() + { + string[] OrdenCvePaqueteriaGuia = Request.Form.GetValues("OrdenCvePaqueteriaGuia"); + + int NumOrden = 1; + foreach (string CvePaqueteriaGuia in OrdenCvePaqueteriaGuia) + { + foreach(DataRow dRow in DTGenrarDocumentos.Rows) + { + if (CvePaqueteriaGuia.ToEntero() == dRow["CvePaqueteriaGuia"].ToString().ToEntero() ) + { + dRow["Orden"] = NumOrden; + } + } + DTGenrarDocumentos.AcceptChanges(); + NumOrden++; + } + + GvGenerarDocumentos.DataSource = DTGenrarDocumentos; + GvGenerarDocumentos.DataBind(); + UpDatos.Update(); + + + + } } \ No newline at end of file diff --git a/Inventarios/RepAnomalias.aspx b/Inventarios/RepAnomalias.aspx index a1acbb482..1d61b5461 100644 --- a/Inventarios/RepAnomalias.aspx +++ b/Inventarios/RepAnomalias.aspx @@ -75,23 +75,29 @@ Reporte de Inventario Fisico -
  • - Imprimir PDF -
  • -
  • - Exportar a Excel Productos que Faltan -
  • -
  • - Exporta a Excel Productos que Sobran -
  • - <%--
  • - Exporta Faltantes -
  • -
  • - Exporta Sobrantes -
  • --%> + + + + + +
  • + Imprimir PDF +
  • +
  • + Exportar a Excel Productos que Faltan +
  • +
  • + Exporta a Excel Productos que Sobran +
  • + +
  • + Exporta a Excel Productos Coincidentes +
  • +
  • + Exporta a Excel +
  • @@ -104,6 +110,11 @@
    + + + + +
    @@ -125,6 +136,16 @@
    + +
    Vista de Resultados:
    +
    + + + + +
    + +
    @@ -208,7 +229,13 @@

    - + + + + + +
    +
    @@ -248,8 +275,8 @@ - <%----%> - + + <%----%> @@ -257,8 +284,8 @@ -
    - +
    +
    @@ -298,7 +325,7 @@ - + <%----%> @@ -342,7 +369,7 @@ - + <%----%> @@ -384,6 +411,70 @@
    +
    + +
    + +
    + +
    +
    + Registros Productos que Faltan: +
    + +
    + Registros Productos que Sobran: +
    + +
    + Registros Productos Coincidentes: +
    + +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb index a3a2ca10b..59919c262 100644 --- a/Inventarios/RepAnomalias.aspx.vb +++ b/Inventarios/RepAnomalias.aspx.vb @@ -97,11 +97,11 @@ Partial Class Inventarios_RepAnomalias End If If EsAvance Then - If Inventario.GetInventarioFisicoResultadosAvance(CveInventarioFisico, UsuarioActual.CveEmpresa, DdlGPO.SelectedValue.ToString.ToEntero) Then + If Inventario.GetInventarioFisicoResultadosAvance(CveInventarioFisico, UsuarioActual.CveEmpresa, DdlGPO.SelectedValue.ToString.ToEntero, DdlVista.SelectedValue.ToEntero) Then dt = Inventario.DtResultados End If Else - If Inventario.GetInventarioFisicoResultados(CveInventarioFisico, UsuarioActual.CveEmpresa, DdlGPO.SelectedValue.ToString.ToEntero) Then + If Inventario.GetInventarioFisicoResultados(CveInventarioFisico, UsuarioActual.CveEmpresa, DdlGPO.SelectedValue.ToString.ToEntero, DdlVista.SelectedValue.ToEntero) Then dt = Inventario.DtResultados End If End If @@ -189,61 +189,103 @@ Partial Class Inventarios_RepAnomalias End If End If + + End If Inventario.Dispose() - If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvS.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) - If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvF.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) - If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvC.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) + If DdlVista.SelectedValue.ToEntero = 1 Then - GvS.DataSource = dt.FiltraParametros("Diferencia < 0") - Dim DtS As DataTable = dt.FiltraParametros("Diferencia < 0") - GvS.DataBind() - BanderaSerieLoteCad(GvS, DtS) + DVNormal.Visible = True + DVGrupos.Visible = False - GvF.DataSource = dt.FiltraParametros("Diferencia > 0") - Dim DtF As DataTable = dt.FiltraParametros("Diferencia > 0") - GvF.DataBind() - BanderaSerieLoteCad(GvF, DtF) + LnkPDF.Visible = True + ImgExcel.Visible = True + ImgExcel2.Visible = True + ImgExcelProdcutosCoinciden.Visible = True + LnkDescarExcelGrupos.Visible = False - Dim DtC As DataTable = dt.FiltraParametros("Diferencia = 0") - GvC.DataSource = DtC - GvC.DataBind() - BanderaSerieLoteCad(GvC, DtC) - Dim Script = "" - If (GvF.Rows.Count > 0) Then - GvF.UseAccessibleHeader = True - GvF.HeaderRow.TableSection = TableRowSection.TableHeader + If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvS.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) + If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvF.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) + If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvC.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) + + GvS.DataSource = dt.FiltraParametros("Diferencia < 0") + Dim DtS As DataTable = dt.FiltraParametros("Diferencia < 0") + GvS.DataBind() + BanderaSerieLoteCad(GvS, DtS) + + GvF.DataSource = dt.FiltraParametros("Diferencia > 0") + Dim DtF As DataTable = dt.FiltraParametros("Diferencia > 0") + GvF.DataBind() + BanderaSerieLoteCad(GvF, DtF) + + Dim DtC As DataTable = dt.FiltraParametros("Diferencia = 0") + GvC.DataSource = DtC + GvC.DataBind() + BanderaSerieLoteCad(GvC, DtC) + + + If (GvF.Rows.Count > 0) Then + GvF.UseAccessibleHeader = True + GvF.HeaderRow.TableSection = TableRowSection.TableHeader + + divRegistradosFaltan.Visible = True + LtlTotalRegistrosFaltan.Text = GvF.Rows.Count.ToString + End If + + If (GvS.Rows.Count > 0) Then + GvS.UseAccessibleHeader = True + GvS.HeaderRow.TableSection = TableRowSection.TableHeader + + divRegistradosSobran.Visible = True + LtlTotalRegistrosSobran.Text = GvS.Rows.Count.ToString + End If + + If (GvC.Rows.Count > 0) Then + GvC.UseAccessibleHeader = True + GvC.HeaderRow.TableSection = TableRowSection.TableHeader + + divRegistradosCoinciden.Visible = True + LtlCoincidentes.Text = GvC.Rows.Count.ToString + End If + + PSIguales() + + + UPAnomalias.Update() + UpdateGvS.Update() + UPDatos.Update() + + Else + DVNormal.Visible = False + DVGrupos.Visible = True + + + LnkPDF.Visible = False + ImgExcel.Visible = False + ImgExcel2.Visible = False + ImgExcelProdcutosCoinciden.Visible = False + LnkDescarExcelGrupos.Visible = True + + GvGrupos.DataSource = dt + GvGrupos.DataBind() + + LtlGrupos1.Text = dt.FiltraParametros("Orden = 1 and CvePS > 0").Rows.Count.ToString + LtlGrupos2.Text = dt.FiltraParametros("Orden = 2 and CvePS > 0").Rows.Count.ToString + LtlGrupos3.Text = dt.FiltraParametros("Orden = 3 and CvePS > 0").Rows.Count.ToString + + PSIguales() - divRegistradosFaltan.Visible = True - LtlTotalRegistrosFaltan.Text = GvF.Rows.Count.ToString End If - If (GvS.Rows.Count > 0) Then - GvS.UseAccessibleHeader = True - GvS.HeaderRow.TableSection = TableRowSection.TableHeader - divRegistradosSobran.Visible = True - LtlTotalRegistrosSobran.Text = GvS.Rows.Count.ToString - End If + UpGeneral.Update() + UPAcciones.Update() - If (GvC.Rows.Count > 0) Then - GvC.UseAccessibleHeader = True - GvC.HeaderRow.TableSection = TableRowSection.TableHeader - divRegistradosCoinciden.Visible = True - LtlCoincidentes.Text = GvC.Rows.Count.ToString - End If - - PSIguales() - RegistraScript(Script) - - UPAnomalias.Update() - UpdateGvS.Update() - UPDatos.Update() End Sub #End Region @@ -274,6 +316,7 @@ Partial Class Inventarios_RepAnomalias Protected Sub GVF_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvF.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Costo") = "-1" Then e.Row.Cells(8).Text = "0" @@ -288,10 +331,12 @@ Partial Class Inventarios_RepAnomalias e.Row.FCCheckBox("ChkAllFaltante").Attributes.Add("onclick", "SeleccionarTodosFaltante(this);") End If End If + End Sub Protected Sub GVS_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvS.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Costo") = "-1" Then e.Row.Cells(8).Text = "0" @@ -306,6 +351,7 @@ Partial Class Inventarios_RepAnomalias e.Row.FCCheckBox("ChkAllSobrante").Attributes.Add("onclick", "SeleccionarTodosSobrante(this);") End If End If + End Sub #Region " IMPRIMIR " @@ -376,9 +422,21 @@ Partial Class Inventarios_RepAnomalias GvF.ExportToExcel("Reporte de Inventario Fisico - Productos que Faltan " & Now.ToShortDateString) End Sub + Private Sub ImgExcel2_Click(sender As Object, e As EventArgs) Handles ImgExcel2.Click GvS.ExportToExcel("Reporte de Inventario Fisico - Productos que Sobran " & Now.ToShortDateString) End Sub + + + Private Sub ImgExcelProdcutosCoinciden_Click(sender As Object, e As EventArgs) Handles ImgExcelProdcutosCoinciden.Click + GvC.ExportToExcel("Reporte de Inventario Fisico - Productos Coincidentes " & Now.ToShortDateString) + End Sub + + + Private Sub LnkDescarExcelGrupos_Click(sender As Object, e As EventArgs) Handles LnkDescarExcelGrupos.Click + GvGrupos.ExportToExcel("Reporte de Inventario Fisico" & Now.ToShortDateString) + End Sub + #End Region Private Sub BanderaSerieLoteCad(Gv As GridView, resultado As DataTable) @@ -524,17 +582,66 @@ Partial Class Inventarios_RepAnomalias Private Sub PSIguales() Dim contadorF As Integer = 0 Dim contadorS As Integer = 0 - For Each dtF As GridViewRow In GvF.Rows - contadorS = 0 - For Each dtS As GridViewRow In GvS.Rows - If dtS.DataKey("CvePS") = dtF.DataKey("CvePS") Then - GvS.Rows(contadorS).BackColor = Drawing.Color.FromArgb(202, 52, 52) - GvF.Rows(contadorF).BackColor = Drawing.Color.FromArgb(202, 52, 52) - End If - contadorS += 1 + + If DdlVista.SelectedValue.ToEntero = 1 Then + For Each dtF As GridViewRow In GvF.Rows + contadorS = 0 + For Each dtS As GridViewRow In GvS.Rows + If dtS.DataKey("CvePS") = dtF.DataKey("CvePS") Then + GvS.Rows(contadorS).BackColor = Drawing.Color.FromArgb(202, 52, 52) + GvF.Rows(contadorF).BackColor = Drawing.Color.FromArgb(202, 52, 52) + End If + contadorS += 1 + Next + contadorF += 1 Next - contadorF += 1 - Next + Else + + + For Each dtF As GridViewRow In GvGrupos.Rows + contadorS = 0 + + If dtF.DataKey("Orden").ToEntero = 1 And dtF.DataKey("CvePS").ToEntero > 0 Then + For Each dtS As GridViewRow In GvGrupos.Rows + If dtS.DataKey("Orden").ToEntero = 2 Then + + If dtS.DataKey("CvePS") = dtF.DataKey("CvePS") Then + GvGrupos.Rows(contadorS).BackColor = Drawing.Color.FromArgb(202, 52, 52) + GvGrupos.Rows(contadorF).BackColor = Drawing.Color.FromArgb(202, 52, 52) + End If + + End If + contadorS += 1 + Next + End If + + + + + contadorF += 1 + + Next + + + End If + + + + End Sub + Private Sub GvGrupos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvGrupos.RowDataBound + + If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DataKey("CvePS").ToString.ToEntero = 0 Then + + + e.Row.CssClass = "SubTotales" + e.Row.Cells(1).Text = e.Row.DataKey("Grupo").ToString + + End If + End If + + + End Sub End Class diff --git a/Inventarios/RepOcInv.aspx b/Inventarios/RepOcInv.aspx index b3e143a13..04668fa8c 100644 --- a/Inventarios/RepOcInv.aspx +++ b/Inventarios/RepOcInv.aspx @@ -40,7 +40,7 @@
    Proveedor
    - +
    <%--
    Folio
    diff --git a/Inventarios/RepProductosPorCaducar.aspx b/Inventarios/RepProductosPorCaducar.aspx index c8931cf1a..b2dc48c13 100644 --- a/Inventarios/RepProductosPorCaducar.aspx +++ b/Inventarios/RepProductosPorCaducar.aspx @@ -96,7 +96,16 @@
    - + +
    +
    + + Caducidad + Elaboración + +
    +
    +
    @@ -108,8 +117,8 @@
    -
    - +
    +
    @@ -120,30 +129,24 @@
    -
    -
    +
    +
    + +
    +
    + - -
    - - -
    - -
    - +
    @@ -180,20 +168,16 @@ - - + + - - - - + + - + - - diff --git a/Inventarios/RepProductosPorCaducar.aspx.cs b/Inventarios/RepProductosPorCaducar.aspx.cs index 8187791ce..e09b90d23 100644 --- a/Inventarios/RepProductosPorCaducar.aspx.cs +++ b/Inventarios/RepProductosPorCaducar.aspx.cs @@ -50,10 +50,19 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas // aqui siempre se visualiza la caducidad, sin importar la condición, porque siempre se valida la caducidad ClsInventarios ObjInventarios = new ClsInventarios(); if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(), FI, TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(), - DdlClasificacion.SelectedValue.ToEntero(), CvePS, 1, Cves_Alamcenes, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Opcion:DdlOpcion.SelectedValue.ToEntero())) + DdlClasificacion.SelectedValue.ToEntero(), CvePS, Cves_Alamcenes, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Opcion: DdlOpcion.SelectedValue.ToEntero())) { GvDatos.DataSource = ObjInventarios.DtResultados; DTDatos = ObjInventarios.DtResultados; + if (DdlOpcion.SelectedValue == "1") + { + GvDatos.Columns[4].HeaderText = "F.Elaboración"; + } + else + { + GvDatos.Columns[4].HeaderText = "F.Caducidad"; + } + } ObjInventarios.Dispose(); GvDatos.DataBind(); diff --git a/Inventarios/RepTraspasoEmitido.aspx.cs b/Inventarios/RepTraspasoEmitido.aspx.cs index f0fd0f8df..c670c1054 100644 --- a/Inventarios/RepTraspasoEmitido.aspx.cs +++ b/Inventarios/RepTraspasoEmitido.aspx.cs @@ -62,7 +62,7 @@ public partial class Inventarios_RepTraspasoEmitido : ClsPaginas int CveEstatusTimbrado = 0; string FolioFiscal = Gvr.DataKey("FolioFiscal").ToString(),SelloCancelacion =""; int CveMovimiento = Gvr.DataKey("CveMovimiento").ToEntero(); - if (ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, 0, "XAXX010101000", UsuarioActual.Empresa.RFC, 2,false)) + if (ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, 0, UsuarioActual.Empresa.RFC, UsuarioActual.Empresa.RFC, 4,false)) { CancelacionFecha = ObjCancelacion.CancelacionFecha; SelloCancelacion = ObjCancelacion.CancelacionAcuse; diff --git a/Inventarios/TraspasoAlmacen.aspx b/Inventarios/TraspasoAlmacen.aspx index 54598e5a1..08708cf35 100644 --- a/Inventarios/TraspasoAlmacen.aspx +++ b/Inventarios/TraspasoAlmacen.aspx @@ -157,8 +157,18 @@
    - - + + + + + + + +
    + + + +
    diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index a9cb7ff99..7c9afd83a 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -215,8 +215,14 @@ Partial Class Inventarios_TraspasoAlmacen If UsuarioActual.CveEmpresa.Contiene(1, 119, 140, 2) Then DivEmitirTimbrado.Visible = True - LblEmitirTimbrado.Visible = True - ChkEmitirTimbrado.Checked = True + + If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then + LblEmitirTimbrado.Visible = True + ChkEmitirTimbrado.Checked = True + End If + + + ChkEmitirCartaPorte.Visible = True Dim HabilitarValidators As Boolean = UsuarioActual.CveEmpresa.Contiene(119) RfvDdlChofer.Enabled = HabilitarValidators @@ -702,6 +708,7 @@ Partial Class Inventarios_TraspasoAlmacen registro.Item("Noidentificacion") = DrPS("Codigo") registro.Item("CuentaPredial") = "" registro.Item("Obs") = "" + registro.Item("ImporteIVA") = 0 registro.Item("PorcentajeIVA") = 0 registro("ClaveMaterialPeligroso") = DrPS("ClaveMaterialPeligroso") @@ -747,6 +754,24 @@ Partial Class Inventarios_TraspasoAlmacen #Region " GUARDAR " Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click + + + If ChkEmitirTimbrado.Checked Then + + If DdlChofer.SelectedValue.ToEntero <= 0 Then + Alert("Debe de seleccionar un chofer") + Exit Sub + End If + + + If DdlUnidadCamion.SelectedValue.ToEntero <= 0 Then + Alert("Debe de seleccionar una unidad") + Exit Sub + End If + + + End If + 'VALIDA ALMACEN ORIGEN Y DESTINO If DdlAlmacenOrigen.SelectedValue = DdlAlmacenDestino.SelectedValue Then Alert("No se puede realizar un traspaso entre el mismo almacén.", TipoMensaje.MsgAdvertencia) @@ -1147,8 +1172,34 @@ Partial Class Inventarios_TraspasoAlmacen ' End If 'End If + Dim SerieInsertadaTimbre As String = "" + Dim FolioInsertadoTimbre As Integer = -1 + Dim CveTimbre As Integer = -1 + If Not ErrorMovInv Then + + If ChkEmitirTimbrado.Checked Then + Dim ObjGral As New ClsGenerales(ObjInventario.IniciaTransacSQL) + Dim CveSubProyectoTimbre As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").Rows(0)("CveSubProyecto").ToString.ToEntero + + CveTimbre = ObjGral.AddGralTimbre("Tra", "-1", -1, "", MinFecha, -1, CveMovimientoSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, -1, ChkEmitirCartaPorte.Checked, CveSubProyectoTimbre, -1, -1, DdlChofer.SelectedValue.ToEntero, DdlUnidadCamion.SelectedValue.ToEntero, TxtFechaEntrega.Text.ToDateTime) + + If CveTimbre > 0 Then + SerieInsertadaTimbre = ObjGral.SerieInsertada + FolioInsertadoTimbre = ObjGral.FolioInsertado + Else + ErrorMovInv = True + End If + + End If + + + End If + + + If Not ErrorMovInv Then DtTraslado = DtMovimientos.Copy + ObjInventario.Commit() MensajeAlert = New StringBuilder @@ -1165,7 +1216,10 @@ Partial Class Inventarios_TraspasoAlmacen End If - If ChkEmitirTimbrado.Checked AndAlso ChkTransitorio.Checked Then CveMovimientoTimbrado = CveMovimientoSalida : Timbrar() + If ChkEmitirTimbrado.Checked Then + CveMovimientoTimbrado = CveMovimientoSalida + Timbrar(CveTimbre, CveMovimientoTimbrado) + End If Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, "") @@ -2667,12 +2721,19 @@ Partial Class Inventarios_TraspasoAlmacen ObjFactura.Inv_CveMovimiento = CveMovimientoTimbrado - If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then + 'If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then + ' ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura) + 'Else + ' ObjFactura.Timbre = PreParaTimbre(ObjFactura) + 'End If + + If ChkEmitirCartaPorte.Checked Then ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura) Else ObjFactura.Timbre = PreParaTimbre(ObjFactura) End If + End Sub Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre Dim Timbre As New CFDITimbre @@ -3009,45 +3070,92 @@ Partial Class Inventarios_TraspasoAlmacen TmpDTComplementosTimbrado.Rows.Add(Row2) End Sub - Private Sub Timbrar() - CreaObjetosVenta() - Dim ObjTimbrado As New Timbrado - Dim FM As New Modelos.FemsaFactura - Dim TmpDT7Eleven As New DataTable - Dim TmpDTComplementosTimbrado As New DataTable - PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado) + + Private Sub Timbrar(CveTimbre As Integer, CveMovimientoTimbrado As Integer) + + + + Dim ObjTimbres As New Timbres() + + If Not ObjTimbres.CargarDatosRequeridos(CveTimbre, UsuarioActual) Then + Alert($"{ObjTimbres.MsgError.ToString}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + MensajeAlert.Append("

    ") + If ObjTimbres.Timbrar() Then + + Try + PdfFactura(ObjTimbres.ObjFactura) + Catch ex As Exception + + End Try + - 'If TimbrarFacturaGoCFDIv33(ObjFactura, UsuarioActual, 4) <> "" Then - ' MensajeAlert.AppendFormat("
    • -- no timbró-{0}
    ", MensajeErrorCFDI) - 'End If - If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then MensajeAlert.Append("Emitido con exito.") 'XML - Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) + Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjTimbres.ObjFactura.TipoDocto, ObjTimbres.ObjFactura.SerieFolio) If File.Exists(ArchivoXML) Then - MensajeAlert.AppendFormat("", Encripta(String.Format("OP=DesXmlTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", CveMovimientoTimbrado, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) + MensajeAlert.AppendFormat("", Encripta(String.Format("OP=DesXmlTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", CveMovimientoTimbrado, "XML", ObjTimbres.ObjFactura.SerieFolio, ObjTimbres.ObjFactura.TipoDocto))) End If 'PDF - GeneraPDFFactura() - Dim ArchivoPDF = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) + Dim ArchivoPDF = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjTimbres.ObjFactura.TipoDocto, ObjTimbres.ObjFactura.SerieFolio) If File.Exists(ArchivoPDF) Then - MensajeAlert.AppendFormat("", Encripta(String.Format("OP=DesPdfTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", CveMovimientoTimbrado, "PDF", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) + MensajeAlert.AppendFormat("", Encripta(String.Format("OP=DesPdfTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", CveMovimientoTimbrado, "PDF", ObjTimbres.ObjFactura.SerieFolio, ObjTimbres.ObjFactura.TipoDocto))) End If If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then - MensajeAlert.AppendFormat("", Encripta(String.Format("OP=CARPOTIMBRE&CVEMOV={0}", CveMovimientoTimbrado))) + MensajeAlert.AppendFormat("", Encripta(String.Format("OP=CARPOTIMBRE&CVETIMBRE={0}", CveTimbre))) Else MensajeAlert.AppendFormat("", Encripta(String.Format("OP=CARPO&CVEMOV={0}", CveMovimientoTimbrado))) End If Else - MensajeAlert.AppendFormat("
    • {0}
    ", ObjTimbrado.MensajeErrorCFDI) + MensajeAlert.AppendFormat("
    • {0}
    ", ObjTimbres.MsgError.ToString) End If End Sub + + 'Private Sub Timbrar() + + ' CreaObjetosVenta() + ' Dim ObjTimbrado As New Timbrado + ' Dim FM As New Modelos.FemsaFactura + ' Dim TmpDT7Eleven As New DataTable + ' Dim TmpDTComplementosTimbrado As New DataTable + ' PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado) + ' MensajeAlert.Append("

    ") + + + ' If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then + ' MensajeAlert.Append("Emitido con exito.") + ' 'XML + ' Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) + ' If File.Exists(ArchivoXML) Then + ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=DesXmlTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", CveMovimientoTimbrado, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) + ' End If + ' 'PDF + ' 'GeneraPDFFactura() + ' Dim ArchivoPDF = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) + ' If File.Exists(ArchivoPDF) Then + ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=DesPdfTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", CveMovimientoTimbrado, "PDF", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) + ' End If + + ' If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then + ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=CARPOTIMBRE&CVEMOV={0}", CveMovimientoTimbrado))) + ' Else + ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=CARPO&CVEMOV={0}", CveMovimientoTimbrado))) + ' End If + + ' Else + ' MensajeAlert.AppendFormat("
    • {0}
    ", ObjTimbrado.MensajeErrorCFDI) + ' End If + + 'End Sub + Private Sub GeneraPDFFactura() Try PdfFactura(ObjFactura) @@ -3365,4 +3473,714 @@ Partial Class Inventarios_TraspasoAlmacen End If End Sub + Protected Sub ChkEmitirTimbrado_CheckedChanged(sender As Object, e As EventArgs) + + If ChkEmitirTimbrado.Checked Then + ChkEmitirCartaPorte.Checked = False + ChkEmitirCartaPorte.Visible = True + Else + ChkEmitirCartaPorte.Visible = False + ChkEmitirCartaPorte.Checked = False + End If + + + + End Sub End Class + + + + +Partial Class Timbres + + + + Public Property TieneError As Boolean + Public Property MsgError As StringBuilder + Public Property MensajeAlert As StringBuilder + + Private Property CvePaqueteriaGuia As Integer + Private Property CveMovimiento As Integer + Private Property UsuarioActual As Usuario + Private Property AplicaCP As Boolean + Private Property FechaEntrega As Date + Private Property CveSubProyectoOrigen As Integer + + Public Property SubProyectoMatriz As Modelos.SubProyectoModel + Public Property SubProyecto As Modelos.SubProyectoModel + + Private Property Serie As String + Private Property Folio As Integer + Private Property CveTimbre As Integer + + Private Property GlobalDTMonedas As DataTable + Private Property GlobalDTAlmacen As DataTable + Private Property DTCamiones As DataTable + 'Private Property GlobalDTPS As DataTable + Private Property DtMovimientos As DataTable + 'Private Property GlobalDTUnidadesMedida As DataTable + Private Property GlobalDTSubProyectos As DataTable + + Private Property CveAlmacenOrigen As Integer + Private Property CveAlmacenDestico As Integer + + + + + Private Property TipoPermisoSCT As String + Private Property NumPermisoSCT As String + Private Property NombreAseguradora As String + Private Property NumPolizaSeguro As String + Private Property ConfigCartaPorte As String + Private Property Placa As String + Private Property Anio As Integer + + + Private Property CPCliente As Integer + + Private Property DirOriCP As Integer + Private Property DirOriCalle As String + Private Property DirOriClaveSATPais As String + Private Property DirOriClaveSATEstado As String + Private Property DirOriClaveSATMunicipio As String + Private Property DirOriClaveSATLocalidad As String + Private Property DirOriClaveSATColonia As String + + Private Property DirDesCP As Integer + Private Property DirDesCalle As String + Private Property DirDesClaveSATPais As String + Private Property DirDesClaveSATEstado As String + Private Property DirDesClaveSATMunicipio As String + Private Property DirDesClaveSATLocalidad As String + Private Property DirDesClaveSATColonia As String + + + Private Property ChrDomicilio As String + Private Property ChrCP As String + Private Property ChrNumeroExterior As String + Private Property ChrNumeroInterior As String + Private Property ChrClaveSATColonia As String + Private Property ChrClaveSATMunicipio As String + Private Property ChrClaveSATEstado As String + Private Property ChrChofer As String + Private Property ChrLicencia As String + Private Property ChrNumRegidTribOperador As String + Private Property ChrResidenciaFiscalOperador As String + Private Property ChrRFC As String + + + + + + Public Property ObjFactura As Modelos.Factura + + + 'Public Sub New(CveMovimiento As Integer, CvePaqueteriaGuia As Integer, CveTimbre As Integer, UsuarioActual As Usuario, + ' GlobalDTMonedas As DataTable, GlobalDTAlmacen As DataTable, GlobalDTPS As DataTable, GlobalDTUnidadesMedida As DataTable, GlobalDTSubProyectos As DataTable) + Public Sub New() + End Sub + + + + Private Sub CreaObjetosVenta() + ObjFactura = New Modelos.Factura + ObjFactura.Version = "3.3" + ObjFactura.CveUsuario = UsuarioActual.CveUsuario + ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa + 'ObjFactura.TipoCambio = 1 + ObjFactura.ConvertirPesos = False + ObjFactura.CveMoneda = 1 + ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ") + ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1") '"XXX" + ObjFactura.MonedaAbreviatura = GlobalDTMonedas.FiltroPrimeroValor("Abreviatura", $"CveMoneda = {ObjFactura.CveMoneda} ") + ObjFactura.TipoDocto = "Tra" + ObjFactura.RefDocto = "" + + ObjFactura.Folio = Folio + ObjFactura.Serie = Serie + + ObjFactura.CveMesa = -1 + ObjFactura.Fecha = Now + ObjFactura.CvePrePoliza = -1 + ObjFactura.FechaPago = Now + ObjFactura.MotivoDescuento = "" + ObjFactura.Observaciones = "" + ObjFactura.FechaEjecucion = Now + ObjFactura.UsuarioCreo = UsuarioActual.Usuario + ObjFactura.CveCondicionEntrega = -1 + ObjFactura.CondicionEntrega = "" + ObjFactura.NumeroCuenta = "" + ObjFactura.CondicionesPago = 0 + ObjFactura.FormaPago = 0 + ObjFactura.PedidoContrato = "" + ObjFactura.OrdenCompra = "" + ObjFactura.NumeroContrato = "" + ObjFactura.NumeroDescripcionContrato = "" + ObjFactura.DescripcionContrato = "" + ObjFactura.CveCorte = -1 + ObjFactura.TipoDocumento = "Traspaso" + ObjFactura.Alfa1 = "" + ObjFactura.Alfa2 = "" + ObjFactura.Alfa3 = "" + ObjFactura.Descuento = 0 + ObjFactura.Amortizacion = 0 + ObjFactura.CveContrato = 0 + ObjFactura.CveVendedor = 0 + ObjFactura.FechaVencimiento = Now + ObjFactura.TipoEstatus = 0 + ObjFactura.Det_OrdenCompra = "" + ObjFactura.Inv_CveEstatusEntrega = 0 + ObjFactura.FormaPago33 = "" + ObjFactura.MetodoPago33 = "" + ObjFactura.UsoCFDI = "" + ObjFactura.CveClienteSucursal = 0 + + + + + ObjFactura.CveSubProyecto = CveSubProyectoOrigen + ObjFactura.CveSubProyectoCobranza = CveSubProyectoOrigen + ObjFactura.CveSubProyectoEjecucion = CveSubProyectoOrigen + + ObjFactura.SubTotal = 0 + ObjFactura.Descuento = 0 + ObjFactura.Amortizacion = 0 + ObjFactura.IVA = 0 + ObjFactura.RetIVA = 0 + ObjFactura.RetISR = 0 + ObjFactura.IEPS = 0 + ObjFactura.Total = 0 + + ObjFactura.RFCReceptor = "XAXX010101000" ' RFC empresa traslado , si es entrega RFC Cliente + + 'DETALLES + ObjFactura.DtDetalle = DtMovimientos + + + ObjFactura.SubProyectoMatriz = SubProyectoMatriz + ObjFactura.SubProyecto = SubProyecto + + ObjFactura.Inv_CveMovimiento = CveMovimiento + + If AplicaCP Then + ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura) + Else + ObjFactura.Timbre = PreParaTimbre(ObjFactura) + End If + + + End Sub + + Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre + Dim Timbre As New CFDITimbre + Timbre.Comprobante.TipoComprobante = "T" + Timbre.Comprobante.Folio = Obj.Folio.ToString + Timbre.Comprobante.Serie = Obj.Serie + Timbre.Comprobante.Fecha = Obj.Fecha + Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33 + Timbre.Comprobante.CondicionesdePago = "" + Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT + Timbre.Comprobante.Subtotal = Obj.SubTotal + Timbre.Comprobante.Descuentos = Obj.Descuento + Timbre.Comprobante.Moneda = "XXX" + Timbre.Comprobante.TipoCambio = "" ' CONDICIÓN SI LA MONEDA ES 'XXX' + + 'Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP + Timbre.Comprobante.Confirmacion = "" + + Timbre.Receptor.RFC = UsuarioActual.Empresa.RFC + Timbre.Receptor.Nombre = UsuarioActual.Empresa.Empresa + Timbre.Receptor.UsoCFDI = "P01" + + + Dim totSubTotal As Decimal = Obj.SubTotal + Dim totIVA As Decimal = Obj.IVA + Dim totRetIVA As Decimal = Obj.RetIVA + Dim totRetISR As Decimal = Obj.RetISR + Dim i As Integer = 1 + + + If CveMovimiento > 0 Then + Timbre.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString + Else + Timbre.Comprobante.LugarExpedicion = CPCliente.ToString + End If + + + 'DETALLES + Dim tPS As String = "" + + Dim CartaPorte As New CFDICartaPorte + CartaPorte.TranspInternac = "No" + CartaPorte.EntradaSalidaMercancia = "" + CartaPorte.ViaEntradaSalida = "" + + CartaPorte.Mercancias.PesoBrutoTotal = 0 + CartaPorte.Mercancias.UnidadPeso = "" + CartaPorte.Mercancias.CargoporTasacion = 0 + + CartaPorte.FiguraTransporte.AutoTransporteFederal.PermSCT = TipoPermisoSCT '"TPAF01" + CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT = NumPermisoSCT + CartaPorte.FiguraTransporte.AutoTransporteFederal.NombreAseg = NombreAseguradora + CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro = NumPolizaSeguro + CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular = ConfigCartaPorte '"C2" + CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM = Placa + CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM = Anio + + Dim DomOrigen As CFDICartaPorteDomicilio = Nothing + DomOrigen = New CFDICartaPorteDomicilio With {.Calle = DirOriCalle, + .Colonia = DirOriClaveSATColonia, + .CP = DirOriCP.ToString, + .Estado = DirOriClaveSATEstado, + .Pais = DirOriClaveSATPais, + .Municipio = DirOriClaveSATMunicipio, + .Localidad = DirOriClaveSATLocalidad} + + Dim DomDestino As CFDICartaPorteDomicilio = Nothing + + + DomDestino = New CFDICartaPorteDomicilio With {.Calle = DirDesCalle, + .Colonia = DirDesClaveSATColonia, + .CP = DirDesCP.ToString, + .Estado = DirDesClaveSATEstado, + .Pais = DirDesClaveSATPais, + .Municipio = DirDesClaveSATMunicipio, + .Localidad = DirDesClaveSATLocalidad} + + + Dim Ubica As New CFDICartaPorteUbicaciones + Ubica.TipoEstacion = "" + Ubica.DistanciaRecorridaDestino = 1 + Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = "",'UsuarioActual.Empresa.RFC, + .FechaHoraSalida = Now.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01", + .NombreRemitente = UsuarioActual.Empresa.Empresa, + .Domicilio = DomOrigen} + Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = "",'UsuarioActual.Empresa.RFC,'"CAMJ841219I33", + .FechaHoraProgLlegada = FechaEntrega.ToString("yyyy-MM-ddT23:59:59"), + .NombreDestinatario = UsuarioActual.Empresa.Empresa, + .Domicilio = DomDestino} + + CartaPorte.Ubicaciones.Add(Ubica) + + CartaPorte.FiguraTransporte.ClaveTransporte = "01" + + Dim ObjAcar As New ClsAcarreos() + + ' If ObjAcar.GetChofer(DdlChofer.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, 1, -1) Then + 'Dim dro As DataRow = ObjAcar.DtResultados.Rows(0) + 'If dro IsNot Nothing Then + Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = ChrDomicilio, + .NumeroExterior = ChrNumeroExterior, + .NumeroInterior = ChrNumeroInterior, + .Colonia = ChrClaveSATColonia, + .Municipio = ChrClaveSATMunicipio, + .Estado = ChrClaveSATEstado, + .CP = ChrCP} + + CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With { + .RFCOperador = ChrRFC, + .NombreOperador = ChrChofer, + .NumLicencia = ChrLicencia, + .NumRegidTribOperador = ChrNumRegidTribOperador, + .ResidenciaFiscalOperador = ChrResidenciaFiscalOperador, + .Domicilio = DomicilioOperador}) + + 'End If + ' End If + ObjAcar.Dispose() + + + 'concepto único + + Dim concepto As New CFDIConceptos With {.Cantidad = 1, + .Descripcion = "Flete", + .ValorUnitario = 0, + .Importe = 0, + .Descuento = 0, + .Unidad = "Servicio", + .ClaveUnidad = "E48", + .ClaveProdServ = "78101802", + .Noidentificacion = "", + .CuentaPredial = ""} + + Timbre.Conceptos.Add(concepto) + + For Each drr As DataRow In Obj.DtDetalle.Rows + + If drr("PS").ToString.Length = 1 Then + tPS = drr("Obs").ToString + Else + If drr("PS").ToString.Length = 0 Then + tPS = "" + Else + tPS = String.Format("{0} {1}", drr("PS"), drr("Obs")) + End If + End If + Dim conceptoCarta As New CFDICartaPorteMercancia With { + .BienesTransp = drr("SATClaveProdServ").ToString, + .ClaveSTCC = "", 'para metodo ferroviario + .Cantidad = drr("Cantidad").ToString.ToDecimal, + .Descripción = tPS, + .ClaveUnidad = drr("SATClaveUM").ToString, + .Unidad = drr("UM").ToString, + .Dimensiones = "", + .MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", "No"), + .ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString, + .Embalaje = drr("ClaveEmbalaje").ToString, + .DescripEmbalaje = drr("Embalaje").ToString, + .PesoenKg = drr("PesoKg").ToString.ToDecimal, + .ValorMercancia = drr("PU").ToString.ToDecimal, + .Moneda = "MXN", 'temporal + .FraccionArrancelaria = "", + .UUIDComercioExt = "" + } + + + totSubTotal = totSubTotal - concepto.Importe + CartaPorte.Mercancias.Mercancias.Add(conceptoCarta) + + i += 1 + Next + Timbre.Complementos.CartaPorte = CartaPorte + + Return Timbre + End Function + + Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre + Dim Timbre As New CFDITimbre + Timbre.Comprobante.TipoComprobante = "T" + Timbre.Comprobante.Folio = Obj.Folio.ToString + Timbre.Comprobante.Serie = Obj.Serie + Timbre.Comprobante.Fecha = Obj.Fecha + Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33 + Timbre.Comprobante.CondicionesdePago = "" + Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT + Timbre.Comprobante.Subtotal = Obj.SubTotal + Timbre.Comprobante.Descuentos = Obj.Descuento + Timbre.Comprobante.Moneda = Obj.MonedaSAT + Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString) + Timbre.Comprobante.Total = Obj.Total + + If CveMovimiento > 0 Then + Timbre.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString + Else + Timbre.Comprobante.LugarExpedicion = CPCliente.ToString + End If + + Timbre.Comprobante.Confirmacion = "" + + Timbre.Receptor.RFC = "XAXX010101000" + Timbre.Receptor.Nombre = UsuarioActual.Empresa.Empresa + Timbre.Receptor.UsoCFDI = "P01" + + Dim totSubTotal As Decimal = Obj.SubTotal + Dim totIVA As Decimal = Obj.IVA + Dim totRetIVA As Decimal = Obj.RetIVA + Dim totRetISR As Decimal = Obj.RetISR + Dim i As Integer = 1 + + 'DETALLES + Dim tPS As String = "" + + For Each drr As DataRow In Obj.DtDetalle.Rows + 'If drr("PS").ToString.Length = 1 Then + ' tPS = drr("Obs").ToString + 'Else + ' If drr("PS").ToString.Length = 0 Then + ' tPS = "" + ' Else + ' tPS = String.Format("{0} {1}", drr("PS"), drr("Obs")) + ' End If + 'End If + + If drr("PS").ToString.Length = 1 Then + tPS = drr("Obs").ToString + Else + If drr("PS").ToString.Length = 0 Then + tPS = "" + Else + tPS = String.Format("{0} {1}", drr("PS"), drr("Obs")) + End If + End If + + + 'Observaciones + + 'CONDICIONANTE, ESPECIAL + If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" 'LES COMENTAN QUE NO DEBE IR LA ETIQUETA DE LA UNIDAD EN EL PRODUCTO + + Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal, + .Descripcion = tPS, + .ValorUnitario = drr("PU").ToString.ToDecimal, + .Importe = drr("TotalImporte").ToString.ToDecimal, + .Descuento = drr("Descuento").ToString.ToDecimal, + .Unidad = drr("UM").ToString, + .ClaveUnidad = drr("SATClaveUM").ToString, + .ClaveProdServ = drr("SATClaveProdServ").ToString, + .Noidentificacion = drr("Noidentificacion").ToString, + .CuentaPredial = drr("CuentaPredial").ToString} + 'VERIFICA SUMA SUBTOTALES + If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES + concepto.Importe = totSubTotal + End If + totSubTotal = totSubTotal - concepto.Importe + + 'SIEMPRE ESTAMOS AGREGANDO EL IVA + 'concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString.ToDecimal}) + + Timbre.Conceptos.Add(concepto) + i += 1 + Next + Return Timbre + End Function + Private Sub PrepararTimbrado(ByRef FM As Modelos.FemsaFactura, ByRef TmpDT7Eleven As DataTable, ByRef TmpDTComplementosTimbrado As DataTable) + FM.AplicaFEMSA = False + FM.FEMSA_NumSociedad = "" + FM.FEMSA_NumProveedor = "" + FM.FEMSA_Mail = "" + FM.FEMSA_Version = 0 + FM.FEMSA_NumPedido = 0 + FM.FEMSA_NumEntrada = "" + FM.FEMSA_NumRemision = "" + FM.FEMSA_NumSocio = "" + FM.FEMSA_CentroCosto = "" + FM.FEMSA_IPeriodoLiquidacion = "" + FM.FEMSA_FPeriodoLiquidacion = "" + FM.FEMSA_CodRetencion1 = "" + FM.FEMSA_CodRetencion2 = "" + + TmpDT7Eleven.Columns.Add("sevenElevenNumProveedor") + TmpDT7Eleven.Columns.Add("sevenElevenFolio") + TmpDT7Eleven.Columns.Add("sevenElevenTienda") + TmpDT7Eleven.Columns.Add("sevenElevenFecha") + + Dim Row As DataRow = TmpDT7Eleven.NewRow + Row("sevenElevenNumProveedor") = "" + Row("sevenElevenFolio") = "" + Row("sevenElevenTienda") = "" + Row("sevenElevenFecha") = "" + + TmpDT7Eleven.Rows.Add(Row) + + TmpDTComplementosTimbrado.Columns.Add("CveComplemento") + TmpDTComplementosTimbrado.Columns.Add("IdContabilidad") + TmpDTComplementosTimbrado.Columns.Add("TipoProceso") + TmpDTComplementosTimbrado.Columns.Add("TipoAmbito") + TmpDTComplementosTimbrado.Columns.Add("Entidad") + + Dim Row2 As DataRow = TmpDTComplementosTimbrado.NewRow + + Row2("CveComplemento") = "" + Row2("IdContabilidad") = "" + Row2("TipoProceso") = "" + Row2("TipoAmbito") = "" + Row2("Entidad") = "" + + TmpDTComplementosTimbrado.Rows.Add(Row2) + End Sub + + Public Function Timbrar() As Boolean + + Dim Respuesta As Boolean = False + + CreaObjetosVenta() + Dim ObjTimbrado As New Timbrado + Dim FM As New Modelos.FemsaFactura + Dim TmpDT7Eleven As New DataTable + Dim TmpDTComplementosTimbrado As New DataTable + PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado) + 'MensajeAlert.Append("

    ") + + + If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then + Respuesta = True + + Dim objGrales As New ClsGenerales + If Not objGrales.UpdateGralTimbre(CveTimbre, "-1", "-1", -1, ObjTimbrado.UUID, Now, CvePaqueteriaGuia, CveMovimiento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, UsuarioActual.Empresa.CvePAC, -1, New Date(1900, 1, 1), AplicaCP, -1, -1, -1, -1, -1) Then + GuardaLogAD($"Error no se actualizo registro de timbre {CveTimbre} ") + End If + objGrales.Dispose() + + Else + Respuesta = False + ' MensajeAlert.AppendFormat("
    • {0}
    ", ObjTimbrado.MensajeErrorCFDI) + MsgError.AppendLine(ObjTimbrado.MensajeErrorCFDI) + End If + + Return Respuesta + + End Function + + + + + + Public Function CargarDatosRequeridos(CveTimbre As Integer, UsuarioActual As Usuario) As Boolean + + + + Me.CveTimbre = CveTimbre + Me.UsuarioActual = UsuarioActual + + + TieneError = False + MsgError = New StringBuilder + MensajeAlert = New StringBuilder + + + Using ObjMonedas As New ClsMonedas() + If ObjMonedas.GetMonedas() Then + Me.GlobalDTMonedas = ObjMonedas.DtResultados + Else + Me.GlobalDTMonedas = Nothing + TieneError = True + MsgError.AppendLine("Se presento error al cargar las monedas") + End If + End Using + + Using ObjAlmacenes As New ClsInventarios() + If ObjAlmacenes.GetAlmacenes(-1, -1, UsuarioActual.CveEmpresa, -1) Then + Me.GlobalDTAlmacen = ObjAlmacenes.DtResultados + Else + Me.GlobalDTAlmacen = Nothing + TieneError = True + MsgError.AppendLine("Se presento error al cargar los almacenes") + End If + End Using + + + Using ObjSubPro As New ClsSubProyectos() + If ObjSubPro.GetSubProyectos(CveEmpresa:=UsuarioActual.CveEmpresa) Then + GlobalDTSubProyectos = ObjSubPro.DtResultados + Else + GlobalDTSubProyectos = Nothing + TieneError = True + MsgError.AppendLine("Se presento error al cargar los subproyectos") + End If + End Using + + + + Dim FI As Date = New Date(1900, 1, 1) + Dim FF As Date = New Date(9999, 1, 1) + + Dim ObjGrales As New ClsGenerales + + If CveTimbre > 0 Then + + If ObjGrales.GetGralTimbre(CveTimbre, "-1", "-1", -1, FI, FF, 0, UsuarioActual.CveEmpresa, -1, -1) Then + + + If ObjGrales.DtResultados.Rows.Count = 1 Then + + + CveMovimiento = ObjGrales.DtResultados.Rows(0)("CveMovimientoAlmacen").ToString.ToEntero + CvePaqueteriaGuia = ObjGrales.DtResultados.Rows(0)("Folio").ToString.ToEntero + + FechaEntrega = ObjGrales.DtResultados.Rows(0)("FechaEntrega").ToString.ToDate + + Serie = ObjGrales.DtResultados.Rows(0)("Serie").ToString + Folio = ObjGrales.DtResultados.Rows(0)("Folio").ToString.ToEntero + + AplicaCP = Boolean.Parse(ObjGrales.DtResultados.Rows(0)("AplicaCP").ToString) + CveSubProyectoOrigen = ObjGrales.DtResultados.Rows(0)("CveSubProyectoOrigen").ToString.ToEntero + + TipoPermisoSCT = ObjGrales.DtResultados.Rows(0)("TipoPermisoSCT").ToString + NumPermisoSCT = ObjGrales.DtResultados.Rows(0)("NumPermisoSCT").ToString + NombreAseguradora = ObjGrales.DtResultados.Rows(0)("NombreAseguradora").ToString + NumPolizaSeguro = ObjGrales.DtResultados.Rows(0)("NumPolizaSeguro").ToString + ConfigCartaPorte = ObjGrales.DtResultados.Rows(0)("ConfigCartaPorte").ToString + Placa = ObjGrales.DtResultados.Rows(0)("Placa").ToString + Anio = ObjGrales.DtResultados.Rows(0)("Anio").ToString.ToEntero + + CPCliente = ObjGrales.DtResultados.Rows(0)("CPCliente").ToString.ToEntero + + DirOriCP = ObjGrales.DtResultados.Rows(0)("DirOriCP").ToString.ToEntero + DirOriCalle = ObjGrales.DtResultados.Rows(0)("DirOriCalle").ToString + DirOriClaveSATPais = ObjGrales.DtResultados.Rows(0)("DirOriClaveSATPais").ToString + DirOriClaveSATEstado = ObjGrales.DtResultados.Rows(0)("DirOriClaveSATEstado").ToString + DirOriClaveSATMunicipio = ObjGrales.DtResultados.Rows(0)("DIrOriClaveSATMunicipio").ToString + DirOriClaveSATLocalidad = ObjGrales.DtResultados.Rows(0)("DirOriClaveSATLocalidad").ToString + DirOriClaveSATColonia = ObjGrales.DtResultados.Rows(0)("DirOriClaveSATColonia").ToString + + DirDesCP = ObjGrales.DtResultados.Rows(0)("DirDesCP").ToString.ToEntero + DirDesCalle = ObjGrales.DtResultados.Rows(0)("DirDesCalle").ToString + DirDesClaveSATPais = ObjGrales.DtResultados.Rows(0)("DirDesClaveSATPais").ToString + DirDesClaveSATEstado = ObjGrales.DtResultados.Rows(0)("DirDesClaveSATEstado").ToString + DirDesClaveSATMunicipio = ObjGrales.DtResultados.Rows(0)("DirDesClaveSATMunicipio").ToString + DirDesClaveSATLocalidad = ObjGrales.DtResultados.Rows(0)("DirDesClaveSATLocalidad").ToString + DirDesClaveSATColonia = ObjGrales.DtResultados.Rows(0)("DirDesClaveSATColonia").ToString + + + + ChrDomicilio = ObjGrales.DtResultados.Rows(0)("ChrDomicilio").ToString + ChrCP = ObjGrales.DtResultados.Rows(0)("ChrCP").ToString + ChrNumeroExterior = ObjGrales.DtResultados.Rows(0)("ChrNumeroExterior").ToString + ChrNumeroInterior = ObjGrales.DtResultados.Rows(0)("ChrNumeroInterior").ToString + ChrClaveSATColonia = ObjGrales.DtResultados.Rows(0)("ChrClaveSATColonia").ToString + ChrClaveSATMunicipio = ObjGrales.DtResultados.Rows(0)("ChrClaveSATMunicipio").ToString + ChrClaveSATEstado = ObjGrales.DtResultados.Rows(0)("ChrClaveSATEstado").ToString + + ChrChofer = ObjGrales.DtResultados.Rows(0)("ChrChofer").ToString + ChrLicencia = ObjGrales.DtResultados.Rows(0)("ChrLicencia").ToString + ChrNumRegidTribOperador = ObjGrales.DtResultados.Rows(0)("ChrNumRegidTribOperador").ToString + ChrResidenciaFiscalOperador = ObjGrales.DtResultados.Rows(0)("ChrResidenciaFiscalOperador").ToString + ChrRFC = ObjGrales.DtResultados.Rows(0)("ChrRFC").ToString + + + Else + TieneError = True + MsgError.AppendLine("Consultar datos de timbrado") + End If + End If + Else + TieneError = True + MsgError.AppendLine("CveTimbre no valida") + End If + + + + + If ObjGrales.GetGralMovimientosDetalleTimbre(CveTimbre, UsuarioActual.CveEmpresa) Then + DtMovimientos = ObjGrales.DtResultados + Else + DtMovimientos = Nothing + TieneError = True + MsgError.AppendLine("Error al obtener Movimientos") + End If + ObjGrales.Dispose() + + + Dim ObjInventarios As New ClsInventarios + If ObjInventarios.GetCamiones(-1, UsuarioActual.CveEmpresa) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then + DTCamiones = ObjInventarios.DtResultados + End If + + If ObjInventarios.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) Then + CveAlmacenOrigen = ObjInventarios.CveAlmacen + CveAlmacenDestico = ObjInventarios.CveAlmacenDestino + 'CveSubProyecto = ObjInventarios.CveSubProyecto + End If + + ObjInventarios.Dispose() + + + Dim Row As Data.DataRow = Extensiones.FiltroPrimero(GlobalDTSubProyectos, "TipoSucursal=1") + SubProyectoMatriz = New Modelos.SubProyectoModel(Row) + SubProyecto = New Modelos.SubProyectoModel(Extensiones.FiltroPrimero(GlobalDTSubProyectos, $"CveSubProyecto = {CveSubProyectoOrigen}")) + + If TieneError Then + Return False + Else + Return True + End If + + End Function + + + + + + +End Class + diff --git a/Nomina/ChecadorAsistencia.aspx b/Nomina/ChecadorAsistencia.aspx index 8ad4fd876..43ee0dab3 100644 --- a/Nomina/ChecadorAsistencia.aspx +++ b/Nomina/ChecadorAsistencia.aspx @@ -4,9 +4,10 @@