diff --git a/App_Code/ClsContratos.vb b/App_Code/ClsContratos.vb index b5237427d..85d9d1e0d 100644 --- a/App_Code/ClsContratos.vb +++ b/App_Code/ClsContratos.vb @@ -302,7 +302,8 @@ Public Class ClsContratos Geom As String, CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer, Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1, Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1, - Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "") As Integer + Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", + Optional FacturacionCicilica As Boolean = False, Optional FacturacionCiclicaAutomatico As Boolean = False, Optional DiaMesFacturacion As Integer = 1) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_Con_ContratosAdd") @@ -353,7 +354,10 @@ Public Class ClsContratos .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) - .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev + .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev + .Add("@FacturacionCicilica", SqlDbType.Bit).Value = FacturacionCicilica + .Add("@FacturacionCiclicaAutomatico", SqlDbType.Bit).Value = FacturacionCiclicaAutomatico + .Add("@DiaMesFacturacion", SqlDbType.TinyInt).Value = DiaMesFacturacion End With @@ -378,7 +382,8 @@ Public Class ClsContratos CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer, Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1, Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1, - Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "") As Boolean + Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional FacturacionCicilica As Boolean = False, Optional FacturacionCiclicaAutomatico As Boolean = False, + Optional DiaMesFacturacion As Integer = 1) As Boolean Dim Retorno = False DataAdapter("PA_Con_ContratosUpdate") @@ -428,8 +433,10 @@ Public Class ClsContratos .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) - .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev - + .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev + .Add("@FacturacionCicilica", SqlDbType.Bit).Value = FacturacionCicilica + .Add("@FacturacionCiclicaAutomatico", SqlDbType.Bit).Value = FacturacionCiclicaAutomatico + .Add("@DiaMesFacturacion", SqlDbType.TinyInt).Value = DiaMesFacturacion End With Try diff --git a/Inventarios/RepApartados.aspx b/Inventarios/RepApartados.aspx index c9cbef7a0..36216384a 100644 --- a/Inventarios/RepApartados.aspx +++ b/Inventarios/RepApartados.aspx @@ -106,7 +106,7 @@
- + @@ -175,5 +175,29 @@
+ diff --git a/Inventarios/RepApartados.aspx.vb b/Inventarios/RepApartados.aspx.vb index cb2b86a4d..d2d984085 100644 --- a/Inventarios/RepApartados.aspx.vb +++ b/Inventarios/RepApartados.aspx.vb @@ -200,9 +200,10 @@ Partial Class Inventarios_RepApartados End If If e.Row.DBCampo("IDGPO").ToString.ToEntero = 3 Then - If e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then + If DdlSubProyectos.SelectedValue.ToEntero() > 0 AndAlso e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then e.Row.FCTextBox("TxtCantidad").Visible = True e.Row.FCRangeValidator("RVCantidad").Visible = True + e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidad({e.Row.FCTextBox("TxtCantidad").ClientID},{e.Row.DBCampo("Cantidad").ToEntero});") End If End If @@ -271,7 +272,7 @@ Partial Class Inventarios_RepApartados End If If Not GvDatos.Rows.Cast(Of GridViewRow).Any(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Then - Alert("No se ha seleccionado ningun cliente", TipoMensaje.MsgAdvertencia) + Alert("No se ha seleccionado ningun producto para realizar el traspaso", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -298,6 +299,10 @@ Partial Class Inventarios_RepApartados 'CUADRA LOS LOS PRODUCTOS CON LO QUE SE PUEDE DESAPARTAR Dim DtDetalleTraspasar As DataTable = CuadrarMovimientosApartado(CveAlmacenApartado, Row("CveCliente").ToString().ToEntero(), Row("CveVendedor").ToString().ToEntero(), DtPSTraspasar, ObjInventario) + If DtDetalleTraspasar.Rows.Count = 0 Then + ErrorMovInv = True + Mensaje.Append("No se encontraron productos para realizar el traspaso.") + End If DtPSTraspasar.Dispose() Dim MovSalida = GenerarMovimientoAlmacen(CveAlmacenApartado, 8, Row("CveVendedor").ToString().ToEntero(), Row("CveCliente").ToString().ToEntero(), -1, TxtObs.Text.Trim(), DtDetalleTraspasar, ObjInventario, "RepApar/1") @@ -316,8 +321,12 @@ Partial Class Inventarios_RepApartados If Not ErrorMovInv Then EntradasAlmacen.Add(MovEntrada) + Else + Mensaje.Append("No se pudo generar el movimiento de apartado.") End If - + Else + Mensaje.Append("No se pudo generar el movimiento de desapartado.") + Exit For End If Next @@ -367,19 +376,24 @@ Partial Class Inventarios_RepApartados End If If DtRetorno IsNot Nothing Then - For Each RowCantidad As DataRow In DtPSTraspasar.Rows + For Each RowTraspasar As DataRow In DtPSTraspasar.Rows Dim Filtro As New StringBuilder - Filtro.AppendFormat("CvePS={0}", RowCantidad("CvePS")) + Filtro.AppendFormat("CvePS={0}", RowTraspasar("CvePS")) 'SI TIENE SERIE LA AGREGA AL FILTRO - If Not String.IsNullOrEmpty(RowCantidad("Serie").ToString()) Then - Filtro.AppendFormat("AND Serie='{0}'", RowCantidad("Serie")) + If Not String.IsNullOrEmpty(RowTraspasar("Serie").ToString()) Then + Filtro.AppendFormat(" AND Serie='{0}'", RowTraspasar("Serie")) Else - Filtro.AppendFormat("AND ISNULL(Serie,'') = ''") + Filtro.AppendFormat(" AND ISNULL(Serie,'') = ''") + End If + + 'FILTRA EL MOVIMIENTO DE APARTADO ORIGINAL + If Not String.IsNullOrEmpty(RowTraspasar("CveMovimientoDetalleEntrada").ToString()) Then + Filtro.AppendFormat(" AND CveMovimientoDetalle={0}", RowTraspasar("CveMovimientoDetalleEntrada")) End If Dim RowDesapartado As DataRow = DtDesapartado.Select(Filtro.ToString()).FirstOrDefault() - RowDesapartado("Cantidad") = RowCantidad("Cantidad") + RowDesapartado("Cantidad") = RowTraspasar("Cantidad") DtRetorno.Rows.Add(RowDesapartado.ItemArray) Next @@ -396,6 +410,7 @@ Partial Class Inventarios_RepApartados Dt.Columns.Add(New DataColumn("Serie", GetType(String))) Dt.Columns.Add(New DataColumn("CveCliente", GetType(Integer))) Dt.Columns.Add(New DataColumn("CveVendedor", GetType(Integer))) + Dt.Columns.Add(New DataColumn("CveMovimientoDetalleEntrada", GetType(Integer))) For Each GvRow As GridViewRow In GvDatos.Rows.Cast(Of GridViewRow).Where(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Dim Row As DataRow = Dt.NewRow @@ -405,6 +420,7 @@ Partial Class Inventarios_RepApartados Row("Serie") = GvRow.DataKey("Serie") Row("CveCliente") = GvRow.DataKey("CveCliente").ToEntero() Row("CveVendedor") = GvRow.DataKey("CveVendedor").ToEntero() + Row("CveMovimientoDetalleEntrada") = GvRow.DataKey("CveMovimientoDetalleEntrada").ToEntero() Dt.Rows.Add(Row) Next