diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 64e8b39ec..b7434dad4 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -1518,10 +1518,8 @@
-
-
-
-
+
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index e80e88a24..7ca21003d 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1725,7 +1725,7 @@ Partial Class Compras_Compras
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:{0}", ProductosCodigoSATNoPermitidos.ToString)
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."
End If
@@ -13544,10 +13544,6 @@ Partial Class Compras_Compras
'TabOC.Visible = True
'End If
- If Not UsuarioActual.TienePermisoProceso(242) Then
- DdlOCVinculaInv.Items.RemoveAt(2)
- DdlOCVinculaInv.Items.RemoveAt(3)
- End If
End Sub
Protected Sub BtnBuscarOC_Click(sender As Object, e As EventArgs) Handles BtnBuscarOC.Click
@@ -13722,7 +13718,7 @@ Partial Class Compras_Compras
End If
Next
ObjOC.Dispose()
-
+ Dim CveConceptoAlmacenSugerido As String = "205"
'MOVIMIENTOS DE ALMACÉN
Dim ObjInventarios As New ClsInventarios
Dim FoliosOCAlmacen As String = ""
@@ -13730,6 +13726,7 @@ Partial Class Compras_Compras
If ObjInventarios.GetMovimientosOC(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjInventarios.DtResultados.Rows.Count > 0 Then
FoliosOCAlmacen = $"{ObjInventarios.DtResultados.FiltroPrimeroValor("FolioOC")},"
+ CveConceptoAlmacenSugerido = "176"
End If
Else
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
If UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then
DivOCVinculaInv.Visible = True
+ DdlOCVinculaInv.SelectedValueExist(CveConceptoAlmacenSugerido)
End If
'TIPO CAMBIO
@@ -18731,7 +18729,8 @@ Partial Class Compras_Compras
Dim PUCompra As Decimal = 0.0D
Dim CveMoneda As Integer = 1
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
ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString
@@ -18770,22 +18769,29 @@ Partial Class Compras_Compras
Retorno = False
End If
+ Dim DiferenciaInvOCCosto As Decimal = DiferenciaInvOC
+ If TipoMovtoCosto Then DiferenciaInvOCCosto = -DiferenciaInvOC ' cuando es abonado es negativo el valor
+
If CvePrePoliza > 0 Then
- If CveMoneda = 2 Then
- ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
- ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
+ If CveMoneda = 2 Then
+ ImporteME = (DiferenciaInvOC / TCInvOC).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
Exit For
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, 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 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
+ Retorno = False
+ Exit For
+ End If
+ Else
Retorno = False
Exit For
End If
@@ -18794,34 +18800,34 @@ Partial Class Compras_Compras
Exit For
End If
Else
- Retorno = False
- Exit For
- End If
- Else
'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
Retorno = False
Exit For
End If
Else
+ Retorno = False
+ Exit For
+ End If
+ End If
+ If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
Retorno = False
Exit For
End If
- End If
- If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
- Retorno = False
- Exit For
- End If
- 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
- Retorno = False
+ 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
+ Retorno = False
+ End If
End If
End If
End If
- End If
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
Alert("prepóliza de ajuste no registrada.", TipoMensaje.MsgAdvertencia)
Retorno = False
@@ -19135,11 +19141,8 @@ Partial Class Compras_Compras
TrRetIVA.Visible = True
TdRetIVAConcepto.Visible = True
-
TotalOriginal = TxtTotal.Text.ToDecimal
-
-
For Each dRow As DataRow In TmpDT.Rows
If dRow("CvePS").ToString.ToEntero <= 0 Then
Alert("Debe de asignar producto a todas las partidas", TipoMensaje.MsgAdvertencia)