From 744691f73d2489c3b122f55e9ba8b4ae20ee009f Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Thu, 14 Oct 2021 12:38:30 -0700 Subject: [PATCH 01/26] --- RH/Personal.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 5b5a12588..e021e8c56 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -817,7 +817,7 @@ Partial Class RH_Personal CargaEstadoCivil() CargaDepartamento() CargaPuestos() - CargaEstatusPersonal() + CargaEstatusPersonal(1) CargaGenero() CargaMotivoBaja() CargaRuta() From 5ac821b2f319fbbbfa319e88e1b9b0878c210162 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 18 Oct 2021 08:06:33 -0700 Subject: [PATCH 02/26] --nombre de columnas --- Inventarios/RepProductosPorCaducar.aspx | 24 +++++++--------------- Inventarios/RepProductosPorCaducar.aspx.cs | 11 +++++++++- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/Inventarios/RepProductosPorCaducar.aspx b/Inventarios/RepProductosPorCaducar.aspx index c8931cf1a..02cc54362 100644 --- a/Inventarios/RepProductosPorCaducar.aspx +++ b/Inventarios/RepProductosPorCaducar.aspx @@ -126,10 +126,7 @@
-
- - - +
@@ -153,10 +150,7 @@
-
- - - +
@@ -180,20 +174,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(); From 5abf6641de971847783c4a42277f7e3fa2f5d859 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Mon, 18 Oct 2021 11:51:19 -0700 Subject: [PATCH 03/26] --- Nomina/MovimientosSUA.aspx.cs | 1 + Nomina/Nomina.aspx | 8 +- Nomina/Nomina.aspx.cs | 307 +++++++++++++++++++++++++++++++--- vwd.webinfo | 2 + 4 files changed, 290 insertions(+), 28 deletions(-) diff --git a/Nomina/MovimientosSUA.aspx.cs b/Nomina/MovimientosSUA.aspx.cs index 57ae06071..83e1797aa 100644 --- a/Nomina/MovimientosSUA.aspx.cs +++ b/Nomina/MovimientosSUA.aspx.cs @@ -9,6 +9,7 @@ using Extensiones; public partial class Nomina_MovimientosSUA : ClsPaginas { + private DataTable dtMovtosSUA { diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index 374bca7d6..637f773a9 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -704,8 +704,9 @@ + - + -
- - - + +
+
+ +
+ + + +
+ + +
+
+
+ + + +
+
+
-
- - - -
-
- - - -
-
- - - + + +
+
+
+ + + +
+ +
+
+ + +
+ + + +
+
+
+ + +
+
+
+ + + + + +
+
+ +
+
+ + + + + +
+
+
+ + +
+ + +
+
+ + + + + +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+ + + + + +
+ +
+
+ + + + + + + + +
<%----%> @@ -5078,6 +5174,13 @@
--%> + + + +
+ +
+ 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/vwd.webinfo b/vwd.webinfo index 583dcacf8..bd5e347d3 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -344,6 +344,8 @@ + + From 19f1d7730b0023e4e181484017052aef3382e865 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 1 Nov 2021 09:16:58 -0700 Subject: [PATCH 24/26] Efactuiras vicnulacion manual considerar CveCompra al vincular --- Compras/eFacturas.aspx.vb | 144 +++++++++----------------------------- 1 file changed, 35 insertions(+), 109 deletions(-) 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 From 703b8c779bf828d19fb7a98c800ceaa2cd462f51 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 1 Nov 2021 15:34:42 -0700 Subject: [PATCH 25/26] faltaba agegar CveLocalizacion en la clase --- App_Code/ClsSubProyectos.vb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 From 135c8f9d174e7f8c25011228d887dd928317ee7c Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 1 Nov 2021 19:33:16 -0700 Subject: [PATCH 26/26] Filtra Colonia por CP --- Planeacion/CatSubProyectos.aspx.vb | 6 ++++-- Ventas/Clientes.aspx.vb | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Planeacion/CatSubProyectos.aspx.vb b/Planeacion/CatSubProyectos.aspx.vb index 02500da0f..e7a4840bd 100644 --- a/Planeacion/CatSubProyectos.aspx.vb +++ b/Planeacion/CatSubProyectos.aspx.vb @@ -846,8 +846,10 @@ Partial Class CatSubProyectos Private Sub CargaColonia() DdlColonia.Items.Clear() - If DdlMunicipio.SelectedValue.ToEntero > 0 Then - DdlColonia.DataSource = GlobalDTColonia(GlobalDTMunicipio(GlobalDTEstado(GlobalDTPais.FiltraParametros($"CvePais = {DdlPais.SelectedValue.ToEntero}")(0)("ClaveSATPais").ToString).FiltraParametros($"CveEstado = {DdlEstado.SelectedValue.ToEntero}")(0)("ClaveSATEstado").ToString).FiltraParametros($"CveMunicipio = {DdlMunicipio.SelectedValue.ToEntero}")(0)("ClaveSATMunicipio").ToString) + If DdlMunicipio.SelectedValue.ToEntero > 0 Then + + DdlColonia.DataSource = GlobalDTColonia(GlobalDTMunicipio(GlobalDTEstado(GlobalDTPais.FiltraParametros($"CvePais = {DdlPais.SelectedValue.ToEntero}")(0)("ClaveSATPais").ToString).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}", "")) + End If DdlColonia.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlColonia.DataBind() diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 07d038abb..94b4ba3ab 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -4386,7 +4386,7 @@ Partial Class Clientes Private Sub CargaDirClienteColonia() DdlDirClienteColonia.Items.Clear() If DdlDirClienteMunicipio.SelectedValue.ToEntero > 0 Then - DdlDirClienteColonia.DataSource = GlobalDTColonia(GlobalDTMunicipio(GlobalDTEstado(GlobalDTPais.FiltraParametros($"CvePais = {DdlDirClientePais.SelectedValue.ToEntero}")(0)("ClaveSATPais").ToString).FiltraParametros($"CveEstado = {DdlDirClienteEstado.SelectedValue.ToEntero}")(0)("ClaveSATEstado").ToString).FiltraParametros($"CveMunicipio = {DdlDirClienteMunicipio.SelectedValue.ToEntero}")(0)("ClaveSATMunicipio").ToString) + DdlDirClienteColonia.DataSource = GlobalDTColonia(GlobalDTMunicipio(GlobalDTEstado(GlobalDTPais.FiltraParametros($"CvePais = {DdlDirClientePais.SelectedValue.ToEntero}")(0)("ClaveSATPais").ToString).FiltraParametros($"CveEstado = {DdlDirClienteEstado.SelectedValue.ToEntero}")(0)("ClaveSATEstado").ToString).FiltraParametros($"CveMunicipio = {DdlDirClienteMunicipio.SelectedValue.ToEntero}")(0)("ClaveSATMunicipio").ToString).FiltraParametros(If(TxtEnvioCP.Text.Trim.Length > 0, $"CP = {TxtEnvioCP.Text}", "")) End If DdlDirClienteColonia.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlDirClienteColonia.DataBind()