This commit is contained in:
Antonio Gonzalez
2020-05-04 13:25:36 -07:00
11 changed files with 2325 additions and 1953 deletions

View File

@@ -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")

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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