This commit is contained in:
Rakcsle Supertramp
2020-11-06 22:49:08 -07:00
20 changed files with 1933 additions and 970 deletions

View File

@@ -5551,7 +5551,6 @@ Public Class ClsContabilidad
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@TipoCambio", SqlDbType.Int).Value = TipoCambio .Add("@TipoCambio", SqlDbType.Int).Value = TipoCambio
.Add("@TCEspecifico", SqlDbType.Float).Value = TCEspecifico .Add("@TCEspecifico", SqlDbType.Float).Value = TCEspecifico
.Add("@Cuenta", SqlDbType.NVarChar).Value = Cuenta
End With End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)

View File

@@ -1075,7 +1075,7 @@ Public Class ClsPaginas
End Get End Get
Set(ByVal value As DataTable) Set(ByVal value As DataTable)
Dim AppNombre As String = String.Format("GlobalDTSubProyectosUsuarios-{0}", CveEmpresa) Dim AppNombre As String = String.Format("GlobalDTProyectosUsuarios-{0}", CveEmpresa)
Application(AppNombre) = value Application(AppNombre) = value
End Set End Set
End Property End Property
@@ -6713,6 +6713,17 @@ Public Class ClsPaginas
params.Add(New ReportParameter("ClienteDatoExtra1", DatosCliente)) params.Add(New ReportParameter("ClienteDatoExtra1", DatosCliente))
End If End If
'ECONOLLANTAS - AGREGAR QR DE DESCARGA
If UsuarioActual.CveEmpresa = 141 Then
Dim QRDescarga As String = ""
Dim cfdi As New RVCFDI33.GeneraCFDI()
Dim b As Byte() = cfdi.ConvertirQrCode($"http://econollantas.adssistemas.mx/Ashx/E141.ashx?P={Encripta($"File={Vta.SerieFolio}.pdf")}")
QRDescarga = Convert.ToBase64String(b)
params.Add(New ReportParameter("QRDescarga", QRDescarga))
End If
'INE COMPLEMENTOS 'INE COMPLEMENTOS
If UsuarioActual.CveEmpresa.Contiene(72, 1) Then If UsuarioActual.CveEmpresa.Contiene(72, 1) Then
Dim INETipoProceso As String = "" Dim INETipoProceso As String = ""

View File

@@ -551,6 +551,8 @@ Namespace Modelos
Public Property SeTimbro As Boolean Public Property SeTimbro As Boolean
Public Property SeTimbroNotaCredito As Boolean Public Property SeTimbroNotaCredito As Boolean
Public Property CveEstatus As Integer Public Property CveEstatus As Integer
Public Property CveMovimientoUsado As Integer
Public Property FolioUsado As String
End Class End Class
Public Function RegenerarPrePolizas(Optional TransaccionCompartida As SqlClient.SqlTransaction = Nothing, Optional ObjACTransac As ClsContPAQi = Nothing) As Boolean Public Function RegenerarPrePolizas(Optional TransaccionCompartida As SqlClient.SqlTransaction = Nothing, Optional ObjACTransac As ClsContPAQi = Nothing) As Boolean
@@ -707,7 +709,7 @@ Namespace Modelos
Next Next
End If End If
GuardarVenta(Me, ObjVentas, ObjConta, ObjInventario, ObjContr, DtDetalle, Me.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS, ObjEventos, ObjCGame, ObjClientes, ObjAcum:=ObjAcum) GuardarVenta(Me, ObjVentas, ObjConta, ObjInventario, ObjContr, DtDetalle, Me.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS, ObjEventos, ObjCGame, ObjClientes, ObjAcum:=ObjAcum, Resp:=Retorno)
'SI ES REFACTURACION 'SI ES REFACTURACION
Dim ObjNC As List(Of Object) = Nothing Dim ObjNC As List(Of Object) = Nothing
@@ -1341,7 +1343,7 @@ Namespace Modelos
End If End If
End Sub End Sub
Public Sub GuardarVenta(ByRef factura As Modelos.Factura, ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, ByRef TmpDTDetalle As DataTable, CveNCaVincular As Integer, ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, Optional ByRef ObjOS As ClsOS = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, ByRef Optional ObjCGame As ClsCGame = Nothing, ByRef Optional ObjCliente As ClsClientes = Nothing, Optional EsNotaCredito As Boolean = False, Optional ObjAcum As ClsAcumuladores = Nothing) Public Sub GuardarVenta(ByRef factura As Modelos.Factura, ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, ByRef TmpDTDetalle As DataTable, CveNCaVincular As Integer, ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, Optional ByRef ObjOS As ClsOS = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, ByRef Optional ObjCGame As ClsCGame = Nothing, ByRef Optional ObjCliente As ClsClientes = Nothing, Optional EsNotaCredito As Boolean = False, Optional ObjAcum As ClsAcumuladores = Nothing, ByRef Optional Resp As MMensajeFactura = Nothing)
Dim Msgok As New StringBuilder Dim Msgok As New StringBuilder
factura.CvePrePoliza = ObjConta.AddPrePolizas("Modelos/GuardarVentaM", factura.CvePlantillaPoliza, factura.TotalTC, factura.TotalTC, factura.CveMoneda, factura.Fecha, If(factura.CveEmpresaCRM > 0, factura.EmpresaCRM, factura.Cliente.Nombre), factura.CveUsuario, factura.CveEmpresa) factura.CvePrePoliza = ObjConta.AddPrePolizas("Modelos/GuardarVentaM", factura.CvePlantillaPoliza, factura.TotalTC, factura.TotalTC, factura.CveMoneda, factura.Fecha, If(factura.CveEmpresaCRM > 0, factura.EmpresaCRM, factura.Cliente.Nombre), factura.CveUsuario, factura.CveEmpresa)
@@ -1375,11 +1377,6 @@ Namespace Modelos
factura.Timbre.Comprobante.Serie = ObjVentas.Serie factura.Timbre.Comprobante.Serie = ObjVentas.Serie
factura.Timbre.Comprobante.Folio = ObjVentas.Folio.ToString factura.Timbre.Comprobante.Folio = ObjVentas.Folio.ToString
If Not GuardarUsados(ObjVentas.IniciaTransacSQL, ObjVentas, factura) Then
ErrorList.Add("Error al guardar usados")
End If
If factura.TipoDocto = "Egs" AndAlso NuevaFactura = 1 Then If factura.TipoDocto = "Egs" AndAlso NuevaFactura = 1 Then
If DtVentasNC Is Nothing Then If DtVentasNC Is Nothing Then
InicializaDTVentasNC() InicializaDTVentasNC()
@@ -1452,6 +1449,11 @@ Namespace Modelos
End If End If
Next Next
'GUARDAR USADOS
If Not GuardarUsados(ObjAcum, ObjVentas, ObjInventario, factura, Resp) Then
ErrorList.Add("Error al guardar usados")
End If
'BONIFICACION USADOS 'BONIFICACION USADOS
If UsadosBonificacion IsNot Nothing AndAlso UsadosBonificacion.Count > 0 AndAlso TipoBonificacion > 0 Then If UsadosBonificacion IsNot Nothing AndAlso UsadosBonificacion.Count > 0 AndAlso TipoBonificacion > 0 Then
For Each CveMovto In UsadosBonificacion For Each CveMovto In UsadosBonificacion
@@ -1627,10 +1629,10 @@ Namespace Modelos
If ErrorList.Count = 0 Then If ErrorList.Count = 0 Then
'prepoliza 'prepoliza
GuardarVentaPrePolizas(factura, ObjConta, TmpDTDetalle, CveNCaVincular, objContPaqi, ObjBancos, ObjVentas, ObjEventos:=ObjEventos) GuardarVentaPrePolizas(factura, ObjConta, TmpDTDetalle, CveNCaVincular, objContPaqi, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, ObjInventario:=ObjInventario)
If ErrorList.Count = 0 Then If ErrorList.Count = 0 Then
'inventarios 'inventarios
GuardarVentaInventarios(factura, ObjInventario, ObjConta) GuardarVentaInventarios(factura, ObjInventario, ObjConta, ObjVentas, ObjAcum)
'GuardaRecepcionUsados(factura, ObjInventario, ObjConta) 'GuardaRecepcionUsados(factura, ObjInventario, ObjConta)
@@ -1910,7 +1912,7 @@ Namespace Modelos
DtVentasNC.Rows.Add(Dr) DtVentasNC.Rows.Add(Dr)
End If End If
End Sub End Sub
Private Function GuardarUsados(SqlTransaccion As SqlClient.SqlTransaction, ByRef ObjVentas As ClsVentas, factura As Modelos.Factura) As Boolean Private Function GuardarUsados(ByRef ObjAcum As ClsAcumuladores, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios, factura As Modelos.Factura, ByRef Optional Resp As MMensajeFactura = Nothing) As Boolean
Dim Resultado As Boolean = True Dim Resultado As Boolean = True
If UsuarioActual.Empresa.Funcionalidad(533).ToEntero > 0 AndAlso factura.TipoDocto.Contiene("Ing", "Rem") Then If UsuarioActual.Empresa.Funcionalidad(533).ToEntero > 0 AndAlso factura.TipoDocto.Contiene("Ing", "Rem") Then
@@ -1918,8 +1920,6 @@ Namespace Modelos
If factura.TipoDocto = "Ing" AndAlso factura.Cliente.EsDistribuidor Then If factura.TipoDocto = "Ing" AndAlso factura.Cliente.EsDistribuidor Then
Dim CvePSPSA As Integer = UsuarioActual.Empresa.Funcionalidad(533).ToEntero Dim CvePSPSA As Integer = UsuarioActual.Empresa.Funcionalidad(533).ToEntero
Dim ObjAcum As New ClsAcumuladores(SqlTransaccion)
For Each drow As DataRow In factura.DtDetalle.Rows For Each drow As DataRow In factura.DtDetalle.Rows
If drow("CveTamaño").ToString.ToEntero > 0 And (CvePSPSA <> drow("CvePS").ToString.ToEntero) Then If drow("CveTamaño").ToString.ToEntero > 0 And (CvePSPSA <> drow("CvePS").ToString.ToEntero) Then
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, drow("Cantidad").ToString.ToEntero, drow("CveTamaño").ToString.ToEntero, 2, factura.CveVenta, UsuarioActual.CveUsuario, If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, drow("Cantidad").ToString.ToEntero, drow("CveTamaño").ToString.ToEntero, 2, factura.CveVenta, UsuarioActual.CveUsuario,
@@ -1944,6 +1944,64 @@ Namespace Modelos
End If End If
End If End If
'SI ES UNA RNC DE CARGO GENERA EL MOVIMIENTO DE ALMACEN AQUI
If factura.TipoDocto = "RNC" AndAlso factura.Num1 = 1 AndAlso factura.DtMovimientosUsados IsNot Nothing AndAlso ObjAcum IsNot Nothing Then
'Dim Mensaje As String = ""
Dim CveMovimiento = ObjInventario.AddMovimiento(factura.CveAlmacen, factura.CveConceptoMovimiento, 1, factura.Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, factura.CveVenta,
CveSubProyecto, CveActivoFijo:=-1, Guia:="", Observaciones:=factura.ObservacionesMovimiento, CvePersonal:=-1, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, Modulo:="RU/G")
If CveMovimiento <= 0 Then
'Mensaje = "Error al guardar los movimientos"
Resultado = False
Else
For Each Dr As DataRow In factura.DtMovimientosUsados.Rows
Dim ImporteConcepto As Decimal = 0
If factura.CveConceptoMovimiento = 42 AndAlso factura.CveMoneda = 2 Then
ImporteConcepto = Dr("PU").ToString.ToDecimal * GlobalTipoCambio(factura.Fecha).ToDecimal
Else
ImporteConcepto = Dr("PU").ToString.ToDecimal
End If
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, ImporteConcepto, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, Observaciones:=Dr("Observaciones").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
'Mensaje = "Error al guardar los movimientos"
Resultado = False
Exit For
End If
If CveVenta > 0 AndAlso Not ObjVentas.UpdateVentaUsadoRecibido(CveVenta, Dr("CvePS").ToString.ToEntero, True, CveMovimiento) Then
'Mensaje = "Error al actualizar el recibo de los usados"
Resultado = False
Exit For
End If
'si es selectedvalue = 42, es entrada ,3 -salida
Dim CveConceptoUsados As Integer = If(factura.CveConceptoMovimiento = 42, 1, 2)
If factura.Cliente.EsDistribuidor AndAlso factura.CveConceptoMovimiento = 42 AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Dr("Cantidad").ToString.ToEntero(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario,
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then
' Mensaje = "Error al guardar Movimientos de distribuidor"
Resultado = False
Exit For
End If
End If
Next
End If
Resp.CveMovimientoUsado = CveMovimiento
If CveMovimiento > 0 Then
If ObjInventario.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) Then
Resp.FolioUsado = ObjInventario.DtResultados.FiltroPrimeroValor("Folio")
End If
End If
End If
Return Resultado Return Resultado
End Function End Function
@@ -1968,7 +2026,7 @@ Namespace Modelos
Return Resultado Return Resultado
End Function End Function
Private Sub GuardarVentaPrePolizas(ByRef factura As Modelos.Factura, ByRef ObjConta As ClsContabilidad, TmpDTDetalleMovimientos As DataTable, CveNCaVincular As Integer, ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing) Private Sub GuardarVentaPrePolizas(ByRef factura As Modelos.Factura, ByRef ObjConta As ClsContabilidad, TmpDTDetalleMovimientos As DataTable, CveNCaVincular As Integer, ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, ByRef Optional ObjInventario As ClsInventarios = Nothing)
Dim CveIE As Integer = -1 Dim CveIE As Integer = -1
Dim DT As DataTable = Nothing Dim DT As DataTable = Nothing
@@ -1986,7 +2044,7 @@ Namespace Modelos
'P R E P O L I Z A S 'P R E P O L I Z A S
If Me.TipoDocto <> "Cot" Then If Me.TipoDocto <> "Cot" Then
If Me.CvePrePoliza > 0 Then If Me.CvePrePoliza > 0 Then
If ProcesoPrepolizas(factura, ObjConta, CveIE, TmpDTDetalleMovimientos, objContPaqi, 1, ObjBancos, ObjVentas, ObjEventos:=ObjEventos) Then If ProcesoPrepolizas(factura, ObjConta, CveIE, TmpDTDetalleMovimientos, objContPaqi, 1, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, ObjInventario:=ObjInventario) Then
ErrorList.Add("Ocurrió un error al agregar los Movimientos de la prepoliza.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico") ErrorList.Add("Ocurrió un error al agregar los Movimientos de la prepoliza.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
End If End If
Else Else
@@ -1997,7 +2055,7 @@ Namespace Modelos
Private Function ProcesoPrepolizas(ObjFactura As Factura, ByRef ObjConta As ClsContabilidad, CveIE As Integer, TmpDTDetalle As DataTable, ByRef objContPaqi As ClsContPAQi, Private Function ProcesoPrepolizas(ObjFactura As Factura, ByRef ObjConta As ClsContabilidad, CveIE As Integer, TmpDTDetalle As DataTable, ByRef objContPaqi As ClsContPAQi,
Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing,
Optional ByRef DtRemisionesRelacionadas As DataTable = Nothing, Optional SeCancelaRemisionProceso As Boolean = False, Optional CancelarRemisiones As Boolean = False, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional ByRef DtRemisionesRelacionadas As DataTable = Nothing, Optional SeCancelaRemisionProceso As Boolean = False, Optional CancelarRemisiones As Boolean = False, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing,
Optional CveEstatusRefacturacion As Integer = 0) As Boolean Optional CveEstatusRefacturacion As Integer = 0, Optional ByRef ObjInventario As ClsInventarios = Nothing) As Boolean
Dim ErrorPrepoliza As Boolean = False Dim ErrorPrepoliza As Boolean = False
Try Try
Dim DT As DataTable Dim DT As DataTable
@@ -2177,6 +2235,41 @@ Namespace Modelos
IdCtaContableCliente = IdCtaContable IdCtaContableCliente = IdCtaContable
CveCuentaCliente = CveCuenta CveCuentaCliente = CveCuenta
Dim CveMovimiento As Integer = -1
Dim CveAlmacen As Integer = -1
If ObjInventario IsNot Nothing AndAlso ObjInventario.GetInv_Mov(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then
CveMovimiento = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
CveAlmacen = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
End If
'VERIFICA SI TIENE MOVIMIENTO DE ENTRADA DE USADO
If CveMovimiento > 0 AndAlso CveAlmacen > 0 Then
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
Dim Importe68 As Decimal = ObjInventario.DtResultados.SUMD("Total").RoundSQL
Dim IdCtaContable68 = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacen}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, Importe68, Referencia, 68, Concepto, FechaMovimiento, IdCtaContable68, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=Importe68, Contabilizable:=False) Then
ErrorPrepoliza = True
End If
Dim Importe318 As Decimal = importeMovimiento - Importe68
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, Importe318, Referencia, 318, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Importe318, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
Else
ErrorPrepoliza = True
End If
Else
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True ErrorPrepoliza = True
@@ -2184,6 +2277,7 @@ Namespace Modelos
Else Else
ErrorPrepoliza = True ErrorPrepoliza = True
End If End If
End If
importeMovimiento = 0 importeMovimiento = 0
ObjFactura.SeGuardoPrePoliza = True ObjFactura.SeGuardoPrePoliza = True
@@ -3487,7 +3581,7 @@ Namespace Modelos
Return OcurrioError Return OcurrioError
End Function End Function
Private Function GuardarVentaInventarios(ByRef factura As Modelos.Factura, ObjInventario As ClsInventarios, ObjConta As ClsContabilidad) As Boolean Private Function GuardarVentaInventarios(ByRef factura As Modelos.Factura, ObjInventario As ClsInventarios, ObjConta As ClsContabilidad, ObjVentas As ClsVentas, ObjAcum As ClsAcumuladores) As Boolean
Dim OcurrioError As Boolean = False Dim OcurrioError As Boolean = False
If UsuarioActual.Empresa.UsaInventarios AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then If UsuarioActual.Empresa.UsaInventarios AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then
@@ -4311,7 +4405,7 @@ Namespace Modelos
If CveEstatusFacturaAsignado <= 0 Then If CveEstatusFacturaAsignado <= 0 Then
Try Try
If ObjFactura.FolioFiscal <> "" Then If ObjFactura.FolioFiscal <> "" Then
If ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Dev", "Egs", "RNC") Then If ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Dev", "Egs") Then
Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor, TotalT.ToString(), UsuarioActual.Empresa.FacturaProduccion) Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor, TotalT.ToString(), UsuarioActual.Empresa.FacturaProduccion)
@@ -4891,6 +4985,8 @@ Namespace Modelos
CveEstatus = 12 CveEstatus = 12
Case "Com" Case "Com"
CveEstatus = 9 CveEstatus = 9
Case "Cot"
CveEstatus = 10
Case "Ped", "DPe" Case "Ped", "DPe"
CveEstatus = 14 CveEstatus = 14
End Select End Select
@@ -5591,6 +5687,7 @@ Namespace Modelos
Public Property FacturaMateriales As Integer Public Property FacturaMateriales As Integer
Public Property TipoDescuento As Integer Public Property TipoDescuento As Integer
Public Property SubProyectoPorcentajeIVA As Double Public Property SubProyectoPorcentajeIVA As Double
Public Property PorcentajeIVA As Double
Public Property CveAlmacenOrigenContrato As Integer Public Property CveAlmacenOrigenContrato As Integer
Public Property CveDevolucion As Integer Public Property CveDevolucion As Integer
Public Property TotalOtrosConceptos As Decimal Public Property TotalOtrosConceptos As Decimal
@@ -5604,6 +5701,9 @@ Namespace Modelos
Public Property CveAnticipo As Integer Public Property CveAnticipo As Integer
Public Property RemisionesLista As List(Of Integer) Public Property RemisionesLista As List(Of Integer)
Public Property CveAlmacen As Integer Public Property CveAlmacen As Integer
Public Property CveConceptoMovimiento As Integer
Public Property ObservacionesMovimiento As String
Public Property DtMovimientosUsados As DataTable
Public Property CveAlmacenDevolucion As Integer Public Property CveAlmacenDevolucion As Integer
Public Property CveVenta As Integer Public Property CveVenta As Integer
Public Property CveEmpresa As Integer Public Property CveEmpresa As Integer
@@ -5982,15 +6082,17 @@ Namespace Modelos
Public Property FemsaFactura As Modelos.FemsaFactura Public Property FemsaFactura As Modelos.FemsaFactura
Public Sub SetSubProyecto() Public Sub SetSubProyecto()
If CveSubProyecto > 0 Then If CveSubProyecto > 0 AndAlso UsuarioActual IsNot Nothing Then
SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1).FiltroPrimero($"CveSubProyecto = {CveSubProyecto}")) SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero($"CveSubProyecto = {CveSubProyecto}"))
End If End If
End Sub End Sub
Public Sub SetSubProyectoMatriz() Public Sub SetSubProyectoMatriz()
If UsuarioActual IsNot Nothing Then
Dim Row As Data.DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("TipoSucursal=1") Dim Row As Data.DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("TipoSucursal=1")
If Not IsNothing(Row) Then If Not IsNothing(Row) Then
SubProyectoMatriz = New Modelos.SubProyectoModel(Row) SubProyectoMatriz = New Modelos.SubProyectoModel(Row)
End If End If
End If
End Sub End Sub
Public Sub SetCliente() Public Sub SetCliente()
If CveCliente > 0 Then If CveCliente > 0 Then
@@ -6033,7 +6135,7 @@ Namespace Modelos
End Sub End Sub
Public Sub SetSubProyecto(obj As ClsPaginas) Public Sub SetSubProyecto(obj As ClsPaginas)
If CveSubProyecto > 0 AndAlso Not IsNothing(obj) Then If CveSubProyecto > 0 AndAlso Not IsNothing(obj) Then
SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1).FiltroPrimero($"CveSubProyecto = {CveSubProyecto}")) SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1, CveEmpresa:=obj.UsuarioActual.CveEmpresa).FiltroPrimero($"CveSubProyecto = {CveSubProyecto}"))
End If End If
End Sub End Sub
Public Sub SetSubProyectoMatriz(obj As ClsPaginas) Public Sub SetSubProyectoMatriz(obj As ClsPaginas)

135
Ashx/E141.ashx Normal file
View File

@@ -0,0 +1,135 @@
<%@ WebHandler Language="VB" Class="E141" %>
Imports System
Imports System.Web
Imports System.Data
Imports System.Net.Http
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports Extensiones
Imports System.IO
Public Class E141 : Implements IHttpHandler
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
Private ReadOnly Property CveEmpresa As Integer = 141
Public ReadOnly Property EsProduccion As Boolean
Get
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("EsProduccion")) Then
Return False
Else
Return (System.Configuration.ConfigurationManager.AppSettings("EsProduccion").ToString() = "1")
End If
End Get
End Property
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim retorno As String = "no se encontro la variable"
Try
Dim Params = If(context.Request("P") = Nothing, "", context.Request("P").ToString())
If Not String.IsNullOrEmpty(Params) Then
Dim UrlParametros As Hashtable = Parametros(Decripta(Params))
Dim File As String = UrlParametros("FILE").ToString()
If Not String.IsNullOrEmpty(File) Then
ImprimirbytesPDF(context, DescargarFactura(File), File)
End If
End If
Catch ex As Exception
retorno = ex.ToString()
ex.GuardaLog(ex.ToString())
context.Response.Write(retorno)
End Try
End Sub
'Private Function DescargarFactura(CveVenta As Integer) As Byte()
' Dim Url = New Uri(String.Format("{0}Compras/PopUpVerFactura.aspx?P={1}", ClsPaginas.UrlSitio, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=0", CveVenta))))
' Dim File As Byte() = Nothing
' Try
' Using httpClient = New HttpClient()
' httpClient.Timeout = New TimeSpan(0, 15, 0)
' Using request = New HttpRequestMessage(HttpMethod.Get, Url)
' request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks)))
' Dim response = httpClient.SendAsync(request).Result
' If response.StatusCode = Net.HttpStatusCode.OK Then
' File = response.Content.ReadAsByteArrayAsync().Result
' End If
' End Using
' End Using
' Catch ex As Exception
' File = Nothing
' OnError("Ocurrió un error al descargar la factura", ex)
' End Try
' Return File
'End Function
Private Function DescargarFactura(FilePDF As String) As Byte()
Dim Url = New Uri(String.Format("{0}Compras/PopUpVerFactura.aspx?TipoDocto=Ing&File={1}&TipoArchivo=PDF", "http://localhost/", FilePDF))
Dim File As Byte() = Nothing
Try
Using httpClient = New HttpClient()
httpClient.Timeout = New TimeSpan(0, 1, 0)
Using request = New HttpRequestMessage(HttpMethod.Get, Url)
request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks)))
Dim response = httpClient.SendAsync(request).Result
If response.StatusCode = Net.HttpStatusCode.OK Then
File = response.Content.ReadAsByteArrayAsync().Result
End If
End Using
End Using
Catch ex As Exception
File = Nothing
OnError("Ocurrió un error al descargar la factura", ex)
End Try
Return File
End Function
Public Sub ImprimirbytesPDF(ByVal context As HttpContext, bytes As Byte(), NombreArchivo As String)
'limpio ReportViwer
Dim mimeType As String = Nothing
Dim extension As String = Nothing
Try
bytes = bytes
context.Response.Buffer = True
context.Response.Clear()
context.Response.ContentType = mimeType
context.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", NombreArchivo))
context.Response.BinaryWrite(bytes) ' create the file
context.Response.Flush() ' send it to the client to download
context.Response.SuppressContent = True
context.ApplicationInstance.CompleteRequest()
context.Response.End()
Catch ex As Exception
End Try
End Sub
Private Function Parametros(Cadena As String) As Hashtable
Dim P1() As String = Cadena.Split("&"c)
Dim Tmp As String
Dim P2() As String
Dim URLParametros As New Hashtable
For Each Tmp In P1
P2 = Tmp.Replace("%26%", "&").Split("="c)
URLParametros.Add(P2(0).ToString.ToUpper, P2(1))
Next
Return URLParametros
End Function
End Class

View File

@@ -344,7 +344,7 @@ Public Class SIGFacturacionCiclica : Implements IHttpHandler, IRequiresSessionSt
Dim DtDetalle As DataTable = Nothing Dim DtDetalle As DataTable = Nothing
Dim objContratos As New ClsContratos Dim objContratos As New ClsContratos
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
DtDetalle = objContratos.DtResultados DtDetalle = objContratos.DtResultados.FiltraParametros("CveTipoPresupuesto=2")
Else Else
DtDetalle = Nothing DtDetalle = Nothing
End If End If

View File

@@ -1657,19 +1657,18 @@ Partial Class Bancos_ProveedoresAbonar
importeMX = 0 importeMX = 0
End If End If
Else Else
ImporteMovimiento = gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago
If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVA").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVA").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento importeMX = ImporteMovimiento
ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVA").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVA").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVA").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVA").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVA").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVA").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero)
@@ -1723,19 +1722,18 @@ Partial Class Bancos_ProveedoresAbonar
importeMX = 0 importeMX = 0
End If End If
Else Else
ImporteMovimiento = gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago
If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento importeMX = ImporteMovimiento
ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IVAPorPagar").ToDecimal - (gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IVAPorPagar").ToDecimal, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero)
@@ -1760,9 +1758,9 @@ Partial Class Bancos_ProveedoresAbonar
IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0)
'se registra el iva no acreditable 'se registra el iva no acreditable
If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then If gvr.DataKey("IVAPorPagarNoDeducible").ToDecimal > 0 Then
Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago Dim ImporteNOIVA As Decimal = gvr.DataKey("IVAPorPagarNoDeducible").ToDecimal * PorcentajePago
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, FechaMovimiento, IdCtaContableNoIVA, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=ImporteNOIVA, ImporteME:=If(TipoCambioPago = 1, 0, ImporteMovimiento), CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral, PorcentajeImpuesto:=PorcentajeImpuesto) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, FechaMovimiento, IdCtaContableNoIVA, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=ImporteNOIVA, ImporteME:=If(TipoCambioPago = 1, 0, ImporteMovimiento), CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral, PorcentajeImpuesto:=PorcentajeImpuesto) Then
MsgError = "No se pudo insertar la póliza" MsgError = "No se pudo insertar la póliza"
@@ -1778,19 +1776,16 @@ Partial Class Bancos_ProveedoresAbonar
End If End If
Case 25 'IEPS X Acreditar Case 25 'IEPS X Acreditar
Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
ImporteMovimiento = gvr.DataKey("IEPSPorPagar").ToDecimal * PorcentajePago
If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento importeMX = ImporteMovimiento
ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero)
@@ -1806,19 +1801,16 @@ Partial Class Bancos_ProveedoresAbonar
End If End If
Case 26 'IEPS Acreditable Case 26 'IEPS Acreditable
Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
ImporteMovimiento = gvr.DataKey("IEPSPorPagar").ToDecimal * PorcentajePago
If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento importeMX = ImporteMovimiento
ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * tipoCambioCompra importeMX = ImporteMovimiento * tipoCambioCompra
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal
ImporteMovimiento = If(TotalImporte = gvr.DataKey("Saldo").ToDecimal AndAlso Math.Abs(Math.Round(gvr.DataKey("IEPSPorPagar").ToDecimal - (gvr.DataKey("IEPS").ToDecimal * PorcentajePago), 2)) <= 0.02, gvr.DataKey("IEPSPorPagar").ToDecimal, gvr.DataKey("IEPS").ToDecimal * PorcentajePago)
importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero)

View File

@@ -19,7 +19,8 @@ Partial Class Bancos_RepCxCCliente
DdlMoneda.DataSource = GlobalDTMonedas() DdlMoneda.DataSource = GlobalDTMonedas()
DdlMoneda.DataBind() DdlMoneda.DataBind()
If UsuarioActual.CveEmpresa = 119 Then Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
If EsWS Then
DdlClientesWS.setEsWebService(True) DdlClientesWS.setEsWebService(True)
Else Else
DdlClientesWS.setEsWebService(False) DdlClientesWS.setEsWebService(False)

View File

@@ -826,7 +826,7 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Chofer", Chofer)) params.Add(New ReportParameter("Chofer", Chofer))
params.Add(New ReportParameter("Placa", Placa)) params.Add(New ReportParameter("Placa", Placa))
params.Add(New ReportParameter("Recibio", Recibio)) params.Add(New ReportParameter("Recibio", Recibio))
params.Add(New ReportParameter("FechaEntrega", FechaEntrega.ToString())) params.Add(New ReportParameter("FechaEntrega", FechaEntrega.ToDateTime().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("EspecifUnidad", EspecifUnidad)) params.Add(New ReportParameter("EspecifUnidad", EspecifUnidad))
params.Add(New ReportParameter("DireccionOrigen", SBDireccionO.ToString)) params.Add(New ReportParameter("DireccionOrigen", SBDireccionO.ToString))
params.Add(New ReportParameter("DireccionDestino", SBDireccionD.ToString)) params.Add(New ReportParameter("DireccionDestino", SBDireccionD.ToString))
@@ -3241,8 +3241,8 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Direccion", Almacen)) params.Add(New ReportParameter("Direccion", Almacen))
params.Add(New ReportParameter("FechaConFormato", FechaConFormato)) params.Add(New ReportParameter("FechaConFormato", FechaConFormato))
params.Add(New ReportParameter("FechaInicial", Fecha)) 'params.Add(New ReportParameter("FechaInicial", Fecha))
params.Add(New ReportParameter("FechaFinal", Today.ToString)) 'params.Add(New ReportParameter("FechaFinal", Today.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Sucursal", "Sucursal")) params.Add(New ReportParameter("Sucursal", "Sucursal"))
params.Add(New ReportParameter("Cliente", NombreCliente)) params.Add(New ReportParameter("Cliente", NombreCliente))

View File

@@ -109,7 +109,7 @@
<div class="row"> <div class="row">
<label class="col-md-1 truncate">Num. Cuenta</label> <label class="col-md-1 truncate">Num. Cuenta</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:TextBox runat="server" ID="TxtCuenta" CssClass="form-control input-sm" /> <asp:DropDownList runat="server" ID="DdlCuenta" CssClass="select2me" Width="240px" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" />
</div> </div>
</div> </div>
</div> </div>

View File

@@ -66,6 +66,8 @@ public partial class Contabilidad_RepIVA : ClsPaginas
LnkAccionesDIOT.Visible = true; LnkAccionesDIOT.Visible = true;
DdlCuenta.DataSource = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:UsuarioActual.CveEmpresa, CveTipoCuenta:2);
DdlCuenta.DataBind();
} }
public void Consulta() public void Consulta()
@@ -73,27 +75,26 @@ public partial class Contabilidad_RepIVA : ClsPaginas
if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; }
int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); int Conciliado = DdlTipoMovto.SelectedValue.ToEntero();
LblMsgAcreditable.Text = ""; // lbl de mensajes de negativos LblMsgAcreditable.Text = ""; // lbl de mensajes de negativos
string Cuenta = TxtCuenta.Text == "" ? "-1" : TxtCuenta.Text;
ClsContabilidad ObjCont = new ClsContabilidad(); ClsContabilidad ObjCont = new ClsContabilidad();
if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 1, UsuarioActual.CveUsuario, -1, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 1, UsuarioActual.CveUsuario, DdlCuenta.SelectedValue.ToEntero(), Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico))
{ {
GvT.DataSource = ObjCont.DtResultados; GvT.DataSource = ObjCont.DtResultados;
DtIVATrasladado = ObjCont.DtResultados; DtIVATrasladado = ObjCont.DtResultados;
if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 1, DdlCuenta.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{ {
GvIEPSA.DataSource = ObjCont.DtResultados; GvIEPSA.DataSource = ObjCont.DtResultados;
DtIEPSA = ObjCont.DtResultados; DtIEPSA = ObjCont.DtResultados;
} }
if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 2, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 2, DdlCuenta.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{ {
GvIVAA.DataSource = ObjCont.DtResultados; GvIVAA.DataSource = ObjCont.DtResultados;
DtIVAA = ObjCont.DtResultados; DtIVAA = ObjCont.DtResultados;
} }
} }
if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, -1, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, DdlCuenta.SelectedValue.ToEntero(), Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico))
{ {
GvA.DataSource = ObjCont.DtResultados; GvA.DataSource = ObjCont.DtResultados;
DtIVAAcreditable = ObjCont.DtResultados; DtIVAAcreditable = ObjCont.DtResultados;
@@ -103,7 +104,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas
} }
if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 3, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 3, DdlCuenta.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{ {
GvIVA2.DataSource = ObjCont.DtResultados; GvIVA2.DataSource = ObjCont.DtResultados;
} }

View File

@@ -1009,16 +1009,17 @@ Partial Class Contratos_Default
ChkAplicaFacCiclica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCicilica")) ChkAplicaFacCiclica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCicilica"))
If ChkAplicaFacCiclica.Checked Then If ChkAplicaFacCiclica.Checked Then
CargaPeriodos()
ChkFacAutomatica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCiclicaAutomatico")) ChkFacAutomatica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCiclicaAutomatico"))
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo"))
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString()) DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString())
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
ChkAplicaFacCiclica_CheckedChanged(ChkAplicaFacCiclica, EventArgs.Empty) ChkAplicaFacCiclica_CheckedChanged(ChkAplicaFacCiclica, EventArgs.Empty)
If ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero() > 0 Then
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero())
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
End If
UpFacCiclica.Update()
End If End If
@@ -3558,6 +3559,8 @@ Partial Class Contratos_Default
End Sub End Sub
Private Sub CargaPeriodos() Private Sub CargaPeriodos()
DdlPeriodo.Items.Clear()
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
If ObjContratos.GetPeriodos(-1, UsuarioActual.CveEmpresa) Then If ObjContratos.GetPeriodos(-1, UsuarioActual.CveEmpresa) Then
DtPeriodo = ObjContratos.DtResultados DtPeriodo = ObjContratos.DtResultados
@@ -3568,6 +3571,8 @@ Partial Class Contratos_Default
ObjContratos.Dispose() ObjContratos.Dispose()
DdlPeriodo.DataBind() DdlPeriodo.DataBind()
DdlPeriodo.Items.Insert(0, New ListItem("Seleccione", "-1"))
UpGral.Update() UpGral.Update()
End Sub End Sub
Protected Sub DdlPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
@@ -4490,6 +4495,7 @@ Partial Class Contratos_Default
Protected Sub ChkAplicaFacCiclica_CheckedChanged(sender As Object, e As EventArgs) Protected Sub ChkAplicaFacCiclica_CheckedChanged(sender As Object, e As EventArgs)
DivFacCiclica.Visible = ChkAplicaFacCiclica.Checked DivFacCiclica.Visible = ChkAplicaFacCiclica.Checked
DivCiclosComerciales.Visible = ChkAplicaFacCiclica.Checked DivCiclosComerciales.Visible = ChkAplicaFacCiclica.Checked
CargaPeriodos()
UpFacCiclica.Update() UpFacCiclica.Update()
End Sub End Sub

View File

@@ -542,7 +542,7 @@ Partial Class Contratos_FacturacionMasiva
Dim objContratos As New ClsContratos Dim objContratos As New ClsContratos
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
DTDetalle = objContratos.DtResultados DTDetalle = objContratos.DtResultados.FiltraParametros("CveTipoPresupuesto=2")
Else Else
DTDetalle = Nothing DTDetalle = Nothing
End If End If

View File

@@ -361,7 +361,7 @@
<Value>Sello Digital del CFDI:</Value> <Value>Sello Digital del CFDI:</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
</Style> </Style>
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@@ -373,7 +373,7 @@
<Value>=Parameters!SelloCFDI.Value</Value> <Value>=Parameters!SelloCFDI.Value</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Normal</FontWeight> <FontWeight>Normal</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -386,7 +386,7 @@
<Value>Sello Digital del SAT:</Value> <Value>Sello Digital del SAT:</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Normal</FontWeight> <FontWeight>Normal</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -399,7 +399,7 @@
<Value>=Parameters!SelloSAT.Value</Value> <Value>=Parameters!SelloSAT.Value</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Normal</FontWeight> <FontWeight>Normal</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -412,7 +412,7 @@
<Value>Cadena Original del complemento de certificación digital del SAT:</Value> <Value>Cadena Original del complemento de certificación digital del SAT:</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Normal</FontWeight> <FontWeight>Normal</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -425,7 +425,7 @@
<Value>=Parameters!CadenaOriginal.Value</Value> <Value>=Parameters!CadenaOriginal.Value</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Normal</FontWeight> <FontWeight>Normal</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -438,7 +438,7 @@
<Value>RFC del Proveedor de Certificación: </Value> <Value>RFC del Proveedor de Certificación: </Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>6.5pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Normal</FontWeight> <FontWeight>Normal</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -451,7 +451,7 @@
<Value>Este documento es una representación impresa de un CFDI</Value> <Value>Este documento es una representación impresa de un CFDI</Value>
<Style> <Style>
<FontFamily>calibri</FontFamily> <FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize> <FontSize>6pt</FontSize>
<FontWeight>Bold</FontWeight> <FontWeight>Bold</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -479,7 +479,7 @@
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Top>6.06618in</Top> <Top>6.06618in</Top>
<Left>0.06752in</Left> <Left>0.06752in</Left>
<Height>1.60919in</Height> <Height>1.42169in</Height>
<Width>8.23953in</Width> <Width>8.23953in</Width>
<Style> <Style>
<Border> <Border>
@@ -2257,8 +2257,8 @@
<Source>Embedded</Source> <Source>Embedded</Source>
<Value>ID3</Value> <Value>ID3</Value>
<Sizing>FitProportional</Sizing> <Sizing>FitProportional</Sizing>
<Top>11.63749cm</Top> <Top>21.4598cm</Top>
<Left>15.78306cm</Left> <Left>0.28014cm</Left>
<Height>0.93046cm</Height> <Height>0.93046cm</Height>
<Width>5.37042cm</Width> <Width>5.37042cm</Width>
<ZIndex>17</ZIndex> <ZIndex>17</ZIndex>
@@ -2275,10 +2275,10 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>DESCARGA NUESTRA APLICACIÓN</Value> <Value>DESCARGA NUESTRA NUEVA APLICACIÓN</Value>
<Style> <Style>
<FontFamily>CALIbri</FontFamily> <FontFamily>CALIbri</FontFamily>
<FontSize>9pt</FontSize> <FontSize>12pt</FontSize>
<FontWeight>Bold</FontWeight> <FontWeight>Bold</FontWeight>
</Style> </Style>
</TextRun> </TextRun>
@@ -2289,10 +2289,10 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName> <rd:DefaultName>Textbox60</rd:DefaultName>
<Top>11.08689cm</Top> <Top>19.12502cm</Top>
<Left>15.67443cm</Left> <Left>0.28014cm</Left>
<Height>0.50299cm</Height> <Height>0.6882cm</Height>
<Width>5.42547cm</Width> <Width>20.71217cm</Width>
<ZIndex>18</ZIndex> <ZIndex>18</ZIndex>
<Style> <Style>
<Border> <Border>
@@ -2512,7 +2512,7 @@
<Top>12.76838cm</Top> <Top>12.76838cm</Top>
<Left>0.16383cm</Left> <Left>0.16383cm</Left>
<Height>2.44366cm</Height> <Height>2.44366cm</Height>
<Width>15.5106cm</Width> <Width>15.51057cm</Width>
<ZIndex>20</ZIndex> <ZIndex>20</ZIndex>
<Style> <Style>
<Border> <Border>
@@ -2995,21 +2995,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<Image Name="Image3">
<Source>Embedded</Source>
<Value>ECONO_Marcas</Value>
<Sizing>FitProportional</Sizing>
<Top>11.08689cm</Top>
<Left>0.22108cm</Left>
<Height>1.5cm</Height>
<Width>15.34658cm</Width>
<ZIndex>34</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox47"> <Textbox Name="Textbox47">
<CanGrow>true</CanGrow> <CanGrow>true</CanGrow>
<CanShrink>true</CanShrink> <CanShrink>true</CanShrink>
@@ -3037,7 +3022,7 @@
<Left>0.19008cm</Left> <Left>0.19008cm</Left>
<Height>0.40655cm</Height> <Height>0.40655cm</Height>
<Width>12.88812cm</Width> <Width>12.88812cm</Width>
<ZIndex>35</ZIndex> <ZIndex>34</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -3048,14 +3033,341 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<Image Name="QRCodeDescarga">
<Source>Database</Source>
<Value>=System.Convert.FromBase64String(Parameters!QRDescarga.Value)</Value>
<MIMEType>image/png</MIMEType>
<Sizing>FitProportional</Sizing>
<Top>8.0685in</Top>
<Left>6.67743in</Left>
<Height>0.6035in</Height>
<Width>0.78275in</Width>
<ZIndex>35</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox61">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Puedes encontrarla en Appstore o Google play </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>como Econollantas:</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>19.5698cm</Top>
<Left>0.28014cm</Left>
<Height>1.49135cm</Height>
<Width>5.37042cm</Width>
<ZIndex>36</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox13">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>19.10915cm</Top>
<Left>0.14007cm</Left>
<Height>0.05496cm</Height>
<Width>20.88652cm</Width>
<ZIndex>37</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>Black</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox14">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>22.48903cm</Top>
<Left>0.28014cm</Left>
<Height>0.05496cm</Height>
<Width>20.88652cm</Width>
<ZIndex>38</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>Black</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox62">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Con tu aplicación el beneficio más</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>importante es poder escanear el código QR de tu póliza y siempre traerla contigo para </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>atenderte</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>MÁS RÁPIDO Y MEJOR.</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>19.5698cm</Top>
<Left>7.45145cm</Left>
<Height>2.45709cm</Height>
<Width>6.56105cm</Width>
<ZIndex>39</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox63">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Una vez descargada la App utiliza la podrás agregar tu póliza escaneando el código QR</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>19.56002cm</Top>
<Left>14.67145cm</Left>
<Height>1.46939cm</Height>
<Width>6.32076cm</Width>
<ZIndex>40</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="ImgRockblade">
<Source>Embedded</Source>
<Value>rockblade</Value>
<Sizing>FitProportional</Sizing>
<Top>11.19428cm</Top>
<Left>5.58835cm</Left>
<Height>0.86918cm</Height>
<Width>4.08628cm</Width>
<ZIndex>41</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="ImgYokohama">
<Source>Embedded</Source>
<Value>yokohama2</Value>
<Sizing>FitProportional</Sizing>
<Top>11.33186cm</Top>
<Left>0.58737cm</Left>
<Height>0.65751cm</Height>
<Width>4.35272cm</Width>
<ZIndex>42</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="ImgMaster">
<Source>Embedded</Source>
<Value>mastercraft</Value>
<Sizing>FitProportional</Sizing>
<Top>11.30011cm</Top>
<Left>17.06617cm</Left>
<Height>0.93972cm</Height>
<Width>3.99634cm</Width>
<ZIndex>43</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="ImgCooper">
<Source>Embedded</Source>
<Value>coopertires</Value>
<Sizing>FitProportional</Sizing>
<Top>11.33186cm</Top>
<Left>10.33489cm</Left>
<Height>0.65751cm</Height>
<Width>6.09184cm</Width>
<ZIndex>44</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
</ReportItems> </ReportItems>
<Height>19.49544cm</Height> <Height>22.57045cm</Height>
<Style /> <Style />
</Body> </Body>
<Width>21.16666cm</Width> <Width>21.16666cm</Width>
<Page> <Page>
<PageFooter> <PageFooter>
<Height>0.52388cm</Height> <Height>0.52387cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage> <PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage> <PrintOnLastPage>true</PrintOnLastPage>
<ReportItems> <ReportItems>
@@ -3114,7 +3426,7 @@
</Style> </Style>
</TextRun> </TextRun>
<TextRun> <TextRun>
<Value>=Today</Value> <Value>=Now.ToString("dd/MM/yyyy hh:mm tt")</Value>
<Style> <Style>
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
</Style> </Style>
@@ -3759,6 +4071,12 @@
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="QRDescarga">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters> </ReportParameters>
<EmbeddedImages> <EmbeddedImages>
<EmbeddedImage Name="ID2"> <EmbeddedImage Name="ID2">
@@ -3872,6 +4190,72 @@ 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</ImageData> ZbZ/X7cBU4+7u0dOTra0TUEJ8KrLy8vp+zSlSDlms2W1MTc318rKqmYFgLe3j4eHR0FBfnV1TbMlAEx6Hh7uOp0jXPlz5yxKBp4xdAJLZUAYeHh4ZmZeXlrtqoiJ6YS9KC4uvmI/YI/s7e3Lykqx73RZZ8ke/QNaWh0OjadXci5P39B+8idqGJ6eXpYrHQ0dgQLr6uoqKmzNUJqTEwq8XBqyQDV17dolKUm+wJ3lLaXyhdpsgJKhC8dJoHtt1qQODAyCBL14MVPabhkcIzQJGhjiOT+/oJVupJZODftoWX0O/YnOSU5OojEcDuffCxc5HA6Hw+FwOBwOp13Bb1fjcDgcDofD4XA47QoucjgcDofD4XA4HE67goscDofD4XA4HA6H067gIofD4XA4HA6Hw+G0K7jI4XA4HA6Hw+FwOO0KLnI4HA6Hw+FwOBxOu4KLHA6Hw+FwOBwOh9Ou4CKHw+FwOBwOh8PhtCu4yOFwOBwOh8PhcDjtCi5yOBwOh8PhcDgcTruCixwOh8PhcDgcDofTruAih8PhcDgcDofD4bQruMjhcDgcDofD4XA47QoucjgcDofD4XA4HE67goscDofD4XA4HA6H067gIofD4XA4HA6Hw+G0K7jI4XA4HA6Hw+FwOO0KLnI4HA6Hw+FwOBxOu4KLHA6Hw+FwOBwOh9Ou4CKHw+FwOBwOh8PhtCu4yOFwOBwOh8PhcDjtCi5yOBwOh8PhcDgcTruCixwOh8PhcDgcDofTruAih8PhcDgcDofD4bQruMjhcDgcDofD4XA47QoucjgcDofD4XA4HE67goscDofD4XA4HA6H067gIofD4XA4HA6Hw+G0IwTh/wkiAUDA4LaQAAAAAElFTkSuQmCC</ImageData>
</EmbeddedImage> </EmbeddedImage>
<EmbeddedImage Name="coopertires">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="mastercraft">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="rockblade">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="yokohama2">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
</EmbeddedImages> </EmbeddedImages>
<Language>es-MX</Language> <Language>es-MX</Language>
<ConsumeContainerWhitespace>true</ConsumeContainerWhitespace> <ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>

View File

@@ -394,6 +394,14 @@ Partial Class Inventarios_RecepcionAlmacen
ViewState("RealizarMovimientoVirtual") = Value ViewState("RealizarMovimientoVirtual") = Value
End Set End Set
End Property End Property
Private Property SumarImporteUsados As Boolean
Get
Return If(IsNothing(ViewState("SumarImporteUsados")), False, CBool(ViewState("SumarImporteUsados")))
End Get
Set
ViewState("SumarImporteUsados") = Value
End Set
End Property
#End Region #End Region
@@ -847,6 +855,7 @@ Partial Class Inventarios_RecepcionAlmacen
CveAlmacenDevolucionProveedor = -1 CveAlmacenDevolucionProveedor = -1
RealizarTraspasoAlmacenDevolucion = False RealizarTraspasoAlmacenDevolucion = False
RealizarMovimientoVirtual = False RealizarMovimientoVirtual = False
SumarImporteUsados = False
BtnGuardar.Enabled = True BtnGuardar.Enabled = True
CargaAlmacenes(-1) CargaAlmacenes(-1)
@@ -900,6 +909,7 @@ Partial Class Inventarios_RecepcionAlmacen
RealizarTraspasoAlmacenDevolucion = False RealizarTraspasoAlmacenDevolucion = False
RealizarMovimientoVirtual = False RealizarMovimientoVirtual = False
SumarImporteUsados = False
CveAlmacenDevolucionProveedor = -1 CveAlmacenDevolucionProveedor = -1
Dim ObjCompras As New ClsCompras Dim ObjCompras As New ClsCompras
@@ -956,9 +966,11 @@ Partial Class Inventarios_RecepcionAlmacen
'SI LA COMPRA TIENE PRODUCTOS Y USADOS SOLO MOSTRAR LOS PRODUCTOS 'SI LA COMPRA TIENE PRODUCTOS Y USADOS SOLO MOSTRAR LOS PRODUCTOS
If NumProductos > 0 AndAlso NumUsados > 0 Then If NumProductos > 0 AndAlso NumUsados > 0 Then
DtRecepcion = ObjInventario.DtResultados.FiltraParametros("EsUsado = False") DtRecepcion = ObjInventario.DtResultados.FiltraParametros("EsUsado = False")
SumarImporteUsados = True
'SI LA COMPRA TIENE PUROS USADOS, MOSTRAR LOS USADOS Y CARGAR LOS ALMACENES 'SI LA COMPRA TIENE PUROS USADOS, MOSTRAR LOS USADOS Y CARGAR LOS ALMACENES
ElseIf NumProductos = 0 AndAlso NumUsados > 0 Then ElseIf NumProductos = 0 AndAlso NumUsados > 0 Then
CargaSoloUsados = True CargaSoloUsados = True
SumarImporteUsados = True
DtRecepcion = ObjInventario.DtResultados.Copy() DtRecepcion = ObjInventario.DtResultados.Copy()
If UsuarioActual.CveRol = 1 Then If UsuarioActual.CveRol = 1 Then
CargaAlmacenes(-1, "22,24", CveTipoCompra) CargaAlmacenes(-1, "22,24", CveTipoCompra)
@@ -966,6 +978,7 @@ Partial Class Inventarios_RecepcionAlmacen
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "22", CveTipoCompra) CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "22", CveTipoCompra)
End If End If
Else Else
SumarImporteUsados = False
DtRecepcion = ObjInventario.DtResultados.Copy() DtRecepcion = ObjInventario.DtResultados.Copy()
End If End If
@@ -2704,9 +2717,12 @@ Partial Class Inventarios_RecepcionAlmacen
Exit For Exit For
End If End If
Next Next
If SumarImporteUsados Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal") ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal")
End If End If
End If
Else Else
ErrorMovInv = True ErrorMovInv = True

View File

@@ -1052,10 +1052,11 @@ Partial Class Inventarios_RecepcionUsados
Protected Sub Guardar(Optional GenerarRNC As Boolean = False) Protected Sub Guardar(Optional GenerarRNC As Boolean = False)
If GvM.Rows.Count > 0 Then If GvM.Rows.Count > 0 Then
Dim Msg As New StringBuilder() Dim Msg As New StringBuilder()
Dim Resp As Modelos.Factura.MMensajeFactura = Nothing
Dim ObjInventario As New ClsInventarios Dim ObjInventario As New ClsInventarios
Dim ObjAcum As New ClsAcumuladores(ObjInventario.IniciaTransacSQL()) Dim ObjAcum As New ClsAcumuladores(ObjInventario.IniciaTransacSQL())
Dim ObjVentas As New ClsVentas(ObjInventario.IniciaTransacSQL()) Dim ObjVentas As New ClsVentas(ObjInventario.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim ErrorMovInv As Boolean = False Dim ErrorMovInv As Boolean = False
Dim ErrorAC As Boolean = False Dim ErrorAC As Boolean = False
@@ -1089,31 +1090,38 @@ Partial Class Inventarios_RecepcionUsados
CveVenta = -1 CveVenta = -1
End If End If
If Not ErrorMovInv AndAlso GenerarRNC AndAlso ObjRemisionNC IsNot Nothing Then If Not ErrorMovInv AndAlso GenerarRNC AndAlso ObjRemisionNC IsNot Nothing Then
CargaDTDetalleRNC() CargaDTDetalleRNC()
Dim Resp = ObjRemisionNC.EmitirFactura(False, ObjInventario.IniciaTransacSQL) Resp = ObjRemisionNC.EmitirFactura(False, ObjInventario.IniciaTransacSQL)
For Each mensaje2 As String In Resp.Mensajes 'For Each mensaje2 As String In Resp.Mensajes
Msg.AppendFormat("<br>{0}", mensaje2) ' Msg.AppendFormat("<br>{0}", mensaje2)
Next 'Next
If Resp.TieneError Then ErrorMovInv = True If Resp.TieneError Then ErrorMovInv = True
Alert(Msg.ToString, If(Resp.CveVenta > 0, TipoMensaje.MsgInformacion, TipoMensaje.MsgAdvertencia)) 'Alert(Msg.ToString, If(Resp.CveVenta > 0, TipoMensaje.MsgInformacion, TipoMensaje.MsgAdvertencia))
CveVenta = Resp.CveVenta CveVenta = Resp.CveVenta
End If End If
Dim Mensaje As String = ""
Dim FolioInv As String = ""
If GenerarRNC Then
CveMovimiento = Resp.CveMovimientoUsado
FolioInv = Resp.FolioUsado
Else
CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta,
CveSubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, CveSubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero,
Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text, Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text,
PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor, Modulo:="RU/G") PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor, Modulo:="RU/G")
If CveMovimiento <= 0 Then If CveMovimiento <= 0 Then
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError) Mensaje = "Error al guardar los movimientos"
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") ErrorMovInv = True
ObjInventario.RollBack() 'deshace lo insertado
Else Else
Dim Mensaje As String = "" FolioInv = ObjInventario.Folio.ToString()
For Each Dr As DataRow In DtMovimientos.Rows For Each Dr As DataRow In DtMovimientos.Rows
@@ -1134,6 +1142,7 @@ Partial Class Inventarios_RecepcionUsados
ErrorMovInv = True ErrorMovInv = True
Exit For Exit For
End If End If
'si es selectedvalue = 42, es entrada ,3 -salida 'si es selectedvalue = 42, es entrada ,3 -salida
Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 42, 1, 2) Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 42, 1, 2)
@@ -1149,10 +1158,27 @@ Partial Class Inventarios_RecepcionUsados
End If End If
Next Next
'GENERA LA PREPOLIZA DE ALMACEN VS EL CONCEPTO DE RNC
'If Not ErrorMovInv Then
' ErrorMovInv = Not GeneraPrePoliza(CveMovimiento, ObjInventario, ObjConta, True)
'End If
End If
End If
If Not ErrorMovInv Then
If Resp IsNot Nothing Then
For Each mensaje2 As String In Resp.Mensajes
Msg.AppendFormat("<br>{0}", mensaje2)
Next
End If
End If
If Not ErrorMovInv Then If Not ErrorMovInv Then
Msg.AppendFormat("<br/>El Movimiento se registro con el Folio: <b><a href='/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}' target='_blank'>{0}</a></b>", FolioInv, CveMovimiento)
Msg.AppendFormat("<br/>El Movimiento se registro con el Folio: <b><a href='/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}'>{0}</a></b>", ObjInventario.Folio, CveMovimiento)
Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento))) Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
If IDPoliza > 0 Then Msg = Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IDPoliza) If IDPoliza > 0 Then Msg = Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IDPoliza)
@@ -1174,8 +1200,6 @@ Partial Class Inventarios_RecepcionUsados
CveMovimiento = 0 CveMovimiento = 0
Alert("ocurrió un Error al registrar los movimientos", TipoMensaje.MsgError) Alert("ocurrió un Error al registrar los movimientos", TipoMensaje.MsgError)
End If End If
End If
End If End If
Catch ex As Exception Catch ex As Exception
ObjInventario.RollBack() 'deshace lo insertado ObjInventario.RollBack() 'deshace lo insertado
@@ -1202,6 +1226,94 @@ Partial Class Inventarios_RecepcionUsados
End Sub End Sub
Private Function GeneraPrePoliza(CveMovimiento As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, EsContabilizable As Boolean) As Boolean
Dim Correcto As Boolean = True
Try
Dim DtCostos As DataTable = Nothing
Dim ValorInventario As Decimal = 0
Dim ValorInventarioME As Decimal = 0
ObjInventario.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa)
Dim CveVenta As Integer = ObjInventario.CveVenta
Dim CveAlmacen As Integer = ObjInventario.CveAlmacen
Dim SerieFolio As String = ObjInventario.DtResultados.Rows(0)("SerieFolioVenta").ToString
Dim MovAlmacen As Boolean = True
Dim CveConcepto As Integer = ObjInventario.DtResultados.Rows(0)("CveConcepto").ToString().ToEntero()
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & CveConcepto).ToEntero
If OrigenMov = 1 Then MovAlmacen = False Else MovAlmacen = True
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
Dim IdCtaContable As Integer = 0
Dim ConceptoPoliza As String = String.Format("{0}-{1}", "Salida de Almacen", SerieFolio)
If tmpCostos.Rows.Count > 0 Then
Dim Concepto As String = ConceptoPoliza
Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv_EntradaSalida", 74, DtCostos.SUM("Total"), DtCostos.SUM("Total"), 1, TxtFecha.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
Dim tCveConcepto As Integer = 278
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL
If tCveConcepto = 69 Then
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then
Correcto = False
Exit For
End If
Next
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacen}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=EsContabilizable) Then
Correcto = False
End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
Correcto = False
End If
End If
'CONTABILIZAR - SIMPLIFICAR
If Correcto Then
If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
Correcto = False
End If
End If
'If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
' If ObjContaContPAQ Is Nothing Then
' ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
' ObjContaContPAQ.IniciaTransacSQL()
' End If
' If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
' Retorno = False
' End If
'End If
End If
Else
Correcto = False
End If
Else
Correcto = False
End If
Catch ex As Exception
OnError("Ocurrió un error al guadar la prepoliza", ex)
Correcto = False
End Try
Return Correcto
End Function
#End Region #End Region
#Region " ADD INVENTARIO INICIAL " #Region " ADD INVENTARIO INICIAL "
@@ -2451,6 +2563,12 @@ Partial Class Inventarios_RecepcionUsados
ObjRemisionNC.IEPS = ImporteIEPS ObjRemisionNC.IEPS = ImporteIEPS
ObjRemisionNC.Total = Total ObjRemisionNC.Total = Total
ObjRemisionNC.TotalOtrosConceptos = 0 ObjRemisionNC.TotalOtrosConceptos = 0
ObjRemisionNC.DtMovimientosUsados = DtMovimientos
ObjRemisionNC.CveAlmacen = DdlAlmacen.SelectedValue.ToEntero()
ObjRemisionNC.ObservacionesMovimiento = TxtObservaciones.Text
ObjRemisionNC.CveConceptoMovimiento = CveConcepto
End Sub End Sub
Protected Sub CargaTamaños() Protected Sub CargaTamaños()

View File

@@ -794,7 +794,7 @@ Partial Class Sistemas_UsuarioDetalle
Dim TieneError = False Dim TieneError = False
Dim EsNuevoUsuario As Boolean = False Dim EsNuevoUsuario As Boolean = False
Try
'Cargo la ultima empresa consultada en asignaciones 'Cargo la ultima empresa consultada en asignaciones
Dim DtValida = DtAsignacionesMultiEmpresa.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresaAnterior)) Dim DtValida = DtAsignacionesMultiEmpresa.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresaAnterior))
If DtValida.Rows.Count > 0 Then If DtValida.Rows.Count > 0 Then
@@ -827,7 +827,7 @@ Partial Class Sistemas_UsuarioDetalle
TieneError = True TieneError = True
End If End If
For Each Row As DataRow In DtAsignacionesMultiEmpresa.Rows For Each Row As DataRow In DtAsignacionesMultiEmpresa.FiltraParametros("CveEmpresa > 0").Rows
If Not ObjUsuarios.AddUsuarioAsignar(Row("CvePersonal").ToString.ToEntero, Row("CveVendedor").ToString.ToEntero, Row("CveAlmacen").ToString.ToEntero, Row("CveSucursal").ToString.ToEntero, Row("CveTipoDocumento").ToString, Row("CveEmpresa").ToString.ToEntero, CveUsuario) Then If Not ObjUsuarios.AddUsuarioAsignar(Row("CvePersonal").ToString.ToEntero, Row("CveVendedor").ToString.ToEntero, Row("CveAlmacen").ToString.ToEntero, Row("CveSucursal").ToString.ToEntero, Row("CveTipoDocumento").ToString, Row("CveEmpresa").ToString.ToEntero, CveUsuario) Then
TieneError = True TieneError = True
End If End If
@@ -837,7 +837,7 @@ Partial Class Sistemas_UsuarioDetalle
TieneError = True TieneError = True
End If End If
For Each Row As DataRow In DtAsignacionesMultiEmpresa.Rows For Each Row As DataRow In DtAsignacionesMultiEmpresa.FiltraParametros("CveEmpresa > 0").Rows
If Not ObjUsuarios.UpdateUsuarioAsignar(Row("CvePersonal").ToString.ToEntero, Row("CveVendedor").ToString.ToEntero, Row("CveAlmacen").ToString.ToEntero, Row("CveSucursal").ToString.ToEntero, Row("CveEmpresa").ToString.ToEntero, Row("CveTipoDocumento").ToString, CveUsuario, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then If Not ObjUsuarios.UpdateUsuarioAsignar(Row("CvePersonal").ToString.ToEntero, Row("CveVendedor").ToString.ToEntero, Row("CveAlmacen").ToString.ToEntero, Row("CveSucursal").ToString.ToEntero, Row("CveEmpresa").ToString.ToEntero, Row("CveTipoDocumento").ToString, CveUsuario, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
TieneError = True TieneError = True
End If End If
@@ -1272,6 +1272,11 @@ Partial Class Sistemas_UsuarioDetalle
Next Next
End If End If
Catch ex As Exception
TieneError = True
OnError("Ocurrió un error al guardar el usuario", ex)
End Try
If Not TieneError Then If Not TieneError Then
If EsNuevoUsuario Then If EsNuevoUsuario Then
@@ -1287,6 +1292,11 @@ Partial Class Sistemas_UsuarioDetalle
ObjUsuarios.Dispose() ObjUsuarios.Dispose()
ObjSubProyectos.Dispose()
ObjOC.Dispose()
ObjOS.Dispose()
Indicador.Dispose()
ObjBancos.Dispose()
End Sub End Sub
Private Sub RecargaGlobales(TieneError As Boolean, ObjSubProyectos As ClsSubProyectos, ObjBancos As ClsBancos, ObjOC As ClsOC, ObjUsuarios As ClsSisUsuarios) Private Sub RecargaGlobales(TieneError As Boolean, ObjSubProyectos As ClsSubProyectos, ObjBancos As ClsBancos, ObjOC As ClsOC, ObjUsuarios As ClsSisUsuarios)

View File

@@ -2707,7 +2707,7 @@
<div class="col-md-12" visible="false"> <div class="col-md-12" visible="false">
<asp:GridView ID="GvRecepcionUsados" runat="server" GridLines="None" ShowHeaderWhenEmpty="true" CssClass="table table-hover table-striped ScrollAD mysmallbtn" <asp:GridView ID="GvRecepcionUsados" runat="server" GridLines="None" ShowHeaderWhenEmpty="true" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" data-height="100" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" data-height="100"
DataKeyNames="CvePSCargo,CveUM,Cargo,CveTamaño"> DataKeyNames="CvePSCargo,CveUM,Cargo,CveTamaño,CodigoPS">
<Columns> <Columns>
<asp:BoundField DataField="CodigoPS" HeaderText="Tamaño" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="35%" /> <asp:BoundField DataField="CodigoPS" HeaderText="Tamaño" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="35%" />
<asp:TemplateField HeaderText="Cantidad" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%"> <asp:TemplateField HeaderText="Cantidad" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%">

View File

@@ -4657,7 +4657,28 @@ Partial Class PV
DdlPSIndexChange(DdlPS.SelectedValue.ToEntero, DdlPS) DdlPSIndexChange(DdlPS.SelectedValue.ToEntero, DdlPS)
DdlUnidadMedida.SelectedValueExist(GvRow.DataKey("CveUM")) DdlUnidadMedida.SelectedValueExist(GvRow.DataKey("CveUM"))
TxtCantidad.Text = GvRow.DataKey("Cantidad") TxtCantidad.Text = GvRow.DataKey("Cantidad")
TxtObsPS.Text = GvRow.DataKey("Obs")
'Dim TotalCargos As Decimal = 0
'Dim StrTamanios As New StringBuilder()
'StrTamanios.Append("Se recibierón los siguientes usados:")
'For Each Gvr As GridViewRow In GvRecepcionUsados.Rows
' If Gvr.RowType = DataControlRowType.DataRow Then
' If Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then
' TotalCargos += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal * Gvr.DataKey("Cargo").ToDecimal
' StrTamanios.AppendFormat("{0},", Gvr.DataKey("CodigoPS"))
' End If
' End If
'Next
'If TotalCargos > 0 Then
' StrTamanios.Remove(StrTamanios.Length - 1, 1)
'Else
' StrTamanios.Clear()
'End If
TxtObsPS.Text = GvRow.DataKey("Obs") '.Replace(StrTamanios.ToString(), "")
TxtPrecio.Text = GvRow.DataKey("PU") TxtPrecio.Text = GvRow.DataKey("PU")
TxtDescuento.Text = GvRow.DataKey("Descuento") TxtDescuento.Text = GvRow.DataKey("Descuento")
LblTotalPS.Text = GvRow.DataKey("Total") LblTotalPS.Text = GvRow.DataKey("Total")
@@ -6681,12 +6702,16 @@ Partial Class PV
Dim TotalCargos As Decimal = 0 Dim TotalCargos As Decimal = 0
Dim TotalCantidad As Decimal = 0 Dim TotalCantidad As Decimal = 0
Dim StrTamanios As New StringBuilder()
StrTamanios.Append("Se recibierón los siguientes usados:")
For Each Gvr As GridViewRow In Gv.Rows For Each Gvr As GridViewRow In Gv.Rows
If Gvr.RowType = DataControlRowType.DataRow Then If Gvr.RowType = DataControlRowType.DataRow Then
If Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then If Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then
TotalCargos += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal * Gvr.DataKey("Cargo").ToDecimal TotalCargos += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal * Gvr.DataKey("Cargo").ToDecimal
TotalCantidad += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal TotalCantidad += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal
StrTamanios.AppendFormat("{0},", Gvr.DataKey("CodigoPS"))
Dim Row As DataRow = TmpDTRecepcionUsados.NewRow() Dim Row As DataRow = TmpDTRecepcionUsados.NewRow()
Row("CvePS") = Gvr.DataKey("CvePSCargo").ToEntero Row("CvePS") = Gvr.DataKey("CvePSCargo").ToEntero
@@ -6703,6 +6728,12 @@ Partial Class PV
End If End If
Next Next
If TotalCargos > 0 Then
StrTamanios.Remove(StrTamanios.Length - 1, 1)
Else
StrTamanios.Clear()
End If
Dim StrCargos As New StringBuilder Dim StrCargos As New StringBuilder
For Each CvePSCargo As Integer In ListaPSCargo For Each CvePSCargo As Integer In ListaPSCargo
StrCargos.AppendFormat(" {0},", CvePSCargo) StrCargos.AppendFormat(" {0},", CvePSCargo)
@@ -6720,27 +6751,37 @@ Partial Class PV
For Each Dr As DataRow In TmpDT.FiltraParametros($"EsCargo = True AND EliminarDB = False AND CvePS IN ({StrCargos})").Rows For Each Dr As DataRow In TmpDT.FiltraParametros($"EsCargo = True AND EliminarDB = False AND CvePS IN ({StrCargos})").Rows
Dim TotalAnterior As Decimal = Dr("Cantidad").ToString.ToDecimal * Dr("PU").ToString.ToDecimal Dim TotalAnterior As Decimal = Dr("Cantidad").ToString.ToDecimal * Dr("PU").ToString.ToDecimal
Dim PUActual As Decimal = (TotalAnterior - TotalCargos) / Dr("Cantidad").ToString.ToDecimal 'Dim PUActual As Decimal = (TotalAnterior - TotalCargos) / Dr("Cantidad").ToString.ToDecimal
Dim Descuento As Decimal = Dr("Descuento").ToString.ToDecimal Dim DescuentoCargo As Decimal = (TotalCargos / Dr("Cantidad").ToString.ToDecimal)
Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (PUActual)) - Descuento
TotalCargos -= TotalAnterior If DescuentoCargo > (TotalAnterior - Dr("Descuento").ToString.ToDecimal()) Then
DescuentoCargo = (TotalAnterior - Dr("Descuento").ToString.ToDecimal())
End If
Dim Descuento As Decimal = Dr("Descuento").ToString.ToDecimal + DescuentoCargo
Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (Dr("PU").ToString.ToDecimal)) - Descuento
TotalCargos -= DescuentoCargo
'If PUActual <= 0 Then
' Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
' TmpDT.Rows.Remove(drt(0))
'Else
'End If
If PUActual <= 0 Then
Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
TmpDT.Rows.Remove(drt(0))
Else
Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString) Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
Dim drr As DataRow = drt(0) Dim drr As DataRow = drt(0)
drr("PU") = PUActual 'drr("PU") = PUActual
drr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
drr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
drr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
drr("ImporteIEPS") = Math.Round(Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteIEPS") = Math.Round(Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
drr("IEPS") = Dr("ImporteIEPS") drr("IEPS") = Dr("ImporteIEPS")
drr("Total") = (Dr("Cantidad").ToString.ToDecimal * PUActual) drr("Descuento") = Descuento
drr("TotalImporte") = Math.Round(Dr("Cantidad").ToString.ToDecimal * PUActual, NumeroDecimales) drr("Obs") = StrTamanios.ToString() + Dr("Obs").ToString()
'drr("Total") = (Dr("Cantidad").ToString.ToDecimal * PUActual)
End If 'drr("TotalImporte") = Math.Round(Dr("Cantidad").ToString.ToDecimal * PUActual, NumeroDecimales)
If TotalCargos <= 0 Then If TotalCargos <= 0 Then
Exit For Exit For
@@ -6752,26 +6793,46 @@ Partial Class PV
For Each Dr As DataRow In TmpDT.FiltraParametros($"EsCargo = False AND EliminarDB = False AND CvePS={CvePS}").Rows For Each Dr As DataRow In TmpDT.FiltraParametros($"EsCargo = False AND EliminarDB = False AND CvePS={CvePS}").Rows
Dim PUAnterior As Decimal = Dr("Cantidad").ToString.ToDecimal * Dr("PU").ToString.ToDecimal Dim PUAnterior As Decimal = Dr("Cantidad").ToString.ToDecimal * Dr("PU").ToString.ToDecimal
Dim PUActual As Decimal = PUAnterior - (TotalCargos / Dr("Cantidad").ToString.ToDecimal) Dim DescuentoCargo As Decimal = (TotalCargos / Dr("Cantidad").ToString.ToDecimal)
Dim Descuento As Decimal = Dr("Descuento").ToString.ToDecimal
Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (PUActual)) - Descuento If DescuentoCargo > (PUAnterior - Dr("Descuento").ToString.ToDecimal()) Then
TotalCargos += -(TotalCargos / Dr("Cantidad").ToString.ToDecimal) DescuentoCargo = (PUAnterior - Dr("Descuento").ToString.ToDecimal())
End If
'Dim PUActual As Decimal = PUAnterior - DescuentoCargo
Dim Descuento As Decimal = Dr("Descuento").ToString.ToDecimal + DescuentoCargo
Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (PUAnterior)) - Descuento
TotalCargos += -DescuentoCargo
If PUActual <= 0 Then
Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
TmpDT.Rows.Remove(drt(0))
Else
Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString) Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
Dim drr As DataRow = drt(0) Dim drr As DataRow = drt(0)
drr("PU") = PUActual
drr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
drr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
drr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
drr("ImporteIEPS") = Math.Round(Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) drr("ImporteIEPS") = Math.Round(Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
drr("IEPS") = Dr("ImporteIEPS") drr("IEPS") = Dr("ImporteIEPS")
drr("Total") = (Dr("Cantidad").ToString.ToDecimal * PUActual) drr("Descuento") = Descuento
drr("TotalImporte") = Math.Round(Dr("Cantidad").ToString.ToDecimal * PUActual, NumeroDecimales) 'drr("Obs") = StrTamanios.ToString() + Dr("Obs").ToString()
End If 'drr("Total") = (Dr("Cantidad").ToString.ToDecimal * PUActual)
'drr("TotalImporte") = Math.Round(Dr("Cantidad").ToString.ToDecimal * PUActual, NumeroDecimales)
'If PUActual <= 0 Then
' Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
' TmpDT.Rows.Remove(drt(0))
'Else
' Dim drt As DataRow() = TmpDT.Select("Consec = " & Dr("Consec").ToString)
' Dim drr As DataRow = drt(0)
' 'drr("PU") = PUActual
' drr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
' drr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
' drr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
' drr("ImporteIEPS") = Math.Round(Dr("PorcentajeIEPS").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
' drr("IEPS") = Dr("ImporteIEPS")
' 'drr("Total") = (Dr("Cantidad").ToString.ToDecimal * PUActual)
' 'drr("TotalImporte") = Math.Round(Dr("Cantidad").ToString.ToDecimal * PUActual, NumeroDecimales)
'End If
If TotalCargos <= 0 Then If TotalCargos <= 0 Then
Exit For Exit For

View File

@@ -245,7 +245,7 @@
<asp:HyperLink ID="HLOrdenServicio" Target="_blank" runat="server" Visible="false"> <i class="fa fa-plus"></i> Genera O. S.</asp:HyperLink> <asp:HyperLink ID="HLOrdenServicio" Target="_blank" runat="server" Visible="false"> <i class="fa fa-plus"></i> Genera O. S.</asp:HyperLink>
</li> </li>
<li> <li>
<asp:LinkButton ID="LkCotizacionAutorizar" Target="_blank" runat="server" Visible="false"> <i class="fa fa-check"></i> Autorizar Cotización</asp:LinkButton> <asp:LinkButton ID="LkCotizacionAutorizar" runat="server" Visible="false"> <i class="fa fa-check"></i> Autorizar Cotización</asp:LinkButton>
</li> </li>
<li id="LiBuscarPrecio" runat="server" visible="false"> <li id="LiBuscarPrecio" runat="server" visible="false">
@@ -7099,8 +7099,13 @@
TxtImporte.value = FormatoNumero(Saldo, 2); TxtImporte.value = FormatoNumero(Saldo, 2);
} }
} else { } else {
if (SaldoMaximoUtilizable > 0) {
TxtImporte.value = ""; TxtImporte.value = "";
Chk.checked = false; Chk.checked = false;
} else {
TxtImporte.value = FormatoNumero(Saldo, 2);
}
} }
} else { } else {

View File

@@ -2167,7 +2167,7 @@ Partial Class Ventas
DdlSubProyectoDatos.Enabled = False DdlSubProyectoDatos.Enabled = False
BtnEmitirImprimir.Visible = False BtnEmitirImprimir.Visible = False
BtnCrearApartirDe.Visible = True BtnCrearApartirDe.Visible = True
If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue <> "Cot" Then BtnEditar.Visible = True If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then BtnEditar.Visible = True
'DdlEstatus.Enabled = True 'DdlEstatus.Enabled = True
DivFechaAnticipoCliente.Visible = True DivFechaAnticipoCliente.Visible = True
@@ -2222,8 +2222,14 @@ Partial Class Ventas
End If End If
If UsuarioActual.TienePermisoProceso(269) AndAlso Not DevolucionAlmacen = 2 Then If UsuarioActual.TienePermisoProceso(269) AndAlso Not DevolucionAlmacen = 2 Then
Dim ObjInventario As New ClsInventarios
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
If ObjInventario.DtResultados.Rows.Count > 0 Then
DivDevAlm.Visible = True DivDevAlm.Visible = True
End If End If
End If
ObjInventario.Dispose()
End If
End If End If
@@ -3791,6 +3797,17 @@ Partial Class Ventas
End If End If
End If End If
Dim TipoEstatus As Integer = GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {CveEstatus}").ToEntero()
If UsuarioActual.Empresa.Funcionalidad(135) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso TipoEstatus = 5 Then
If UsuarioActual.TienePermisoProceso(159) Then
Dim TienePermiso As String = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, -1).FiltroPrimeroValor("CveSubProyecto", String.Format("CveSubProyecto = {0}", DbRowVenta("CveSubProyecto")))
If TienePermiso <> "" Then
LbCancelarDocumento.Visible = True
End If
End If
End If
'CargaDetalle 'CargaDetalle
If ObjVentas.GetVentaDetalle(CveVenta) Then If ObjVentas.GetVentaDetalle(CveVenta) Then
TmpDT = ObjVentas.DtResultados TmpDT = ObjVentas.DtResultados
@@ -3885,17 +3902,26 @@ Partial Class Ventas
End If End If
'Verifico si tiene la funcionalidad (135)
If UsuarioActual.Empresa.Funcionalidad(135) = "1" Then If UsuarioActual.Empresa.Funcionalidad(135) = "1" Then
'Reviso cuales son los supervisores 'Reviso cuales son los supervisores
Dim Objeto As New ClsVtaVendedores Dim Objeto As New ClsVtaVendedores
If Objeto.GetVendedores(UsuarioActual.CveEmpresa) Then If Objeto.GetVendedores(UsuarioActual.CveEmpresa) Then
Dim DTVendedores As New DataTable Dim DTVendedores As New DataTable
If DbRowVenta("CveVendedor").ToString().ToEntero() > 0 AndAlso UsuarioActual.CveVendedor > 0 Then
DTVendedores = Objeto.DtResultados.FiltraParametros(String.Format("CveVendedor = {0}", DbRowVenta("CveVendedor").ToString())).FiltraParametros(String.Format("CveSupervisor = {0}", UsuarioActual.CveVendedor)) DTVendedores = Objeto.DtResultados.FiltraParametros(String.Format("CveVendedor = {0}", DbRowVenta("CveVendedor").ToString())).FiltraParametros(String.Format("CveSupervisor = {0}", UsuarioActual.CveVendedor))
End If
'Verifico si es su supervisor asignado 'Verifico si es su supervisor asignado
If DTVendedores.Rows.Count > 0 Then If DTVendedores.Rows.Count > 0 Then
LkCotizacionAutorizar.Visible = True LkCotizacionAutorizar.Visible = True
If TipoEstatus = 2 Then
LkCotizacionAutorizar.Visible = False
ElseIf TipoEstatus = 2 Then
LkCotizacionAutorizar.Visible = False
End If
End If End If
DTVendedores.Dispose() DTVendedores.Dispose()
End If End If
@@ -4651,6 +4677,41 @@ Partial Class Ventas
End If End If
GvOCRelacionadas.DataBind() GvOCRelacionadas.DataBind()
'Verifico si tiene la funcionalidad (135)
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso UsuarioActual.Empresa.Funcionalidad(135) = "1" Then
'Reviso cuales son los supervisores
Dim ObjVendedores As New ClsVtaVendedores
If ObjVendedores.GetVendedores(UsuarioActual.CveEmpresa) Then
Dim DTVendedores As New DataTable
If DbRowVenta("CveVendedor").ToString().ToEntero() > 0 AndAlso UsuarioActual.CveVendedor > 0 Then
DTVendedores = ObjVendedores.DtResultados.FiltraParametros(String.Format("CveVendedor = {0}", DbRowVenta("CveVendedor").ToString())).FiltraParametros(String.Format("CveSupervisor = {0}", UsuarioActual.CveVendedor))
End If
'Verifico si es su supervisor asignado
If DTVendedores.Rows.Count > 0 Then
If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 2 Then
BtnsFacturar.Visible = True
BtnGenerarRemision.Visible = True
Else
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
DTVendedores.Dispose()
End If
ObjVendedores.Dispose()
End If
If DdlTipoComprobante.SelectedValue = "Cot" Then
If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 5 Then
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
UpPS.Update() UpPS.Update()
UpContado.Update() UpContado.Update()
UpEstatus.Update() UpEstatus.Update()
@@ -10413,7 +10474,7 @@ Partial Class Ventas
If ErrorList.Count = 0 Then If ErrorList.Count = 0 Then
'prepoliza 'prepoliza
GuardarVentaPrePolizas(ObjConta, factura, TmpDTDetalle, CveNCaVincular, objContPaqi, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, EsNCAmortizacion:=EsNCAmortizacion, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDescuento) GuardarVentaPrePolizas(ObjConta, factura, TmpDTDetalle, CveNCaVincular, objContPaqi, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, EsNCAmortizacion:=EsNCAmortizacion, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDescuento, ObjInventario:=ObjInventario)
If ErrorList.Count = 0 Then If ErrorList.Count = 0 Then
'INVENTARIOS 'INVENTARIOS
@@ -10448,7 +10509,7 @@ Partial Class Ventas
Private Sub GuardarVentaPrePolizas(ByRef ObjConta As ClsContabilidad, factura As Modelos.Factura, TmpDTDetalleMovimientos As DataTable, CveNCaVincular As Integer, Private Sub GuardarVentaPrePolizas(ByRef ObjConta As ClsContabilidad, factura As Modelos.Factura, TmpDTDetalleMovimientos As DataTable, CveNCaVincular As Integer,
ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing,
ByRef Optional ObjEventos As ClsOIEventos = Nothing, Optional EsNCAmortizacion As Boolean = False, Optional NCDescuento As Boolean = False, ByRef Optional ObjEventos As ClsOIEventos = Nothing, Optional EsNCAmortizacion As Boolean = False, Optional NCDescuento As Boolean = False,
Optional ValorMultiplicador As Integer = 1, Optional ListaNCDescuento As List(Of Modelos.Factura) = Nothing) Optional ValorMultiplicador As Integer = 1, Optional ListaNCDescuento As List(Of Modelos.Factura) = Nothing, Optional ObjInventario As ClsInventarios = Nothing)
Dim CveIE As Integer = -1 Dim CveIE As Integer = -1
Dim DT As DataTable = Nothing Dim DT As DataTable = Nothing
@@ -10467,7 +10528,7 @@ Partial Class Ventas
If DdlTipoComprobante.SelectedValue <> "Cot" Then If DdlTipoComprobante.SelectedValue <> "Cot" Then
If factura.CvePrePoliza > 0 Then If factura.CvePrePoliza > 0 Then
If ProcesoPrepolizas(ObjConta, factura, CveIE, TmpDTDetalleMovimientos, objContPaqi, ValorMultiplicador, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, EsNCAmortizacion:=EsNCAmortizacion, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDescuento) Then If ProcesoPrepolizas(ObjConta, factura, CveIE, TmpDTDetalleMovimientos, objContPaqi, ValorMultiplicador, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, EsNCAmortizacion:=EsNCAmortizacion, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDescuento, ObjInventario:=ObjInventario) Then
ErrorList.Add("Ocurrió un error al agregar los Movimientos de la prepoliza.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico") ErrorList.Add("Ocurrió un error al agregar los Movimientos de la prepoliza.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
End If End If
@@ -10478,7 +10539,8 @@ Partial Class Ventas
End Sub End Sub
Private Function ProcesoPrepolizas(ByRef ObjConta As ClsContabilidad, ObjFactura As Modelos.Factura, CveIE As Integer, TmpDTDetalle As DataTable, ByRef objContPaqi As ClsContPAQi, Private Function ProcesoPrepolizas(ByRef ObjConta As ClsContabilidad, ObjFactura As Modelos.Factura, CveIE As Integer, TmpDTDetalle As DataTable, ByRef objContPaqi As ClsContPAQi,
Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing,
ByRef Optional ObjEventos As ClsOIEventos = Nothing, Optional EsNCAmortizacion As Boolean = False, Optional NCDescuento As Boolean = False, Optional ListaNCDescuento As List(Of Modelos.Factura) = Nothing) As Boolean ByRef Optional ObjEventos As ClsOIEventos = Nothing, Optional EsNCAmortizacion As Boolean = False, Optional NCDescuento As Boolean = False,
Optional ListaNCDescuento As List(Of Modelos.Factura) = Nothing, Optional ObjInventario As ClsInventarios = Nothing) As Boolean
Try Try
Dim DT As DataTable Dim DT As DataTable
Dim CvePlantilaPoliza As Integer Dim CvePlantilaPoliza As Integer
@@ -11313,6 +11375,36 @@ Partial Class Ventas
IdCtaContableCliente = IdCtaContable IdCtaContableCliente = IdCtaContable
CveCuentaCliente = CveCuenta CveCuentaCliente = CveCuenta
Dim CveMovimiento As Integer = -1
Dim CveAlmacen As Integer = -1
If ObjInventario IsNot Nothing AndAlso ObjInventario.GetInv_Mov(ObjRNC.CveVenta, UsuarioActual.CveEmpresa) Then
CveMovimiento = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
CveAlmacen = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
End If
'VERIFICA SI TIENE MOVIMIENTO DE ENTRADA DE USADO
If CveMovimiento > 0 AndAlso CveAlmacen > 0 Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
Dim SubTotalCalculado As Decimal = (importeMovimiento / (1D + ObjRNC.PorcentajeIVA)).ToDecimal
Dim Importe318 As Decimal = (SubTotalCalculado * ObjRNC.PorcentajeIVA).RoundSQL(2).ToDecimal()
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, Importe318, Referencia, 318, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Importe318, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, SubTotalCalculado, Referencia, 150, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=ObjRNC.DtDetalle.MAX("CveClasificacion").ToEntero(), CveSubProyecto:=ObjRNC.CveSubProyecto, ImporteMX:=SubTotalCalculado, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveCuenta:=CveCuenta, Contabilizable:=False) Then
ErrorPrepoliza = True
Else
ViewState("SeGuardoPrePoliza") = True
End If
Else
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True ErrorPrepoliza = True
@@ -11320,6 +11412,7 @@ Partial Class Ventas
Else Else
ErrorPrepoliza = True ErrorPrepoliza = True
End If End If
End If
importeMovimiento = 0 importeMovimiento = 0
End If End If
@@ -12717,15 +12810,15 @@ Partial Class Ventas
'TIMBRADO NUEVO 'TIMBRADO NUEVO
Try Try
If CveVenta > 0 Then
ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
End If
pdf = PdfFactura(ObjFactura) pdf = PdfFactura(ObjFactura)
Catch ex As Exception Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgError) Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgError)
End Try End Try
If CveVenta > 0 Then
ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
End If
LocalSerieFolio = ObjFactura.SerieFolio LocalSerieFolio = ObjFactura.SerieFolio
LocalTipoDocto = ObjFactura.TipoDocto LocalTipoDocto = ObjFactura.TipoDocto
@@ -15773,6 +15866,7 @@ Partial Class Ventas
Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional SeActualiza As Boolean = False, Optional CvePromocionDetalle As Integer = -1, Optional EsCargo As Boolean = False) As Boolean Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional SeActualiza As Boolean = False, Optional CvePromocionDetalle As Integer = -1, Optional EsCargo As Boolean = False) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
Try
If Not CvePS > 0 Then If Not CvePS > 0 Then
Alert("Ocurrió un error al cargar la información del producto a agregar. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError) Alert("Ocurrió un error al cargar la información del producto a agregar. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError)
Return False Return False
@@ -15817,7 +15911,6 @@ Partial Class Ventas
Row("Obs") = Obs Row("Obs") = Obs
Dim DrPS As DataRow = Nothing Dim DrPS As DataRow = Nothing
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1 DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1
@@ -15978,7 +16071,6 @@ Partial Class Ventas
End If End If
End If End If
'RECARGAR GV 'RECARGAR GV
TmpDT.Rows.Add(Row) TmpDT.Rows.Add(Row)
@@ -16068,10 +16160,15 @@ Partial Class Ventas
End If End If
Next Next
End If End If
Retorno = True Retorno = True
Catch ex As Exception
Retorno = False
OnError("Ocurrió un error al agregar el producto/servicio", ex)
End Try
Return Retorno Return Retorno
End Function End Function
@@ -19542,8 +19639,19 @@ Partial Class Ventas
LBDevolucionAlmacen.ToolTip = "¿Está seguro de Solicitar la Devolución de Almacén?" LBDevolucionAlmacen.ToolTip = "¿Está seguro de Solicitar la Devolución de Almacén?"
End If End If
If VentaSaldoAlmacen < 0 Then
If DevolucionAlmacen = 0 Then
LBAplicaDevolucion.Visible = True
ElseIf DevolucionAlmacen.Contiene(1, 2) Then
LBAplicaDevolucion.Visible = False
End If
ElseIf VentaSaldoAlmacen >= 0 Then
LBAplicaDevolucion.Visible = False
End If End If
End If
UpnTools.Update()
'UpInvDev.Update() 'UpInvDev.Update()
End Sub End Sub
Protected Sub LBDevolucionAlmacen_Click(sender As Object, e As EventArgs) Protected Sub LBDevolucionAlmacen_Click(sender As Object, e As EventArgs)
@@ -19571,8 +19679,9 @@ Partial Class Ventas
ObjVentas.Dispose() ObjVentas.Dispose()
Me.DevolucionAlmacen = EstatusDevolucion Me.DevolucionAlmacen = EstatusDevolucion
InicializaDevolucionAlmacen() InicializaDevolucionAlmacen()
UpnTools.Update() 'UpnTools.Update()
End Sub End Sub
@@ -20243,8 +20352,21 @@ Partial Class Ventas
End Sub End Sub
Private Sub LkCotizacionAutorizar_Click(sender As Object, e As EventArgs) Handles LkCotizacionAutorizar.Click Private Sub LkCotizacionAutorizar_Click(sender As Object, e As EventArgs) Handles LkCotizacionAutorizar.Click
EsSupervisor = True EsSupervisor = True
GeneraPDFCotizacion(True) Dim ActualizoEstatus As Boolean = False
Dim ObjVentas As New ClsVentas
If ObjVentas.UpdateEstatusFactura(8, FolioFiscal, "", Now, CveVenta) Then
ActualizoEstatus = True
End If
ObjVentas.Dispose()
If ActualizoEstatus Then
'GeneraPDFCotizacion(True)
Alert("La cotización ha sido enviada al correo de nuestro cliente:" & Mail) Alert("La cotización ha sido enviada al correo de nuestro cliente:" & Mail)
Else
Alert("No se pudo autorizar la cotización", TipoMensaje.MsgError)
End If
End Sub End Sub
#End Region #End Region