-- VISTA para dev de almacen

This commit is contained in:
2024-12-27 15:45:06 -07:00
parent 6ce6828748
commit da3cab609c
2 changed files with 17 additions and 236 deletions

View File

@@ -5161,7 +5161,7 @@
</div>
<div id="DivDevolucion" class="modal fade">
<div class="modal-dialog">
<div class="modal-dialog" style="width: 750px;">
<asp:UpdatePanel ID="UPPSolDev" runat="server" class="modal-content rowpadding" tabindex="-1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
@@ -5174,7 +5174,6 @@
<asp:CheckBox runat="server" ID="ChkEsDevolucionDevInv" Text="Es Temporal" Visible="false" />
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:GridView ID="GvSolDev" runat="server" AutoGenerateColumns="false" GridLines="none" BorderWidth="0"
DataKeyNames="Cantidad,CveCompraDetalle,CvePS,PU,CveUM,CodigoPS"
@@ -5190,7 +5189,8 @@
<asp:BoundField DataField="Cantidad" HeaderText="Total" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.######}" />
<asp:BoundField DataField="UM" HeaderText="UM" />
<asp:BoundField DataField="CodigoPS" HeaderText="Producto" />
<asp:BoundField DataField="Total" DataFormatString="{0:#,##0.00####}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PU" DataFormatString="{0:#,##0.00####}" HeaderText ="PU" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Total" DataFormatString="{0:#,##0.00####}" HeaderText="Total" ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
</div>

View File

@@ -19179,12 +19179,12 @@ Partial Class Compras_Compras
For Each gvr As GridViewRow In GvSolDev.Rows
Dim Canidad As Decimal = gvr.FCTextBox("TxtCant").Text.ToDecimal
Dim Cantidad As Decimal = gvr.FCTextBox("TxtCant").Text.ToDecimal
Dim PU As Decimal = gvr.DataKey("PU").ToDecimal
If gvr.FCTextBox("TxtCant").Text.ToDecimal > 0 Then
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 0, UsuarioActual.CveUsuario, CantidadDevolucion:=gvr.FCTextBox("TxtCant").Text.ToDecimal)
ImporteCompra = ImporteCompra + ((PU * Canidad))
ImporteCompra = ImporteCompra + ((PU * Cantidad))
Else
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 1, UsuarioActual.CveUsuario, CantidadDevolucion:=0)
End If
@@ -19192,12 +19192,8 @@ Partial Class Compras_Compras
Next
End If
ImporteRNC = ImporteCompra
ImporteRNC = ImporteCompra.RoundSQL
If ObjCompras.UpdateEstatusAlmacen(CveCompra, If(EstatusAlmacen = 1, 0, 1), UsuarioActual.CveUsuario) Then
EstatusAlmacen = If(EstatusAlmacen = 1, 0, 1)
Alert(If(EstatusAlmacen = 1, "La solicitud de devolución de almacen se guardo correctamente.", "La solicitud de almacen se canceló correctamente."))
End If
If ChkEsDevolucionDevInv.Checked Then
@@ -19253,33 +19249,27 @@ Partial Class Compras_Compras
End If
If Not TieneError AndAlso ObjCompras.UpdateEstatusAlmacen(CveCompra, If(EstatusAlmacen = 1, 0, 1), UsuarioActual.CveUsuario) Then
EstatusAlmacen = If(EstatusAlmacen = 1, 0, 1)
Alert(If(EstatusAlmacen = 1, "La solicitud de devolución de almacen se guardo correctamente.", "La solicitud de almacen se canceló correctamente."))
End If
If Not TieneError Then
ObjCompras.Commit()
Else
Alert("No se pudo registrar la devolución.", TipoMensaje.MsgAdvertencia)
ObjCompras.RollBack()
End If
ObjCompras.Dispose()
InicializaDevolucionAlmacen()
End Sub
Function RegistroInventarioDevTemporal(ByRef transaccion As SqlTransaction, tCveSubProyecto As Integer, CveCompraDRMCRelacionada As Integer, EsCancelacion As Boolean) As Boolean
'Dim CveConceptoInv As Integer = If(OpcionOrigen = 1, 2, 3)
Dim CveConceptoSalida As Integer = If(EsCancelacion, 2, 13)
'Dim CveConceptoEntrada As Integer = 2 'OIC FIXME Ver Con Rene
Dim Respuesta As Boolean = True
'Dim ObjOC As New ClsOC(transaccion)
Dim CveAlmacenOrigen As Integer = -1
'Dim CveAlmacenDestino As Integer = -1
For Each gvRow As GridViewRow In GvInvMov.Rows
CveAlmacenOrigen = gvRow.DataKey("CveAlmacen").ToEntero
@@ -19293,31 +19283,12 @@ Partial Class Compras_Compras
Return False
End If
'CveAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveSubProyecto = {tCveSubProyecto} AND CveTipoAlmacen = 21 ").ToEntero
'If CveAlmacenDestino <= 0 Then
' CveAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen = 21 ").ToEntero
'End If
'If CveAlmacenDestino <= 0 Then
' Alert("Almacén destino de devolución proveedor no esta asignado.")
' Return False
'End If
Dim ObjConta As New ClsContabilidad(transaccion)
Dim ObjInventario As New ClsInventarios(transaccion)
'Dim CveConceptoInv As Integer = If(TipoTermino = 1, 3, 2)
Dim CvePrePolizaSalida As Integer = ObjConta.AddPrePolizas("Comp/InvDevSal", 53, 0, 0, 1, TxtFecha.Text.Replace(",", "").ToDate, $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
'Dim CvePrePolizaEntrada As Integer = ObjConta.AddPrePolizas("Comp/InvDevEnt", 53, 0, 0, 1, TxtFecha.Text.Replace(",", "").ToDate, $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
Dim CvePrePolizaSalida As Integer = ObjConta.AddPrePolizas("Comp/InvDevSal", 53, 0, 0, 1, Now, $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenOrigen, CveConceptoSalida, 1, NowADS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraDRMCRelacionada, -1, tCveSubProyecto, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}",
CveAlmacenDestino:=-1, Modulo:="ComprasDev/1")
Dim FolioMtoSalida As Integer = ObjInventario.Folio
Dim FolioMtoEntrada As Integer = 0 'Se asigna mas abajo
If CveMovimientoSalida <= 0 OrElse CvePrePolizaSalida <= 0 Then
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError)
@@ -19336,15 +19307,12 @@ Partial Class Compras_Compras
Dim Cantidad As Decimal = gvRow.DataKey("Cantidad").ToDecimal
If Cantidad > 0 Then
Dim CveUM As Integer = gvRow.DataKey("CveUM").ToString.ToEntero
Dim CvePS As Integer = gvRow.DataKey("CvePS").ToString.ToEntero
'Dim CveCompraDetalle As Integer = gvRow.DataKey("CveCompraDetalle").ToEntero' OIC 2024-12-26 se quita relacion
Dim PU As Decimal = gvRow.DataKey("PU").ToDecimal
Dim CodigoPS As String = gvRow.DataKey("CodigoPS")
If UsuarioActual.TienePermisoProceso(114) Or EsCancelacion Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUM, CvePS, PU, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", CveUsuarioModifico:=UsuarioActual.CveUsuario,
CveOrdenCompraDetalle:=-1) Then
@@ -19358,9 +19326,6 @@ Partial Class Compras_Compras
Respuesta = False
Exit For
End If
Cont += 1
End If
@@ -19373,7 +19338,6 @@ Partial Class Compras_Compras
Dim Cantidad As Decimal = gvRow.FCTextBox("TxtCant").Text.ToDecimal
If Cantidad > 0 Then
Dim CveUM As Integer = gvRow.DataKey("CveUM").ToString.ToEntero
Dim CvePS As Integer = gvRow.DataKey("CvePS").ToString.ToEntero
'Dim CveCompraDetalle As Integer = gvRow.DataKey("CveCompraDetalle").ToEntero' OIC 2024-12-26 se quita relacion
@@ -19388,7 +19352,6 @@ Partial Class Compras_Compras
Exit For
End If
Else
If UsuarioActual.TienePermisoProceso(114) Or EsCancelacion Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUM, CvePS, PU, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", CveUsuarioModifico:=UsuarioActual.CveUsuario,
CveOrdenCompraDetalle:=-1) Then
@@ -19402,47 +19365,14 @@ Partial Class Compras_Compras
Respuesta = False
Exit For
End If
End If
Cont += 1
End If
Next
End If
''Se quita entrada
'Dim CveMovimientoEntrada As Integer = ObjInventario.AddMovimiento(CveAlmacenDestino, CveConceptoEntrada, 1, NowADS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, tCveSubProyecto, -1, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}",
' Modulo:="ComprasDev/2", CveMovimientoRelacionado:=CveMovimientoSalida)
'FolioMtoEntrada = ObjInventario.Folio
'If Respuesta AndAlso CveMovimientoEntrada > 0 Then
' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
' For Each dRow As DataRow In ObjInventario.DtResultados.Rows
' Dim Cantidad As Decimal = dRow("Cantidad").ToString.ToDecimal
' If Cantidad > 0 Then
' Dim CveUM As Integer = dRow("CveUM").ToString.ToEntero
' Dim CvePS As Integer = dRow("CvePS").ToString.ToEntero
' Dim CveMovimientoDetalle As Integer = dRow("CveMovimientoDetalle").ToString.ToEntero
' Dim PU As Decimal = dRow("PU").ToString.ToDecimal
' Dim CodigoPS As String = dRow("CodigoPS").ToString
' Dim ImporteConcepto As Decimal = PU
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, CveUM, CvePS, ImporteConcepto, Observaciones:=$"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}", CveUsuarioModifico:=UsuarioActual.CveUsuario,
' CveMovimientoDetalleEntrada:=CveMovimientoDetalle) Then
' Mensaje = "Error al guardar los movimientos"
' Respuesta = False
' Exit For
' End If
' Cont += 1
' End If
' Next
' End If
'End If
'PrePoliza Movmiento de salida
Dim EsContabilizable As Boolean = False
Dim EsContabilizable As Boolean = True
'Registro la prepóliza
If Respuesta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUMD("Total", "").RoundSQL() '* (If(EsCancelacion, -1, 1))
@@ -19451,7 +19381,6 @@ Partial Class Compras_Compras
Dim TipoMovtoAlmacen As Boolean = False
Dim TipoMovtoOtro As Boolean = True
Dim drA2 As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", CveAlmacenOrigen))
If drA2 IsNot Nothing Then
tCveSubProyecto = drA2("CveSubProyecto").ToString.ToEntero
@@ -19463,40 +19392,6 @@ Partial Class Compras_Compras
Dim CveConceptoContable As Integer = 260
Dim CveClasificacion As Integer = -1
Select Case CveConceptoSalida
Case 2, 32
CveConceptoContable = 78
EsContabilizable = True
Case 28, 31
CveConceptoContable = 51
If CveConceptoSalida = 28 Then
''cuando es 28, es otros ingresos.78
CveConceptoContable = 78
End If
EsContabilizable = True
Case 30
CveConceptoContable = 181
TipoMovtoOtro = False
If DdlSubProyecto.Visible = True AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 Then tCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero
Case 34
CveConceptoContable = 51
EsContabilizable = True
Case 13, 29
CveConceptoContable = 69
TipoMovtoOtro = True
'tValorOtro = -tValorOtro
Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("")
If drr IsNot Nothing Then
CveClasificacion = drr("CveClasificacion").ToString.ToEntero
End If
Case 3
CveConceptoContable = 51
EsContabilizable = True
Case Else
CveConceptoContable = 95
End Select
'2-78
Dim Obs As String = $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}"
@@ -19511,137 +19406,23 @@ Partial Class Compras_Compras
Respuesta = False
End If
Next
'If CveConceptoContable.Contiene(181, 78, 51, 69) Then
' Dim Dt As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"}).Copy
' For Each Dr As DataRow In Dt.Rows
' Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL()
' If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, CveConceptoContable, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto) Then
' Respuesta = False
' End If
' Next
'Else
' If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, tValorInventario, tValorInventario, CveConceptoContable, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
' Respuesta = False
' End If
'End If
Else
Respuesta = False
End If
Else
Respuesta = False
End If
''PrePoliza Movmiento de entrada
'If Respuesta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
' Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUMD("Total", "").RoundSQL()
' Dim tValorOtro As Decimal = tValorInventario
' Dim TipoMovtoAlmacen As Boolean = False
' Dim TipoMovtoOtro As Boolean = True
' Dim drA2 As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", CveAlmacenOrigen))
' If drA2 IsNot Nothing Then
' tCveSubProyecto = drA2("CveSubProyecto").ToString.ToEntero
' End If
' Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & CveConceptoEntrada).ToEntero
' If OrigenMov = 1 Then TipoMovtoAlmacen = False Else TipoMovtoAlmacen = True
' TipoMovtoOtro = Not TipoMovtoAlmacen
' Dim CveConceptoContable As Integer = 260
' Dim CveClasificacion As Integer = -1
' Select Case CveConceptoEntrada
' Case 2, 32
' CveConceptoContable = 78
' EsContabilizable = True
' Case 28, 31
' CveConceptoContable = 51
' If CveConceptoEntrada = 28 Then
' ''cuando es 28, es otros ingresos.78
' CveConceptoContable = 78
' End If
' EsContabilizable = True
' Case 30
' CveConceptoContable = 181
' TipoMovtoOtro = False
' If DdlSubProyecto.Visible = True AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 Then tCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero
' Case 34
' CveConceptoContable = 51
' EsContabilizable = True
' Case 13, 29
' CveConceptoContable = 69
' TipoMovtoOtro = True
' tValorOtro = -tValorOtro
' Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("")
' If drr IsNot Nothing Then
' CveClasificacion = drr("CveClasificacion").ToString.ToEntero
' End If
' Case 3
' CveConceptoContable = 51
' EsContabilizable = True
' Case Else
' CveConceptoContable = 95
' End Select
' '2-78
' Dim Obs As String = $"Devolución proveedor {TxtSerie.Text}{TxtFolio.Text}"
' If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaEntrada, TipoMovtoAlmacen, tValorInventario, tValorInventario, 68, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoEntrada, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
' Respuesta = False
' Else
' 'Dim Total As Decimal = 0
' If CveConceptoContable.Contiene(181, 78, 51, 69) Then
' Dim Dt As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"}).Copy
' For Each Dr As DataRow In Dt.Rows
' Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL()
' If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaEntrada, Not TipoMovtoAlmacen, Total, Total, CveConceptoContable, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoEntrada, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto) Then
' Respuesta = False
' End If
' Next
' Else
' If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaEntrada, Not TipoMovtoAlmacen, tValorInventario, tValorInventario, CveConceptoContable, Obs, Obs, CveMovimientoAlmacen:=CveMovimientoEntrada, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
' Respuesta = False
' End If
' End If
' End If
'Else
' Respuesta = False
'End If
End If
If Respuesta Then
Alert($"Movimientos Guardados Correctamente Folio Salida: {FolioMtoSalida}, Folio Entrada: {FolioMtoEntrada}", TipoMensaje.MsgInformacion)
Alert($"Solicitud de devolución guardada. <br/> Folio Salida: <b><a href = '/Inventarios/EntradasSalidas.aspx?CveMovimiento={CveMovimientoSalida}' class='Titulo'>{FolioMtoSalida}</a><b> ", TipoMensaje.MsgInformacion)
End If
Return Respuesta
End Function
'Protected Sub LBDevolucionAlmacen_Click(sender As Object, e As EventArgs)
' Dim ObjCompras As New ClsCompras
' If ObjCompras.UpdateEstatusAlmacen(CveCompra, If(EstatusAlmacen = 1, 0, 1)) Then
' EstatusAlmacen = If(EstatusAlmacen = 1, 0, 1)
' Alert(If(EstatusAlmacen = 1, "La solicitud de devolución de almacen se guardo correctamente.", "La solicitud de almacen se canceló correctamente."))
' End If
' ObjCompras.Dispose()
' InicializaDevolucionAlmacen()
'End Sub
Private Sub HabilitaNCInv()
@@ -22207,7 +21988,7 @@ Partial Class Compras_Compras
#Region "PRONTO PAGO"
Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer,
CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, Serie As String, Folio As String, Optional EsDRMN As Boolean = False) As Boolean
CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, Serie As String, Folio As String, Optional EsDRMN As Boolean = False, Optional TmpListadoPS As DataTable = Nothing) As Boolean
CveCompraDRMC = -1
Dim respuesta As Boolean = True
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
@@ -22241,7 +22022,7 @@ Partial Class Compras_Compras
.NombreProveedor = NombreProveedor,
.Fecha = Fecha,
.CveMoneda = CveMoneda,
.Serie = If(EsDRMN, $"DRNC{Serie}", Serie),
.Serie = If(EsDRMN, $"DRNC-{Serie}", Serie),
.Folio = Folio,
.CveCompraAmortizacion = CveCompraRegistrada
}
@@ -22773,7 +22554,7 @@ Public Class ClsCompraManagerCompras
Public Property AplicoPromocion As Boolean = False
Public Property CveConceptoContableAlmacen As Integer = -1
Public Property NoDeducible As Integer = 0
Public Property CveTipoCompra As Integer = 1
Public Property CveTipoCompra As Integer = -1
Public Property TotalOriginal As Decimal = 0D
Public Property CveTipoConcepto As Integer = 1 'FIX ME Esto tiene que ver con el CveTipoProveedor 1 y 3 es CveTipoConcepto 1 y 2 es CveTipoConcepto 2
Public Property CveSubProyectoPrincipal As Integer = -1