Merge branch 'master' of http://agonzalez@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -3061,6 +3061,24 @@ Public Class ClsInventarios
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function GetMovimientosDevoluciones(CveVenta As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Vta_VentaDetalleAlmacenDevolucion")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener datos de devolucion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function GetDevolucionRemisionesFacturadas(CveVenta As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Inv_DevolucionRemisionesFacturadas")
|
||||
|
||||
@@ -967,13 +967,31 @@ Public Class ClsOC
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateOrdenCompraDetalleAjuste(CveOrdenCompra As Integer, CveOrdenCompraDetalle As Integer, Diferencia As Double) As Boolean
|
||||
Public Function UpdateOrdenCompraDetalleAjuste(CveOrdenCompra As Integer, CveOrdenCompraDetalle As Integer, Diferencia As Double, CveUsuarioModifico As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OC_OrdenesCompraDetalleAjusteUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra
|
||||
.Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle
|
||||
.Add("@Diferencia", SqlDbType.Float).Value = Diferencia
|
||||
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al actualizar la Orden de Compra Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateOrdenCompraMoneda(CveOrdenCompra As Integer, CveEmpresa As Integer, CveMoneda As Integer, CveUsuarioModifico As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OC_OrdenesCompraMonedaUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
|
||||
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -3281,7 +3281,7 @@ Namespace Modelos
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
GuardaLog(ex.ToString())
|
||||
GuardaLog("Model.Proceso.PreP-" & ex.ToString())
|
||||
ErrorPrepoliza = True
|
||||
End Try
|
||||
Return ErrorPrepoliza
|
||||
@@ -4340,13 +4340,14 @@ Namespace Modelos
|
||||
End If
|
||||
|
||||
'CUANDO LA CANCELACION ESTA EN PROCESO NO DEBE REALIZAR NADA DE ESTE PROCESO
|
||||
If Not EsRefacturacion AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20) AndAlso CveEstatusRefacturacion = 0 Then
|
||||
If Not ErrorCancelar AndAlso Not EsRefacturacion AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20) AndAlso CveEstatusRefacturacion = 0 Then
|
||||
|
||||
'DEVOLUCION DE ALMACEN
|
||||
If Not ErrorCancelar AndAlso TieneAlmacen Then
|
||||
Dim TieneSalida As Boolean = False
|
||||
Dim DtInventario As DataTable = Nothing
|
||||
Dim DtMovimientos As DataTable = Nothing
|
||||
Dim DtSalidas As DataTable = Nothing
|
||||
Dim DtDevoluciones As DataTable = Nothing
|
||||
Dim DtExistencias As DataTable = Nothing
|
||||
Dim DtRemisionesFacturadas As DataTable = Nothing
|
||||
|
||||
@@ -4375,14 +4376,16 @@ Namespace Modelos
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
|
||||
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
DtInventario = ObjInventario.DtResultados.Copy()
|
||||
DtMovimientos = DtInventario.FiltraParametros($"CvePS IS NULL AND {Filtro}")
|
||||
DtExistencias = DtInventario.FiltraParametros($"CvePS IS NOT NULL AND {Filtro} AND CveTipoPS = 2")
|
||||
TieneSalida = DtExistencias.Rows.Count > 0
|
||||
Else
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
|
||||
If Not ErrorCancelar Then
|
||||
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
DtInventario = ObjInventario.DtResultados.Copy()
|
||||
DtSalidas = DtInventario.FiltraParametros($"CvePS IS NULL AND {Filtro}")
|
||||
DtExistencias = DtInventario.FiltraParametros($"CvePS IS NOT NULL AND {Filtro} AND CveTipoPS = 2")
|
||||
TieneSalida = DtExistencias.Rows.Count > 0
|
||||
Else
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -4390,38 +4393,42 @@ Namespace Modelos
|
||||
If Not ErrorCancelar AndAlso TieneSalida Then
|
||||
|
||||
If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then
|
||||
|
||||
For Each RowMovimiento As DataRow In DtMovimientos.Rows
|
||||
'REALIZA DEVOLUCION A LAS SALIDAS PENDIENTES
|
||||
For Each RowMovimiento As DataRow In DtSalidas.Rows
|
||||
Dim CveConceptoDevolucion As Integer = -1
|
||||
Dim CveAlmacenDevolucion As Integer = -1
|
||||
|
||||
Dim CveMovimientoDevolucion As Integer = 0
|
||||
Dim Folio As Integer = 0
|
||||
|
||||
Select Case RowMovimiento("CveConcepto").ToString().ToEntero()
|
||||
Case 3
|
||||
CveConceptoDevolucion = 18 'DEVOLUCION DEL CLIENTE
|
||||
CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||
Case 40
|
||||
CveConceptoDevolucion = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA
|
||||
'SI TIENE REMISIONES RELACIONADAS
|
||||
If DtRemisionesFacturadas.Rows.Count > 0 Then
|
||||
Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}")
|
||||
Dim CveRemision As Integer = RowRemision("CveRemision").ToString().ToEntero()
|
||||
CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||
''SI TIENE REMISIONES RELACIONADAS
|
||||
'If DtRemisionesFacturadas.Rows.Count > 0 Then
|
||||
' Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}")
|
||||
|
||||
Dim CancelarRemision As Boolean = (ListaRemisionesCancelar IsNot Nothing) AndAlso (ListaRemisionesCancelar.Any(Function(CveRemisionCancelar) CveRemisionCancelar = CveRemision))
|
||||
'SI LA REMISION SE VA A CANCELAR DEBE REGRESAR AL ALMACEN GENERAL
|
||||
If CancelarRemision Then
|
||||
CveAlmacenDevolucion = RowRemision("CveAlmacenDevolucion").ToString().ToEntero()
|
||||
Else
|
||||
CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||
End If
|
||||
Else
|
||||
CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||
End If
|
||||
' Dim CveRemision As Integer = RowRemision("CveRemision").ToString().ToEntero()
|
||||
|
||||
' Dim CancelarRemision As Boolean = (ListaRemisionesCancelar IsNot Nothing) AndAlso (ListaRemisionesCancelar.Any(Function(CveRemisionCancelar) CveRemisionCancelar = CveRemision))
|
||||
|
||||
' 'SI LA REMISION SE VA A CANCELAR DEBE REGRESAR AL ALMACEN GENERAL
|
||||
' If CancelarRemision Then
|
||||
' CveAlmacenDevolucion = RowRemision("CveAlmacenDevolucion").ToString().ToEntero()
|
||||
' Else
|
||||
' CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||
' End If
|
||||
|
||||
'Else
|
||||
' CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||
'End If
|
||||
End Select
|
||||
|
||||
Dim CveMovimientoDevolucion As Integer = 0
|
||||
Dim Folio As Integer = 0
|
||||
|
||||
'VERIFICAR SI YA TIENE UNA DEVOLUCION
|
||||
'SI TIENE SALDO PENDIENTE POR DEVOLVER GENERA UN MOVIMIENTO DE DEVOLUCION
|
||||
If ObjFactura.SaldoAlmacen <> 0 Then
|
||||
'SALIDA DE ALMACEN - SALIDA POR TRASPASO CUANDO ES REMISION - DEVOLUCION (SI ES TRASPASO Y TIENE CONTRATO NO HACE DEVOLUCIóN)
|
||||
CveMovimientoDevolucion = ObjInventario.AddMovimiento(CveAlmacenDevolucion, CveConceptoDevolucion, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1)
|
||||
@@ -4518,30 +4525,15 @@ Namespace Modelos
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
'Else
|
||||
' 'UTILIZA LA DEVOLUCION YA REALIZADA
|
||||
' Dim CveConceptoDevolucion As Integer = 18 'DEVOLUCION DEL CLIENTE
|
||||
' If UsuarioActual.Empresa.Funcionalidad(575) = "1" Then
|
||||
' CveConceptoDevolucion = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA
|
||||
' End If
|
||||
|
||||
' If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
' CveMovimientoDevolucion = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", $"CvePS IS NULL AND CveConcepto = {CveConceptoDevolucion}").ToEntero()
|
||||
' Else
|
||||
' ErrorCancelar = True
|
||||
' MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
|
||||
' End If
|
||||
End If
|
||||
|
||||
|
||||
'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION
|
||||
'SI ES DEVOLUCION DEL CLIENTE DEBE REGRESAR A ENTREGA POR ADELANTADO
|
||||
If CveConceptoDevolucion = 18 Then
|
||||
If Not ErrorCancelar AndAlso RevivirRemisiones Then
|
||||
If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión"
|
||||
End If
|
||||
If Not ErrorCancelar AndAlso CveConceptoDevolucion = 18 AndAlso RevivirRemisiones Then
|
||||
If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión"
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -4556,12 +4548,45 @@ Namespace Modelos
|
||||
|
||||
Next
|
||||
|
||||
'VERIFICA LOS MOVIMIENTOS DE DEVOLUCION YA GENERADOS QUE TENGAN EXISTENCIA EN (ENTREGA POR ADELANTADO)
|
||||
If Not ErrorCancelar Then
|
||||
If ObjInventario.GetMovimientosDevoluciones(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
DtDevoluciones = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 10")
|
||||
Else
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
|
||||
End If
|
||||
End If
|
||||
|
||||
'SI EXISTEN HAY EXISTENCIA EN (ENTREGA POR ADELANTADO) SE TIENE QUE REGRESAR AL ALMACEN GENERAL
|
||||
If Not ErrorCancelar AndAlso ListaRemisionesCancelar IsNot Nothing AndAlso ListaRemisionesCancelar.Count > 0 Then
|
||||
For Each CveRemision As Integer In ListaRemisionesCancelar
|
||||
For Each RowDevolucion As DataRow In DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}", DistinctColumns:={"CveRemision", "CveAlmacen", "CveAlmacenDestino"}).Rows
|
||||
|
||||
Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}")
|
||||
|
||||
CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero()
|
||||
CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero()
|
||||
|
||||
'DEBE REGRESAR LA EXISTENCIA DE (ENTREGA POR ADELANTADO) AL ALMACEN GENERAL
|
||||
If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision, ObjVentas, ObjInventario) Then
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
|
||||
Exit For
|
||||
End If
|
||||
|
||||
DtDevRemision.Dispose()
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
|
||||
'REALIZA LA DEVOLUCION AL ALMACEN VIRTUAL
|
||||
If Not GeneraMovimientosVirtuales(CveVenta, ObjInventario) Then
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
|
||||
End If
|
||||
|
||||
'VERIFICAR MOVIMIENTOS DE APARTADOS
|
||||
If Not ErrorCancelar Then
|
||||
If Not GeneraMovimientosApartados(ObjInventario) Then
|
||||
ErrorCancelar = True
|
||||
@@ -4957,6 +4982,69 @@ Namespace Modelos
|
||||
Return Not ErrorCancelar
|
||||
End Function
|
||||
|
||||
Private Function CancelarMovimientosRemision(CveRemision As Integer, CveAlmacen As Integer, CveAlmacenDestino As Integer, DtMovDetalle As DataTable, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios) As Boolean
|
||||
Dim ErrorCancelar As Boolean = False
|
||||
|
||||
Dim CveMovimientoSalidaDevRem As Integer = 0
|
||||
Dim FolioMovimientoSalidaDevRem As Integer = 0
|
||||
|
||||
Dim CveMovimientoEntradaDevRem As Integer = 0
|
||||
Dim FolioMovimientoEntradaDevRem As Integer = 0
|
||||
|
||||
'SALIDA DE (ENTREGA POR ADELANTADO)
|
||||
CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=CveAlmacenDestino)
|
||||
FolioMovimientoSalidaDevRem = ObjInventario.Folio
|
||||
|
||||
'ENTRADA A (ALMACEN GENERAL)
|
||||
CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=CveAlmacenDestino)
|
||||
FolioMovimientoEntradaDevRem = ObjInventario.Folio
|
||||
|
||||
If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
|
||||
'SALIDA DE (ENTREGA POR ADELANTADO)
|
||||
If Not ErrorCancelar Then
|
||||
For Each DrRem As DataRow In DtMovDetalle.FiltraParametros($"CveRemision = {CveRemision}").Rows
|
||||
Dim CveVentaDetalleRem = DrRem("CveVentaDetalleRemision").ToString.ToEntero
|
||||
Dim CantidadRem = DrRem("Cantidad").ToString.ToDecimal
|
||||
|
||||
If Not CveVentaDetalleRem > 0 Then
|
||||
ErrorCancelar = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, DrRem("Cantidad").ToString.ToDecimal, DrRem("CveUM").ToString.ToEntero, DrRem("CvePS").ToString.ToEntero, DrRem("PU").ToString.ToDecimal, DrRem("CveActivoFijo").ToString.ToEntero, -1, DrRem("SerieLote").ToString, CveVentaDetalle:=CveVentaDetalleRem, Lote:=DrRem("Lote").ToString, Batch:=DrRem("Batch").ToString) Then
|
||||
ErrorCancelar = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If ErrorCancelar Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
'ENTRADA A (ALMACEN GENERAL)
|
||||
If Not ErrorCancelar Then
|
||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDevRem, UsuarioActual.CveEmpresa) Then
|
||||
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then
|
||||
ErrorCancelar = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveRemision) Then
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
|
||||
Return Not ErrorCancelar
|
||||
End Function
|
||||
|
||||
Private Function GeneraMovimientosApartados(ByRef ObjInventario As ClsInventarios) As Boolean
|
||||
Dim ErrorCancelar As Boolean = False
|
||||
If Not ErrorCancelar Then
|
||||
|
||||
@@ -19400,7 +19400,7 @@ Partial Class Compras_Compras
|
||||
Dim PUCompra As Decimal = DrDiferencias("PUCompra").ToString.ToDecimal
|
||||
Dim DiferenciaInvOC As Decimal = DrDiferencias("Diferencia").ToString.ToDecimal
|
||||
If DiferenciaInvOC.RoundSQL() <> 0 Then
|
||||
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra) Then
|
||||
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
@@ -19535,7 +19535,7 @@ Partial Class Compras_Compras
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra) Then
|
||||
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
|
||||
@@ -418,7 +418,7 @@
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<asp:GridView ID="GvInv" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True"
|
||||
DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
|
||||
DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote,AplicaSeccion,AplicaLote,AplicaCaducidad,AplicaSerie" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
|
||||
<HeaderStyle Height="58px" />
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
|
||||
@@ -1109,11 +1109,19 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
TmDT.Columns.Add("PUExtranjero", GetType(Double))
|
||||
TmDT.Columns.Add("CostoIndirectoExtranjero", GetType(Double))
|
||||
TmDT.Columns.Add("Consec", GetType(Integer))
|
||||
TmDT.Columns.Add("CantidadSurtidaPantalla", GetType(Double))
|
||||
TmDT.Columns.Add("AplicaSeccion", GetType(Boolean))
|
||||
TmDT.Columns.Add("AplicaSerie", GetType(Boolean))
|
||||
TmDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
TmDT.Columns.Add("CantidadSurtidaPantalla", GetType(Double))
|
||||
If Not TmDT.Columns.Contains("AplicaSeccion") Then
|
||||
TmDT.Columns.Add("AplicaSeccion", GetType(Double))
|
||||
End If
|
||||
If Not TmDT.Columns.Contains("AplicaSerie") Then
|
||||
TmDT.Columns.Add("AplicaSerie", GetType(Double))
|
||||
End If
|
||||
If Not TmDT.Columns.Contains("AplicaLote") Then
|
||||
TmDT.Columns.Add("AplicaLote", GetType(Double))
|
||||
End If
|
||||
If Not TmDT.Columns.Contains("AplicaCaducidad") Then
|
||||
TmDT.Columns.Add("AplicaCaducidad", GetType(Double))
|
||||
End If
|
||||
If Not TmDT.Columns.Contains("CostoIndirecto") Then
|
||||
TmDT.Columns.Add("CostoIndirecto", GetType(Double))
|
||||
End If
|
||||
@@ -1166,21 +1174,21 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
DtInv = DtInv.FiltraParametros("", "PS")
|
||||
End If
|
||||
|
||||
For Each item As DataRow In DtInv.Rows
|
||||
Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("")
|
||||
If Dr IsNot Nothing Then
|
||||
item("AplicaSeccion") = CBool(Dr("AplicaSeccion"))
|
||||
If CBool(Dr("AplicaSeccion")) Then GvInv.Columns(10).Visible = True
|
||||
item("AplicaSerie") = CBool(Dr("AplicaSerie"))
|
||||
item("AplicaLote") = CBool(Dr("AplicaLote"))
|
||||
If CBool(Dr("AplicaLote")) Then GvInv.Columns(11).Visible = True
|
||||
item("AplicaCaducidad") = CBool(Dr("AplicaCaducidad"))
|
||||
If CBool(Dr("AplicaCaducidad")) Then GvInv.Columns(12).Visible = True
|
||||
If CBool(Dr("AplicaSeccion")) Or CBool(Dr("AplicaLote")) Or CBool(Dr("AplicaCaducidad")) Or CBool(Dr("AplicaSerie")) Then
|
||||
GvInv.Columns(15).Visible = True
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
'For Each item As DataRow In DtInv.Rows
|
||||
' Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("")
|
||||
' If Dr IsNot Nothing Then
|
||||
' item("AplicaSeccion") = CBool(Dr("AplicaSeccion"))
|
||||
' If CBool(Dr("AplicaSeccion")) Then GvInv.Columns(10).Visible = True
|
||||
' item("AplicaSerie") = CBool(Dr("AplicaSerie"))
|
||||
' item("AplicaLote") = CBool(Dr("AplicaLote"))
|
||||
' If CBool(Dr("AplicaLote")) Then GvInv.Columns(11).Visible = True
|
||||
' item("AplicaCaducidad") = CBool(Dr("AplicaCaducidad"))
|
||||
' If CBool(Dr("AplicaCaducidad")) Then GvInv.Columns(12).Visible = True
|
||||
' If CBool(Dr("AplicaSeccion")) Or CBool(Dr("AplicaLote")) Or CBool(Dr("AplicaCaducidad")) Or CBool(Dr("AplicaSerie")) Then
|
||||
' GvInv.Columns(15).Visible = True
|
||||
' End If
|
||||
' End If
|
||||
'Next
|
||||
|
||||
GvInv.DataSource = DtInv
|
||||
GvInv.DataBind()
|
||||
@@ -2824,7 +2832,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al guardar", ex)
|
||||
OnError("Ocurrió un error al guardar RA.", ex)
|
||||
ErrorMovInv = True
|
||||
End Try
|
||||
|
||||
|
||||
@@ -2213,14 +2213,19 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
End If
|
||||
Else
|
||||
ErrorMovInv = True
|
||||
TextoError = "Ocurrió un Error al ingresar la prepoliza"
|
||||
TextoError = "Ocurrió un Error al ingresar la prepoliza.1"
|
||||
End If
|
||||
Else
|
||||
ErrorMovInv = True
|
||||
TextoError = "Ocurrió un Error al ingresar las prepolizas"
|
||||
TextoError = "Ocurrió un Error al ingresar las prepolizas.2"
|
||||
End If
|
||||
|
||||
Else
|
||||
ErrorMovInv = True
|
||||
TextoError = "Ocurrió un Error al ingresar las prepolizas.3"
|
||||
End If
|
||||
Else
|
||||
ErrorMovInv = True
|
||||
TextoError = "Ocurrió un Error al ingresar las prepolizas.4"
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
392
OC/OC.aspx.vb
392
OC/OC.aspx.vb
@@ -6769,7 +6769,7 @@ Partial Class OC
|
||||
If ObjInventarios.DtResultados.Rows.Count > 0 Then
|
||||
DdlMoneda.Enabled = False
|
||||
Dim TipoEstatusTerminado As String = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoTermino", String.Format("CveEstatus = {0}", CboE.SelectedValue))
|
||||
If TipoEstatusTerminado = "1" Then
|
||||
If TipoEstatusTerminado = "3" Then
|
||||
LnkCambiarMoneda.Visible = True
|
||||
End If
|
||||
End If
|
||||
@@ -7684,129 +7684,277 @@ Partial Class OC
|
||||
|
||||
Protected Sub BtnCambiarMoneda_Click() Handles BtnCambiarMoneda.Click
|
||||
Dim ObjInv As New ClsInventarios
|
||||
Dim OC As New ClsOC
|
||||
Dim Err As Boolean = False
|
||||
If ObjInv.GetMovimientos(CveMovimientoAlmacenVenta, -1, -1, UsuarioActual.CveEmpresa) Then
|
||||
Dim TipoMoneda As String = ObjInv.DtResultados.FiltroPrimeroValor("CveMoneda")
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
|
||||
Dim IdCtaContableOC As Integer = 0
|
||||
Dim IdCtaContableOCME As Integer = 0
|
||||
Dim IdCtaContableOCComplementaria As Integer = 0
|
||||
|
||||
If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then
|
||||
IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
End If
|
||||
|
||||
If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then
|
||||
IdCtaContableOCME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
End If
|
||||
|
||||
If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then
|
||||
IdCtaContableOCComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
End If
|
||||
|
||||
Dim LugarEntrega = If(txtLugarEntrega.Text.Trim = "", "-1", txtLugarEntrega.Text.Trim)
|
||||
LugarEntrega = If(DivLugarEntrega1.Visible, LugarEntrega, If(TxtLugarEntregaDirecta.Visible, TxtLugarEntregaDirecta.Text.Trim, ""))
|
||||
|
||||
Dim CveProveedorContacto As Integer = -1
|
||||
|
||||
Dim CveProveedor As Integer = -1
|
||||
If Not ChkCotizacion.Checked OrElse (UsuarioActual.Empresa.Funcionalidad(565) = "1" AndAlso CveConfianzaProveedor > 0) Then
|
||||
CveProveedor = DdlProveedores.SelectedValue.ToEntero
|
||||
CveProveedorContacto = IIf(DdlProveedorContacto.SelectedValue.ToEntero = 0, "-1", DdlProveedorContacto.SelectedValue).ToString.ToEntero
|
||||
End If
|
||||
|
||||
Dim IVA = If(TxtIVA.Visible, TxtIVA.Text.ToDecimal, LblIVA.Text.ToDecimal)
|
||||
|
||||
Dim Promocion = TxtPromocion.Text.Trim
|
||||
|
||||
Dim TCDecimal As Decimal = TxtTCCambioMoneda.Text.ToDecimal
|
||||
Dim TCDouble As Double = TxtTCCambioMoneda.Text.ToDouble
|
||||
|
||||
If TipoMoneda = "2" Then
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
If CvePrePoliza > 0 Then
|
||||
Dim PrimerImporte As Integer = (0 - LblSubTotal.Text.ToDecimal)
|
||||
Dim SegundoImporte As Integer = (0 - LblSubTotal.Text.ToDecimal)
|
||||
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte + SegundoImporte, lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
Err = True
|
||||
Else
|
||||
If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
|
||||
LugarEntrega, 1, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA * TCDecimal), RetIVA:=(TxtRetIVA.Text.ToDecimal * TCDecimal),
|
||||
RetISR:=(TxtRetISR.Text.ToDecimal * TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
|
||||
Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
|
||||
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then
|
||||
Err = True
|
||||
Else
|
||||
For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows
|
||||
If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble * TCDouble), dr("CveSubProyecto").ToString.ToEntero,
|
||||
dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero),
|
||||
(dr("Descuento").ToString.ToDouble * TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble * TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble * TCDouble), IVA:=(dr("IVA").ToString.ToDouble * TCDouble),
|
||||
RetIVA:=(dr("RetIVA").ToString.ToDouble * TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble * TCDouble), Total:=(dr("Total").ToString.ToDouble * TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
|
||||
IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
|
||||
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then
|
||||
Err = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Err = True
|
||||
End If
|
||||
Else
|
||||
Err = True
|
||||
End If
|
||||
End If
|
||||
ElseIf TipoMoneda = "1" Then
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
If CvePrePoliza > 0 Then
|
||||
Dim PrimerImporte As Decimal = Decimal.Round(((LblSubTotal.Text.ToDecimal) / TxtTCCambioMoneda.Text.ToDecimal), 2, MidpointRounding.AwayFromZero)
|
||||
Dim SegundoImporte As Decimal = LblSubTotal.Text.ToDecimal
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, (0 - (PrimerImporte + SegundoImporte)), lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
Err = True
|
||||
Else
|
||||
If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
|
||||
LugarEntrega, 2, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA / TCDecimal),
|
||||
RetIVA:=(TxtRetIVA.Text.ToDecimal / TCDecimal), RetISR:=(TxtRetISR.Text.ToDecimal / TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
|
||||
Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
|
||||
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then
|
||||
Err = True
|
||||
Else
|
||||
For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows
|
||||
If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble / TCDouble), dr("CveSubProyecto").ToString.ToEntero,
|
||||
dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero),
|
||||
(dr("Descuento").ToString.ToDouble / TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble / TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble / TCDouble), IVA:=(dr("IVA").ToString.ToDouble / TCDouble),
|
||||
RetIVA:=(dr("RetIVA").ToString.ToDouble / TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble / TCDouble), Total:=(dr("Total").ToString.ToDouble / TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
|
||||
IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
|
||||
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then
|
||||
Err = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Err = True
|
||||
End If
|
||||
Else
|
||||
Err = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
ObjConta.Dispose()
|
||||
Dim DtInvOC As DataTable = Nothing
|
||||
If ObjInv.GetMovimientosOC(CveOrdenCompra, UsuarioActual.CveEmpresa) Then
|
||||
DtInvOC = ObjInv.DtResultados
|
||||
End If
|
||||
ObjInv.Dispose()
|
||||
If Err Then
|
||||
Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError)
|
||||
Else
|
||||
Alert("Moneda actualizada con exito")
|
||||
|
||||
|
||||
Dim CveMonedaOC As Integer = DdlMoneda.SelectedValue.ToEntero
|
||||
Dim CveProveedor As Integer = DdlProveedores.SelectedValue.ToEntero
|
||||
Dim ProveedorNombre As String = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {CveProveedor}").ToString
|
||||
Dim ConceptoPartida As String = String.Format(" Cambio Moneda {0} OC: {1} ", ProveedorNombre, lblFolio.Text)
|
||||
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
Dim ObjOC As New ClsOC(ObjConta.IniciaTransacSQL)
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-CambioMoneda", 74, 0, 0, 1, Now, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
Dim Importe176, Importe228, Importe229 As Decimal
|
||||
Dim ImporteCI176, ImporteMN229, PU, Importe176PU As Decimal
|
||||
Dim Retorno As Boolean = True
|
||||
Dim ErrorPrepoliza As Boolean = False
|
||||
|
||||
Dim IdCtaContableOC As Integer = 0
|
||||
Dim IdCtaContableME As Integer = 0
|
||||
Dim IdCtaContableMEComp As Integer = 0
|
||||
|
||||
If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then
|
||||
IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
End If
|
||||
|
||||
If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then
|
||||
IdCtaContableME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
End If
|
||||
|
||||
If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then
|
||||
IdCtaContableMEComp = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
End If
|
||||
|
||||
'.FiltraParametros($"CvePS > 0 AND CveOrdenCompraDetalle = {dr2("CveOrdenCompraDetalle").ToString.ToEntero}").Copy
|
||||
For Each gvr As GridViewRow In GvD.Rows
|
||||
If ObjOC.OrdenesCompraDetalleCostoPP(gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero) AndAlso ObjOC.DtResultados.Rows.Count >= 1 Then
|
||||
Dim Concepto As String = $"{DdlProveedores.SelectedText} OC {ObjOC.DtResultados.FiltroPrimeroValor("Folio").ToString} Inv: {ObjOC.DtResultados.FiltroPrimeroValor("FolioAlmacen").ToString}"
|
||||
Importe176 = ObjOC.DtResultados.FiltroPrimeroValor("Importe176Suma").ToDecimal ': ImporteME176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME176").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal : ImporteMN176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN176").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal
|
||||
Importe228 = ObjOC.DtResultados.FiltroPrimeroValor("Importe228Suma").ToDecimal ': ImporteME228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME228").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal : ImporteMN228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN228").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal
|
||||
Importe229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229Suma").ToDecimal : ImporteMN229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229Suma").ToDecimal
|
||||
ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI176").ToDecimal
|
||||
Importe176PU = ObjOC.DtResultados.FiltroPrimeroValor("Importe176").ToDecimal
|
||||
|
||||
Dim CveMovimientoAlmacen As Integer = ObjOC.DtResultados.FiltroPrimeroValor("CveMovimientoAlmacen").ToEntero
|
||||
Dim TCAjuste As Decimal = ObjOC.DtResultados.FiltroPrimeroValor("TipoCambioAjuste").ToDecimal
|
||||
|
||||
|
||||
If CveMonedaOC = 2 Then
|
||||
CveMonedaOC = 1
|
||||
PU = ObjOC.DtResultados.FiltroPrimeroValor("Importe228").ToDecimal * TCAjuste
|
||||
ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI228").ToDecimal
|
||||
Importe176 = Importe228 + Importe229
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe228, lblFolio.Text, 228, Concepto, Now, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe228, ImporteME:=-Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe229, lblFolio.Text, 229, Concepto, Now, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe229, ImporteME:=-Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
Else
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe176, lblFolio.Text, 176, Concepto, Now, IdCtaContableOC, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe176, ImporteME:=Importe176, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
Else
|
||||
If Not ObjOC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, PU, UsuarioActual.CveUsuario) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
CveMonedaOC = 2
|
||||
TCAjuste = TxtTCCambioMoneda.Text.ToDecimal
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe176, lblFolio.Text, 176, Concepto, Now, IdCtaContableOC, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe176, ImporteME:=-Importe176, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
Else
|
||||
Importe228 = (Importe176 / TCAjuste)
|
||||
Importe229 = (Importe228 * TCAjuste - Importe228).RoundSQL
|
||||
Importe228 = Importe228.RoundSQL(3) ' se redondea a 3 digitos, por la conversion, y no afecta al CK de complementaria
|
||||
Dim dift As Decimal = Importe176 - Importe228 - Importe229
|
||||
If dift <> 0 Then Importe229 += dift
|
||||
PU = Importe176PU / TCAjuste
|
||||
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe228, lblFolio.Text, 228, Concepto, Now, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe228, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe229, lblFolio.Text, 229, Concepto, Now, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe229, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
Else
|
||||
If Not ObjOC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, PU, UsuarioActual.CveUsuario) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Alert("Ocurrió un error al procesar la mercancia recibida por adelantado. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'DtInvOC.FiltraParametros($"CvePS > 0 AND CveOrdenCompraDetalle = {GvD.DataKeys("CveOrdenCompraDetalle").ToString}").Copy()
|
||||
|
||||
'If CveMonedaOC = 1 Then
|
||||
' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, SerieFolio, 228, ConceptoPartida, Fecha, IdCtaContableRecepcionOCME, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=ImporteME, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
|
||||
' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, SerieFolio, 229, ConceptoPartida, Fecha, IdCtaContableRecepcionOCComplementaria, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=ImporteMEComp, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
|
||||
' If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifImporte, SerieFolio, 69, ConceptoPartida, Fecha, IdCtaContable69, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=DifImporte, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC) Then
|
||||
' Retorno = False
|
||||
' Exit For
|
||||
' End If
|
||||
' Else
|
||||
' Retorno = False
|
||||
' Exit For
|
||||
' End If
|
||||
' Else
|
||||
' Retorno = False
|
||||
' Exit For
|
||||
' End If
|
||||
'End If
|
||||
|
||||
Next
|
||||
|
||||
If Not ErrorPrepoliza Then
|
||||
|
||||
If Not ObjOC.UpdateOrdenCompraMoneda(CveOrdenCompra, UsuarioActual.CveEmpresa, CveMonedaOC, UsuarioActual.CveUsuario) Then
|
||||
ErrorPrepoliza = True
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ErrorPrepoliza Then
|
||||
ObjOC.Commit()
|
||||
Alert("Cambio Aplicado correctamente")
|
||||
Else
|
||||
ObjOC.RollBack()
|
||||
Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
'Dim ObjInv As New ClsInventarios
|
||||
'Dim OC As New ClsOC
|
||||
'Dim Err As Boolean = False
|
||||
'If ObjInv.GetMovimientos(CveMovimientoAlmacenVenta, -1, -1, UsuarioActual.CveEmpresa) Then
|
||||
' Dim TipoMoneda As String = ObjInv.DtResultados.FiltroPrimeroValor("CveMoneda")
|
||||
' Dim ObjConta As New ClsContabilidad
|
||||
|
||||
' Dim IdCtaContableOC As Integer = 0
|
||||
' Dim IdCtaContableOCME As Integer = 0
|
||||
' Dim IdCtaContableOCComplementaria As Integer = 0
|
||||
|
||||
' If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then
|
||||
' IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
' End If
|
||||
|
||||
' If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then
|
||||
' IdCtaContableOCME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
' End If
|
||||
|
||||
' If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then
|
||||
' IdCtaContableOCComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
|
||||
' End If
|
||||
|
||||
' Dim LugarEntrega = If(txtLugarEntrega.Text.Trim = "", "-1", txtLugarEntrega.Text.Trim)
|
||||
' LugarEntrega = If(DivLugarEntrega1.Visible, LugarEntrega, If(TxtLugarEntregaDirecta.Visible, TxtLugarEntregaDirecta.Text.Trim, ""))
|
||||
|
||||
' Dim CveProveedorContacto As Integer = -1
|
||||
|
||||
' Dim CveProveedor As Integer = -1
|
||||
' If Not ChkCotizacion.Checked OrElse (UsuarioActual.Empresa.Funcionalidad(565) = "1" AndAlso CveConfianzaProveedor > 0) Then
|
||||
' CveProveedor = DdlProveedores.SelectedValue.ToEntero
|
||||
' CveProveedorContacto = IIf(DdlProveedorContacto.SelectedValue.ToEntero = 0, "-1", DdlProveedorContacto.SelectedValue).ToString.ToEntero
|
||||
' End If
|
||||
|
||||
' Dim IVA = If(TxtIVA.Visible, TxtIVA.Text.ToDecimal, LblIVA.Text.ToDecimal)
|
||||
|
||||
' Dim Promocion = TxtPromocion.Text.Trim
|
||||
|
||||
' Dim TCDecimal As Decimal = TxtTCCambioMoneda.Text.ToDecimal
|
||||
' Dim TCDouble As Double = TxtTCCambioMoneda.Text.ToDouble
|
||||
|
||||
' If TipoMoneda = "2" Then
|
||||
' Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
' If CvePrePoliza > 0 Then
|
||||
' Dim PrimerImporte As Integer = (0 - LblSubTotal.Text.ToDecimal)
|
||||
' Dim SegundoImporte As Integer = (0 - LblSubTotal.Text.ToDecimal)
|
||||
|
||||
' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte + SegundoImporte, lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
' Err = True
|
||||
' Else
|
||||
' If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
|
||||
' LugarEntrega, 1, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA * TCDecimal), RetIVA:=(TxtRetIVA.Text.ToDecimal * TCDecimal),
|
||||
' RetISR:=(TxtRetISR.Text.ToDecimal * TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
|
||||
' Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
|
||||
' PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then
|
||||
' Err = True
|
||||
' Else
|
||||
' For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows
|
||||
' If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble * TCDouble), dr("CveSubProyecto").ToString.ToEntero,
|
||||
' dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero),
|
||||
' (dr("Descuento").ToString.ToDouble * TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble * TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble * TCDouble), IVA:=(dr("IVA").ToString.ToDouble * TCDouble),
|
||||
' RetIVA:=(dr("RetIVA").ToString.ToDouble * TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble * TCDouble), Total:=(dr("Total").ToString.ToDouble * TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
|
||||
' IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
|
||||
' IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then
|
||||
' Err = True
|
||||
' Exit For
|
||||
' End If
|
||||
' Next
|
||||
' End If
|
||||
' End If
|
||||
' Else
|
||||
' Err = True
|
||||
' End If
|
||||
' Else
|
||||
' Err = True
|
||||
' End If
|
||||
' End If
|
||||
' ElseIf TipoMoneda = "1" Then
|
||||
' Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
' If CvePrePoliza > 0 Then
|
||||
' Dim PrimerImporte As Decimal = Decimal.Round(((LblSubTotal.Text.ToDecimal) / TxtTCCambioMoneda.Text.ToDecimal), 2, MidpointRounding.AwayFromZero)
|
||||
' Dim SegundoImporte As Decimal = LblSubTotal.Text.ToDecimal
|
||||
' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, (0 - (PrimerImporte + SegundoImporte)), lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
|
||||
' Err = True
|
||||
' Else
|
||||
' If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
|
||||
' LugarEntrega, 2, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA / TCDecimal),
|
||||
' RetIVA:=(TxtRetIVA.Text.ToDecimal / TCDecimal), RetISR:=(TxtRetISR.Text.ToDecimal / TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
|
||||
' Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
|
||||
' PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then
|
||||
' Err = True
|
||||
' Else
|
||||
' For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows
|
||||
' If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble / TCDouble), dr("CveSubProyecto").ToString.ToEntero,
|
||||
' dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero),
|
||||
' (dr("Descuento").ToString.ToDouble / TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble / TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble / TCDouble), IVA:=(dr("IVA").ToString.ToDouble / TCDouble),
|
||||
' RetIVA:=(dr("RetIVA").ToString.ToDouble / TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble / TCDouble), Total:=(dr("Total").ToString.ToDouble / TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
|
||||
' IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
|
||||
' IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then
|
||||
' Err = True
|
||||
' Exit For
|
||||
' End If
|
||||
' Next
|
||||
' End If
|
||||
' End If
|
||||
' Else
|
||||
' Err = True
|
||||
' End If
|
||||
' Else
|
||||
' Err = True
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
' ObjConta.Dispose()
|
||||
'End If
|
||||
'ObjInv.Dispose()
|
||||
'If Err Then
|
||||
' Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError)
|
||||
'Else
|
||||
' Alert("Moneda actualizada con exito")
|
||||
'End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
1880
Ventas/Clientes.aspx
1880
Ventas/Clientes.aspx
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4334,7 +4334,7 @@ Partial Class Ventas
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant") AndAlso GvRemisiones.Rows.Count > 0 Then
|
||||
ChkDevAlm.Checked = True
|
||||
ChkDevAlm.Enabled = False
|
||||
LiDevolucionAlmacen.Visible = False
|
||||
'LiDevolucionAlmacen.Visible = False
|
||||
End If
|
||||
|
||||
End If
|
||||
@@ -10083,12 +10083,96 @@ Partial Class Ventas
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString.ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
|
||||
' Traslado de impuestos cuando es amortizacion de NC
|
||||
If EsNCAmortizacion Then
|
||||
'' aqui no se registra el pago como NC, se deja para el registro de la aplicaion del anticipo
|
||||
'' esto para trasladar los impuestos.
|
||||
If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") Then
|
||||
|
||||
For Each row2 As GridViewRow In GVAnticipos.Rows
|
||||
If row2.DataKey("CveConceptoContable").ToString().ToEntero = 3 Then
|
||||
If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then
|
||||
CveIEAnticipo = row2.DataKey("CveIE").ToString.ToEntero
|
||||
importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal)
|
||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||
|
||||
IdCtaContable = IdCtaContAnticipos
|
||||
CveCuenta = CveCuentaAnticipos
|
||||
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||
|
||||
If importeMovimiento <> 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
Else
|
||||
ViewState("SeGuardoPrePoliza") = True
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 2, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString.ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
'se hace acreditamiento de impuestos
|
||||
'IVA X TRASLADAR
|
||||
Dim PorcentajeImpuestoPago As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal
|
||||
'' si se esta aplicando NC por amortizaion, se trasladan impuestos
|
||||
If EsNCAmortizacion Then
|
||||
Dim IngresoIVA As Decimal = TxtIVA.Text.ToDecimal
|
||||
Dim IngresoIEPS As Decimal = TxtIEPS.Text.ToDecimal
|
||||
Dim IngresoTotal As Decimal = TxtTotal.Text.ToDecimal
|
||||
|
||||
If IngresoIVA > 0 Then
|
||||
|
||||
IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar)
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString)
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
'IVA PAGADO
|
||||
IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado)
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString)
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If IngresoIEPS > 0 Then
|
||||
'IEPS X TRASLADAR
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString)
|
||||
If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
'IEPS PAGADO
|
||||
Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString)
|
||||
If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
Else
|
||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString.ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
'considero fluctuación.
|
||||
|
||||
|
||||
@@ -10224,6 +10308,7 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
importeMovimiento = 0
|
||||
Case 136 'Otros Conceptos Dinamicos
|
||||
For Each row2 As GridViewRow In GVOtrosConceptos.Rows
|
||||
If row2.FCTextBox("TxtCantidadConcepto").Text.ToDecimal > 0 Then
|
||||
@@ -10300,6 +10385,7 @@ Partial Class Ventas
|
||||
Exit For
|
||||
Else
|
||||
ViewState("SeGuardoPrePoliza") = True
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
@@ -10311,8 +10397,8 @@ Partial Class Ventas
|
||||
' cuando es amortización de nota de crédito, y es la nc
|
||||
' cuando es amortización por descuento, y es el ingreso
|
||||
' cuando es amortización en cero
|
||||
If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse
|
||||
DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
||||
'DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse
|
||||
If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
||||
DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 3 Then
|
||||
|
||||
For Each row2 As GridViewRow In GVAnticipos.Rows
|
||||
@@ -10332,6 +10418,7 @@ Partial Class Ventas
|
||||
Exit For
|
||||
Else
|
||||
ViewState("SeGuardoPrePoliza") = True
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -10782,7 +10869,7 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
Case 13 'Iva por Trasladar
|
||||
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
|
||||
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") And ObjFactura.IVA > 0 Then
|
||||
importeMovimiento = ObjFactura.IVA * ValorMultiplicador
|
||||
importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2)
|
||||
FechaMovimiento = ObjFactura.FechaPago
|
||||
@@ -11045,7 +11132,7 @@ Partial Class Ventas
|
||||
|
||||
Return ErrorPrepoliza
|
||||
Catch ex As Exception
|
||||
GuardaLog(ex.ToString())
|
||||
GuardaLog("GuardaPreP." & ex.ToString())
|
||||
Return True
|
||||
End Try
|
||||
|
||||
@@ -11088,7 +11175,7 @@ Partial Class Ventas
|
||||
CveConceptoAlmacen = 18
|
||||
End If
|
||||
|
||||
Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEntero()
|
||||
Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEnteroca
|
||||
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:="Vta/E1")
|
||||
|
||||
If CveMovimientoInventario <= 0 Then
|
||||
@@ -13381,7 +13468,7 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
GuardaLog(ex.ToString())
|
||||
GuardaLog("CancelF." & ex.ToString())
|
||||
ErrorCancelar = True
|
||||
End Try
|
||||
|
||||
|
||||
Reference in New Issue
Block a user