diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index e5d66583b..4c5f48563 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -1000,6 +1000,12 @@ Public Class ClsContabilidad ElseIf ex1.Message.Contains("UK_Vw_Val_Conta_CuentasResultados_SubProyectos") Then Dim Concepto3 As String = DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimeroValor("ConceptoContable", String.Format("CveConceptoContable = {0}", CveConceptoContable)) OnError(String.Format("El concepto '{0}' requiere centro de costo", Concepto3), ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ElseIf ex1.Message.Contains("50025;") Then + OnError("La empresa no tiene un formato de cuenta asignado.", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ElseIf ex1.Message.Contains("50026;") Then + OnError("El proveedor ya tiene asignada una cuenta.", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ElseIf ex1.Message.Contains("50027;") Then + OnError("No se pudo asignar la cuenta al proveedor.", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) Else OnError("Ocurrió un error al Guardar", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End If ' diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 53feb942d..6d6d28caf 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -2534,6 +2534,31 @@ Public Class ClsOC End Function + Public Function UpdateNumeroRemision(CveOrdenCompra As Integer, NumRemision As String, cveEmpresa As Integer) As Boolean + + + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OCNumeroRemisionUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision + .Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el número de remisión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + + + End Function + + #Region " IDisposable Support " ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) @@ -2555,5 +2580,7 @@ Public Class ClsOC Dispose(True) GC.SuppressFinalize(Me) End Sub + + #End Region End Class diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 386b71e15..0b868c51a 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5535,6 +5535,9 @@ Public Class ClsPaginas PaginaDict.Add("/Ventas/RepComisionesServecDetalle.aspx".ToUpper(), 782) PaginaDict.Add("/Ventas/RepCancelacionesVentas.aspx".ToUpper(), 1325) + PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx".ToUpper(), 1331) + PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=OP".ToUpper(), 1332) + #End Region @@ -5663,8 +5666,6 @@ Public Class ClsPaginas PaginaDict.Add("/Acumuladores/RepPolizasVirtuales.aspx".ToUpper(), 1322) - - 'Antes de aquí. Application("GlobalSIGAppPaginas") = PaginaDict @@ -9605,7 +9606,7 @@ Public Class ClsPaginas Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion <= tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha AndAlso CompraActual.Fecha <= UltimaFluctuacion.FechaFluctuacion Then 'FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TCValuacion = UltimaFluctuacion.TCFluctuacion End If @@ -9634,8 +9635,10 @@ Public Class ClsPaginas End If - 'si tiene iva y su proporcion - If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then + If Pago.AplicaAcreditable Then + + 'si tiene iva y su proporcion + If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento @@ -9701,27 +9704,29 @@ Public Class ClsPaginas End If - 'si tiene IEPS y su proporcion - If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then - ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL - ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL - If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento + 'si tiene IEPS y su proporcion + If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - Dim Ret As New ConceptosRetenciones - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero + Dim Ret As New ConceptosRetenciones + If UsuarioActual.Empresa.TipoContabilidad = 2 Then + If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - - 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe - If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - End If 'si tiene otros gastos/ingresos @@ -9779,6 +9784,7 @@ Public Class ClsPaginas Public Class CompraPago + Public Property TipoPago As String = "B" ' B - Bancos, A - Anticipos, E - ExC, NC - Nota de crédito Public Fecha As Date Public Property CveIE As Integer = -1 Public Property CvePersonal As Integer = -1 @@ -9789,6 +9795,7 @@ Public Class ClsPaginas Public Property OtroGastoIngreso As Decimal = 0 Public Property CveConceptoPago As Integer = -1 'no definido de inicio Public Property CveCreditoDetalle As Integer = -1 + Public Property AplicaAcreditable As Boolean = True End Class @@ -9797,6 +9804,7 @@ Public Class ClsPaginas Public Property CveProveedor As Integer Public Property CveTipoConceptoProveedor As Integer Public Property CveMoneda As Integer + Public Property Fecha As Date Public Property SerieFolio As String = "" Public Property ProveedorNombre As String = "" Public Property EsImportacion As Boolean = False @@ -10095,7 +10103,7 @@ Public Class ClsPaginas 'concepto pago Concepto = String.Format("{0} NC:{1}", VentaActual.ClienteNombre, Pago.Referencia) - If Pago.TipoPago = "A" AndAlso Not ErrorMovtos Then 'A N T I C I P O + If Pago.TipoPago = "A" AndAlso Not ErrorMovtos Then ' A N T I C I P O Dim Ret As New ConceptosRetenciones If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera @@ -10111,14 +10119,14 @@ Public Class ClsPaginas End If - If Pago.TipoPago = "NC" AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O + If Pago.TipoPago = "NC" AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O Dim Ret As New ConceptosRetenciones If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, 91, Pago.Referencia, Concepto, VentaActual.IdCtaContableCliente, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=VentaActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, 294, Pago.Referencia, Concepto, VentaActual.IdCtaContableCliente, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=VentaActual.CveSubProyecto) Then ErrorMovtos = True ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImporteMN, 203, Pago.Referencia, Concepto, VentaActual.IdCtaContableClienteComplementaria, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=VentaActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImporteMN, 207, Pago.Referencia, Concepto, VentaActual.IdCtaContableClienteComplementaria, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=VentaActual.CveSubProyecto) Then ErrorMovtos = True Else 'Agregamos Nacional If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 91, Pago.Referencia, Concepto, VentaActual.IdCtaContableCliente, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True @@ -10127,7 +10135,7 @@ Public Class ClsPaginas End If - If Pago.TipoPago = "I" AndAlso Not ErrorMovtos Then 'I N G R E S O S X C O M P R O B A R + If Pago.TipoPago = "I" AndAlso Not ErrorMovtos Then ' I N G R E S O S X C O M P R O B A R Dim Ret As New ConceptosRetenciones If UsuarioActual.Empresa.TipoContabilidad = 2 Then If ObjConta.GetRetCuenta(66, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 3f820e8d0..e5ad7c6c9 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -5575,6 +5575,124 @@ Public Class ClsVentas End Function + Public Function GetLineasAdicionales(CveLineaAdicional As Integer, CveCliente As Integer, CveProveedor As Integer, TipoLinea As Integer, CveMoneda As Integer, + FechaI As Date, FechaF As Date, CveEstatus As Integer, CveEmpresa As Integer) As Boolean + + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_LineasAdicionalesGet") + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveLineaAdicional", SqlDbType.Int).Value = CveLineaAdicional + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@TipoLinea", SqlDbType.Int).Value = TipoLinea + .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda + .Add("@FechaI", SqlDbType.Date).Value = FechaI + .Add("@FechaF", SqlDbType.Date).Value = FechaF + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error obtener las lineas de adicionales.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + + + End Function + + Public Function AddLineasAdicionales(LineaAdicional As String, CveCliente As Integer, CveProveedor As Integer, TipoLinea As Integer, Importe As Decimal, + CveMoneda As Integer, FechaVencimiento As Date, CveUsuario As Integer, CveClasificacionPS As Integer, CveEstatus As Integer) As Boolean + + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_LineasAdicionalesAdd") + With SqlAdapter.SelectCommand.Parameters + + + .Add("@LineaAdicional", SqlDbType.VarChar).Value = LineaAdicional + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@TipoLinea", SqlDbType.Int).Value = TipoLinea + .Add("@Importe", SqlDbType.Money).Value = Importe + .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda + .Add("@FechaVencimiento", SqlDbType.Date).Value = FechaVencimiento + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveClasificacionPS", SqlDbType.Int).Value = CveClasificacionPS + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error agregar la linea adicional.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + + + End Function + + + Public Function UpdateLineasAdicionales(CveLineaAdicional As Integer, LineaAdicional As String, CveCliente As Integer, CveProveedor As Integer, TipoLinea As Integer, Importe As Decimal, + CveMoneda As Integer, FechaVencimiento As Date, CveUsuario As Integer, CveClasificacionPS As Integer, CveEstatus As Integer, CveEmpresa As Integer, Optional Comprobante As String = "-1") As Boolean + + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_LineasAdicionalesUpdate") + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveLineaAdicional", SqlDbType.Int).Value = CveLineaAdicional + .Add("@LineaAdicional", SqlDbType.VarChar).Value = LineaAdicional + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@TipoLinea", SqlDbType.Int).Value = TipoLinea + .Add("@Importe", SqlDbType.Money).Value = Importe + .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda + .Add("@FechaVencimiento", SqlDbType.Date).Value = FechaVencimiento + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveClasificacionPS", SqlDbType.Int).Value = CveClasificacionPS + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Comprobante", SqlDbType.VarChar).Value = Comprobante + + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error agregar la linea adicional.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + + + End Function + + Public Function RemoveLineasAdicionales(CveLineaAdicional As Integer, CveEmpresa As Integer) As Boolean + + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_LineasAdicionalesRemove") + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveLineaAdicional", SqlDbType.Int).Value = CveLineaAdicional + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error eliminar la linea adicional.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + + + End Function + + #Region "IDisposable Support" diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index 70b809ca8..e073494dc 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -295,7 +295,7 @@
- + diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 069a5dd6c..7cbb67f23 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -42,8 +42,12 @@ Partial Class Bancos_DepositosCaja DdlCuentaDeposito.DataBind() DdlCajaChica.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta = 1", "", {"CveCuenta", "NumCuentaMoneda"}) - DdlCajaChica.DataBind() - + DdlCajaChica.DataBind() + 'código temporal, para claudia y toñita + If UsuarioActual.CveUsuario.Contiene(1937, 2452) Then + DdlCajaChica.Items.Add(New ListItem("Todas", "-1")) + End If + DdlSubProyectos.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) DdlSubProyectos.DataBind() DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) @@ -102,19 +106,14 @@ Partial Class Bancos_DepositosCaja GvFacturas.DataSource = ObjBancos.DtResultados - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then lblValorTotal.Text = ObjBancos.DtResultados.SUM("Importe").ToString("###,###,###.00") RegistraScript($" ValorTotalSeleccionado = {ObjBancos.DtResultados.SUM("Importe")};") End If - - - ObjBancos.Dispose() - GvFacturas.DataBind() ChkFaltante.Checked = False ChkDescuento.Checked = False @@ -133,9 +132,6 @@ Partial Class Bancos_DepositosCaja UpParametros.Update() UpComisiones.Update() - - - End Sub Private Sub BtnDepositar_Click(sender As Object, e As EventArgs) Handles BtnDepositar.Click @@ -305,13 +301,14 @@ Partial Class Bancos_DepositosCaja Dim CveIE As Integer = Gvr.DataKey("CveIE").ToEntero Dim CveVenta As Integer = Gvr.DataKey("CveVenta").ToEntero Dim CvePrePoliza As Integer = Gvr.DataKey("CvePrePoliza").ToEntero + Dim CveCuentaBancaria As Integer = Gvr.DataKey("CveCuenta").ToEntero - FolioIE = ObjBancos.GetNextFolio(DdlCajaChica.SelectedValue.ToEntero, 2) + FolioIE = ObjBancos.GetNextFolio(CveCuentaBancaria, 2) If Not FolioIE > 0 Then OcurrioError = True Exit For End If - CveIEDestino = ObjBancos.AddBancos_IE(DdlCajaChica.SelectedValue.ToEntero, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CveIEDestino = ObjBancos.AddBancos_IE(CveCuentaBancaria, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, SerieFolio, 30, String.Format("Depósito Bancario: {0}", SerieFolio), Fecha, IdCuentaBancariaDestino, -1, CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino, ImporteMX:=Importe * TipoCambio) Then diff --git a/Bancos/PagoDeudor.aspx.cs b/Bancos/PagoDeudor.aspx.cs index 611b02810..eb2d25f4c 100644 --- a/Bancos/PagoDeudor.aspx.cs +++ b/Bancos/PagoDeudor.aspx.cs @@ -361,13 +361,13 @@ public partial class Bancos_PagoDeudor : ClsPaginas if (UsaComplementaria) { // BANCOS - COMPLEMENTARIA - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, 0, Ref, 204, Conc, IDCtaContableBancosComplementariaPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: (TxtImportePrestamo.Text.ToDecimal() * tipoCambio) - TxtImportePrestamo.Text.ToDecimal(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, 0, (TxtImportePrestamo.Text.ToDecimal() * tipoCambio) - TxtImportePrestamo.Text.ToDecimal(), 204, Ref, Conc, IDCtaContableBancosComplementariaPrestamo, CveIEDevolucion: CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de bancos complementaria"; } // BANCOS - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, TxtImportePrestamo.Text.ToDecimal(), Ref, CveConceptoContableBanco, Conc, IDCtaContableBancosPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: TxtImportePrestamo.Text.ToDecimal(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, TxtImportePrestamo.Text.ToDecimal(), TxtImportePrestamo.Text.ToDecimal(),CveConceptoContableBanco, Ref, Conc, IDCtaContableBancosPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de bancos"; } @@ -375,7 +375,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas else { // BANCOS - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, TxtImportePrestamo.Text.ToDecimal(), Ref, CveConceptoContableBanco, Conc, IDCtaContableBancosPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: TxtImportePrestamo.Text.ToDecimal() * tipoCambio, ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, TxtImportePrestamo.Text.ToDecimal(), TxtImportePrestamo.Text.ToDecimal() * tipoCambio, CveConceptoContableBanco, Ref, Conc, IDCtaContableBancosPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de bancos"; } @@ -385,13 +385,13 @@ public partial class Bancos_PagoDeudor : ClsPaginas if (UsaComplementaria) //(IDCtaContableDeudorCompPrestamo > 0) { // DEUDOR COMPLEMENTARIA - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, 0, Ref, 256, Conc, IDCtaContableDeudorCompPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: (TxtImportePrestamo.Text.ToDecimal() * tipoCambio) - TxtImportePrestamo.Text.ToDecimal(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, 0, (TxtImportePrestamo.Text.ToDecimal() * tipoCambio) - TxtImportePrestamo.Text.ToDecimal(), 256, Ref, Conc, IDCtaContableDeudorCompPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de deudor complementaria"; } // DEUDOR - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, TxtImportePrestamo.Text.ToDecimal(), Ref, CveConceptoContablePrestamo, Conc, IDCtaContableDeudorPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: TxtImportePrestamo.Text.ToDecimal(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, TxtImportePrestamo.Text.ToDecimal(), TxtImportePrestamo.Text.ToDecimal(), CveConceptoContablePrestamo, Ref, Conc, IDCtaContableDeudorPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de deudor"; } @@ -399,7 +399,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas else { // DEUDOR - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, TxtImportePrestamo.Text.ToDecimal(), Ref, CveConceptoContablePrestamo, Conc, IDCtaContableDeudorPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: TxtImportePrestamo.Text.ToDecimal() * tipoCambio, ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, TxtImportePrestamo.Text.ToDecimal(), TxtImportePrestamo.Text.ToDecimal() * tipoCambio, CveConceptoContablePrestamo, Ref, Conc, IDCtaContableDeudorPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteME: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de deudor"; } @@ -409,13 +409,13 @@ public partial class Bancos_PagoDeudor : ClsPaginas else { // BANCOS - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, TxtImportePrestamo.Text.ToDecimal(), Ref, CveConceptoContableBanco, Conc, IDCtaContableBancosPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, TxtImportePrestamo.Text.ToDecimal(), TxtImportePrestamo.Text.ToDecimal(), CveConceptoContableBanco, Ref, Conc, IDCtaContableBancosPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de bancos"; } // DEUDOR - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, TxtImportePrestamo.Text.ToDecimal(), Ref, CveConceptoContablePrestamo, Conc, IDCtaContableDeudorPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: TxtImportePrestamo.Text.ToDecimal(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, TxtImportePrestamo.Text.ToDecimal(), TxtImportePrestamo.Text.ToDecimal(), CveConceptoContablePrestamo, Ref, Conc, IDCtaContableDeudorPrestamo, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), TipoCambio: tipoCambio, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de deudor"; } diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 710d7e509..e406742b0 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -829,6 +829,7 @@ Partial Class Bancos_ProveedoresAbonar CompraActual.CveTipoConceptoProveedor = gvr.DataKey("CveTipoConcepto").ToEntero CompraActual.CveProveedor = gvr.DataKey("CveProveedor").ToEntero CompraActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero + CompraActual.Fecha = gvr.DataKey("Fecha").ToDate CompraActual.SerieFolio = gvr.DataKey("SerieFolio").ToString CompraActual.ProveedorNombre = HplProveedor.Text CompraActual.TC = gvr.DataKey("TipoCambioOriginal").ToDecimal diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 535bfd2ea..c358525f0 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -4102,7 +4102,7 @@
- @@ -4417,6 +4417,12 @@ + + + +
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 12d5338e8..e47d14efd 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -7,6 +7,7 @@ Imports System.IO Imports System.Threading.Tasks Imports System.Xml Imports Extensiones +Imports Microsoft.ReportingServices.DataProcessing Imports Newtonsoft.Json Partial Class Compras_Compras @@ -1135,9 +1136,16 @@ Partial Class Compras_Compras End Set End Property + Public Property FechaCompraOriginal As Date + Get + Return ViewState("FechaCompraOriginal").ToString.ToDate + End Get + Set(value As Date) + ViewState("FechaCompraOriginal") = value + End Set - + End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -1775,7 +1783,7 @@ Partial Class Compras_Compras CargaComprobanteXML(XMLDoc) If NuevaValidacionXML = 1 Or (Version = "3.3" Or Version = "4.0") Then - Dim Xml As New StringBuilder + Dim Xml As String Dim nodo As XmlNode = XMLDoc.DocumentElement Dim Version = ValorXML(nodo, "version") @@ -1803,33 +1811,33 @@ Partial Class Compras_Compras namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal") Dim nodeconceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces) + Xml = Replace(nodeconceptos.OuterXml, "", "") 'salto de linea html + Xml = Xml.Replace("&", "") 'adicional, si hay otros - Xml.Append(Replace(Replace(Replace(Replace(nodeconceptos.OuterXml, "", drr("PS")) - Next If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:

{0}", ProductosCodigoSATNoPermitidos.ToString) Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia) - End If End If @@ -2537,6 +2545,8 @@ Partial Class Compras_Compras TxtFolio.Text = dr("Folio").ToString TxtFolioSecundario.Text = dr("FolioSecundario").ToString TxtFecha.Text = dr("Fecha").ToString.ToDate.ToShortDateString + FechaCompraOriginal = dr("Fecha").ToString.ToDate + TxtDescripcion.Text = dr("Descripcion").ToString CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero @@ -4824,6 +4834,7 @@ Partial Class Compras_Compras CompraActual.CveTipoConceptoProveedor = CveTipoConcepto CompraActual.CveProveedor = CveProveedor CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero + CompraActual.Fecha = TxtFecha.Text.ToDate CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim CompraActual.ProveedorNombre = HplProveedor.Text CompraActual.TC = TipoCambio @@ -5743,7 +5754,6 @@ Partial Class Compras_Compras Dim FechaMovimiento As Date = TxtFecha.Text.ToDate Dim DT As DataTable = Nothing Dim CuentasContablesInvalidas As New StringBuilder - Dim CuentasContablesInvalidasSIG As New StringBuilder Dim ConceptoPersonal As String = "" Dim IdCtaIVAXAcreditar As Integer = 0 ' Dim IdCtaIVAAcreditable As Integer = 0 @@ -6131,7 +6141,7 @@ Partial Class Compras_Compras ConceptoContable = 333 End If - importeMovimiento = CompraActual.retiva + importeMovimiento = CompraActual.RetIVA importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" @@ -6935,9 +6945,14 @@ Partial Class Compras_Compras If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True + Exit For End If End If + Dim Pago As New CompraPago With {.ImportePago = importeMovimiento, .CveIE = CveIE} + 'Pago.CveMonedaPago = CveMonedaAnticipo 'pdte + AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) Next + Else For Each rw As GridViewRow In GvDeudores.Rows If rw.FCCheckBox("Chk").Checked Then @@ -6947,7 +6962,11 @@ Partial Class Compras_Compras If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True + Exit For End If + Dim Pago As New CompraPago With {.ImportePago = importeMovimiento, .CveIE = CveIE} + 'Pago.CveMonedaPago = CveMonedaAnticipo 'pdte + AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) End If Next End If @@ -7309,35 +7328,35 @@ Partial Class Compras_Compras If TxtTotal.Text.ToDouble > 0 AndAlso TieneAnticiposXML = False Then - Dim Pago As New CompraPago - Pago.ImportePago = importeMovimiento - Pago.CveIE = Ant.CveIE - Pago.TCPago = Ant.TCCompra - Pago.CveMonedaPago = If(Ant.TCCompra > 1, 2, 1) - Pago.OtroGastoIngreso = ImporComisionAnticipo + Dim Pago As New CompraPago + Pago.ImportePago = importeMovimiento + Pago.CveIE = Ant.CveIE + Pago.TCPago = Ant.TCCompra + Pago.CveMonedaPago = If(Ant.TCCompra > 1, 2, 1) + Pago.OtroGastoIngreso = ImporComisionAnticipo - ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) - - End If + ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) End If - '** PRUEBA CUANDO SE AMORTIZA NC ANTES DE QUE SE REGISTRE NO DEBE TENER CONCEPTO 19 ** JM 01/06/2017 SE HIZO ESTO PARA LA FACTURA HRFA-8012831 DE VIGILANCIA - '[IPP] NC NO DEBE REGISTRAR IMPUESTOS EN AMORTIZACIÓN 27/Agosto/2018 - - 'If Not Ant.TipoMovto.Contiene("NC", "DEV") Then - - ' Dim Pago As New CompraPago - ' Pago.ImportePago = importeMovimiento - ' Pago.CveIE = Ant.CveIE - ' Pago.CveMonedaPago = 1 - - ' ErrorPrepoliza = AplicaPrePolizaPago(CompraActual, Pago, ObjConta) - - 'End If - End If + '** PRUEBA CUANDO SE AMORTIZA NC ANTES DE QUE SE REGISTRE NO DEBE TENER CONCEPTO 19 ** JM 01/06/2017 SE HIZO ESTO PARA LA FACTURA HRFA-8012831 DE VIGILANCIA + '[IPP] NC NO DEBE REGISTRAR IMPUESTOS EN AMORTIZACIÓN 27/Agosto/2018 + + 'If Not Ant.TipoMovto.Contiene("NC", "DEV") Then + + ' Dim Pago As New CompraPago + ' Pago.ImportePago = importeMovimiento + ' Pago.CveIE = Ant.CveIE + ' Pago.CveMonedaPago = 1 + + ' ErrorPrepoliza = AplicaPrePolizaPago(CompraActual, Pago, ObjConta) + + 'End If + + End If + If UsuarioActual.CveEmpresa.Contiene(83) Then 'Unificacion de PrePolizas If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then @@ -7635,6 +7654,7 @@ Partial Class Compras_Compras Pago.CveMonedaPago = 1 Pago.CveCompraAmortizacion = CveCompraNC Pago.CveConceptoPago = CveConceptoPago + Pago.AplicaAcreditable = If(Ant.TipoMovto.Contiene("NC", "DEV"), False, True) 'SI ES NC, no se acredita ErrorMovtosCxP = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) @@ -8412,7 +8432,7 @@ Partial Class Compras_Compras Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal - Dim CvemonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero + Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal If ImporComisionAnticipo = 0 Then @@ -8431,7 +8451,7 @@ Partial Class Compras_Compras Dim Pago As New CompraPago Pago.ImportePago = ImporteAnt Pago.CveIE = CveIE - Pago.CveMonedaPago = CvemonedaAnticipo + Pago.CveMonedaPago = CveMonedaAnticipo Pago.CveCompraAmortizacion = CveCompraNC Pago.CveCreditoDetalle = -1 Pago.OtroGastoIngreso = ImporComisionAnticipo @@ -8442,6 +8462,7 @@ Partial Class Compras_Compras CompraActual.CveTipoConceptoProveedor = CveTipoConcepto CompraActual.CveProveedor = CveProveedor CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero + CompraActual.Fecha = TxtFecha.Text.ToDate CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim CompraActual.ProveedorNombre = HplProveedor.Text CompraActual.TC = TipoCambio @@ -8461,9 +8482,7 @@ Partial Class Compras_Compras CompraActual.EsImportacion = chkImportacion.Checked AplicaPrePolizaPagoCompra(CompraActual, pago, CvePrePoliza, ObjConta) - End If - End If Next @@ -8558,8 +8577,20 @@ Partial Class Compras_Compras Protected Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click + If CveFactura > 0 Then + If Not AjustaCombustibles() Then + Exit Sub + End If + End If + + + 'VALIDA IMPORTES If CveFactura > 0 Then 'SI NO VIENE DE FACTURA/XML NO VALIDA TOTALES + + + + If Not ValidaTotalesGuardar() Then Exit Sub End If @@ -9306,15 +9337,15 @@ Partial Class Compras_Compras End If 'Removemos los conceptos de la prepoliza - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 6, CveCompra, 1) 'GASTO - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 68, CveCompra, 1) 'ALMACEN - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 49, CveCompra, 1) 'AF - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 205, CveCompra, 1) 'PS YA RECIBIDO - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 230, CveCompra, 1) 'PS YA RECIBIDO - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 231, CveCompra, 1) 'PS YA RECIBIDO - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 176, CveCompra, 1) 'PS NO RECIBIDO - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 228, CveCompra, 1) 'PS NO RECIBIDO - ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 229, CveCompra, 1) 'PS NO RECIBIDO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 6, CveCompra, 1) Then ErrorPrepoliza = True 'GASTO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 68, CveCompra, 1) Then ErrorPrepoliza = True 'ALMACEN + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 49, CveCompra, 1) Then ErrorPrepoliza = True 'AF + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 205, CveCompra, 1) Then ErrorPrepoliza = True 'PS YA RECIBIDO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 230, CveCompra, 1) Then ErrorPrepoliza = True 'PS YA RECIBIDO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 231, CveCompra, 1) Then ErrorPrepoliza = True 'PS YA RECIBIDO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 176, CveCompra, 1) Then ErrorPrepoliza = True 'PS NO RECIBIDO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 228, CveCompra, 1) Then ErrorPrepoliza = True 'PS NO RECIBIDO + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 229, CveCompra, 1) Then ErrorPrepoliza = True 'PS NO RECIBIDO 'OBTIENE METODO DE CONTABILIZACIÓN AL GUARDAR Dim ConceptoContabilizacionAlmacen = 0 @@ -10583,8 +10614,8 @@ Partial Class Compras_Compras End Sub Protected Sub GVINV_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvInv.RowUpdating - Dim Cantidad As Double = DirectCast(GvInv.Rows(e.RowIndex).FindControl("txtECantidad"), TextBox).Text.ToDouble - Dim CveUnidadMedida As Integer = DirectCast(GvInv.Rows(e.RowIndex).FindControl("ddlEUnidad"), DropDownList).SelectedValue.ToString.ToEntero + Dim Cantidad As Double = GvInv.Rows(e.RowIndex).FCTextBox("txtECantidad").Text.ToDouble + Dim CveUnidadMedida As Integer = GvInv.Rows(e.RowIndex).FCDropDownList("ddlEUnidad").SelectedValue.ToString.ToEntero DtInv.Rows.Item(e.RowIndex)("Cantidad") = Cantidad DtInv.Rows.Item(e.RowIndex)("CveUM") = CveUnidadMedida @@ -16154,7 +16185,14 @@ Partial Class Compras_Compras RetIVA = TmpDT.SUM("RetIVA") RetISR = TmpDT.SUM("RetISR") IEPSPS = TmpDT.SUM("IEPSPS") - IVA = If(TmpDT.SUM("IVA") > 0, SubTotalIVA + SubTotalIEPSIVA, 0) + + If CveCompra > 0 AndAlso CveFactura > 0 Then + IVA = TxtIVA.Text.ToDecimal + Else + IVA = If(TmpDT.SUM("IVA") > 0, SubTotalIVA + SubTotalIEPSIVA, 0) + End If + + 'If CalculaIVA Then IVA = TxtIVA.Text.ToDouble Descuentos = TmpDT.SUM("Descuento") @@ -16714,6 +16752,9 @@ Partial Class Compras_Compras DdlPSChange() End Sub Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) + + + If Modalidad <> "U" Or Not CveFactura > 0 Then DdlPSChange() End If @@ -16730,6 +16771,13 @@ Partial Class Compras_Compras DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1")) End If + + If UsuarioActual.Empresa.CveEmpresa = 158 AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 AndAlso DdlSubProyecto.SelectedValue.ToEntero.Contiene(11881, 11882, 11886) Then + RfvDdlCultivosCuadro.Visible = True + Else + RfvDdlCultivosCuadro.Visible = False + End If + End Sub Private Sub DdlPSChange() If CveProveedor > 0 Then @@ -19922,39 +19970,74 @@ Partial Class Compras_Compras Protected Sub LnkActualziarFechadecompra_Click(sender As Object, e As EventArgs) - Dim ObjCompra As New ClsCompras + Dim ProcesoError As Boolean = True + + If FechaCompraOriginal <> TxtFecha.Text.ToDate Then + + + Dim ObjCompra As New ClsCompras + ObjCompra.IniciaTransacSQL() + + Dim ObjEventos As New ClsOIEventos(ObjCompra.IniciaTransacSQL()) + + If ObjEventos.AddEventoBitacora($"Cambio de Fecha de compra de { FechaCompraOriginal.ToString("dd/MM/yyyy")} a {TxtFecha.Text}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra:=CveCompra) Then + ProcesoError = False + Else + ProcesoError = True + End If + + If ProcesoError = False And ObjCompra.UpdateFechaCompra(CveCompra, TxtFecha.Text.ToDate, UsuarioActual.CveEmpresa) Then + ProcesoError = False + Else + ProcesoError = True + End If + + + If Not ProcesoError Then + ObjCompra.Commit() + FechaCompraOriginal = TxtFecha.Text.ToDate + Alert("Fecha Actualizada Correctamente.") + Else + ObjCompra.RollBack() + End If + + ObjCompra.Dispose() + + If Not ProcesoError Then + CargaEventoBitacora() + UPEventoBitacora.Update() + End If + - If ObjCompra.UpdateFechaCompra(CveCompra, TxtFecha.Text.ToDate, UsuarioActual.CveEmpresa) Then - Alert("Fecha Actualizada Correctamente") End If - ObjCompra.Dispose() + End Sub Private Function ValidaSeleccionAnticipo() As Boolean - Dim Respuesta As Boolean + Dim Respuesta As Boolean = True - If UsuarioActual.CveEmpresa.Contiene(13, 83) Then - If GVAnticipos.Rows.Count > 0 Then + 'If UsuarioActual.CveEmpresa.Contiene(13, 83) Then + ' If GVAnticipos.Rows.Count > 0 Then - For Each GVRow As GridViewRow In GVAnticipos.Rows - If GVRow.FCCheckBox("Chk").Checked AndAlso GVRow.FCTextBox("TxtAnticipo").Text.ToDecimal > 0 Then - Respuesta = True - Exit For - Else - Respuesta = False - End If - Next + ' For Each GVRow As GridViewRow In GVAnticipos.Rows + ' If GVRow.FCCheckBox("Chk").Checked AndAlso GVRow.FCTextBox("TxtAnticipo").Text.ToDecimal > 0 Then + ' Respuesta = True + ' Exit For + ' Else + ' Respuesta = False + ' End If + ' Next - Else - Respuesta = True - End If + ' Else + ' Respuesta = True + ' End If - Else - Respuesta = True - End If + 'Else + ' Respuesta = True + 'End If Return Respuesta diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index 3bcb32ef6..ea30d6a2b 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -690,6 +690,7 @@ Partial Class Compras_ReembolsosComprobaciones CompraActual.CveTipoConceptoProveedor = gvr.DataKey("CveTipoConcepto").ToEntero CompraActual.CveProveedor = gvr.DataKey("CveProveedor").ToEntero CompraActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero + CompraActual.Fecha = gvr.DataKey("Fecha").ToDate CompraActual.SerieFolio = gvr.DataKey("SerieFolio").ToString CompraActual.ProveedorNombre = gvr.DataKey("Proveedor") CompraActual.TC = gvr.DataKey("TipoCambio").ToDecimal @@ -736,6 +737,7 @@ Partial Class Compras_ReembolsosComprobaciones Pago.CveIE = CveIEPago Pago.CveMonedaPago = CveMonedaPago Pago.TCPago = TipoCambioPago + Pago.CvePersonal =CvePersonal 'Otros Ingresos If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then @@ -808,7 +810,7 @@ Partial Class Compras_ReembolsosComprobaciones Pago.ImportePago = ImporteMovto Pago.CveIE = CveIEExcedente Pago.CveMonedaPago = CveMoneda - + Pago.CvePersonal = CvePersonal If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then MsgError = "no se pudo insertar el detalle de la poliza" diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index 23f1151b2..61f5b6979 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -143,7 +143,7 @@ Partial Class Compras_RepNotasCredito TCCompra = gr.DataKey("TipoCambio").ToDecimal CveMoneda = gr.DataKey("CveMoneda").ToEntero - CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, TxtFechaSaldar.Text.ToDate, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveMoneda > 1 Then diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 2b6a245a2..1e0a49b93 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -1660,7 +1660,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If End If - If AplicaBancos Then + If AplicaBancos AndAlso Not AplicaComplementaria Then If DdlModalConceptoTipoTransaccion.SelectedValue.ToEntero <= 0 Then Alert("seleccione las opciones de bancos ") Retorno = False diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx b/Contabilidad2/CatCuentasAsignaciones.aspx index 8d063b185..7c71c6558 100644 --- a/Contabilidad2/CatCuentasAsignaciones.aspx +++ b/Contabilidad2/CatCuentasAsignaciones.aspx @@ -239,6 +239,7 @@
+
diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx.vb b/Contabilidad2/CatCuentasAsignaciones.aspx.vb index 083e76f5e..3e26bae19 100644 --- a/Contabilidad2/CatCuentasAsignaciones.aspx.vb +++ b/Contabilidad2/CatCuentasAsignaciones.aspx.vb @@ -205,9 +205,10 @@ Partial Class Contabilidad2_CatCuentasAsignaciones If CveConceptoContable = 51 Then divTipoGasto.Visible = True + DdlTipoGasto.Items.Clear() DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() - ' DdlActivoFijo.SelectedValueExist(GvRow.DataKey("CveActivoFijo")) + DdlTipoGasto.Items.Add(New ListItem("-", "-1")) End If If Dr("CveTipoSaldo").ToString = "1" Then divRegeneraCuenta.Visible = True diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb index c4049ee0c..15e7d3ea7 100644 --- a/Contratos/Contrato.aspx.vb +++ b/Contratos/Contrato.aspx.vb @@ -1050,7 +1050,7 @@ Partial Class Contratos_Default TxtFechaInicial.Text = ObjContratos.FechaInicial.ToShortDateString TxtUbicacion.Text = ObjContratos.Ubicacion TxtResponsable.Text = ObjContratos.Responsable - TxtPorAnticipo.Text = ObjContratos.PorAmortizacionAnticipo.FormatoNumero + TxtPorAnticipo.Text = ObjContratos.PorAnticipo.FormatoNumero TxtPorAmortizacionAnticipo.Text = ObjContratos.PorAmortizacionAnticipo.FormatoNumero TxtPorGarantia.Text = ObjContratos.PorGarantia.FormatoNumero 'DdlProyecto.SelectedValue = ObjContratos.CveProyecto.ToString diff --git a/Empresas/32/Formatos/Factura.rdlc b/Empresas/32/Formatos/Factura.rdlc index 3bab794d6..a82a05f52 100644 --- a/Empresas/32/Formatos/Factura.rdlc +++ b/Empresas/32/Formatos/Factura.rdlc @@ -1,4287 +1,4911 @@ - - - - - - true - - - - - Tipo - - - - - - - Textbox3 - 0.90692in - 5.662in - 0.5cm - 2.24597in - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Fecha y hora de emisión - - - - - - - - - - - - - - - - Textbox3 - 0.46414in - 5.662in - 0.5cm - 2.24597in - 1 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =IIF(Parameters!Serie.Value.ToString="",Parameters!Folio.Value,Parameters!Serie.Value & "-" &Parameters!Folio.Value) - - - - - - - Textbox3 - 0.22455in - 5.662in - 0.60856cm - 2.24597in - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!TipoDocumento.Value - - - - - - - Textbox3 - 0.0412cm - 5.662in - 0.5cm - 2.24597in - 3 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Rosa Amada Ozuna Laborin - - - - - - - - - R.F.C. OULR780610S27 - - - - 0cm - 0cm - - - - Textbox4 - 1.93416in - 0.50583in - 3.62386in - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - SON: ( - - - - =Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) - - - - ) - - - - - - - ImporteLetra - 2.57737in - 1.40437in - 0.2053in - 4.28167in - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!SelloCFDI.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!SelloSAT.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!CadenaOriginal.Value - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!QR.Value - FitProportional - 5.15805in - 0.04026in - 1.3497in - 1.5531in - 9 - - - - - - true - - - - - =Parameters!Fecha.Value - - - - - - - Textbox3 - 0.66099in - 5.662in - 0.25114in - 2.24597in - 10 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!Tipo.Value & Parameters!Ref.Value - - - - - - - Textbox3 - 1.10364in - 5.662in - 0.25635in - 2.24597in - 11 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Domicilio Fiscal - - - - - - - - - Cerrada Rosales, #81, - - - - 0cm - 0cm - - - - - - Col. Rosales, C.P. 83288 - - - - 0cm - 0cm - - - - - - Hermosillo, Sonora, México. - - - - 0cm - 0cm - - - - Textbox10 - 0.51102in - 1.93416in - 0.65513in - 1.79619in - 12 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Lugar de Expedición - - - - - - - - - =Parameters!DomicilioSucursal.Value - - - - - - - Textbox10 - 0.51102in - 3.77202in - 0.65513in - 1.786in - 13 - - - Top - - - - true - true - - - - - Nombre - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ClienteNombre.Value - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Dirección - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ClienteDireccion.Value - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Cuidad - - - - - - - - 1.25pt - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!ClienteLugar.Value - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Sub Total 1 - - - - - - - Textbox19 - 2.34473in - 5.68604in - 0.21875in - 0.99552in - 20 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Descuento - - - - - - - Textbox19 - 2.56348in - 5.68499in - 0.21875in - 0.99552in - 21 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Amort. Ant - - - - - - - Textbox19 - 2.78223in - 5.68604in - 0.20535in - 0.99552in - 22 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Sub Total 2 - - - - - - - Textbox19 - 2.98758in - 5.68604in - 0.23803in - 0.99552in - 23 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - IVA (16%) - - - - - - - Textbox19 - 3.2395in - 5.68499in - 0.21875in - 0.99552in - 24 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Ret. IVA - - - - - - - Textbox19 - 3.45825in - 5.68499in - 0.21875in - 0.99552in - 25 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =IIF(Parameters!SubTotal.Value= 0 ,"-",Parameters!SubTotal.Value) - - - - - - - Textbox42 - 2.34473in - 6.68156in - 0.21875in - 1.24179in - 26 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - - - - - =IIF(Parameters!Amortizacion.Value = 0,"-",Parameters!Amortizacion.Value) - - - - - - - Textbox42 - 2.78272in - 6.6805in - 0.20535in - 1.24179in - 27 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - - - - - =iif(Parameters!Descuento.Value= 0, "-",Parameters!Descuento.Value) - - - - - - - Textbox42 - 2.56392in - 6.6805in - 0.21875in - 1.24179in - 28 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - - - - - =IIF(Parameters!SubTotal2.Value = 0,"-",Parameters!SubTotal2.Value) - - - - - - - Textbox42 - 2.98758in - 6.68156in - 0.23803in - 1.24179in - 29 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - - - - - =iif(Parameters!IVA.Value = 0,"-",Parameters!IVA.Value) - - - - - - - Textbox42 - 3.22561in - 6.68156in - 0.21875in - 1.24179in - 30 - - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - true - - - - - =Parameters!RetIVA.Value - - - - - - - Textbox42 - 3.44436in - 6.68156in - 0.21875in - 1.24179in - 31 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Importe con letra: - - - - - - - Textbox19 - 2.57737in - 0.04458in - 0.2053in - 1.35979in - 32 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Forma de pago: - - - - - - - Textbox19 - 2.78272in - 0.04458in - 0.22222in - 1.35979in - 33 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - - - - - - - - - - - - - - - - - - - Sello digital del CFDI: - - - - - - - Textbox19 - 3.00494in - 0.04458in - 0.61916in - 1.35979in - 34 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - - - - - - - - - - Sello del SAT: - - - - - - - Textbox19 - 3.6241in - 0.04515in - 0.61916in - 1.36417in - 35 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Cadena original del complemento de certificación digital del SAT: - - - - - - - Textbox19 - 4.27104in - 0.02417in - 0.21875in - 5.66187in - 36 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!FormaPago.Value - - - - - - - ImporteLetra - 2.78272in - 1.40437in - 0.22222in - 4.28167in - 37 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Folio Fiscal: - - - - - - - Textbox54 - 5.15882in - 1.64412in - 0.18056in - 4.03672in - 38 - - - - - - - White - - - - - - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - No. Serie del Certificado del SAT: - - - - - - - Textbox54 - 5.35327in - 1.64412in - 0.18056in - 4.03672in - 39 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha y Hora de certificación: - - - - - - - Textbox54 - 5.56432in - 1.64412in - 0.19444in - 4.03672in - 40 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Certificado del Contribuyente: - - - - - - - Textbox54 - 5.76993in - 1.64412in - 0.19445in - 4.03672in - 41 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FolioFiscal.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!SerieCertificadoSAT.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaCertificacion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!CertificadoContribuyente.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Regímen: Regímen General de Ley Personas Morales; Condiciones de pago: - - - - =IIF(Parameters!CondicionPago.Value.ToString="","No Identificado",Parameters!CondicionPago.Value) - - - - ; Método de Pago: - - - - =IIF(Parameters!MetodoPago.Value.ToString="","No Identificado",Parameters!MetodoPago.Value) - - - - ; Num. Cta Pago: - - - - =IIF(Parameters!NumCta.Value=0,"No Identificado",Parameters!NumCta.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Éste documento es una representacion impresa de un CFDi - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - true - true - - - - - P A G A R E con Folio - - - - =Parameters!Serie.Value - - - - - - - - - =Parameters!Folio.Value - - - - Por éste pagare prometo (emos) pagar incondicionalmente a la orden de Rosa Amanda Ozuna Laborin, a su vencimiento el - - - - =Parameters!Vencimiento.Value - - - - , en Hermosillo, Sonora o en el domicilio señalado a elección del acreedor o tenedor la cantidad de $ - - - - =Parameters!Total.Value - - - - SON: ( - - - - =Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) - - - - ). Valor recibido a mi (nuestra) entera satisfacción. la falta de pago de éste documento a su vencimiento dará derecho aRosa Amanda Ozuna Laborin o tenedor, desde el día siguiente a cobrar el 10% mensual de interes moratorios hasta su total liquidación y los gastos judiciales que se ocasionen. Lugar y Fecha de Suscripción: Hermosillo, Sonora a - - - - =CDATE(Parameters!Fecha.Value).ToString("dd/MM/yyyy") - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Nombre: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Dirección: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ClienteNombre.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!ClienteDireccion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - White - - - Black - - - White - - - White - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Acepto de conformidad - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 0.29357cm - 0.08375cm - 0cm - 0.57653cm - 7 - - - - - - 0.29357cm - 0.71971cm - 0cm - 0.57653cm - 8 - - - - - - 0.29357cm - 1.35545cm - 0cm - 0.57653cm - 9 - - - - - - 0.29357cm - 1.66152cm - 0cm - 0.57653cm - 10 - - - - - - 0.29357cm - 2.29748cm - 0cm - 0.57653cm - 11 - - - - - - 0.29357cm - 2.93322cm - 0cm - 0.57653cm - 12 - - - - - - 0.29357cm - 3.60266cm - 0cm - 0.57653cm - 13 - - - - - - 0.29357cm - 4.23862cm - 0cm - 0.57653cm - 14 - - - - - - 0.29357cm - 4.87436cm - 0cm - 0.57653cm - 15 - - - - - - 0.29357cm - 5.18043cm - 0cm - 0.57653cm - 16 - - - - - - 0.29357cm - 5.81639cm - 0cm - 0.57653cm - 17 - - - - - - 0.29357cm - 6.45213cm - 0cm - 0.57653cm - 18 - - - - - - 0.29357cm - 7.13239cm - 0cm - 0.57653cm - 19 - - - - - - 0.29357cm - 7.76835cm - 0cm - 0.57653cm - 20 - - - - - - 0.29357cm - 8.40409cm - 0cm - 0.57653cm - 21 - - - - - - 0.29357cm - 8.71016cm - 0cm - 0.57653cm - 22 - - - - - - 0.29357cm - 9.34612cm - 0cm - 0.57653cm - 23 - - - - - - 0.29357cm - 9.98186cm - 0cm - 0.57653cm - 24 - - - - - - 0.29357cm - 14.06281cm - 0cm - 0.57653cm - 25 - - - - - - 0.29357cm - 14.69877cm - 0cm - 0.57653cm - 26 - - - - - - 0.29357cm - 15.33451cm - 0cm - 0.57653cm - 27 - - - - - - 0.29357cm - 15.64058cm - 0cm - 0.57653cm - 28 - - - - - - 0.29357cm - 16.27654cm - 0cm - 0.57653cm - 29 - - - - - - 0.29357cm - 16.91228cm - 0cm - 0.57653cm - 30 - - - - - - 0.29357cm - 10.60588cm - 0cm - 0.57653cm - 31 - - - - - - 0.29357cm - 11.24184cm - 0cm - 0.57653cm - 32 - - - - - - 0.29357cm - 11.87758cm - 0cm - 0.57653cm - 33 - - - - - - 0.29357cm - 12.18365cm - 0cm - 0.57653cm - 34 - - - - - - 0.29357cm - 12.81961cm - 0cm - 0.57653cm - 35 - - - - - - 0.29357cm - 13.45535cm - 0cm - 0.57653cm - 36 - - - - - - 0.29357cm - 18.40663cm - 0cm - 0.57653cm - 37 - - - - - - 0.29357cm - 19.04259cm - 0cm - 0.57653cm - 38 - - - - - - 0.29357cm - 17.74353cm - 0cm - 0.57653cm - 39 - - - - - - true - 16.45911cm - 0.05078cm - 7.41243cm - 20.06179cm - 48 - - = (Parameters!AplicaPagare.Value="0") - - - - - - - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.12527cm - - - 2.02474cm - - - 10.17786cm - - - 2.52862cm - - - 3.15415cm - - - - - 0.6cm - - - - - true - true - - - - - Cantidad - - - - - - - Textbox34 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Unidad - - - - - - - Textbox53 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox79 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - P. Unitario - - - - - - - Textbox84 - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - - - - - - - - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.49417cm - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!UM.Value - - - - - - - UM1 - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PS.Value & " " & Parameters!Observaciones.Value - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PU.Value - - - - - - - PU1 - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cantidad.Value*Fields!PU.Value - - - - - - - Textbox88 - - - - - - - - - - #686868 - - - #686868 - - 2pt - 2pt - 2pt - 2pt - es-MX - - - - - - - - 0.16344cm - - - - - true - true - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #686868 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - #686868 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - After - - - - - - Before - - - - DsOC - 4.5569cm - 0.11468cm - 1.25761cm - 20.01064cm - 50 - - - - - - true - - - - - RFC: - - - - =Parameters!ClienteRFC.Value - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Ret. ISR - - - - - - - Textbox19 - 3.677in - 5.68755in - 0.21875in - 0.99552in - 52 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!RetISR.Value - - - - - - - Textbox42 - 3.66311in - 6.68412in - 0.21875in - 1.24179in - 53 - - - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - Total - - - - - - - Textbox19 - 3.91658in - 5.69622in - 0.21875in - 0.99552in - 54 - - - - White - - 1pt - - #686868 - 2pt - 2pt - 2pt - 2pt - - - - true - - - - - =Parameters!Total.Value - - - - - - - Textbox42 - 3.90269in - 6.69279in - 0.21875in - 1.24179in - 55 - - - 2pt - 2pt - 2pt - 2pt - - - - 23.93683cm - - - - - - - - =Today - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 0.5cm - 0.5cm - 1cm - 0.5cm - 1.27cm - + + + + + + Textbox15 + + + #686868 + Middle + 2pt + 2pt + + + + + + + + true + true + + + + + Unidad + + + + + + + Textbox33 + + + #686868 + Middle + 2pt + 2pt + + + + + + + + true + true + + + + + Descripción + + + + + + + Textbox17 + + + #686868 + Middle + 2pt + 2pt + + + + + + + + true + true + + + + + P/U + + + + + + + Textbox21 + + + #686868 + Middle + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox23 + + + #686868 + Middle + 2pt + 2pt + + + + + + + + 0.25521in + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!UM.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PS.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PU.Value + + + + + + + PU + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Cantidad.Value*Fields!PU.Value + + + + + + + PU2 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.03125in + + + + + true + true + + + + + + + + + + + + Textbox71 + + + + #686868 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + #686868 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + #686868 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox74 + + + + #686868 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox75 + + + + #686868 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + + + + + + Before + + + + DsOC + 2.02937in + 0.07745cm + 0.5in + 7.87749in + + + + + + true + true + + + + + Tipo + + + + + + + Textbox3 + 0.912in + 5.662in + 0.5cm + 2.24597in + 1 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha y hora de emisión + + + + + + + + + + + + + + + + Textbox3 + 0.46414in + 5.662in + 0.5cm + 2.24597in + 2 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Serie.Value + + + + - + + + + =Parameters!Folio.Value + + + + + + + Textbox3 + 0.22455in + 5.662in + 0.60856cm + 2.24597in + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + FACTURA + + + + + + + Textbox3 + 0.0412cm + 5.662in + 0.5cm + 2.24597in + 4 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Rosa Amada Ozuna Laborin + + + + + + + + + R.F.C. OULR780610S27 + + + + 0cm + 0cm + + + + Textbox4 + 1.78362in + 0.46414in + 3.96172in + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + SON: ( + + + + =Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) + + + + ) + + + + + + + ImporteLetra + 2.53743in + 1.39103in + 0.23264in + 4.73657in + 6 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SelloCFDI.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SelloSAT.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!CadenaOriginal.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!QR.Value + FitProportional + 4.61035in + 0.03124in + 1.46528in + 1.56699in + 10 + + + + + + true + true + + + + + =Parameters!Fecha.Value + + + + + + + Textbox3 + 0.66099in + 5.662in + 0.25114in + 2.24597in + 11 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Tipo.Value + + + + + + + Textbox3 + 1.10885in + 5.662in + 0.20721in + 2.24597in + 12 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Domicilio Fiscal + + + + + + + + + Cerrada Rosales, #81, + + + + 0cm + 0cm + + + + + + Col. Rosales, C.P. 83288 + + + + 0cm + 0cm + + + + + + Hermosillo, Sonora, México. + + + + 0cm + 0cm + + + + Textbox10 + 0.46414in + 1.87861in + 0.64471in + 1.65152in + 13 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Lugar de Expedición + + + + + + + + + =Parameters!DomicilioExpedicion.Value + + + + + + + Textbox10 + 0.46414in + 3.84822in + 0.64471in + 1.786in + 14 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteNombre.Value + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Dirección + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteDireccion.Value + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Cuidad + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteLugar.Value + + + + RFC: + + + + =Parameters!ClienteRFC.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Sub Total 1 + + + + + + + Textbox19 + 2.57038in + 6.15538in + 0.21875in + 0.84815in + 21 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Descuento + + + + + + + Textbox19 + 2.77396in + 6.15538in + 0.21875in + 0.84815in + 22 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Amort. Ant + + + + + + + Textbox19 + 2.99271in + 6.15538in + 0.21875in + 0.84815in + 23 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Sub Total 2 + + + + + + + Textbox19 + 3.21146in + 6.15538in + 0.21875in + 0.84815in + 24 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + IVA (16%) + + + + + + + Textbox19 + 3.43021in + 6.15538in + 0.21875in + 0.84815in + 25 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Total + + + + + + + Textbox19 + 3.63334in + 6.15538in + 0.21875in + 0.84815in + 26 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =IIF(Parameters!SubTotal.Value.ToString="","-",Parameters!SubTotal.Value) + + + + + + + Textbox42 + 2.5756in + 7.00353in + 0.19253in + 0.89055in + 27 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =IIF(Parameters!Amortizacion.Value.ToString="","-",Parameters!Amortizacion.Value) + + + + + + + Textbox42 + 2.97299in + 7.00353in + 0.22222in + 0.89054in + 28 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Parameters!Descuento.Value.ToString = "", "-",Parameters!Descuento.Value) + + + + + + + Textbox42 + 2.76813in + 7.00353in + 0.20486in + 0.89054in + 29 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =IIF(Parameters!SubTotal2.Value.ToString="","-",Parameters!SubTotal2.Value) + + + + + + + Textbox42 + 3.19521in + 7.00353in + 0.23803in + 0.89054in + 30 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Parameters!IVA.Value.ToString="","-",Parameters!IVA.Value) + + + + + + + Textbox42 + 3.43324in + 7.00353in + 0.2126in + 0.89054in + 31 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Total.Value + + + + + + + Textbox42 + 3.64584in + 7.00353in + 0.19375in + 0.89054in + 32 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Importe con letra: + + + + + + + Textbox19 + 2.53316in + 0.03124in + 0.2053in + 1.37616in + 33 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Forma de pago: + + + + + + + Textbox19 + 2.73851in + 0.03124in + 0.22222in + 1.37616in + 34 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Sello digital del CFDI: + + + + + + + Textbox19 + 2.96073in + 0.03124in + 0.61916in + 1.37616in + 35 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Sello del SAT: + + + + + + + Textbox19 + 3.56739in + 0.03124in + 0.30208in + 1.37616in + 36 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Cadena original del complemento de certificación digital del SAT: + + + + + + + Textbox19 + 3.92015in + 0.03056in + 0.21875in + 7.87741in + 37 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FormaPago.Value + + + + + + + ImporteLetra + 2.73851in + 1.39103in + 0.20833in + 4.73657in + 38 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Folio Fiscal: + + + + + + + Textbox54 + 4.60896in + 1.66767in + 0.18056in + 4.34634in + 39 + + + + + + + White + + + + + + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + No. Serie del Certificado del SAT: + + + + + + + Textbox54 + 4.80341in + 1.66767in + 0.18056in + 4.34634in + 40 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha y Hora de certificación: + + + + + + + Textbox54 + 5.00196in + 1.66767in + 0.18056in + 4.34634in + 41 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Certificado del Contribuyente: + + + + + + + Textbox54 + 5.19507in + 1.66767in + 0.18056in + 4.34634in + 42 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FolioFiscal.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SerieCertificadoSAT.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FechaCertificacion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!CertificadoContribuyente.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Regímen: Regímen General de Ley Personas Morales; Condiciones de pago: + + + + =Parameters!CondicionPago.Value + + + + ; Método de Pago: + + + + =Parameters!MetodoPago.Value + + + + ; Num. Cta Pago: + + + + =Parameters!NumCta.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Éste documento es una representacion impresa de un CFDi + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + true + true + + + + + P A G A R E con Folio + + + + =Parameters!Serie.Value + + + + - + + + + =Parameters!Folio.Value + + + + Por éste pagare prometo (emos) pagar incondicionalmente a la orden de + + + + =Parameters!Empresa.Value + + + + a su vencimiento el + + + + =Parameters!Vencimiento.Value + + + + , en Hermosillo, Sonora o en el domicilio señalado a elección del acreedor o tenedor la cantidad de $ + + + + =Parameters!Total.Value + + + + SON: ( + + + + =Microsoft.VisualBasic.Strings.UCase(Parameters!ImporteLetra.Value) + + + + ). Valor recibido a mi (nuestra) entera satisfaccion. la falta de pago de éste documento a su vencimiento dará derecho a + + + + =Parameters!Empresa.Value + + + + o tenedor, desde el dia siguiente a cobrar el 10% mensual de interes moratorios hasta su total liquidación y los gastos judiciales que se ocasionén. Lugar y Fecha de Suscripcion: Hermosillo, Sonora a + + + + =Parameters!Fecha.Value + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Dirección: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteNombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!ClienteDireccion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Acepto de conformidad + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 0.26711cm + 0.05457cm + 0cm + 0.57653cm + 7 + + + + + + 0.26711cm + 0.69053cm + 0cm + 0.57653cm + 8 + + + + + + 0.26711cm + 1.32627cm + 0cm + 0.57653cm + 9 + + + + + + 0.26711cm + 1.63234cm + 0cm + 0.57653cm + 10 + + + + + + 0.26711cm + 2.2683cm + 0cm + 0.57653cm + 11 + + + + + + 0.26711cm + 2.90404cm + 0cm + 0.57653cm + 12 + + + + + + 0.26711cm + 3.57348cm + 0cm + 0.57653cm + 13 + + + + + + 0.26711cm + 4.20944cm + 0cm + 0.57653cm + 14 + + + + + + 0.26711cm + 4.84518cm + 0cm + 0.57653cm + 15 + + + + + + 0.26711cm + 5.15125cm + 0cm + 0.57653cm + 16 + + + + + + 0.26711cm + 5.78721cm + 0cm + 0.57653cm + 17 + + + + + + 0.26711cm + 6.42295cm + 0cm + 0.57653cm + 18 + + + + + + 0.26711cm + 7.10321cm + 0cm + 0.57653cm + 19 + + + + + + 0.26711cm + 7.73917cm + 0cm + 0.57653cm + 20 + + + + + + 0.26711cm + 8.37491cm + 0cm + 0.57653cm + 21 + + + + + + 0.26711cm + 8.68098cm + 0cm + 0.57653cm + 22 + + + + + + 0.26711cm + 9.31694cm + 0cm + 0.57653cm + 23 + + + + + + 0.26711cm + 9.95268cm + 0cm + 0.57653cm + 24 + + + + + + 0.26711cm + 14.03363cm + 0cm + 0.57653cm + 25 + + + + + + 0.26711cm + 14.66959cm + 0cm + 0.57653cm + 26 + + + + + + 0.26711cm + 15.30533cm + 0cm + 0.57653cm + 27 + + + + + + 0.26711cm + 15.6114cm + 0cm + 0.57653cm + 28 + + + + + + 0.26711cm + 16.24736cm + 0cm + 0.57653cm + 29 + + + + + + 0.26711cm + 16.8831cm + 0cm + 0.57653cm + 30 + + + + + + 0.26711cm + 10.5767cm + 0cm + 0.57653cm + 31 + + + + + + 0.26711cm + 11.21266cm + 0cm + 0.57653cm + 32 + + + + + + 0.26711cm + 11.8484cm + 0cm + 0.57653cm + 33 + + + + + + 0.26711cm + 12.15447cm + 0cm + 0.57653cm + 34 + + + + + + 0.26711cm + 12.79043cm + 0cm + 0.57653cm + 35 + + + + + + 0.26711cm + 13.42617cm + 0cm + 0.57653cm + 36 + + + + + + 0.26711cm + 18.37745cm + 0cm + 0.57653cm + 37 + + + + + + 0.26711cm + 19.01341cm + 0cm + 0.57653cm + 38 + + + + + + 0.26711cm + 17.71435cm + 0cm + 0.57653cm + 39 + + + + + + true + 18.57368cm + 0.09423cm + 4.36819cm + 20.04854cm + 49 + + + + + + + + true + true + + + + + CFDI Relacionados + + + + + + + Textbox5 + 0.11382cm + 0.05336cm + 0.54004cm + 20.00281cm + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Tipo Relación: + + + + + + + Textbox29 + 0.83025cm + 4.33636cm + 0.41981cm + 5.31841cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TipoRelacionTexto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.42456cm + + + 2.05585cm + + + 3.03631cm + + + 7.7847cm + + + + + 0.44125cm + + + + + true + true + + + + + Folio + + + + + + + Textbox10 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Fecha + + + + + + + Textbox12 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox21 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Folio Fiscal + + + + + + + Textbox11 + + + #686868 + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.41479cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Fecha.Value + + + + + + + Fecha + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FolioFiscal.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet4 + 1.39643cm + 2.83462cm + 0.85604cm + 15.30142cm + 3 + + + + + + true + true + + + + + VERSION 3.3 + + + + + + + Textbox5 + 2.28775cm + 17.08931cm + 0.6cm + 3.06609cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + 15.56744cm + 0.07745cm + 2.97096cm + 20.1554cm + 50 + + =Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") <> "", False, True) + + + + + + + 22.94187cm + + + + =Today + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 0.5cm + 0.5cm + 1cm + 0.5cm + 1.27cm + + + + + + + + + + + + + + +
  • + Excel +
  • +
    + + + +
    + +
    + + + + + + +
    +
    +
    + + +
    +
    +
    + +
    Proveedor:
    +
    + +
    + +
    Cliente:
    +
    + +
    + +
    Fecha Inicio:
    +
    +
    + + + + +
    + + + + + + +
    +
    Fecha Fin:
    +
    +
    + + + + +
    + + + + + + +
    + +
    +
    +
    + +
    +
    +
    + + + + +
    +
    + +
    +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + <%-- MODAL COMPROBANTE --%> + + <%-- FIN MODAL COMPROBANTE --%> + + + + + + +
    + + + + + + diff --git a/Ventas/RepLineasAdicionales.aspx.cs b/Ventas/RepLineasAdicionales.aspx.cs new file mode 100644 index 000000000..c02b8cf93 --- /dev/null +++ b/Ventas/RepLineasAdicionales.aspx.cs @@ -0,0 +1,322 @@ +using System; using System.Web.UI.WebControls; using Extensiones; using System.Data; using static Extensiones.ModExtensiones; +using System.Collections.Generic; +using System.IO; +using ListItem = System.Web.UI.WebControls.ListItem; +using DocumentFormat.OpenXml.Spreadsheet; +using System.Web.UI; + +public partial class Ventas_RepLineasAdicionales : ClsPaginas +{ + #region PROPIEDADES + + private int CveLineaAdicional + { + get { return (ViewState["CveLineaAdicional"] == null) ? 0 : int.Parse(ViewState["CveLineaAdicional"].ToString()); } + set { ViewState["CveLineaAdicional"] =(int) value; } + } + + private int TipoLinea + { + get { return (ViewState["TipoLinea"] == null) ? 1: int.Parse(ViewState["TipoLinea"].ToString()); } + set { ViewState["TipoLinea"] = (int)value; } + } + + private DataTable DTDatosGvLineasAdicionales + { + get + { + if (ViewState["DTDatosGvLineasAdicionales"] == null) + { + ViewState["DTDatosGvLineasAdicionales"] = new DataTable(); + } + return (DataTable)ViewState["DTDatosGvLineasAdicionales"]; + } + set { ViewState["DTDatosGvLineasAdicionales"] = (DataTable)value; } + } + + private string Comprobante + { + get { + + if(ViewState["Comprobante"] == null) + { + ViewState["Comprobante"] = ""; + } + + return ViewState["Comprobante"].ToString(); + } + set { ViewState["Comprobante"] = value; } + } + + #endregion + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + InicializaValores(); + CargaDatos(); + } + } + + private void InicializaValores() + { + + if (Request["OP"] != null && Request["OP"].ToString() == "PO") + { + DVProveedor1.Visible = true; + DVProveedor2.Visible = true; + GvLineasAdicionales.Columns[8].Visible = true; + TipoLinea = 2; + LtlEncabezado.Text = "Reporte PO"; + } + + //Carga Clientes + DdlClientes.DataSource = get_GlobalDTCliente(UsuarioActual.CveEmpresa, -1); + DdlClientes.DataBind(); + + if(UsuarioActual.Empresa.Funcionalidad(105) == "1") { + DdlProveedor.setEsWebService(true); + DdlProveedor.Attributes.Add("data-metodo", "getproveedores"); + DdlProveedor.SelectedText = "Todos"; + DdlProveedor.SelectedValue = "-1"; + }else { + DdlProveedor.setEsWebService(false); + DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa); + DdlProveedor.ddl.DataBind(); + DdlProveedor.ddl.Items.Insert(0, new ListItem("-", "-1")); + } + + DdlClientes.setEsWebService(true); + DdlClientes.Attributes.Add("data-metodo", "getcliente"); + DdlClientes.SelectedText = "Todos"; + DdlClientes.SelectedValue = "-1"; + + txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString(); + txtFechaF.Text = DateTime.Now.ToShortDateString(); + + } + + + protected void BtnConsultar_Click(object sender, EventArgs e) + { + CargaDatos(); + } + + private void CargaDatos() + { + DTDatosGvLineasAdicionales = new DataTable(); + LnkDescargaExcel.Visible = false; + + ClsVentas objVentas = new ClsVentas(); + + int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1; + + if(objVentas.GetLineasAdicionales(-1,DdlClientes.SelectedValue.ToEntero(),CveProveedor, TipoLinea, -1,txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)){ + GvLineasAdicionales.DataSource = objVentas.DtResultados; + + if( objVentas.DtResultados.Rows.Count > 0) + { + DTDatosGvLineasAdicionales = objVentas.DtResultados; + LnkDescargaExcel.Visible = true; + UpAcciones.Update(); + } + } + else + { + GvLineasAdicionales.DataSource = null; + } + + objVentas.Dispose(); + + GvLineasAdicionales.DataBind(); + UpLineasAdicionales.Update(); + } + + + protected void LnkCargarComprobante_Click(object sender, EventArgs e) + { + GridViewRow GvRow = (GridViewRow) ((LinkButton) sender).NamingContainer; + + CveLineaAdicional = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero(); + Comprobante = GvRow.DataKey("Comprobante").ToString(); + + RegistraScript("$('#ModalComprobante').modal('show');",""); + } + + protected void BtnAddComprobante_Click(object sender, EventArgs e) + { + bool errorCargaComprobante = false; + string FileExtension = "-1"; + List filesgral = Anexo.getfiles().Archivos; + string filemove = ""; + FileInfo fiNuevo; + + DirectoryInfo df = new DirectoryInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\"); + + + //Crea directorio si no existe + if (!df.Exists) + { + try + { + Directory.CreateDirectory(df.FullName); + } + catch + { + errorCargaComprobante = true; + } + } + + //borrar archivo anterior + if((!errorCargaComprobante) && Comprobante.Length > 0) + { + FileInfo fiAnterior = new FileInfo($@"{df.FullName}{Comprobante}"); + if (fiAnterior.Exists) + { + try + { + File.Delete(fiAnterior.FullName); + } + catch + { + errorCargaComprobante = true; + } + } + } + + if(!errorCargaComprobante){ + + string RutaArchivoTemp = ""; + foreach (Archivo fileItem in filesgral) + { + FileExtension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", ""); + filemove = fileItem.filename; + RutaArchivoTemp = $@"{AppDomain.CurrentDomain.BaseDirectory}\Temp\{fileItem.filename}"; + + break; + } + + if((!errorCargaComprobante) && RutaArchivoTemp.Length > 0) + { + fiNuevo = new FileInfo(RutaArchivoTemp); + + if (fiNuevo.Exists) + { + try + { + + if (File.Exists($@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}")) + { + File.Delete($@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}"); + } + + File.Move(fiNuevo.FullName, $@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}"); + errorCargaComprobante = false; + } + catch + { + errorCargaComprobante = true; + } + + if (!errorCargaComprobante) + { + ClsVentas objVentas = new ClsVentas(); + if (!objVentas.UpdateLineasAdicionales(CveLineaAdicional, "-1", -1, -1, -1, -1, -1, MinFecha, 100, -1, -1, UsuarioActual.CveEmpresa, Comprobante: $@"{CveLineaAdicional}{fiNuevo.Extension}")) + { + errorCargaComprobante = true; + } + objVentas.Dispose(); + } + } + } + + } + + + if (!errorCargaComprobante) + { + CargaDatos(); + Anexo.Text = "[]"; + RegistraScript("$('#ModalComprobante').modal('hide');", ""); + Alert("Comprbante actualizado correctamente."); + } + + UpAddComprobancte.Update(); + } + + protected void LnkCambiarEstatus_Click(object sender, EventArgs e) + { + GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; + int CveLineaAdicionalActualzarEstatus = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero(); + bool errorCambioEstatus = false; + + ClsVentas objVentas = new ClsVentas(); + + if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualzarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, 100, -1, 3, UsuarioActual.CveEmpresa)) + { + errorCambioEstatus = true; + } + + if (!errorCambioEstatus) + { + CargaDatos(); + } + objVentas.Dispose(); + } + + + protected void LnkDescargaExcel_Click(object sender, EventArgs e) + { + GridView gvTemp = GvLineasAdicionales; + gvTemp.Columns[8].Visible = false; + gvTemp.ExportToExcelx( TipoLinea == 1 ? "RepLienasAdicionales":"RepPO"); + } + + + + protected void GvLineasAdicionales_RowDataBound(object sender, GridViewRowEventArgs e) + { + if(e.Row.RowType == DataControlRowType.DataRow) + { + if(e.Row.DataKey("CveEstatus").ToEntero().Contiene(2)) + { + e.Row.FCLinkButton("LnkCambiarEstatus").Visible = true; + } + + if (e.Row.DataKey("CveEstatus").ToEntero() == 3) + { + e.Row.FCLinkButton("LnkCargarComprobante").Visible = false; + } + + if (e.Row.DataKey("Comprobante").Length > 0) + { + FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{e.Row.DataKey("Comprobante")}"); + LinkButton LnkDescargaComprobante = e.Row.FCLinkButton("LnkDescargaComprobante"); + + if (fi.Exists) + { + LnkDescargaComprobante.Visible = true; + ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaComprobante); + } + } + } + } + + protected void LnkDescargaComprobante_Click(object sender, EventArgs e) + { + GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; + string Comprobante = GvRow.DataKey("Comprobante"); + FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{Comprobante}"); + + if (fi.Exists) + { + Response.Clear(); + Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name); + Response.AddHeader("Content-Length", fi.Length.ToString()); + Response.ContentType = "text/octet-stream"; + Response.Flush(); + Response.TransmitFile(fi.FullName); + Response.End(); + } + } +} \ No newline at end of file diff --git a/Ventas/RepRecuperacionPeriodo.aspx b/Ventas/RepRecuperacionPeriodo.aspx index cb4068856..0579aedcd 100644 --- a/Ventas/RepRecuperacionPeriodo.aspx +++ b/Ventas/RepRecuperacionPeriodo.aspx @@ -16,22 +16,24 @@ + +
  • + PDF +
  • +
  • + Excel +
  • Ver Dlls en pesos
  • - Ver Grafica + Ver Grafica
  • -
  • - Generar PDF -
  • -
  • - Generar Excel -
  • +
    @@ -212,7 +214,7 @@ - +
    diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 7ca8fc7ea..b828d9285 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -27021,7 +27021,7 @@ Partial Class Ventas Dim ObjMovtos As New ClsMovimientos() If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1) Then - Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.Copy() + Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.FiltraParametros("Total > 0") End If ObjMovtos.Dispose()