diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx b/Acumuladores/EntradasUsadosResumenRep.aspx index b840b5165..eb86ecdc5 100644 --- a/Acumuladores/EntradasUsadosResumenRep.aspx +++ b/Acumuladores/EntradasUsadosResumenRep.aspx @@ -78,16 +78,16 @@ + ShowFooter="False" DataKeyNames="CvePSCargo,CodigoPS,Inicial,E_Almacen,E_Pub,E_Traspaso,E_Compra,E_Otros,S_Almacen,S_Traspaso,S_Otros,Exist_Actual"> - + - + - + diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx.vb b/Acumuladores/EntradasUsadosResumenRep.aspx.vb index 799484355..ced8542ab 100644 --- a/Acumuladores/EntradasUsadosResumenRep.aspx.vb +++ b/Acumuladores/EntradasUsadosResumenRep.aspx.vb @@ -26,7 +26,7 @@ Partial Class Acumuladores_RepEntradasUsados End Sub Protected Sub CargarDatos() - DdlAlmacenes.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) + DdlAlmacenes.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen = 22") DdlAlmacenes.DataBind() End Sub diff --git a/Acumuladores/RepEntradasUsadosClientes.aspx b/Acumuladores/RepEntradasUsadosClientes.aspx index c2da0c83c..f1fe85c14 100644 --- a/Acumuladores/RepEntradasUsadosClientes.aspx +++ b/Acumuladores/RepEntradasUsadosClientes.aspx @@ -3,6 +3,11 @@ + Reporte Entradas Usados Clientes @@ -77,10 +82,10 @@ - - + <%--OnClick="CargarVentasGrupo"--%> + @@ -122,8 +127,8 @@ - - + + diff --git a/Acumuladores/RepEntradasUsadosClientes.aspx.vb b/Acumuladores/RepEntradasUsadosClientes.aspx.vb index 75e36daaf..9d266557c 100644 --- a/Acumuladores/RepEntradasUsadosClientes.aspx.vb +++ b/Acumuladores/RepEntradasUsadosClientes.aspx.vb @@ -94,14 +94,14 @@ Partial Class Acumuladores_RepEntradasUsadosClientes Dim renglon As GridViewRow = CType(tempLink.NamingContainer, GridViewRow) LbCliente.Text = renglon.DataKey("NombreComercial") - LbTam.Text = renglon.DataKey("Codigo") + LbTam.Text = renglon.DataKey("Codigo_Clientes") Dim ObjAcum As New ClsAcumuladores - If ObjAcum.GetUsadosClasificacionVentas(renglon.DataKey("CveCliente"), renglon.DataKey("Codigo"), TxtFechaI.Text, TxtFechaF.Text) Then + If ObjAcum.GetUsadosClasificacionVentas(renglon.DataKey("CveCliente"), renglon.DataKey("Codigo_Clientes"), TxtFechaI.Text, TxtFechaF.Text) Then GvVentas.DataSource = ObjAcum.DtResultados End If ObjAcum.Dispose() GvVentas.DataBind() - RegistraScript("$('#ModalVentasAvance').modal('show');RecargaAvances = true;") + RegistraScript("$('#ModalVentasAvance').modal();") End Sub End Class diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index f363d1dfe..fc78fae11 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -191,12 +191,12 @@ Public Class ClsCompras AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer, CvePrePoliza As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional IdPoliza As Integer = -1, Optional CveOC As Integer = -1, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1, Optional NumeroReembolso As String = "-1", Optional CveProveedorSucursal As Integer = -1, Optional AplicoPromocion As Boolean = False, Optional PorcentajeIVA As Double = 0, Optional CveMetodoPago As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveConceptoContableAlmacen As Integer = -1, - Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0, Optional CveTipoConcepto As Integer = 1) As Boolean + Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0, Optional CveTipoConcepto As Integer = 1, Optional CveFactura As Integer = -1) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Comp_CompraAdd") - + DataAdapter("PA_Comp_CompraAdd") + With SqlAdapter.SelectCommand.Parameters .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto .Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion @@ -241,6 +241,7 @@ Public Class ClsCompras .Add("@CveTipoCompra", SqlDbType.Int).Value = CveTipoCompra .Add("@TotalOriginal", SqlDbType.Money).Value = TotalOriginal .Add("@CveTipoConcepto", SqlDbType.Int).Value = CveTipoConcepto + .Add("@CveFactura", SqlDbType.Int).Value = CveFactura End With Try @@ -265,7 +266,7 @@ Public Class ClsCompras Descuento As Double, SubTotal As Double, IVA As Double, Total As Double, CveUsuario As Integer, CveCompra As Integer, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveProveedorSucursal As Integer = -1, Optional PorcentajeIVA As Double = 0, - Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False) As Boolean + Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveFactura As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -291,6 +292,7 @@ Public Class ClsCompras .Add("@NumeroReembolso", SqlDbType.VarChar).Value = NumeroReembolso .Add("@CveTipoCompra", SqlDbType.Int).Value = CveTipoCompra .Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible + .Add("@CveFactura", SqlDbType.Int).Value = CveFactura End With Try diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index e5a748ea3..ff6b8012f 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4602,7 +4602,10 @@ Public Class ClsContabilidad Return Retorno End Function - Public Function UpdateCuenta(CveCuenta As Integer, Nombre As String, Tipo As String, CtaMayor As Integer, CveMoneda As Integer, Optional DigAgrupador As Integer = -1, Optional CveAgrupadorSAT As Integer = -1, Optional NomIdioma As String = "") As Boolean + Public Function UpdateCuenta(CveCuenta As Integer, Nombre As String, Tipo As String, CtaMayor As Integer, CveMoneda As Integer, Optional DigAgrupador As Integer = -1, + Optional CveAgrupadorSAT As Integer = -1, Optional NomIdioma As String = "", Optional CveConceptoAdmin As Integer = -1, Optional CveProveedor As Integer = -1, + Optional CveCliente As Integer = -1, Optional CveClasificacion As Integer = -1, Optional PorcentajeImpuesto As Decimal = -1, + Optional CveBancoCuenta As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Conta_UpdateCuentas") @@ -4616,6 +4619,12 @@ Public Class ClsContabilidad .Add("@DigAgrupador", SqlDbType.Int).Value = DigAgrupador .Add("@NomIdioma", SqlDbType.VarChar).Value = NomIdioma .Add("@CveAgrupadorSAT", SqlDbType.Int).Value = CveAgrupadorSAT + .Add("@CveConceptoAdmin", SqlDbType.Int).Value = CveConceptoAdmin + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@PorcentajeImpuesto", SqlDbType.Money).Value = PorcentajeImpuesto + .Add("@CveBancoCuenta", SqlDbType.Int).Value = CveBancoCuenta End With Try @@ -4630,7 +4639,9 @@ Public Class ClsContabilidad Return Retorno End Function Public Function AddCuenta(CvePadre As Integer, Codigo As String, Nombre As String, Tipo As String, CtaMayor As Integer, CveMoneda As Integer, Optional DigAgrupador As Integer = -1, - Optional CveAgrupadorSAT As Integer = -1, Optional NomIdioma As String = "", Optional CveEmpresaParam As Integer = -1) As Integer + Optional CveAgrupadorSAT As Integer = -1, Optional NomIdioma As String = "", Optional CveEmpresaParam As Integer = -1, Optional CveConceptoAdmin As Integer = -1, + Optional CveProveedor As Integer = -1, Optional CveCliente As Integer = -1, Optional CveClasificacion As Integer = -1, Optional PorcentajeImpuesto As Decimal = -1, + Optional CveBancoCuenta As Integer = -1) As Integer Dim Retorno As Integer = 0 DataAdapter("PA_Conta_AddCuentas") @@ -4645,6 +4656,12 @@ Public Class ClsContabilidad .Add("@NomIdioma", SqlDbType.VarChar).Value = NomIdioma .Add("@CveAgrupadorSAT", SqlDbType.Int).Value = CveAgrupadorSAT .Add("@CveEmpresaParam", SqlDbType.Int).Value = CveEmpresaParam + .Add("@CveConceptoAdmin", SqlDbType.Int).Value = CveConceptoAdmin + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@PorcentajeImpuesto", SqlDbType.Money).Value = PorcentajeImpuesto + .Add("@CveBancoCuenta", SqlDbType.Int).Value = CveBancoCuenta '.Add("@CveCuenta", SqlDbType.Int).Value = 0 '.Add("@Error", SqlDbType.VarChar).Value = "" '.Add("@Error", SqlDbType.VarChar).Direction = ParameterDirection.Output @@ -4690,6 +4707,23 @@ Public Class ClsContabilidad Return Retorno End Function + Public Function GetCuentasyConceptos(CveCliente As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Conta_GetCuentasyConceptos") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al consultar las cuentas y conceptos", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdateCuentaCompaq(CveCuenta As Integer, IdCompaq As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 596819afc..7334abade 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -317,7 +317,7 @@ Public Class ClsVentas Optional ObservacionesAlmacen As String = "", Optional CveSubProyecto As Integer = -1, Optional CveSubProyectoEjecucion As Integer = -1, Optional CveSubProyectoCobranza As Integer = -1, Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional OrdenCompra As String = "-1", Optional CveCuentaTerminal As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ImpuestoLocal As Double = 0, Optional CveTipoAmortizacionAnticipo As Integer = -1, Optional CveVentaRelacion As Integer = -1, Optional ImporteRelacion As Decimal = -1, Optional CveEmpresaCRM As Integer = -1, Optional EsInterno As Integer = -1, Optional CveAcercamientoCRM As Integer = -1, - Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0) As Boolean + Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0, Optional EsAmortizacion As Boolean = False) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_VentasAdd") @@ -404,6 +404,7 @@ Public Class ClsVentas .Add("@EsDiasCreditoFijo", SqlDbType.Bit).Value = EsDiasCreditoFijo .Add("@AnticipoEspecial", SqlDbType.Bit).Value = AnticipoEspecial .Add("@Kilometraje", SqlDbType.Float).Value = Kilometraje + .Add("@EsAmortizacion", SqlDbType.Bit).Value = EsAmortizacion .Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue End With diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index e0d5d3f62..08036f1b9 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -14,6 +14,7 @@ Imports System.Net Imports System.IO.Compression Imports System.Text Imports System.Net.Http +Imports System.Collections.Generic Namespace Modelos @@ -539,7 +540,64 @@ Namespace Modelos Public Property CveEstatus As Integer End Class - + Public Function RegenerarPrePolizas(Optional TransaccionCompartida As SqlClient.SqlTransaction = Nothing, Optional ObjACTransac As ClsContPAQi = Nothing) As Boolean + Dim ErrorPrePolizas As Boolean = False + + Dim ObjVentas As ClsVentas = Nothing + If TransaccionCompartida IsNot Nothing Then + ObjVentas = New ClsVentas(TransaccionCompartida) + Else + ObjVentas = New ClsVentas() + ObjVentas.IniciaTransacSQL() + End If + + Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) + Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL()) + Dim ObjEventos As New ClsOIEventos(ObjVentas.IniciaTransacSQL()) + Dim ObjAC As ClsContPAQi = Nothing + + If ObjACTransac Is Nothing Then + If UsuarioActual.Empresa.UsaAC Then + ObjAC = New ClsContPAQi(UsuarioActual.Empresa) : ObjAC.IniciaTransacSQL() + End If + Else + ObjAC = ObjACTransac + End If + + ErrorPrePolizas = Not RegeneracionPolizas(Me, ObjVentas, ObjAC, ObjConta, ObjBancos, ObjEventos) + + If TransaccionCompartida Is Nothing Then + ObjVentas.Commit() + ObjVentas.Dispose() + ObjBancos.Dispose() + ObjEventos.Dispose() + End If + + If ObjACTransac Is Nothing Then + If ObjAC IsNot Nothing Then + ObjAC.Commit() + ObjAC.Dispose() + End If + End If + + Return Not ErrorPrePolizas + End Function + Private Function RegeneracionPolizas(ObjFactura As Modelos.Factura, ByRef ObjVentas As ClsVentas, ByRef ObjAC As ClsContPAQi, ByRef ObjConta As ClsContabilidad, ObjBancos As ClsBancos, ObjEventos As ClsOIEventos) As Boolean + Dim ErrorPrePolizas As Boolean = False + + 'REMOVEMOS LOS CONCEPTOS DE LA PREPOLIZA + ErrorPrePolizas = Not ObjConta.RemovePrePolizasDetalle(ObjFactura.CvePrePoliza, -1, ObjFactura.CveVenta, 2) + + 'VUELVE A GENERAR LAS PREPOLIZAS + If Not ErrorPrePolizas Then + ErrorPrePolizas = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, ValorMultiplicador:=1, ObjBancos:=ObjBancos, ObjVentas:=ObjVentas, ObjEventos:=ObjEventos, DtRemisionesRelacionadas:=New DataTable, SeCancelaRemisionProceso:=False, + CancelarRemisiones:=False, ListaRemisionesCancelar:=New List(Of Integer)) + End If + + If Not ErrorPrePolizas Then ErrorPrePolizas = GuardarVentaImpuestosLocales(ObjFactura, ObjVentas, ObjConta, 1) + + Return Not ErrorPrePolizas + End Function Public Function EmitirFactura(Optional Timbrar As Boolean = True, Optional Transac As SqlClient.SqlTransaction = Nothing, Optional ObjContPaqTransac As ClsContPAQi = Nothing) As MMensajeFactura Dim Retorno As New MMensajeFactura() @@ -1059,7 +1117,7 @@ Namespace Modelos Return Retorno End Function - Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, Optional GetBytes As Boolean = true) As Byte() + Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, Optional GetBytes As Boolean = True) As Byte() Dim Url = New Uri(String.Format("http://{0}:{1}/Compras/PopUpVerFactura.aspx?P={2}", HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta)))) Dim File As Byte() = Nothing Try @@ -6067,7 +6125,7 @@ Namespace Modelos End Set End Property - Public ReadOnly Property GlobalDTProductosServiciosEquivalencias(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer) As DataTable + Public ReadOnly Property GlobalDTProductosServiciosEquivalencias(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = String.Format("GlobalDTProductosServiciosEquivalencias{0}", CveEmpresa) @@ -6085,7 +6143,7 @@ Namespace Modelos GlobalDTProductosServiciosEquivalencias = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) End If End Get - + End Property Property GlobalDTProveedorClasificacion(CveEmpresa As Integer) As DataTable Get diff --git a/Bancos/RepEgresosSinComprobante.aspx b/Bancos/RepEgresosSinComprobante.aspx index 957f1555a..f410feabd 100644 --- a/Bancos/RepEgresosSinComprobante.aspx +++ b/Bancos/RepEgresosSinComprobante.aspx @@ -162,6 +162,7 @@ + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index f8ad52e6f..835abc0c4 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -4396,7 +4396,7 @@ Partial Class Compras_Compras 'End If 'METODO DE PREPOLIZA DE ALMACEN - If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then + If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal If ImporteAlmacen > 0 Then If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then @@ -4412,8 +4412,6 @@ Partial Class Compras_Compras CveConceptoContableAlmacen = 205 End If Else - - CveConceptoContableAlmacen = 225 End If @@ -6237,7 +6235,7 @@ Partial Class Compras_Compras End If Case 6 'Compra - Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" + Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 140) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Dim RegistraConcepto225 As Boolean = UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" If RBLPago.SelectedValue.ToEntero = 4 Then @@ -7909,8 +7907,8 @@ Partial Class Compras_Compras 'ACTUALIZA CVEFACTURA If Request("CveFactura") IsNot Nothing Then - If Not ObjCompras.UpdateCompraFactura(CveCompra, Request("CveFactura").ToEntero, TxtSerie.Text.Trim, TxtFolio.Text.Trim) Then - ErrorOC = True + If Not ObjCompras.UpdateCompraFactura(CveCompra, Request("CveFactura").ToEntero, TxtSerie.Text.Trim, TxtFolio.Text.Trim) Then + TieneError = True End If If UsuarioActual.Empresa.UsaAC Then diff --git a/Compras/RepRembolsoComprobaciones.aspx b/Compras/RepRembolsoComprobaciones.aspx index 854a49898..7d3509703 100644 --- a/Compras/RepRembolsoComprobaciones.aspx +++ b/Compras/RepRembolsoComprobaciones.aspx @@ -187,7 +187,7 @@ Excedente   - + diff --git a/Compras/RepRembolsoComprobaciones.aspx.vb b/Compras/RepRembolsoComprobaciones.aspx.vb index 33994b2a3..77316d8e8 100644 --- a/Compras/RepRembolsoComprobaciones.aspx.vb +++ b/Compras/RepRembolsoComprobaciones.aspx.vb @@ -161,64 +161,64 @@ Partial Class Compras_RepRembolsoComprobaciones Dim ObjComp As New ClsCompras() Dim ObjMov As New ClsContabilidad(ObjComp.IniciaTransacSQL) Dim ObjAC As ClsContPAQi = Nothing - If UsuarioActual.Empresa.UsaContabilidad Then - ObjAC = New ClsContPAQi(UsuarioActual.Empresa) - ObjAC.IniciaTransacSQL() - End If + Dim TieneError = False Dim CvePrePoliza As Integer = 0 Dim IdPoliza As Integer = 0 Dim Msg As New StringBuilder - CvePrePoliza = ObjMov.AddPrePolizas("Compras/Registrar", 1, DtDatos(0)("Original").ToString.ToDecimal, DtDatos(0)("Original").ToString.ToDecimal, CveMoneda, TxtFechaUnificacion.Text.Trim.ToDate(), TxtConcepto.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) + Try + CvePrePoliza = ObjMov.AddPrePolizas("Compras/Registrar", 1, DtDatos(0)("Original").ToString.ToDecimal, DtDatos(0)("Original").ToString.ToDecimal, CveMoneda, TxtFechaUnificacion.Text.Trim.ToDate(), TxtConcepto.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) - If CvePrePoliza > 0 AndAlso DdlPersonal.SelectedValue.ToEntero > 0 Then - If Not ObjComp.UnificarComprasPersonal(CvePrePoliza, DdlPersonal.SelectedValue.ToEntero, -1, TxtNumeroReembolso.Text, UsuarioActual.CveEmpresa) Then - TieneError = True - End If - Else - If CvePrePoliza > 0 AndAlso DdlCajaChica.SelectedValue.ToEntero > 0 Then - If Not ObjComp.UnificarComprasPersonal(CvePrePoliza, -1, DdlCajaChica.SelectedValue.ToEntero, TxtNumeroReembolso.Text, UsuarioActual.CveEmpresa) Then + If CvePrePoliza > 0 AndAlso DdlPersonal.SelectedValue.ToEntero > 0 Then + If Not ObjComp.UnificarComprasPersonal(CvePrePoliza, DdlPersonal.SelectedValue.ToEntero, -1, TxtNumeroReembolso.Text, UsuarioActual.CveEmpresa) Then TieneError = True End If Else - TieneError = True - End If - - End If - - If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then - If ObjMov.ValorPolizaDescuadre > 0 Then - GuardaLogAD($"Compras/RepRembolsoComprobaciones - Unificar | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - Alert(ObjMov.MensajePolizaDescuadre, TipoMensaje.MsgError) - TieneError = True - End If - End If - - If Not TieneError Then - Msg.AppendFormat("Se unificaron todas las compras con éxito") - End If - - If UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" AndAlso Not TieneError Then - If ObjAC Is Nothing Then - TieneError = True - End If - - If Not TieneError Then - If Not ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then - TieneError = True - Alert($"Ocurrio un error al contabilizar {ObjMov.AlertaMensaje}", TipoMensaje.MsgAdvertencia) + If CvePrePoliza > 0 AndAlso DdlCajaChica.SelectedValue.ToEntero > 0 Then + If Not ObjComp.UnificarComprasPersonal(CvePrePoliza, -1, DdlCajaChica.SelectedValue.ToEntero, TxtNumeroReembolso.Text, UsuarioActual.CveEmpresa) Then + TieneError = True + End If Else - IdPoliza = ObjMov.ContaIdPoliza + TieneError = True + End If + + End If + + If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then + If ObjMov.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Compras/RepRembolsoComprobaciones - Unificar | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + Alert(ObjMov.MensajePolizaDescuadre, TipoMensaje.MsgError) + TieneError = True End If End If - If IdPoliza > 0 AndAlso Not TieneError Then - Msg.AppendFormat("

Ver Póliza", IdPoliza) + If Not TieneError Then + Msg.AppendFormat("Se unificaron todas las compras con éxito") End If - End If + If UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" AndAlso Not TieneError Then + ObjAC = New ClsContPAQi(UsuarioActual.Empresa) + ObjAC.IniciaTransacSQL() + If Not TieneError Then + If Not ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then + TieneError = True + Alert($"Ocurrio un error al contabilizar {ObjMov.AlertaMensaje}", TipoMensaje.MsgAdvertencia) + Else + IdPoliza = ObjMov.ContaIdPoliza + End If + End If + + If IdPoliza > 0 AndAlso Not TieneError Then + Msg.AppendFormat("

Ver Póliza", IdPoliza) + End If + + End If + Catch ex As Exception + TieneError = True + OnError("Ocurrió un error al unificar las compras", ex) + End Try If Not TieneError Then ObjComp.Commit() diff --git a/Contabilidad/ContabilizacionCompras.aspx.cs b/Contabilidad/ContabilizacionCompras.aspx.cs index 26f9fa1e3..77c08b249 100644 --- a/Contabilidad/ContabilizacionCompras.aspx.cs +++ b/Contabilidad/ContabilizacionCompras.aspx.cs @@ -39,6 +39,7 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas if (!IsPostBack) { TienePermisoVerPoliza = false; + TienePermisoEditar = false; DdlProveedores.setEsWebService(true); DdlProveedores.Attributes.Add("data-metodo", "getproveedores"); if (UsuarioActual.Empresa.UsaContabilidad) @@ -74,7 +75,7 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas else { Alert("Este módulo requiere el uso de Contabilidad.", ModExtensiones.TipoMensaje.MsgAdvertencia); - BtnConsultar.Enabled = false; + // BtnConsultar.Enabled = false; BtnContabilizarCompras.Enabled = false; BtnContabilizarPagos.Enabled = false; BtnContabilizarAnticipos.Enabled = false; diff --git a/Contabilidad/ContabilizacionVentas.aspx.cs b/Contabilidad/ContabilizacionVentas.aspx.cs index 64028ffa4..450020920 100644 --- a/Contabilidad/ContabilizacionVentas.aspx.cs +++ b/Contabilidad/ContabilizacionVentas.aspx.cs @@ -54,7 +54,7 @@ public partial class Contabilidad_ContabilizacionVentas : ClsPaginas else { Alert("Este módulo requiere el uso de Contabilidad.", ModExtensiones.TipoMensaje.MsgAdvertencia); - BtnConsultar.Enabled = false; + //BtnConsultar.Enabled = false; BtnContabilizarVentas.Enabled = false; BtnContabilizarPagos.Enabled = false; BtnContabilizarAnticipos.Enabled = false; diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index dd79a2a08..44105439a 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1051,15 +1051,14 @@ Partial Class General_SaldosIniciales Dim BonificacionUsado As Boolean = If(Row("EmitirBon Usado").ToString.ToUpper = "SI", True, False) Dim LimiteCredito As Decimal = Row("Limite Credito").ToString.ToDecimal - Dim CobranzaCorreo As String = Row("CorreoPago").ToString + Dim CobranzaCorreo As String = Row("CorreoPagos").ToString Dim PlazoCobranza As Integer = Row("Plazo Cobranza").ToString.ToEntero Dim DìaVisita As String = Row("Dia Pago").ToString Dim DiasPagoEspecifico As String = Row("Dìa Visita").ToString Dim CobranzaContacto As String = Row("Encargado Pago").ToString Dim CobranzaTelefono As String = Row("Celular Contacto").ToString.Replace("-", "").Replace(" ", "").Replace("(", "").Replace(")", "") - - + Dim CveUsoCFDI As Integer = If(Row("UsoCFDI").ToString = "", -1, GlobalDTSATUsosCFDI().FiltroPrimeroValor("CveUsoCFDI", String.Format("UsoCFDI = '{0}'", Row("UsoCFDI").ToString)).ToEntero) ' CobranzaContacto = Regex.Replace(CobranzaContacto, "[^0-9]", "") 'Telefono @@ -1169,7 +1168,7 @@ Partial Class General_SaldosIniciales If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, NumExt.ToString, "", Colonia, Poblacion, Poblacion, Estado, Pais, RFC, CodigoPostal, Telefono, Contacto, "", "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, PlazoCobranza, -1, "-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", "", Codigo, LimiteCredito, "", 1, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado, - BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33) Then + BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI) Then ErrorClientes = True RFC.GuardaLog diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index ede60a241..12c73fb0e 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -948,7 +948,7 @@ Partial Class Inventarios_RecepcionAlmacen 'Existencias If TipoMovimiento = 2 Then If ObjInventario.ComprasDevolucionExistenciasGet(CveCompraSurtir) Then - DtExistencias = DtRecepcion + DtExistencias = ObjInventario.DtResultados.Copy Else Alert("No se pudieron cargar las existencias del movimiento de entrada, por lo cual no se podra hacer la devolución.", TipoMensaje.MsgError) BtnGuardar.Enabled = False @@ -2030,9 +2030,9 @@ Partial Class Inventarios_RecepcionAlmacen Dim ObjContaAC As ClsContPAQi = Nothing Dim ObjContaContPAQ As ClsContPAQi = Nothing - 'ENTREGA DIRECTA - Dim CveMovtoSalidaDirecta = -1 - Dim FolioSalidaDirecta = -1 + 'ENTREGA DIRECTA + Dim MovtosSalidaDirecta As New List(Of Integer) + Dim FoliosSalidaDirecta As New List(Of Integer) 'APARTADOS Dim MovtosSalida As New List(Of Integer) @@ -2160,33 +2160,53 @@ Partial Class Inventarios_RecepcionAlmacen 'ENTREGA DIRECTA If EntregaDirecta Then If Not ErrorMovInv Then - Dim CveVenta As Integer = 0 + Dim Dt As DataTable = Nothing If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then If ObjInventario.DtResultados.Rows.Count > 0 Then Dt = ObjInventario.DtResultados - CveVenta = ObjInventario.DtResultados.Rows(0)("CveVenta").ToString.ToEntero End If End If - CveMovtoSalidaDirecta = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 3, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, - CveVenta, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), - MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimiento, Remision:=TxtRemision.Text, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RA/G") - FolioSalidaDirecta = ObjInventario.Folio + 'GENERA UN MOVIMIENTO POR CADA VENTA + For Each DrVenta As DataRow In Dt.FiltraParametros("", DistinctColumns:={"CveVenta"}).Rows + Dim CveMovtoSalidaDirecta As Integer = -1 + Dim FolioSalidaDirecta As Integer = -1 - If Not CveMovtoSalidaDirecta > 0 Then - ErrorMovInv = True - End If + Dim CveVenta As Integer = DrVenta("CveVenta").ToString().ToEntero() - If Not ErrorMovInv AndAlso Dt IsNot Nothing Then - For Each Dr As DataRow In Dt.Rows - If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaDirecta, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then + CveMovtoSalidaDirecta = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 3, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, + CveVenta, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), + MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimiento, Remision:=TxtRemision.Text, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RA/G") + FolioSalidaDirecta = ObjInventario.Folio + + If Not CveMovtoSalidaDirecta > 0 Then + ErrorMovInv = True + Exit For + End If + + If Not ErrorMovInv AndAlso Dt IsNot Nothing Then + For Each Dr As DataRow In Dt.FiltraParametros($"CveVenta={CveVenta}").Rows + If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaDirecta, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then + ErrorMovInv = True + Exit For + End If + Next + End If + + If Not ErrorMovInv Then + If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ) Then ErrorMovInv = True Exit For End If - Next - End If + End If + + If Not ErrorMovInv Then + MovtosSalidaDirecta.Add(CveMovtoSalidaDirecta) + FoliosSalidaDirecta.Add(FolioSalidaDirecta) + End If + Next If Not ErrorMovInv Then If Not ObjInventario.LimpiaEntregaDirecta(CveMovimiento) Then @@ -2194,12 +2214,6 @@ Partial Class Inventarios_RecepcionAlmacen End If End If - If Not ErrorMovInv Then - If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ) Then - ErrorMovInv = True - End If - End If - End If End If @@ -2743,13 +2757,21 @@ Partial Class Inventarios_RecepcionAlmacen Dim Msg As New StringBuilder Dim link As String = String.Format("{1}", CveMovimiento, InvFolio) Msg.AppendFormat("Movimiento Registrado: Folio: {0}", link) - Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento))) - - 'ENTREGA DIRECTA - If CveMovtoSalidaDirecta > 0 Then + Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento))) + + 'If CveMovtoSalidaDirecta > 0 Then + ' Msg.AppendFormat("

Movimientos de control:
") + ' link = String.Format("{1}", CveMovtoSalidaDirecta, FolioSalidaDirecta) + ' Msg.AppendFormat("Movimiento de Salida Folio: {0}", link) + 'End If + + 'ENTREGA DIRECTA + If MovtosSalidaDirecta.Count > 0 Then Msg.AppendFormat("

Movimientos de control:
") - link = String.Format("{1}", CveMovtoSalidaDirecta, FolioSalidaDirecta) - Msg.AppendFormat("Movimiento de Salida Folio: {0}", link) + For index = 0 To MovtosSalidaDirecta.Count - 1 + link = String.Format("{1}", MovtosSalidaDirecta(index), FoliosSalidaDirecta(index)) + Msg.AppendFormat("
Movimiento de Salida Folio: {0}", link) + Next End If 'APARTADO diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index 353a1cc8d..2a14c8eac 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -130,7 +130,11 @@
- + +
+
+ +
@@ -139,7 +143,7 @@
- +
@@ -968,7 +972,7 @@
-
+
@@ -977,7 +981,7 @@
-
+
diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index c9dafd4a1..cef5c28f6 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -317,7 +317,6 @@ Partial Class Inventarios_RecepcionUsados ViewState("DtPorcentajeMarcas") = value End Set End Property - #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load @@ -346,7 +345,7 @@ Partial Class Inventarios_RecepcionUsados TxtFecha.Text = Now.ToShortDateString TxtFechaPendientes.Text = Now.ToShortDateString RVFecha.MaximumValue = Now.ToShortDateString - InicializaClientes() + InicializaClientes(False) 'si viene una parámetro para cargar un movimiento lo hacemos dentro del procedimiento cargadatos Select Case UsuarioActual.Empresa.Funcionalidad(103) @@ -1148,7 +1147,7 @@ Partial Class Inventarios_RecepcionUsados 'si es selectedvalue = 42, es entrada ,3 -salida Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 42, 1, 2) - If RBLOpcion.SelectedValue.ToEntero = 42 AndAlso EsDistribuidor AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then + If EsDistribuidor AndAlso RBLOpcion.SelectedValue.ToEntero = 42 AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then If Not ObjAcum.DistribuidorMovtosAdd(DdlClientes.SelectedValue.ToEntero, Dr("Cantidad").ToString.ToEntero(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then @@ -1706,9 +1705,9 @@ Partial Class Inventarios_RecepcionUsados #Region "DDL CLIENTE / CLIENTE SUCURSAL - SELECTED INDEX CHANGED" - Private Sub InicializaClientes() + Private Sub InicializaClientes(Todos As Boolean) - DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros("EsDistribuidor = 1") + DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(If(Todos, "", "EsDistribuidor = 1")) DdlClientes.DataBind() DdlClientes.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlClientes.SelectedValue = "-1" @@ -2781,4 +2780,9 @@ Partial Class Inventarios_RecepcionUsados End Sub #End Region + Protected Sub SeleccionarTipoDeClientes(sender As Object, e As EventArgs) + DdlClientes.Items.Clear() + InicializaClientes(ChkClientesTodos.Checked) + End Sub + End Class diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 3be76f987..5544fcf6a 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -787,7 +787,7 @@ Partial Class Inventarios_TraspasoAlmacen CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, CveChofer:=If(ChkTransitorio.Checked, DdlChofer.SelectedValue.ToEntero, -1), Placa:=If(ChkTransitorio.Checked, TxtPlaca.Text.Trim, "-1"), FechaEntrega:=If(ChkTransitorio.Checked, TxtFechaEntrega.Text.Trim.ToDateTime.ToString("dd/MM/yyyy"), "-1"), EspecifUnidad:=If(ChkTransitorio.Checked, TxtEspecifUnidad.Text.Trim, "-1"), ResponsableCarga:=If(ChkTransitorio.Checked, TxtResponsableCarga.Text.Trim, "-1"), ResponsableRecibio:=If(ChkTransitorio.Checked, TxtResponsableRecibio.Text.Trim, "-1"), Identificacion:=If(ChkTransitorio.Checked, TxtIdentificacion.Text.Trim, "-1"), Domicilio:=If(ChkTransitorio.Checked, TxtDomicilio.Text.Trim, "-1"), - Telefono:=If(ChkTransitorio.Checked, TxtTelefono.Text.Trim, "-1"), Ciudad:=If(ChkTransitorio.Checked, TxtCiudad.Text.Trim, "-1"), Licencia:=If(ChkTransitorio.Checked, TxtLicencia.Text.Trim, "-1"), Modulo:="TA/G") + Telefono:=If(ChkTransitorio.Checked, TxtTelefono.Text.Trim, "-1"), Ciudad:=If(ChkTransitorio.Checked, TxtCiudad.Text.Trim, "-1"), Licencia:=If(ChkTransitorio.Checked, TxtLicencia.Text.Trim, "-1"), Modulo:="TA/G2") FolioSalida = ObjInventario.Folio Folio = ObjInventario.Folio If CveMovimientoSalida <= 0 Then @@ -852,7 +852,7 @@ Partial Class Inventarios_TraspasoAlmacen AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero) CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"), - CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G") + CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3") FolioEntrada = ObjInventario.Folio If CveMovimientoEntrada <= 0 Then TextoError = "Ocurrió un error al generar el movimiento de entrada" @@ -915,7 +915,7 @@ Partial Class Inventarios_TraspasoAlmacen If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then Dim resultado As DataTable = ObjInventario.DtResultados - Dim importe As Decimal = resultado.SUMD("Total") + Dim importe As Decimal = resultado.SUMD("Total").RoundSQL Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero Dim Contabilizable As Boolean = True @@ -940,7 +940,7 @@ Partial Class Inventarios_TraspasoAlmacen If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then Dim resultado As DataTable = ObjInventario.DtResultados - Dim importe As Decimal = resultado.SUM("Total").ToDecimal + Dim importe As Decimal = resultado.SUMD("Total").RoundSQL Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then @@ -1039,7 +1039,7 @@ Partial Class Inventarios_TraspasoAlmacen 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, CveConceptoInventario, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, ""), - GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, Modulo:="TA/G") + GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, Modulo:="TA/G4") Dim FolioMov As Integer = ObjInventario.Folio If CveMovimiento <= 0 Then @@ -1508,96 +1508,121 @@ Partial Class Inventarios_TraspasoAlmacen If Not GvDatosRecepcion.Rows.Count > 0 Then Alert("No hay movimientos para el traspaso", TipoMensaje.MsgAdvertencia) Exit Sub - End If + End If + + Dim CveMovimientoEntrada As Integer = 0 + Dim Folio As Integer = 0 + Dim ErrorMovInv As Boolean = False + Dim TextoError As String = "" + Dim Fecha As Date = TxtFechaRecepcion.Text.ToDate Dim ObjInventario As New ClsInventarios Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL()) ObjInventario.IniciaTransacSQL() - Dim CveMovimientoEntrada As Integer = 0 - Dim Folio = 0 - Dim ErrorMovInv As Boolean = False - Dim TextoError = "" - Dim Fecha As Date = TxtFechaRecepcion.Text.ToDate - - CveMovimientoEntrada = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, - Observaciones:=TxtObservacionesRecepcion.Text.Trim, Recibio:=TxtRecibio.Text, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, - CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G") - - Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, TxtObservacionesRecepcion.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - If CvePrePoliza <= 0 Then - TextoError = "No se pudo generar la Poliza para la cancelacion" - ErrorMovInv = True - End If - - Folio = ObjInventario.Folio - - If CveMovimientoEntrada <= 0 And Not ErrorMovInv Then - TextoError = "No se pudo generar el movimiento de entrada correctamente" - ErrorMovInv = True - Else - Dim CveMovimientoDetalleSalida As Integer = 0 - Dim importe As Double = 0 - If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then - For Each Dr As DataRow In ObjInventario.DtResultados.Rows - CveMovimientoDetalleSalida = Dr("CveMovimientoDetalle").ToString.ToEntero - Dim Cantidad As Double = Dr("Cantidad").ToString.ToDouble - Dim PrecioUnitario As Double = Dr("PU").ToString.ToDouble - If CveMovimientoDetalleSalida <= 0 Then - ErrorMovInv = True - TextoError = "Ocurrió un error al guardar los movimientos de salida" - Exit For - End If - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PrecioUnitario, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=CveMovimientoDetalleSalida) Then - ErrorMovInv = True - TextoError = "Ocurrió un error al guardar los movimientos de entrada" - Exit For - End If - importe += Cantidad * PrecioUnitario - Next - - End If - If Not ErrorMovInv Then - Dim ImporteDecimal As Decimal = importe.ToDecimal - Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero + Try + CveMovimientoEntrada = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, + Observaciones:=TxtObservacionesRecepcion.Text.Trim, Recibio:=TxtRecibio.Text, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, + CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/C") + If CveMovimientoEntrada <= 0 Then + TextoError = "No se pudo generar el movimiento" + ErrorMovInv = True + End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteDecimal, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, - CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImporteDecimal) Then + Dim CvePrePoliza As Integer = -1 + Dim Concepto As String = TxtObservacionesRecepcion.Text + If Concepto = "" Then Concepto = "Cancelación Traspaso" + + If Not ErrorMovInv Then + Folio = ObjInventario.Folio + CvePrePoliza = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If CvePrePoliza <= 0 Then + TextoError = "No se pudo generar la Poliza para la cancelación" ErrorMovInv = True End If + End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, - CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImporteDecimal) Then + If CveMovimientoEntrada <= 0 And Not ErrorMovInv Then + TextoError = "No se pudo generar el movimiento de entrada correctamente" + ErrorMovInv = True + Else + Dim CveMovimientoDetalleSalida As Integer = 0 + Dim importe As Double = 0 + If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then + For Each Dr As DataRow In ObjInventario.DtResultados.Rows + CveMovimientoDetalleSalida = Dr("CveMovimientoDetalle").ToString.ToEntero + Dim Cantidad As Double = Dr("Cantidad").ToString.ToDouble + Dim PrecioUnitario As Double = Dr("PU").ToString.ToDouble + If CveMovimientoDetalleSalida <= 0 Then + ErrorMovInv = True + TextoError = "Ocurrió un error al guardar los movimientos de salida" + Exit For + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PrecioUnitario, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=CveMovimientoDetalleSalida) Then + ErrorMovInv = True + TextoError = "Ocurrió un error al guardar los movimientos de entrada" + Exit For + End If + importe += Cantidad * PrecioUnitario + Next + Else ErrorMovInv = True - End If - End If - - End If - - If Not ErrorMovInv Then - ObjInventario.Commit() - - TxtRecibio.Text = "" - TxtFechaRecepcion.Text = Now.ToShortDateString - TxtObservacionesRecepcion.Text = "" - - Dim Mensaje As StringBuilder = New StringBuilder - Mensaje.AppendFormat("Se realizo correctamente la cancelación.
Folio de Entrada: {0}", Folio, CveMovimientoEntrada) - Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) 'onclick='ImprimirTraslado()' - - Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) - - DivCodigoSeriePSRecepcion.Visible = False - - GvDatosRecepcion.DataBind() - UpDatosRecepcion.Update() - UPDatosAlmacen.Update() - Else - ObjInventario.RollBack() - ObjConta.RollBack() - Alert(TextoError, TipoMensaje.MsgError) - End If + TextoError = "Ocurrió un error al obtener los movimientos de salida" + End If + + If Not ErrorMovInv Then + Dim ImporteDecimal As Decimal = importe.ToDecimal.RoundSQL + Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteDecimal, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, + CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImporteDecimal) Then + ErrorMovInv = True + TextoError = "Ocurrió un erro al cancelar el traspaso" + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, + CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImporteDecimal) Then + ErrorMovInv = True + TextoError = "Ocurrió un erro al cancelar el traspaso" + End If + End If + + End If + + Catch ex As Exception + ErrorMovInv = True + TextoError = "Ocurrió un erro al cancelar el traspaso" + OnError(TextoError, ex) + End Try + + If Not ErrorMovInv Then + ObjInventario.Commit() + + TxtRecibio.Text = "" + TxtFechaRecepcion.Text = Now.ToShortDateString + TxtObservacionesRecepcion.Text = "" + + Dim Mensaje As StringBuilder = New StringBuilder + Mensaje.AppendFormat("Se realizo correctamente la cancelación.
Folio de Entrada: {0}", Folio, CveMovimientoEntrada) + Mensaje.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) 'onclick='ImprimirTraslado()' + + Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) + + DivCodigoSeriePSRecepcion.Visible = False + + GvDatosRecepcion.DataBind() + UpDatosRecepcion.Update() + UPDatosAlmacen.Update() + Else + ObjInventario.RollBack() + + Alert(TextoError, TipoMensaje.MsgError) + End If + ObjConta.Dispose() ObjInventario.Dispose() + CargaRecepcion() End Sub @@ -1648,7 +1673,7 @@ Partial Class Inventarios_TraspasoAlmacen 'AGREGAMOS LA ENTRADA CveMovimientoSalida = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, - Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G") + Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G1") Folio = ObjInventario.Folio If CveMovimientoSalida <= 0 Then @@ -1708,7 +1733,7 @@ Partial Class Inventarios_TraspasoAlmacen If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then Dim resultado As DataTable = ObjInventario.DtResultados - Dim importe As Decimal = resultado.SUM("Total").ToDecimal + Dim importe As Decimal = resultado.SUMD("Total").RoundSQL Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index ba8db1c2f..a5dc43c1e 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -1058,6 +1058,32 @@
+
+
+
+ + Cuentas y conceptos +
+
+
+
+
+
+
+
+ + + + + + + + + + +
+
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index d37ad69e5..2c9b38da2 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -778,7 +778,7 @@ Partial Class Clientes If Request("ATI") IsNot Nothing AndAlso IsNumeric(Request("ATI")) Then Tab.ActiveTabIndex = Request("ATI").ToEntero End If - + CargaCuentasyConceptos() Else 'Configuración de Modalidad Insert @@ -1037,6 +1037,15 @@ Partial Class Clientes DdlMonedaExtranjeraAnticipos.Attributes.Add("onclick", "CargaCuentas(9);") End Sub + Private Sub CargaCuentasyConceptos() + Dim ObjConta As New ClsContabilidad + If ObjConta.GetCuentasyConceptos(CveCliente) Then + GvCuentasContable.DataSource = ObjConta.DtResultados + End If + ObjConta.Dispose() + GvCuentasContable.DataBind() + UpCuentaConceptos.Update() + End Sub Protected Sub BtnCargarCuentas_Click(sender As Object, e As EventArgs) Handles BtnCargarCuentas.Click If UsuarioActual.Empresa.ServerContPAQi = "" Then Exit Sub @@ -1862,8 +1871,9 @@ Partial Class Clientes Private Sub CargaComboCFDI() DdlUsoCFDI.Items.Clear() DdlUsoCFDI.DataSource = GlobalDTSATUsosCFDI(UsuarioActual.Empresa.EsPersonaFisica) - DdlUsoCFDI.DataBind() - + DdlUsoCFDI.DataBind() + DdlUsoCFDI.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlSucursalUsoCFDI.Items.Clear() DdlSucursalUsoCFDI.DataSource = GlobalDTSATUsosCFDI(UsuarioActual.Empresa.EsPersonaFisica) DdlSucursalUsoCFDI.DataBind() diff --git a/Ventas/ClientesAbonar.aspx b/Ventas/ClientesAbonar.aspx index 28a85c533..d23679560 100644 --- a/Ventas/ClientesAbonar.aspx +++ b/Ventas/ClientesAbonar.aspx @@ -648,7 +648,8 @@ $get('LbImporteMN').innerHTML = '$ ' + FormatoNumero(SumaConversion, 2) + ' MXN'; } } - function FnSeleccionaNC(chk, chkNC) + + function FnSeleccionaNC(chk, chkNC,txtImporte) { if (chk.checked) { chkNC.disabled = false; @@ -659,6 +660,11 @@ chkNC.click(); } } + txtImporte.disabled = chkNC.checked; + } + + function FnEditarImporte(chkNC, txtImporte) { + txtImporte.disabled = chkNC.checked; } function FnLimites(chk, txt, limiteInferior, limiteSuperior) { diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index e6545ee13..fa1d019a5 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -616,7 +616,7 @@ Partial Class Ventas_ClientesAbonar End Select If e.Row.DBCampo("DescuentoProntoPago").ToDecimal() > 0 Then - e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1}); FnCambia({2},this,{1},0,{3},{4}); FnSeleccionaNC({5},{6});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCCheckBox("Chk").ClientID, CveMonedaFiltro, moneda, e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("ChkGenerarNC").ClientID)) + e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1}); FnCambia({2},this,{1},0,{3},{4}); FnSeleccionaNC({5},{6},{0});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCCheckBox("Chk").ClientID, CveMonedaFiltro, moneda, e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("ChkGenerarNC").ClientID)) Else e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1}); FnCambia({2},this,{1},0,{3},{4});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCCheckBox("Chk").ClientID, CveMonedaFiltro, moneda)) End If @@ -644,10 +644,9 @@ Partial Class Ventas_ClientesAbonar e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Saldo") End If - If e.Row.DBCampo("DescuentoProntoPago").ToDecimal() > 0 Then + If e.Row.DBCampo("DescuentoProntoPago").ToDecimal() > 0 AndAlso e.Row.DBCampo("DiasVencidos").ToEntero() <= 0 Then e.Row.FCCheckBox("ChkGenerarNC").Visible = True - e.Row.FCCheckBox("ChkGenerarNC").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1}); FnCambia({2},this,{1},0,{3},{4});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo").ToDecimal - e.Row.DBCampo("DescuentoProntoPago").ToDecimal, e.Row.FCCheckBox("ChkGenerarNC").ClientID, CveMonedaFiltro, moneda)) - + e.Row.FCCheckBox("ChkGenerarNC").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1}); FnCambia({2},this,{1},0,{3},{4}); FnEditarImporte({2}, {0});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo").ToDecimal - e.Row.DBCampo("DescuentoProntoPago").ToDecimal, e.Row.FCCheckBox("ChkGenerarNC").ClientID, CveMonedaFiltro, moneda)) End If Else @@ -1540,12 +1539,26 @@ Partial Class Ventas_ClientesAbonar If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If MsgError = "" Then If ListaFacturasGenerarNC.Count > 0 Then - Dim Resp = GenerarNC(ObjIE.IniciaTransacSQL(), ObjConta, ListaFacturasGenerarNC) - If Resp.CveVenta > 0 Then - NCGeneradas.Add(Resp) - Else - MsgError = "No se pudo generar la nota de credito" + For Each Fac As Modelos.Factura In ListaFacturasGenerarNC + Dim ListaNC As New List(Of Modelos.Factura) + ListaNC.Add(Fac) + + Dim Resp As Modelos.Factura.MMensajeFactura = GenerarNC(ObjIE.IniciaTransacSQL(), ObjConta, ListaNC) + + If Resp.CveVenta > 0 Then + NCGeneradas.Add(Resp) + Else + MsgError = "No se pudo generar la nota de crédito" + Exit For + End If + Next + + If MsgError = "" Then + If NCGeneradas.Count <> ListaFacturasGenerarNC.Count Then + MsgError = "No se generaron las notas de crédito seleccionadas" + End If End If + End If End If End If @@ -1641,21 +1654,14 @@ Partial Class Ventas_ClientesAbonar If ObjConta IsNot Nothing Then ObjConta.Commit() Dim StrMsg As New StringBuilder - StrMsg.Append("Abono Registrado Correctamente.
") - StrMsg.AppendFormat("Folio {1}", CveIE, ObjIE.Folio) + StrMsg.AppendFormat("Abono Registrado Correctamente. Folio {1}
", CveIE, ObjIE.Folio) - If IDPoliza > 0 Then StrMsg.AppendFormat("
Poliza: {1}", IDPoliza, FolioPoliza) + If IDPoliza > 0 Then StrMsg.AppendFormat("Poliza: {1}
", IDPoliza, FolioPoliza) Dim TextoComplementoPago = EmitirComplementoPago(CveIE, CveVentasPago, SeriesPago) - Dim SbMensaje As New StringBuilder - SbMensaje.Append(String.Format("Abono Registrado Correctamente.

Poliza: {1}

{2}", IDPoliza, FolioPoliza, TextoComplementoPago)) - For Each NC In NCGeneradas - For Each msg In NC.Mensajes - StrMsg.Append(msg) - Next - StrMsg.Append("
") + StrMsg.AppendFormat("Nota de crédito generada correctamente.

Folio: {1}
", NC.CveVenta, NC.SerieFolio) Next Alert($"{StrMsg.ToString}

{TextoComplementoPago}", TipoMensaje.MsgInformacion, If(ChkSeguirRegistrando.Checked, "location.href =""#""", "location.href =""/Bancos/RepCxCCliente.aspx""")) @@ -1680,7 +1686,7 @@ Partial Class Ventas_ClientesAbonar #Region " N O T A - D E - C R E D I T O" - Private Function GenerarNC(Trasac As SqlClient.SqlTransaction, ObjConta As ClsContPAQi, ListaVentasGenerarNC As List(Of Modelos.Factura)) As Modelos.Factura.MMensajeFactura + Private Function GenerarNC(SqlTransaccion As SqlClient.SqlTransaction, ObjConta As ClsContPAQi, ListaVentasGenerarNC As List(Of Modelos.Factura)) As Modelos.Factura.MMensajeFactura Dim ObjFacturaDevolucion = New Modelos.Factura(UsuarioActual) ObjFacturaDevolucion.TipoMensajeRespuesta = Modelos.TipoMensajeRespuesta.HTML ObjFacturaDevolucion.CveUsuario = UsuarioActual.CveUsuario @@ -1844,8 +1850,8 @@ Partial Class Ventas_ClientesAbonar DtVentasNC.AcceptChanges() ObjFacturaDevolucion.DtVentasNC = DtVentasNC - 'ObjFacturaDevolucion.GenerarPDFFactura = True - Dim Resp = ObjFacturaDevolucion.EmitirFactura(False, Transac:=Trasac, ObjContPaqTransac:=ObjConta) + + Dim Resp = ObjFacturaDevolucion.EmitirFactura(False, Transac:=SqlTransaccion, ObjContPaqTransac:=ObjConta) ObjFacturaDevolucion.Dispose() @@ -2370,7 +2376,12 @@ Partial Class Ventas_ClientesAbonar #End Region #Region " COMPLEMENTOS PAGO " - Private Function EmitirComplementoPago(CveIE As Integer, CveVentas As List(Of Integer), Series As List(Of String)) As String + Private Function EmitirComplementoPago(CveIE As Integer, CveVentas As List(Of Integer), Series As List(Of String)) As String + + If Not UsuarioActual.Empresa.FacturaProduccion Then + Return "" + End If + If Not ChkComplementoPago.Checked Then Return "" End If diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index d60fe016f..71004d7e2 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="Ventas - Facturación" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PV.aspx.vb" Inherits="PV" EnableEventValidation="false" %> +<%@ Page Title="Ventas - Facturación" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PV.aspx.vb" Inherits="PV" EnableEventValidation="false"%> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> <%--Necesario para el modal que no se cierra--%> @@ -621,7 +621,8 @@ - + <%--0--%> @@ -1331,12 +1332,18 @@
- + + + +
+ + +
@@ -2556,7 +2563,7 @@ - + -