-- vinculación oc

This commit is contained in:
2023-10-30 18:20:04 -07:00
parent f08c296261
commit 02baaa3dd9
2 changed files with 36 additions and 35 deletions

View File

@@ -1518,10 +1518,8 @@
<div class="col-md-6"> <div class="col-md-6">
<asp:DropDownList ID="DdlOCVinculaInv" OnSelectedIndexChanged="DdlOCVinculaInv_SelectedIndexChanged" AutoPostBack="true" Width="300px" runat="server"> <asp:DropDownList ID="DdlOCVinculaInv" OnSelectedIndexChanged="DdlOCVinculaInv_SelectedIndexChanged" AutoPostBack="true" Width="300px" runat="server">
<asp:ListItem Text="Seleccione" Value="-1" Selected="True" /> <asp:ListItem Text="Seleccione" Value="-1" Selected="True" />
<asp:ListItem Text="Mercancía recibida por adelantado" Value="176" /> <asp:ListItem Text="Mercancía recibida por adelantado" Value="176" />
<asp:ListItem Text="Mercancía recibida por adelantado | Sin restricción" Value="0176" /> <asp:ListItem Text="Mercancía pendiente por recibir" Value="205" />
<asp:ListItem Text="Mercancía pendiente por recibir" Value="205" />
<asp:ListItem Text="Mercancía pendiente por recibir | Sin restricción" Value="0205" />
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVOCVinculaInv" runat="server" ControlToValidate="DdlOCVinculaInv" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de recepción almacén''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpVincularOC"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVOCVinculaInv" runat="server" ControlToValidate="DdlOCVinculaInv" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de recepción almacén''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpVincularOC"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEOCVinculaInv" runat="server" HighlightCssClass="vco" TargetControlID="RFVOCVinculaInv" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCEOCVinculaInv" runat="server" HighlightCssClass="vco" TargetControlID="RFVOCVinculaInv" Width="350px"></ajax:ValidatorCalloutExtender>

View File

@@ -1725,7 +1725,7 @@ Partial Class Compras_Compras
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString) Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia) Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso UsuarioActual.CveUsuario <> 1721 Then BtnGuardar.Enabled = False '' solo se activa para el usuario Sara.JAM If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso Not UsuarioActual.CveUsuario.Contiene(1719, 1721) Then BtnGuardar.Enabled = False '' solo se activa para el usuario Sara.JAM
BtnGuardar.ToolTip = "No se permite registrar facturas con conceptos con código '01010101'. Solicite al proveedor un nuevo comprobante." BtnGuardar.ToolTip = "No se permite registrar facturas con conceptos con código '01010101'. Solicite al proveedor un nuevo comprobante."
End If End If
@@ -13544,10 +13544,6 @@ Partial Class Compras_Compras
'TabOC.Visible = True 'TabOC.Visible = True
'End If 'End If
If Not UsuarioActual.TienePermisoProceso(242) Then
DdlOCVinculaInv.Items.RemoveAt(2)
DdlOCVinculaInv.Items.RemoveAt(3)
End If
End Sub End Sub
Protected Sub BtnBuscarOC_Click(sender As Object, e As EventArgs) Handles BtnBuscarOC.Click Protected Sub BtnBuscarOC_Click(sender As Object, e As EventArgs) Handles BtnBuscarOC.Click
@@ -13722,7 +13718,7 @@ Partial Class Compras_Compras
End If End If
Next Next
ObjOC.Dispose() ObjOC.Dispose()
Dim CveConceptoAlmacenSugerido As String = "205"
'MOVIMIENTOS DE ALMACÉN 'MOVIMIENTOS DE ALMACÉN
Dim ObjInventarios As New ClsInventarios Dim ObjInventarios As New ClsInventarios
Dim FoliosOCAlmacen As String = "" Dim FoliosOCAlmacen As String = ""
@@ -13730,6 +13726,7 @@ Partial Class Compras_Compras
If ObjInventarios.GetMovimientosOC(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) Then If ObjInventarios.GetMovimientosOC(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjInventarios.DtResultados.Rows.Count > 0 Then If ObjInventarios.DtResultados.Rows.Count > 0 Then
FoliosOCAlmacen = $"{ObjInventarios.DtResultados.FiltroPrimeroValor("FolioOC")}," FoliosOCAlmacen = $"{ObjInventarios.DtResultados.FiltroPrimeroValor("FolioOC")},"
CveConceptoAlmacenSugerido = "176"
End If End If
Else Else
Alert("Ocurrió un error al cargar los movimientos de almacén de la orden de compra", TipoMensaje.MsgError) Alert("Ocurrió un error al cargar los movimientos de almacén de la orden de compra", TipoMensaje.MsgError)
@@ -13747,6 +13744,7 @@ Partial Class Compras_Compras
' si usa almacen, si tiene activado que reciba por OC, y que si la compra tipo Proveedor. que lo muestre ' si usa almacen, si tiene activado que reciba por OC, y que si la compra tipo Proveedor. que lo muestre
If UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then If UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then
DivOCVinculaInv.Visible = True DivOCVinculaInv.Visible = True
DdlOCVinculaInv.SelectedValueExist(CveConceptoAlmacenSugerido)
End If End If
'TIPO CAMBIO 'TIPO CAMBIO
@@ -18731,7 +18729,8 @@ Partial Class Compras_Compras
Dim PUCompra As Decimal = 0.0D Dim PUCompra As Decimal = 0.0D
Dim CveMoneda As Integer = 1 Dim CveMoneda As Integer = 1
Dim PS As String = "" Dim PS As String = ""
Dim TipoMovtoCosto As Boolean = True Dim TipoMovtoCosto As Boolean = False
If UsuarioActual.CveEmpresa = 119 Then TipoMovtoCosto = True
tCveProveedor = DtInvOCDiferencias.MAX("CveProveedor").ToEntero tCveProveedor = DtInvOCDiferencias.MAX("CveProveedor").ToEntero
ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString
@@ -18770,22 +18769,29 @@ Partial Class Compras_Compras
Retorno = False Retorno = False
End If End If
Dim DiferenciaInvOCCosto As Decimal = DiferenciaInvOC
If TipoMovtoCosto Then DiferenciaInvOCCosto = -DiferenciaInvOC ' cuando es abonado es negativo el valor
If CvePrePoliza > 0 Then If CvePrePoliza > 0 Then
If CveMoneda = 2 Then If CveMoneda = 2 Then
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD() ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD() ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp) Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, -DiferenciaInvOC, -DiferenciaInvOC, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DiferenciaInvOCCosto, DiferenciaInvOCCosto, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then
Retorno = False Retorno = False
Exit For Exit For
End If End If
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then
Retorno = False
Exit For
End If
Else
Retorno = False Retorno = False
Exit For Exit For
End If End If
@@ -18794,34 +18800,34 @@ Partial Class Compras_Compras
Exit For Exit For
End If End If
Else Else
Retorno = False
Exit For
End If
Else
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL '2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, -DiferenciaInvOC, -DiferenciaInvOC, If(ConceptoSalida = 0, 177, 177), SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DiferenciaInvOCCosto, DiferenciaInvOCCosto, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveColectiva:=CveColectiva) Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveColectiva:=CveColectiva) Then
Retorno = False Retorno = False
Exit For Exit For
End If End If
Else Else
Retorno = False
Exit For
End If
End If
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
Retorno = False Retorno = False
Exit For Exit For
End If End If
End If
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
Retorno = False
Exit For
End If
If Retorno Then If Retorno Then
If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then
Retorno = False Retorno = False
End If
End If End If
End If End If
End If End If
End If
Next Next
If Retorno AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
Alert("No se procesaron las diferencias en precio.", TipoMensaje.MsgAdvertencia)
Retorno = False
End If
Else Else
Alert("prepóliza de ajuste no registrada.", TipoMensaje.MsgAdvertencia) Alert("prepóliza de ajuste no registrada.", TipoMensaje.MsgAdvertencia)
Retorno = False Retorno = False
@@ -19135,11 +19141,8 @@ Partial Class Compras_Compras
TrRetIVA.Visible = True TrRetIVA.Visible = True
TdRetIVAConcepto.Visible = True TdRetIVAConcepto.Visible = True
TotalOriginal = TxtTotal.Text.ToDecimal TotalOriginal = TxtTotal.Text.ToDecimal
For Each dRow As DataRow In TmpDT.Rows For Each dRow As DataRow In TmpDT.Rows
If dRow("CvePS").ToString.ToEntero <= 0 Then If dRow("CvePS").ToString.ToEntero <= 0 Then
Alert("Debe de asignar producto a todas las partidas", TipoMensaje.MsgAdvertencia) Alert("Debe de asignar producto a todas las partidas", TipoMensaje.MsgAdvertencia)